From 8d72f95d11339ee88b2e6240ff1456f89e7a4e57 Mon Sep 17 00:00:00 2001
From: Brian Carrier <carrier@sleuthkit.org>
Date: Wed, 9 Nov 2011 13:10:50 -0500
Subject: [PATCH] Initial import into github

---
 Case/build.xml                                |   8 +
 .../casemodule/docs/AddImageWizard1_Help.png  | Bin 0 -> 66545 bytes
 .../casemodule/docs/AddImageWizard2_Help.png  | Bin 0 -> 65807 bytes
 .../casemodule/docs/AddImageWizard3_Help.png  | Bin 0 -> 64193 bytes
 .../casemodule/docs/Autopsy_overview.png      | Bin 0 -> 167286 bytes
 .../casemodule/docs/CasePropertiesHelp.png    | Bin 0 -> 48676 bytes
 .../casemodule/docs/NewCaseWizardHelp.png     | Bin 0 -> 58574 bytes
 .../autopsy/casemodule/docs/aboutImage.html   |  51 ++
 .../autopsy/casemodule/docs/addImage-icon.png | Bin 0 -> 1632 bytes
 .../autopsy/casemodule/docs/addImage.html     |  45 +
 .../casemodule/docs/caseProperties.html       |  48 +
 .../casemodule/docs/casemodule-about.html     |  50 +
 .../autopsy/casemodule/docs/casemodule-hs.xml |  31 +
 .../casemodule/docs/casemodule-idx.xml        |  15 +
 .../casemodule/docs/casemodule-map.xml        |  15 +
 .../casemodule/docs/casemodule-toc.xml        |  21 +
 .../casemodule/docs/createNewCase.html        |  43 +
 .../autopsy/casemodule/docs/hashDbMgmt.html   |  50 +
 .../autopsy/casemodule/docs/new-icon.png      | Bin 0 -> 1363 bytes
 .../autopsy/casemodule/docs/open-icon.png     | Bin 0 -> 1051 bytes
 .../autopsy/casemodule/docs/overview.html     |  45 +
 Case/manifest.mf                              |   7 +
 Case/nbproject/build-impl.xml                 |  45 +
 Case/nbproject/genfiles.properties            |   8 +
 Case/nbproject/platform.properties            |  17 +
 Case/nbproject/project.properties             |   4 +
 Case/nbproject/project.xml                    | 141 +++
 Case/nbproject/suite.properties               |   1 +
 .../autopsy/casemodule/AddImageAction.java    | 304 +++++++
 .../casemodule/AddImageVisualPanel1.form      | 205 +++++
 .../casemodule/AddImageVisualPanel1.java      | 493 ++++++++++
 .../casemodule/AddImageVisualPanel2.form      | 122 +++
 .../casemodule/AddImageVisualPanel2.java      | 181 ++++
 .../casemodule/AddImageVisualPanel3.form      |  73 ++
 .../casemodule/AddImageVisualPanel3.java      | 114 +++
 .../casemodule/AddImageWizardIterator.java    | 166 ++++
 .../casemodule/AddImageWizardPanel1.java      | 189 ++++
 .../casemodule/AddImageWizardPanel2.java      | 379 ++++++++
 .../casemodule/AddImageWizardPanel3.java      | 157 ++++
 .../sleuthkit/autopsy/casemodule/Autopsy.java |  70 ++
 .../autopsy/casemodule/Autopsy_logo.gif       | Bin 0 -> 7442 bytes
 .../autopsy/casemodule/Bundle.properties      | 115 +++
 .../autopsy/casemodule/ButtonColumn.java      | 232 +++++
 .../sleuthkit/autopsy/casemodule/Case.java    | 852 ++++++++++++++++++
 .../autopsy/casemodule/CaseCloseAction.java   | 132 +++
 .../casemodule/CaseConfigFileInterface.java   |  42 +
 .../autopsy/casemodule/CaseDeleteAction.java  | 117 +++
 .../autopsy/casemodule/CaseNewAction.java     |  48 +
 .../autopsy/casemodule/CaseOpenAction.java    |  86 ++
 .../casemodule/CasePropertiesAction.java      | 139 +++
 .../casemodule/CasePropertiesForm.form        | 254 ++++++
 .../casemodule/CasePropertiesForm.java        | 399 ++++++++
 .../autopsy/casemodule/CueBannerPanel.form    | 299 ++++++
 .../autopsy/casemodule/CueBannerPanel.java    | 333 +++++++
 .../autopsy/casemodule/GeneralFilter.java     |  84 ++
 .../casemodule/NewCaseVisualPanel1.form       | 136 +++
 .../casemodule/NewCaseVisualPanel1.java       | 251 ++++++
 .../casemodule/NewCaseWizardAction.java       | 157 ++++
 .../casemodule/NewCaseWizardPanel1.java       | 278 ++++++
 .../casemodule/OpenRecentCasePanel.form       |  99 ++
 .../casemodule/OpenRecentCasePanel.java       | 213 +++++
 .../autopsy/casemodule/RecentCases.java       | 442 +++++++++
 .../autopsy/casemodule/RecentItems.java       |  70 ++
 .../autopsy/casemodule/StartupWindow.java     |  97 ++
 .../autopsy/casemodule/UpdateRecentCases.java |  94 ++
 .../autopsy/casemodule/XMLCaseManagement.java | 802 +++++++++++++++++
 .../autopsy/casemodule/addImage-icon.png      | Bin 0 -> 1632 bytes
 .../autopsy/casemodule/casemodule-helpset.xml |   7 +
 .../autopsy/casemodule/close-icon.png         | Bin 0 -> 1069 bytes
 .../sleuthkit/autopsy/casemodule/layer.xml    | 258 ++++++
 .../sleuthkit/autopsy/casemodule/new-icon.png | Bin 0 -> 4021 bytes
 .../autopsy/casemodule/open-icon.png          | Bin 0 -> 4143 bytes
 .../autopsy/casemodule/open-recent-icon.png   | Bin 0 -> 4526 bytes
 .../sleuthkit/autopsy/casemodule/package.html |  10 +
 .../autopsy/hashdatabase/Bundle.properties    |   2 +
 .../autopsy/hashdatabase/HashDb.java          | 179 ++++
 .../hashdatabase/HashDbMgmtAction.java        | 106 +++
 .../autopsy/hashdatabase/HashDbMgmtPanel.java | 131 +++
 .../autopsy/hashdatabase/HashDbPanel.form     | 129 +++
 .../autopsy/hashdatabase/HashDbPanel.java     | 300 ++++++
 .../autopsy/hashdatabase/HashDbSettings.java  | 166 ++++
 .../autopsy/hashdatabase/IndexStatus.java     |  65 ++
 .../autopsy/casemodule/RecentCasesTest.java   | 280 ++++++
 CoreComponentInterfaces/build.xml             |   8 +
 CoreComponentInterfaces/manifest.mf           |   7 +
 .../nbproject/build-impl.xml                  |  45 +
 .../nbproject/genfiles.properties             |   8 +
 .../nbproject/project.properties              |   3 +
 CoreComponentInterfaces/nbproject/project.xml |  81 ++
 .../nbproject/suite.properties                |   1 +
 .../corecomponentinterfaces/Bundle.properties |   1 +
 .../CoreComponentControl.java                 |  75 ++
 .../corecomponentinterfaces/DataContent.java  |  44 +
 .../DataContentViewer.java                    |  63 ++
 .../corecomponentinterfaces/DataExplorer.java |  39 +
 .../corecomponentinterfaces/DataResult.java   |  55 ++
 .../DataResultViewer.java                     |  64 ++
 .../autopsy/corecomponentinterfaces/layer.xml |   4 +
 .../corecomponentinterfaces/package.html      | 106 +++
 .../sleuthkit/autopsy/images/Folder-icon.png  | Bin 0 -> 739 bytes
 .../autopsy/images/addImage-icon.png          | Bin 0 -> 1632 bytes
 .../sleuthkit/autopsy/images/close-icon.png   | Bin 0 -> 1069 bytes
 .../autopsy/images/file-icon-deleted.png      | Bin 0 -> 636 bytes
 .../sleuthkit/autopsy/images/file-icon.png    | Bin 0 -> 362 bytes
 .../autopsy/images/folder-icon-deleted.png    | Bin 0 -> 759 bytes
 .../autopsy/images/hard-drive-icon.jpg        | Bin 0 -> 822 bytes
 .../org/sleuthkit/autopsy/images/new-icon.png | Bin 0 -> 1363 bytes
 .../sleuthkit/autopsy/images/open-icon.png    | Bin 0 -> 1051 bytes
 .../sleuthkit/autopsy/images/save-icon.png    | Bin 0 -> 1215 bytes
 .../org/sleuthkit/autopsy/images/vol-icon.png | Bin 0 -> 3196 bytes
 CoreComponents/build.xml                      |   8 +
 .../docs/ContentViewer_example.png            | Bin 0 -> 48659 bytes
 .../docs/Hex_Content_Viewer.png               | Bin 0 -> 40655 bytes
 .../docs/Picture_Content_Viewer.png           | Bin 0 -> 49846 bytes
 .../docs/ResultViewer_example.png             | Bin 0 -> 45776 bytes
 .../docs/String_Content_Viewer.png            | Bin 0 -> 19924 bytes
 .../docs/Table_Results_Viewer.png             | Bin 0 -> 72064 bytes
 .../docs/Thumbnail_Results_Viewer.png         | Bin 0 -> 117148 bytes
 .../docs/corecomponents-about.html            |  30 +
 .../corecomponents/docs/corecomponents-hs.xml |  31 +
 .../docs/corecomponents-idx.xml               |  31 +
 .../docs/corecomponents-map.xml               |  28 +
 .../docs/corecomponents-toc.xml               |  45 +
 .../docs/datacontent-about.html               |  45 +
 .../docs/dataexplorer-about.html              |  35 +
 .../corecomponents/docs/dataresult-about.html |  64 ++
 .../docs/hex-content-viewer.html              |  40 +
 .../docs/picture-content-viewer.html          |  40 +
 .../docs/string-content-viewer.html           |  38 +
 .../docs/table-results-viewer.html            |  39 +
 .../docs/thumbnail-results-viewer.html        |  40 +
 CoreComponents/manifest.mf                    |   8 +
 CoreComponents/nbproject/build-impl.xml       |  45 +
 CoreComponents/nbproject/genfiles.properties  |   8 +
 CoreComponents/nbproject/project.properties   |   4 +
 CoreComponents/nbproject/project.xml          | 159 ++++
 CoreComponents/nbproject/suite.properties     |   1 +
 .../AbstractDataResultViewer.java             |  82 ++
 .../autopsy/corecomponents/Bundle.properties  |  66 ++
 .../corecomponents/CustomAboutAction.java     |  57 ++
 .../DataContentTopComponent.form              |  42 +
 .../DataContentTopComponent.java              | 336 +++++++
 .../DataContentTopComponentSettings.xml       |  12 +
 .../DataContentTopComponentWstcref.xml        |  11 +
 .../corecomponents/DataContentViewerHex.form  | 182 ++++
 .../corecomponents/DataContentViewerHex.java  | 328 +++++++
 .../DataContentViewerPicture.form             |  45 +
 .../DataContentViewerPicture.java             | 156 ++++
 .../DataContentViewerString.form              | 156 ++++
 .../DataContentViewerString.java              | 307 +++++++
 .../DataResultTopComponent.form               |  72 ++
 .../DataResultTopComponent.java               | 358 ++++++++
 .../corecomponents/DataResultViewerTable.form |  41 +
 .../corecomponents/DataResultViewerTable.java | 355 ++++++++
 .../DataResultViewerThumbnail.form            |  37 +
 .../DataResultViewerThumbnail.java            | 158 ++++
 .../autopsy/corecomponents/Installer.java     |  43 +
 .../corecomponents/OutputViewPanel.form       | 139 +++
 .../corecomponents/OutputViewPanel.java       | 251 ++++++
 .../ProductInformationPanel.form              | 150 +++
 .../ProductInformationPanel.java              | 256 ++++++
 .../corecomponents/TableFilterChildren.java   |  59 ++
 .../corecomponents/TableFilterNode.java       |  59 ++
 .../corecomponents/ThumbnailViewChildren.java |  78 ++
 .../corecomponents/ThumbnailViewNode.java     | 125 +++
 .../autopsy/corecomponents/arrow_left.gif     | Bin 0 -> 874 bytes
 .../autopsy/corecomponents/arrow_right.gif    | Bin 0 -> 870 bytes
 .../corecomponents/corecomponents-helpset.xml |   7 +
 .../autopsy/corecomponents/layer.xml          |  54 ++
 DataModel/build.xml                           |   8 +
 DataModel/manifest.mf                         |   6 +
 DataModel/nbproject/build-impl.xml            |  45 +
 DataModel/nbproject/genfiles.properties       |   8 +
 DataModel/nbproject/project.properties        |   5 +
 DataModel/nbproject/project.xml               |  74 ++
 DataModel/nbproject/suite.properties          |   1 +
 .../datamodel/AbstractContentChildren.java    |  95 ++
 .../datamodel/AbstractContentNode.java        | 243 +++++
 .../datamodel/AbstractFsContentNode.java      |  73 ++
 .../autopsy/datamodel/Bundle.properties       |   1 +
 .../autopsy/datamodel/ContentChildren.java    | 100 ++
 .../autopsy/datamodel/ContentNode.java        | 105 +++
 .../autopsy/datamodel/ContentNodeVisitor.java |  69 ++
 .../autopsy/datamodel/DataConversion.java     | 189 ++++
 .../autopsy/datamodel/DirectoryNode.java      | 112 +++
 .../sleuthkit/autopsy/datamodel/FileNode.java | 107 +++
 .../autopsy/datamodel/ImageNode.java          | 130 +++
 .../autopsy/datamodel/Installer.java          |  81 ++
 .../autopsy/datamodel/NodeProperty.java       |  43 +
 .../datamodel/RootContentChildren.java        |  50 +
 .../autopsy/datamodel/VolumeNode.java         | 134 +++
 .../sleuthkit/autopsy/datamodel/package.html  |  12 +
 DirectoryTree/build.xml                       |   8 +
 .../docs/DirectoryTree_example.png            | Bin 0 -> 17946 bytes
 .../docs/FileSystemDetailHelp.png             | Bin 0 -> 39452 bytes
 .../directorytree/docs/ImageDetailHelp.png    | Bin 0 -> 20204 bytes
 .../directorytree/docs/VolumeDetailHelp.png   | Bin 0 -> 21558 bytes
 .../docs/directorytree-about.html             |  50 +
 .../directorytree/docs/directorytree-hs.xml   |  31 +
 .../directorytree/docs/directorytree-idx.xml  |  14 +
 .../directorytree/docs/directorytree-map.xml  |  14 +
 .../directorytree/docs/directorytree-toc.xml  |  18 +
 .../docs/filesystem-details.html              |  48 +
 .../docs/how-to-use-directorytree.html        |  54 ++
 .../directorytree/docs/image-details.html     |  36 +
 .../directorytree/docs/node_selected.png      | Bin 0 -> 31607 bytes
 .../docs/open-directorytree.html              |  45 +
 .../docs/open_directoryTree1.png              | Bin 0 -> 29880 bytes
 .../docs/open_directoryTree2.png              | Bin 0 -> 19808 bytes
 .../docs/rightClick_fileSystemDetails.png     | Bin 0 -> 9481 bytes
 .../docs/rightClick_imageDetails.png          | Bin 0 -> 9122 bytes
 .../docs/rightClick_volumeDetails.png         | Bin 0 -> 9563 bytes
 .../directorytree/docs/volume-details.html    |  36 +
 DirectoryTree/manifest.mf                     |   7 +
 DirectoryTree/nbproject/build-impl.xml        |  45 +
 DirectoryTree/nbproject/genfiles.properties   |   8 +
 DirectoryTree/nbproject/project.properties    |   4 +
 DirectoryTree/nbproject/project.xml           | 133 +++
 DirectoryTree/nbproject/suite.properties      |   1 +
 .../autopsy/directorytree/Bundle.properties   |  49 +
 .../directorytree/ChangeViewAction.java       | 103 +++
 .../autopsy/directorytree/CollapseAction.java |  70 ++
 .../DataResultFilterChildren.java             |  46 +
 .../directorytree/DataResultFilterNode.java   | 233 +++++
 .../DirectoryTreeFilterChildren.java          |  70 ++
 .../DirectoryTreeFilterNode.java              |  74 ++
 .../DirectoryTreeTopComponent.form            |  91 ++
 .../DirectoryTreeTopComponent.java            | 643 +++++++++++++
 .../DirectoryTreeTopComponentSettings.xml     |  12 +
 .../DirectoryTreeTopComponentWstcref.xml      |  11 +
 .../directorytree/ExternalViewerAction.java   | 124 +++
 .../autopsy/directorytree/ExtractAction.java  | 218 +++++
 .../directorytree/FileSystemDetailsPanel.form | 384 ++++++++
 .../directorytree/FileSystemDetailsPanel.java | 367 ++++++++
 .../directorytree/ImageDetailsPanel.form      | 138 +++
 .../directorytree/ImageDetailsPanel.java      | 174 ++++
 .../directorytree/NewWindowViewAction.java    |  66 ++
 .../ShowDetailActionVisitor.java              | 301 +++++++
 .../directorytree/VolumeDetailsPanel.form     | 215 +++++
 .../directorytree/VolumeDetailsPanel.java     | 205 +++++
 .../autopsy/directorytree/arrow_left.gif      | Bin 0 -> 874 bytes
 .../autopsy/directorytree/arrow_right.gif     | Bin 0 -> 870 bytes
 .../autopsy/directorytree/back-button.png     | Bin 0 -> 1164 bytes
 .../directorytree/directorytree-helpset.xml   |   7 +
 .../autopsy/directorytree/explorerWsmode.xml  |  18 +
 .../autopsy/directorytree/forward-button.png  | Bin 0 -> 1156 bytes
 .../sleuthkit/autopsy/directorytree/layer.xml |  43 +
 FileSearch/build.xml                          |   8 +
 .../filesearch/docs/FileSearch_example.png    | Bin 0 -> 13632 bytes
 .../filesearch/docs/FileSearch_usage.png      | Bin 0 -> 14856 bytes
 .../filesearch/docs/filesearch-about.html     |  54 ++
 .../autopsy/filesearch/docs/filesearch-hs.xml |  31 +
 .../filesearch/docs/filesearch-idx.xml        |  11 +
 .../filesearch/docs/filesearch-map.xml        |   9 +
 .../filesearch/docs/filesearch-toc.xml        |  13 +
 .../docs/how-to-use-filesearch.html           |  52 ++
 .../filesearch/docs/open-filesearch.html      |  45 +
 .../filesearch/docs/open_fileSearch1.png      | Bin 0 -> 30977 bytes
 .../filesearch/docs/open_fileSearch2.png      | Bin 0 -> 22413 bytes
 FileSearch/manifest.mf                        |   7 +
 FileSearch/nbproject/build-impl.xml           |  45 +
 FileSearch/nbproject/genfiles.properties      |   8 +
 FileSearch/nbproject/project.properties       |   5 +
 FileSearch/nbproject/project.xml              | 138 +++
 FileSearch/nbproject/suite.properties         |   1 +
 .../modules/ext/jcalendarbutton-1.4.5.jar     | Bin 0 -> 28408 bytes
 .../filesearch/AbstractFileSearchFilter.java  |  40 +
 .../autopsy/filesearch/Bundle.properties      |  45 +
 .../filesearch/DataResultFilterChildren.java  |  46 +
 .../filesearch/DataResultFilterNode.java      | 139 +++
 .../autopsy/filesearch/DateSearchFilter.java  | 254 ++++++
 .../autopsy/filesearch/DateSearchPanel.form   | 234 +++++
 .../autopsy/filesearch/DateSearchPanel.java   | 313 +++++++
 .../autopsy/filesearch/FileSearchFilter.java  |  62 ++
 .../filesearch/FileSearchTopComponent.java    | 342 +++++++
 .../FileSearchTopComponentSettings.xml        |  12 +
 .../FileSearchTopComponentWstcref.xml         |  11 +
 .../autopsy/filesearch/FilterArea.java        | 126 +++
 .../filesearch/KnownStatusSearchFilter.java   |  76 ++
 .../filesearch/KnownStatusSearchPanel.form    |  77 ++
 .../filesearch/KnownStatusSearchPanel.java    | 111 +++
 .../autopsy/filesearch/NameSearchFilter.java  |  57 ++
 .../autopsy/filesearch/NameSearchPanel.form   |  77 ++
 .../autopsy/filesearch/NameSearchPanel.java   | 108 +++
 .../filesearch/OpenParentFolderAction.java    |  88 ++
 .../autopsy/filesearch/SearchChildren.java    |  61 ++
 .../autopsy/filesearch/SearchNode.java        | 119 +++
 .../autopsy/filesearch/SizeSearchFilter.java  |  66 ++
 .../autopsy/filesearch/SizeSearchPanel.form   |  87 ++
 .../autopsy/filesearch/SizeSearchPanel.java   | 114 +++
 .../autopsy/filesearch/arrow_down.gif         | Bin 0 -> 848 bytes
 .../autopsy/filesearch/arrow_right.gif        | Bin 0 -> 861 bytes
 .../autopsy/filesearch/filesearch-helpset.xml |   7 +
 .../sleuthkit/autopsy/filesearch/layer.xml    |  39 +
 LICENSE-2.0.txt                               | 202 +++++
 Logging/build.xml                             |   8 +
 Logging/manifest.mf                           |   7 +
 Logging/nbproject/build-impl.xml              |  45 +
 Logging/nbproject/genfiles.properties         |   8 +
 Logging/nbproject/platform.properties         |   7 +
 .../private/platform-private.properties       |   1 +
 Logging/nbproject/private/private.xml         |   9 +
 Logging/nbproject/project.properties          |   3 +
 Logging/nbproject/project.xml                 |  64 ++
 Logging/nbproject/suite.properties            |   1 +
 .../logging/AutopsyExceptionHandler.java      | 154 ++++
 .../autopsy/logging/Bundle.properties         |   2 +
 .../sleuthkit/autopsy/logging/Installer.java  |  63 ++
 .../org/sleuthkit/autopsy/logging/Log.java    |  42 +
 .../org/sleuthkit/autopsy/logging/LogIcon.png | Bin 0 -> 980 bytes
 .../sleuthkit/autopsy/logging/TestLogger.java |  43 +
 .../logging/TimestampingFormatter.java        |  50 +
 .../org/sleuthkit/autopsy/logging/layer.xml   |  10 +
 MenuActions/build.xml                         |   8 +
 MenuActions/manifest.mf                       |   6 +
 MenuActions/nbproject/build-impl.xml          |  45 +
 MenuActions/nbproject/genfiles.properties     |   8 +
 MenuActions/nbproject/project.properties      |   3 +
 MenuActions/nbproject/project.xml             | 117 +++
 MenuActions/nbproject/suite.properties        |   1 +
 .../autopsy/menuactions/Bundle.properties     |   2 +
 .../menuactions/DataContentDynamicMenu.java   |  85 ++
 .../autopsy/menuactions/DataContentMenu.java  |  54 ++
 .../menuactions/DataExplorerDynamicMenu.java  |  71 ++
 .../autopsy/menuactions/DataExplorerMenu.java |  52 ++
 .../autopsy/menuactions/DataResultMenu.java   |  83 ++
 .../menuactions/OpenTopComponentAction.java   |  45 +
 .../autopsy/menuactions/SearchResultMenu.java |  77 ++
 .../sleuthkit/autopsy/menuactions/layer.xml   |  53 ++
 .../netbeans/core/startup/Bundle.properties   |   8 +
 .../org/netbeans/core/startup/frame.gif       | Bin 0 -> 213 bytes
 .../org/netbeans/core/startup/frame32.gif     | Bin 0 -> 1795 bytes
 .../org/netbeans/core/startup/frame48.gif     | Bin 0 -> 3325 bytes
 .../org/netbeans/core/startup/splash.gif      | Bin 0 -> 19506 bytes
 .../core/windows/view/ui/Bundle.properties    |   2 +
 build-unix.xml                                |   8 +
 build-windows.xml                             |  14 +
 build.xml                                     | 109 +++
 nbproject/build-impl.xml                      |  49 +
 nbproject/genfiles.properties                 |   8 +
 nbproject/platform.properties                 |  99 ++
 nbproject/project.properties                  |  28 +
 nbproject/project.xml                         |   9 +
 343 files changed, 26673 insertions(+)
 create mode 100644 Case/build.xml
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard1_Help.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard2_Help.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard3_Help.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/Autopsy_overview.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/CasePropertiesHelp.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/NewCaseWizardHelp.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage-icon.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-hs.xml
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-idx.xml
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-map.xml
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-toc.xml
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/createNewCase.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/hashDbMgmt.html
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/new-icon.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/open-icon.png
 create mode 100644 Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/overview.html
 create mode 100644 Case/manifest.mf
 create mode 100644 Case/nbproject/build-impl.xml
 create mode 100644 Case/nbproject/genfiles.properties
 create mode 100644 Case/nbproject/platform.properties
 create mode 100644 Case/nbproject/project.properties
 create mode 100644 Case/nbproject/project.xml
 create mode 100644 Case/nbproject/suite.properties
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel1.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel2.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel3.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/Autopsy.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/Autopsy_logo.gif
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/Bundle.properties
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/ButtonColumn.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/Case.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CaseConfigFileInterface.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CaseDeleteAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CaseNewAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/GeneralFilter.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardPanel1.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/RecentCases.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/UpdateRecentCases.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/addImage-icon.png
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/casemodule-helpset.xml
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/close-icon.png
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/layer.xml
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/new-icon.png
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/open-icon.png
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/open-recent-icon.png
 create mode 100644 Case/src/org/sleuthkit/autopsy/casemodule/package.html
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java
 create mode 100644 Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java
 create mode 100644 Case/test/unit/src/org/sleuthkit/autopsy/casemodule/RecentCasesTest.java
 create mode 100644 CoreComponentInterfaces/build.xml
 create mode 100644 CoreComponentInterfaces/manifest.mf
 create mode 100644 CoreComponentInterfaces/nbproject/build-impl.xml
 create mode 100644 CoreComponentInterfaces/nbproject/genfiles.properties
 create mode 100644 CoreComponentInterfaces/nbproject/project.properties
 create mode 100644 CoreComponentInterfaces/nbproject/project.xml
 create mode 100644 CoreComponentInterfaces/nbproject/suite.properties
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/CoreComponentControl.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContent.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContentViewer.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataExplorer.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResult.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResultViewer.java
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/package.html
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/Folder-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/addImage-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/close-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon-deleted.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/folder-icon-deleted.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/hard-drive-icon.jpg
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/new-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/open-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/save-icon.png
 create mode 100644 CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/vol-icon.png
 create mode 100644 CoreComponents/build.xml
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ContentViewer_example.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Hex_Content_Viewer.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Picture_Content_Viewer.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ResultViewer_example.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/String_Content_Viewer.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Table_Results_Viewer.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Thumbnail_Results_Viewer.png
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-about.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-hs.xml
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-idx.xml
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-map.xml
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-toc.xml
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/datacontent-about.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/hex-content-viewer.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/picture-content-viewer.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/string-content-viewer.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/table-results-viewer.html
 create mode 100644 CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/thumbnail-results-viewer.html
 create mode 100644 CoreComponents/manifest.mf
 create mode 100644 CoreComponents/nbproject/build-impl.xml
 create mode 100644 CoreComponents/nbproject/genfiles.properties
 create mode 100644 CoreComponents/nbproject/project.properties
 create mode 100644 CoreComponents/nbproject/project.xml
 create mode 100644 CoreComponents/nbproject/suite.properties
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/CustomAboutAction.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentSettings.xml
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentWstcref.xml
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Installer.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.form
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterChildren.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterNode.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewNode.java
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_left.gif
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_right.gif
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/corecomponents-helpset.xml
 create mode 100644 CoreComponents/src/org/sleuthkit/autopsy/corecomponents/layer.xml
 create mode 100644 DataModel/build.xml
 create mode 100644 DataModel/manifest.mf
 create mode 100644 DataModel/nbproject/build-impl.xml
 create mode 100644 DataModel/nbproject/genfiles.properties
 create mode 100644 DataModel/nbproject/project.properties
 create mode 100644 DataModel/nbproject/project.xml
 create mode 100644 DataModel/nbproject/suite.properties
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/Bundle.properties
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNodeVisitor.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/DataConversion.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/FileNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/ImageNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/Installer.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/NodeProperty.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/RootContentChildren.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java
 create mode 100644 DataModel/src/org/sleuthkit/autopsy/datamodel/package.html
 create mode 100644 DirectoryTree/build.xml
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/DirectoryTree_example.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/FileSystemDetailHelp.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/ImageDetailHelp.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/VolumeDetailHelp.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-hs.xml
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-idx.xml
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-map.xml
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-toc.xml
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/image-details.html
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/node_selected.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree1.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree2.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_fileSystemDetails.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_imageDetails.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_volumeDetails.png
 create mode 100644 DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/volume-details.html
 create mode 100644 DirectoryTree/manifest.mf
 create mode 100644 DirectoryTree/nbproject/build-impl.xml
 create mode 100644 DirectoryTree/nbproject/genfiles.properties
 create mode 100644 DirectoryTree/nbproject/project.properties
 create mode 100644 DirectoryTree/nbproject/project.xml
 create mode 100644 DirectoryTree/nbproject/suite.properties
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/Bundle.properties
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ChangeViewAction.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/CollapseAction.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterChildren.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterChildren.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.form
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentSettings.xml
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentWstcref.xml
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExternalViewerAction.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExtractAction.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.form
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.form
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/NewWindowViewAction.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ShowDetailActionVisitor.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.form
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.java
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_left.gif
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_right.gif
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/back-button.png
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/directorytree-helpset.xml
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/explorerWsmode.xml
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/forward-button.png
 create mode 100644 DirectoryTree/src/org/sleuthkit/autopsy/directorytree/layer.xml
 create mode 100644 FileSearch/build.xml
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_example.png
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_usage.png
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-hs.xml
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-idx.xml
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-map.xml
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-toc.xml
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch1.png
 create mode 100644 FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch2.png
 create mode 100644 FileSearch/manifest.mf
 create mode 100644 FileSearch/nbproject/build-impl.xml
 create mode 100644 FileSearch/nbproject/genfiles.properties
 create mode 100644 FileSearch/nbproject/project.properties
 create mode 100644 FileSearch/nbproject/project.xml
 create mode 100644 FileSearch/nbproject/suite.properties
 create mode 100644 FileSearch/release/modules/ext/jcalendarbutton-1.4.5.jar
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/AbstractFileSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/Bundle.properties
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterChildren.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterNode.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.form
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponent.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentSettings.xml
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentWstcref.xml
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/FilterArea.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.form
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/OpenParentFolderAction.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchChildren.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchNode.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.form
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.java
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_down.gif
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_right.gif
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/filesearch-helpset.xml
 create mode 100644 FileSearch/src/org/sleuthkit/autopsy/filesearch/layer.xml
 create mode 100644 LICENSE-2.0.txt
 create mode 100644 Logging/build.xml
 create mode 100644 Logging/manifest.mf
 create mode 100644 Logging/nbproject/build-impl.xml
 create mode 100644 Logging/nbproject/genfiles.properties
 create mode 100644 Logging/nbproject/platform.properties
 create mode 100644 Logging/nbproject/private/platform-private.properties
 create mode 100644 Logging/nbproject/private/private.xml
 create mode 100644 Logging/nbproject/project.properties
 create mode 100644 Logging/nbproject/project.xml
 create mode 100644 Logging/nbproject/suite.properties
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/AutopsyExceptionHandler.java
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/Bundle.properties
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/Installer.java
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/Log.java
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/LogIcon.png
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/TestLogger.java
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/TimestampingFormatter.java
 create mode 100644 Logging/src/org/sleuthkit/autopsy/logging/layer.xml
 create mode 100644 MenuActions/build.xml
 create mode 100644 MenuActions/manifest.mf
 create mode 100644 MenuActions/nbproject/build-impl.xml
 create mode 100644 MenuActions/nbproject/genfiles.properties
 create mode 100644 MenuActions/nbproject/project.properties
 create mode 100644 MenuActions/nbproject/project.xml
 create mode 100644 MenuActions/nbproject/suite.properties
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/Bundle.properties
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentDynamicMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerDynamicMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/DataResultMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/OpenTopComponentAction.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/SearchResultMenu.java
 create mode 100644 MenuActions/src/org/sleuthkit/autopsy/menuactions/layer.xml
 create mode 100644 branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
 create mode 100644 branding/core/core.jar/org/netbeans/core/startup/frame.gif
 create mode 100644 branding/core/core.jar/org/netbeans/core/startup/frame32.gif
 create mode 100644 branding/core/core.jar/org/netbeans/core/startup/frame48.gif
 create mode 100644 branding/core/core.jar/org/netbeans/core/startup/splash.gif
 create mode 100644 branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
 create mode 100644 build-unix.xml
 create mode 100644 build-windows.xml
 create mode 100644 build.xml
 create mode 100644 nbproject/build-impl.xml
 create mode 100644 nbproject/genfiles.properties
 create mode 100644 nbproject/platform.properties
 create mode 100644 nbproject/project.properties
 create mode 100644 nbproject/project.xml

diff --git a/Case/build.xml b/Case/build.xml
new file mode 100644
index 0000000000..0cb0a367c5
--- /dev/null
+++ b/Case/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.casemodule" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.casemodule.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard1_Help.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard1_Help.png
new file mode 100644
index 0000000000000000000000000000000000000000..d67d332c8e9dbfc49a6f851a945b2eac85ca5d36
GIT binary patch
literal 66545
zcmeAS@N?(olHy`uVBq!ia0y~yU^Zi5U_8RX#K6Fi@<KzGfq{XsILO_JVcj{ImkbOH
zEa{HEjtmSN`?>!lvNA9*a29w(7BevL9R^{><M}I67#RL9^>lFzsfc^?w|tKB^{LN0
zpVgm#Q+MynyY&0FUw$u3TV7u6w%d4Cp6BJ*vtiq#US)2*nK?;G)v9xyhvyQFpguR1
z?xRT?_k6$i`_w8B{Bo~)zQ>YgPX^BU9?_AZCa>Oo-~HW<MTv=V@=OP&nU$Z4IoOy4
zzu)`8$XN4wPW8F7TDrP>%iiAFn0$O&&dpD=@BexBz3#tu$`S@m2d)WBP^x>)f$a5r
zza3<ke{*y5^D8TZZ{EBa`Q!bAgU!<Bd4J^p?T`QY|L?*2JNy2pBz#J=`K@D+nNjFJ
z=P{!&Kl7bGRn-sXdmK0>|0DHtuYJUV%H!|7#df{#O`mt6_T;g5)h1@I<+?XKSTp<f
ziiNCcv5nPtrtp3Yd2=zU;F{{q+Hiw;tnaLQbFWEGI3qY?>KXgj9eK+CZnm5;w-&nm
zX5Y=Do2tw1+wPt|(>LGP?0ipX^5wAaTUyW9CVQ@|Ow&o>4pf*}-oAbP-wOBYs`FU|
z<u3R1Pu^6{JGSBBw>isozgVk$D;KFY-MHSmS>NaB>nXJd-G2W{{T+K~QB8Y4+xzUC
zH~%!uzu#bX{@fxbG0Xgm!={hyalN)*`s}|*-a6tu|CCbQEamz&OKl%5kNIgjeV*0^
z#kk&Ma=WHaX?|)p^;oDhKa+6bn}_M~cK^TEf8KrO$6*h-x__z+JQ8dY)vwoX-<Efm
z>we_5i;LY4rvLx@|HJRy{Bz%J^^IFwBD2F(WZP|L_MY4y2XasH-IKGMVXg8e;N6FX
z)`#17ZtUHCrti+y1AWgT`&^{zUvgNtNm|dFYpwD|V0-h<<_*l-*=O99x>3J+{!L%z
z+tZW7a`O9T-sDZI&iisQ?N)K~&3CVt-M#L!d)?PVWogE@>$aBv7L7Q6?evCsYp2i1
z-FaoNWZA~-$s4#g_}w_hJy-gi_qUfj`ELB$JgK&58}qhzKGJU<U!GK3vWj=xvlQ*k
z!n*Qu`9B*Xjo<uDKD*!c)}MP9)zaK&-LvG$uK8W?IG@k--?N0r>-o(N)Ri{e)aN((
zleB-sukGKi?msFgeeV{3c1?EuWqm%AzmF1(w@-_g%liBD;I(*}oWD;Onw{j^{{K<H
zZ+-sK2Oo8B9Q<a!^Y0%A={LML{%xCo@Y~iyaqVw&YkP0|f8WCKn={9Jv;66Auhyj{
zu0K#_6s?=XzIl4N$;!7&-}+ir7gh^z&P}XNj9z?fo0*;d?fz{hYS-&_>}32VlM`(F
z=4Nl{`J5H4wtq9v2G76tC!zK$zun4T|8|{Hw_jJ0l>76$omO=X?;4SBH)dUOx7Vrs
z(mbjD&w?NF_x*1a6ofbjf8OG5e<Wd2YHEL7#J3l-c7*+VA(dR6<7>IStM!(<X#d%R
zTJpa$o<`WD3JK27{=MVYwJ@7~+dfrq=wCfgVB5N1Crhv1|G%W|X4M_Ot%v6Q5()c$
zrES;pnOE)iZu}>ioL!NYd}H3-D-#yjZs+{IIOowfp94qsuGw@<UhP}y!kWD=%;Ij`
zTJbMV=zhq=`w6?&TYTKBzK{9ncg20uQ}a*Hf0HTtEjaO$xX!-h`1|epacMt<+WyLv
zE%@u3_hV7pL+{_>?N%S&{ylwIcE8n~kFS*vS=AR$xp{j-^4#|_udBXWZ2sO?{`Z^9
z_uuL>YYSHWJ{)W-Kkr?n@*AJ??&($6=e_+aQMRu9?#_Gu=Vm9oP89c<A7_%g;|BZf
zik113H=M4Wtv`Ev%*346p`W*{{(F1V?~glV`)~fez5XCug7rG%+m+2X*S%)m{h=Z`
zVfzM|Jae{hPk7!uZR1UR^zz>9J4I~Y3c2m~T5fos_W$1OzrSy^B~{$oufM!r-+bHI
zd7JK6ebn$d)F543-FtS+_qNRUrI!~Jf7<!J?snMylwCzz|G&EWFDI?}W_bI|*o~?2
z8`I+pQ{oHL;tLITKRLJW$;o|BdXsid{~&VwvCf=su?u`r&a*RaPO2@{`2C8({7d(}
zTwY&^lNVlulr6oRBG2B#c#>slD(C;3^PHETw*Dh!5$vGLwW!c2`Pc@X@Iyuk*8=^L
zHzfa@_Lw#724`aHwaHf68|F<pQ?#k!CTB$5jlSoR3CCyf$|vjc%kDL<IC6sTIiE(E
zM!Cbr=AD1p^R?6LDsI<&nD+C4@8`O-+TTS>woiCGD>Hpt=JTs^0k_O<Je{X|X4m$N
zA8WMP<}_ZCm_Ii&p56NHx(_#_KHNMRCh_Bqv&3`b2{RjvThHH1tvUAKP40o43k~M{
zEvi4P|NT1iX^WXx_wL+2FZ%BJrM<t*znd0h*A&+aN4#Cjd^TS;BazL^`a;+7?R?uf
ztA+b_d{%zgGg-3PxF+7E(fH|ZHtEj8ks(IGA7{=x6S81hj85?OZ-;d+mG4@xB|X)v
zIx0X)AlJ5T(W-ed;XjWY7rh@GC?)XLurEVssVZNVH`7Ij%tMPdMa8&88>~3nc-}!;
zyZ!u;scOBKT!MvGbGig;^eW$)JpYAeud>wQEtZN>1-W(|Y+>FF=Z_dxdEGvwq3alM
z__~wIBF%U&q1B!5SF=R;@@B1Xy0oZa){(4F({+D8n(F9#Hp|eVcXQNosVfedOjjH-
z-_Pyf%93|wHVv4?la=LlyW}QM!0j`Ryi>M`PEm8v^~vP9qT=;<!7&Y8p(_>}HEYy@
zZ!M6zBC%-Yj^4>LyDl9l5SrYo+1ogaDcyX_0x{N$4;CkOlpQvCF{|d+`u(;svH80S
z7_XH-Z2Ebq^<VdMHvM_h`zp>=eVp_5lI8EE#pk@A$86fEKiB)tl+72IZaHRW2<tBX
z+t~g5S7rI4Z0}NAH=`%BtO`!oya=mzT`umSR+AZN|M#W;!-(epXJ(vd$a3pYJ3Q0%
z#~F#4h10CgZS=WtW2MsVmr1v03jL1Ed+zo2`PHx_dwH|lKZR~vuAQs9ajtG!S=-F7
zJ`=x|Onh4MaKnb+LtHcFo@wWGz18{0F|9JudY*a3n|BOvUd(M&E_W#X%bx$0J4tv4
zTUfJu?(wT}0a7)Yce<|~?fH3r*No>r-{#j=#XYu3t|?nK_oHO9@lh3v;2&?Ag{3Tn
zYmPna`5b9tar^j;o@B}TJHg+Nz1wB}<MH{j>;HMAt6$x}ar?m9kI#S4s@u2z=kwpu
zb^G@JJj<+`FPBkUT(4bib3v;n?MHajja)PR^OD80PoCR+#5Vm@d5q5anO*0Do;wMz
zIkx{uYJhOZvD!@k&GL$VnP(;*)6C61`rS^ee$LNJ2hz{XQ1<<}RJHNagXG!$%DR<$
zCPzih>s^HJZB_Yk=}}O}vxcc{8JrDKhxVCpUc44|s9TL^%CWr}lazaZUy@j1s6XpW
zdUtyUXK+-DGVk}VG6KHtnI9Id{C`*CWng#7s-quPaC%jX{@*n9F@Kw!>BsZQ&i%7)
ztxS6oIN8CsaQRCIUyG|P?!Hg`UN>5wJ+SzgqwizC-DmD(@?2S`vEbTy2i>MiEGyoo
zT;q2++*Yu>)i%q)<ev%Cm6Y;XkGzH7ne=5dnEtpl!@Act)cU+i{H#Yd!7&*{Ji5!o
zdzEhm-~ZSB@YAbv!ON@s=NiqmN^P5KdA0u8l?yY252yPd%1QUXb$(vS9NU*R<(H1W
zX|e9=&HDb>L#BUofnJn@^&-bDJ>L>vaN91rzb<&W&eN+BoX%Tje^B}=zw2)PCVz%A
za`k^cu32CEHk+e9ZtaC*=E=vbmd;ovb?(8hCVQV_MvN)qr`+_W^~bC#h*?(<v$7;+
zWl_x9BCoKQdsdmVC#~t)_*mP0U5H27&O3T<f_DB*l02gpx$^Czlxy8f&*+^f+jm7N
zvh%6U_Tr-(9&UC$oSx9?yqsI&D&sAQbq7C|?UrZQ{XXsfyw}TOIcnol_nA0mM(dU3
z@8S3#d7aHM^SSlX2g_vcPnnax+_dJ{+;pw~H#y(gJXV{N-gDk!j^TO9{+zB2%Q|un
zRUWfR*Rpt=688JpyePl4t@gJ=fB$;7>w5Y1efw6w+ZubL;i~cN%Re^T`r6+<og4pI
z+Tg*hebdapZQr+X{Zv~cZ;dsXGMDF6M;Hs8OR6~cVbVMKtt-DQHT4qoKRQt@P)fj8
z_}vuQOq~lSWix|zd=5NnKF#BTG3&!~?)DyG3xd5fH!95wl+AqUutoHRhxdW$Y+b$F
zSw=67+-GrJTvD*yDf7^DwL^2cmM+z~##ujG?aoYzrILzK&X3|uo=Us@e0DK#){lK$
zo1;YfXDO~Y>FCcQFR@f}L0f*f>FUl-RYM2edG5ZVzn&EOvtDV);99!Uv3K|7lz`x)
zwvjI;@4oEvVshmb5wFR2Gw&=G<IF0$@Hxs}qjz)Ej7uT`%u5fd^v@Ezt|C6`kvF&X
zRf$D~?K8EGoZKdOO{Drzpr6@p&$r>hKQ9^F_Z0n=((&!@{+g5pJNEoNvGAO7`>sB@
zSC&;PzQ0(wFS-5KPF`7SlbSaZzTQx@-rU@m%pSYxZRPJ~d7IC(404j|pUA;dT!ybn
z_cz}?`d@C8J_$HJ(OH5SRIafs;&hKHd&+Tur(#-bPV2&pFPjUduH2|o6#Z>!CuchQ
z&k$oD<;U}k+0vJH=cIS#oC!U4@{Li&>QfVA-|mTfyeIJWsg=cd*GTUTwXfptk2+j;
zv!Lg7n(k(qG{4@f7R47tq}G%bNbd|w&AAz>oVa?6@(%9ZQHnRGa@~Gf^m?h$Yu1A3
zjjTt?c1_qQ6_f4$t|4xwJMVj?XDi;Gc;<NibdJ?6HOEY$`HUB>t~a0GQCk$&m812~
zSn?dpqOEH!FP=)DS7>3)mfd!+c$tgY)XemxbCS=E1+R%P`aU#Rof>iM?bq0?>kpP4
z%BtJ7d79+y;P02`mfGJ9{eL-@cm3O}irVtWuXoRG$X@?Gv#K`#^Z9RE4>V*bEm+xN
zdh~mf(eoZ(i^s+1p0THIJT%Mj*__Pf3tasKB4u2H56w-An<ertWxs!@e;tpzRN4~H
zJ`+Rb-ask-@^gxhW-_@n|JJ=ZW!nPJOwSLCIJYUpN3D^_WBPT()nw{9uBDlW=N2fQ
ze(0C#7PUk_*V)PVk`RCSE6rTShvzD5N>}W!SNg9yv%{S?zBwzbI@R5HbF8j`TV|jG
zuke+)W>@~&V{;cT<EwS6x}xOhdnPdWxUHeJ?~J@ADGguttfZz{9o1R3S*NaS`6uhP
zKuv80r;D)knJJuE=7&CC-Lm7Dpzm{U?#VN+%{`{J;QLBVUqxd>)!1bwZ5j8gpZNd!
z+#U7(ozS(7<>Alw#oqm0_VwNEtK0L#?YA$iwQm3ZcFVilnd#e{B~HAFe`25W{@2sp
zyKMg$l!={l<zA$@rE}UvyDG={+&dTak2OqWxM=X-%i@y2Bjy>5=Oq>?_A2qszbnPG
zci-l{5B^t`ov#0NtUtW=cewuFUtgvf>$>m!{3c|f=*AP9k9H*Y#c0VlGWSfDJgj4I
z^KIKj>)v;}ec$a#<JXDLPFkMx&PL`K?{VY9os)X+<+@m(DUyyk^NROu<?efx-Vt*R
z+;3#bZqJf6&vwfT>5o~Tbf;|T9kqzJIfl%pEiMlOn@uioG-k2bx*icWz7%ncp?qPX
zg|ONsCX*UAi{Q_a58gN*OJ6(bbI;+M)$X(J+ur)a_b1)GA|-gb@B!QO#OIRSNk#K#
zDi|Bw?340KGqt~|D7Sj!$H%f;?e8_dy*2;Mn&e}SZ<p^*>|OshQ>cIa`^?JR{L`<i
zm%87bv-!!P$Q!w0)`|x-)?^yAn{Pb1|ML&4w2gk1O5G=<Cj_yZC2i|<%3QUFu`+1Z
zwTWyVk8Uz>7cDufenIolVjkhi(@YrRXUV+onQS}Zk!NPH^A^z;-rhn>Uv6T*GWk-(
zlz3B3-^U)oX-hWlY1Hs!zA^vbp2o@_myVco?(0}&`J2~KH|k6A*FLp~O%A$7^A#pu
zSU$zGK*`3P_npbJK<?#&Esy7ME#(XdK5i=-ki7Zw6dxu-N8i5cPbN&6SyCFk&9kn}
zEt`9Arqz50=gb49d|3}`m@N05+><J_^yEI1-v2&Ny@jW!IryFv5BZaBwA9e0`iu1c
zozKJa?zVmXDt*m7C*uB=#M;lx{G-fkFKx_>y}qo}cJ{Tec~R;2&g2w)-nH=T>o)VX
zt&wKy@BaK8|7wPhZ;ti-AF6!PcedmuT;64um%+Yvq3@QSZx^|LIrYB~-~0W}uHK0T
zE~gVa*xaQwbS-`wD7r+~?|FFhdjFr<_CNmB|9QMT?%z-M>E2%Db8P-!|Nr5Y{GZ?I
z|K6Sa`aXAe_sWFlUJ(((jJ_@U>%*-d8Z*y%YGm~J$@U7a=)JDF_a2$Wds=S}%1eq)
z&b=ozRdjQ($Y+u5Rb4GxIf@T+wVHZ|U9efT`OmY98%%qjnfKnyEx5a~{NB3aJ8McC
zuC5Ec`5=6ENS3RF$i?%Me>NX?$lN|rugm<#md~>|XU^j&PqLEYE;-eqwmi4U&RY4b
zP4MTNvnJ;@Y&Mu*_+0XV&%@2z`OW{b9sB9?ZI0*4S*Nxb3*HndSoT3OdDGjg_Rqd)
z<w&n-%gtF|*_wN0->$vyj$6N~-?aIk`fjPZO{)Vp-DTMNZ2r5%Z&K$ki1Y`oT6U^<
znI~(6hmUchMR!k*R9e*8<^w{Ou0Gn+gl!%NNqNg2SYpzcp_A|6CF>z^k>!}GX{o}^
zj%ACsw6<A`Pk7+jA!aYEB)3%ckw>uNEE`i^`6A2R!3wi(O;@YDDCA<|m@l+Kb%sfT
z!0VWZ9mV&ih*jGivvKHEuij?R{VqgUbN)u#tU|}L7Z!`@J`J{Y^!57L^U`m!qwXBH
z1d;C|?@Zb<K5F(>Uiozu)X+G#;F$8fsL89%UmTh{>99`BCC7kSZ@iN`zTN-#!@ex;
z{K}Z!%hKM?y0ta?)%A6m5#Jpj@8Z98t@gsdlk9Uhe3k!FWW4_Wg88=><XG2zn>Onb
z%c4a7Z;vGk4bBNIUo5+&%`Cd|_Y2nAs~_uDUt9Nb*SzM51un*%?ot}O`!-v2Y<rq>
z`+NM&@B3??p4|WYUUv2Q*u0{M-AwbuzI)8RepRwSe2eM-KYM%Yzr@dD+q-w~OSK<5
zySpsU3v4};n_y?an0|E5;Zs(Bp3eQ(74dBK3!do8<^G%a=4hYMUb7{3n^}J5Z1;_m
z%=|rP&yHN3a&&FpT*Fn5C8pnhvg`H%$6m{;Z^E@Bzf3-A%iZq(VS&2RJP(B%wak4c
zW}3O5kLJB|ef{f8je7Y!&g}m)Zr{3`2udi0^9=t>HXHlcWl#L!GpnZUXS(lxyDJ*c
z=4f6%H|2!d1D}s`Gz-}N&ulPmOTE4N!;e$fR$ZMGy8d3&Ua9JBSNCk%J1zR|YU_lr
z>)+-4Ff=}wwR?8mrqw^ycPDnFbseufX7cc)zgL8@qh0caX-4r<-m)Dl4l1@<n{T+n
zsJc5iv{`wx+R~*HE<KxicV?ewrnW)8g509Bscumg2ZOIXa43k^I<WBLQpu;hN6MC*
zWxqJdQaQJ;l6hDC^`py7&a#-EdD=1atLB}|Gmjdj_Dx%QOGYb9_#}(ce1|E|JGiqJ
znYEwz6>|MqhtJOzci-?C&8b3jxUWAu@Wy1RLA%KJDbH54Ugp>)vGcOTibAi;4N~4e
z-%MXsr18{}r)k~;v$nid3({5QXU<Ju6`8RrGyTlUWiFOem0~n@eXRfce0@pG-mriF
zc29l3Kl<;#-CN)9kN*D9`m6lD%YPo;UYmU{FaC4cargZ11;({sw#|&*f2wTHw_<~v
zQ~n(P@n-9M{twJY4qB|99c|5%Tlb^vGkgB^`VVDy+4Hae`*!!${e96tZ<k-JK7KW)
zhoxiN`!>&oTYhwWJCoi1|I7ONqGh{QpM3n1t7lu^Eos@XL|?z?*~c%wD;MYI`(O5a
z<^Dgn%Xj|gxqQMc|GKiqOE-tjE3QUgy0`h|?#Rgc>Yr}Y_is8Ke^vHE#LubkQ*8IG
zmHB-&>|<Kkwb|FF+U`4*JwL5;f4R1n<gv=cr?PF&H1nsgS#x*s=1XPAiWzo1ns#x~
zG=rs2uN;`3w!dqE`sbw^JJgFf`ZlEaUoiLnaHPjXg?E9T)DNDIz6aB@ERqlU&XY-a
zU}LTI@#b##8-I-F$y`uToB#J!!eXX$rA?ig=~?F`nPw?%TG_Tad|PPanGYu(uKDy-
zcdCBwx~fcWvsH2Tg3jh>uX*+~*L3xE!+`44>c8673B2pyWz?jmKVH3iR-I1d=l;NL
z?K8J^xJ|N2FWi4?k*I3duKJIHzQ&rqE!L5|d@F-yd3*>7Vt*E*qw6~P(j>`uA~%@}
zpD#ViTdro1Z@X=CdfvM&qO4h*3Q<Z^)Xx72<|>ew<~dnw>B~=SA*q*wq~D2TvT&a9
zo?Sk3ONL+hpT`Dn7lPyGIkRR>T<9-(QDW&)Hq(#q(~|=(tJQ6?%qr5{`l9p-PuB{~
z1!6Nltz06=5x^ZD(0%56$^x;|bB{fmcSj}QaVE<iE%r@zJ2Qjq4(4W+&#Jh!zG&6S
zj%6R0&iuaOZ+ekuNN!O>jPzHl(;OmG*z|AB|KI=r{HNa8=W4UB{>)#y>&M#A>HD|7
zy0!h^muK7mn|!}rU-bR<{S*JsnRosFCH=JiZ||x7|J=UD*Drpzet+Qlt-SsAj5?oB
z*WWlM_f!JjoafEG_wQT%$)Dfm$NauFKjz=H`HS4YRKL>?pPGNCV`73$vGbPyAFhhu
zzY$ft<5{`;t7Cel7Ts)XdHJHdPqW#rmXO<*EOpA*`qtjyX`Su=e}~sqti4sa_*iR5
zgEj9ApJ$pmiH4^xJvx0qE$67knqBGvmsf8+rCmSw>yK|;4!m)X+LBjQYe_D;D{$N5
zbo|}7`%7PZT(f_7P4EPnfc2-@SHJmW^!m!|1dBYm#HX@}+S%#z%oL>VWLEahxbW-<
zi>Zr^q3PSAnO|!-y}!Ba_^eU9<m>zMhVS>at=g7jHH)K!OI+&voI>lPJ=2$_PR-mp
z(bsg2>Hgv!k_E?p^st&+&Of;{<8XnP;aeZhY@_)zTT(+;OZFOCH1FN9^U=|>6)m9~
zkNZ}vN!zyc+0wOJ^>f!&S4wYx`*rnp^F2&n!rL}`uCme&e>c-zkhkI@&+Ci>|LvEz
zoIMh$JMqBNKYbUcdI}p~D(N!`HN0K0bc<+X#^<6XCo7q|W7Kk&`g(acToU3eFY@BP
zzWJ)?=BsJt{}iIi(l>SAd=+dh-jGqOHF?=@KEV#P9KMC;HT<?tpXjq8*2!dLQs9!{
zUUqYqrIJmvru>%N{A{g}JFlbv&Ih?uvbGlqnx17bo#(kg<Qd0uL5}iSj){DmHO?F~
z;#9hm$#g};%b6jBH*3|(%$}1wKFTo3F-+CyWi{V8S#Y+<(>;Rs7#49(R-dog`r5SA
zT;;#yViV4b|K7y^z3+W}z5U<xc<aw6uAj60w3WNR=Itrv`kKG9>uWyGuAlPz?D~6u
zyVr~Tdm8Tj|I_NH^*^tk+W#l(Y<%6;u+;f>za(blg#2!|y`j%{_@f2)^F^#%ny+0@
zi*f^1p9|f;bl*FDZT<hv^<V3m7rotkadkjcjsC6rKetxfS3Q5!_IaJG<>cz_bpES;
zbF;tSdnLW|a=P~Rir>!PYx(Qa`Td@Um)AU9t$(Ps?GM9R?z81@4?K>1A2O%L{Izwv
z&x6gk?kzZGvFPoJBXwIt_f4Jp^;+)-xdpf19(LHGy<K%u@`Yn(kFV*D44oc6<4Eo*
zUfGR|*S&5(@F@OVpuTL`#sc-Exz{V!OkT<-vhb9Y_WU-<Ob*WG9p!Ovr|!vkF0n}R
zqolrfwUZaOz`?WM`?eLFmo(-)C-Qt|NO1F7-Ve|ARf#OT`jmy^x#SO@7Sq<}pwZRM
z(<QnNYQ;VH_UG8C=jM+l-d^T)gM0SsxCaZq9eOrv`nD_kcmi%m{r|MBs^Qk@+tOji
zUXP6<%DJKs++rx6Szy*aV_8-#qwRsEXQqqIv|6xgikhya!c@=6GMNv(GG`fOcB=3m
znK{ud^-{>b?K>+kvTRzT5g)ZjO6IeJNn^Ixj^JQ5-6%%BefJ!arc8UVWQ&U8tQEBu
z+l?}_yn>aZlop6t|I!qAo4V~^*B+VfJ$l_$v!t4&&m=WPDT!JosS6)jb#`Iw1c#7-
z;N6!QvKH0MT4lh#*kr~6lja@EnX+aqRttT4;m4(lFUC1R`<9yo^X@Y_Iae)Es(Mvl
z^{FYxJ~7Xb408_-l$zcBEq(v@{~G^G{?2s&cY3G&|6{HBb&oHZ?=O5hJAVH^@%a5e
z#p~z%7O$`Q9$g>vBfLK3S9pEM$ME`)pW*c(pTp}zv~Mr(x8;-Ce7b&D?w&5?LYs4k
zc4jcXz4P~){L_C&<rhAEUH@^b_WeJ%j^@|>{WHJ*@tgVekI&4nWllceAy6?@pts$c
zc{2Z_Gp@g1&HwX+JzwtkhlumPj1SM&uiTc}UM7Af%xb?x^^epC2j9yqtj=xjoAm76
z=bcZPE($z-viU;9tz{iWdH-&&nV<f9^}76ohO5$Rj15oQe%c|j<InHojTzRffBc)%
zyJ~La{u7*6X3pTO+T9x*!QFUET6)tavprwuS%}G5+<$wx|KnSKf8(UrH~*Cf8AnF;
z=juPd6IS-p`qIAR`~Gf^yl;1*l_A43`(^g2#{C*e8~vs|=-iYg7UF9i+3+%>ndf5B
zjNlLjsXZAw-JgBhAK6cyo33O0fO+P5mN^@@Fz}@xs{A(FxnQ2@!D2OWo8;FPA7`d(
zSVp(s+U#{`8B_X<vSY!FOE}ZH<`mjJE;u&xjl1-z`Yjv(xJzr*?P$#XFW|p%<Hk?!
zJy%!Fdp_mcqiMIqw;y^H$FwvzJK>mP?@d2LTcwMwv!6{|rTOpf%pI$B{!LuD+$8fP
z<5Xqebq59c%C)@tBrGlooq6X|c8}roJD<Qc#$iW{FP~Z>xJYv6wMR{}KwTfc6ULX0
ztO`)NBYAY<v=^%aIF+J;KC?aR&(PUzoW$C+LvE|Y0=3|%qy^Km`lF6K3Y?{sb?cDK
z#>ew=`lR%WRu?aS`Pug8slYRfk4@&Rm>d01<JBFnpYycJrDiV{`?l0D;PF0_W9eC5
z$-ga^dakxRHRaf5>#L6bGcVm>3aI~P|F2v$+I;TM_5E}HukVlfvA#d%=WO>)`+uMK
z`rfYS_3r*VKi?_;ykEQI!|whm|L!V3t^e-v^#1?Iv-kf;zP-O*h)qp;+W#5P-*l>%
zRu}N}9gnmS*IfYW8C*2F<*pAJl8yh;XPBVUe6Dlv^=eV~C>fXA_1Q1_!}tDsa-Q%1
zw}Rj9>ORu?x3;HNo5y~d`lUwl*PHUciw~-8-nwV2`Tli(&zucv%P{o|F%|9zYv}QI
zv0R_Tce716wxIl=;jw@<`}8B~g*DU?Z{ECbbS9}Itn};p%?+uE4Uca(?ut7pakW)Y
zSNrweQ?ukIyCm0_|1?wI{9fkO#6MY0SN}~r8@u{llJV_*#T(j>y8WE9EnohP-s=~K
zcy{K$ecPb?HZS?(>d45|=Qq5}n0`9f!Q`E*v{Rh=`iaK`diC#cy1YIj#H4fT<m1^k
zn>a19ndflY{npj5US@HA$qBUwZzePtyO<gNT=P*pB53kq$)2UG26n51m(A@wv5X~M
zY17HM=?caVZGsO<rf>2;J^yz|)sbVxuRm^S%FS8v=V99_`P?;ib-`b`XJ^ITi240!
znpME9?&#NyS^Ay}uKl?5&F!DR6<Zdk?#h*=vyb*>s!5&;+L^Wd)B7~RFIT2}8m~FH
zFt*6S^TQM&GvSiulIOjn9eDe$1m5}+-nvLKQ?vAqs_~tbPfAZ2Uz+m9uks{g>fXi@
zT}y-c9nYHtd^HaX{^UQgV{)Ep=lr5Cldt+suFX8Ocv<l(O*zvmf!;?Ji&=kJIdk!`
z$MXt<?HIFy?gYn8c98uZqPF7YweNQhXs_T5=#J=R@UEFvnl0p!$s%*TVrw*CR*+F+
z-=!xDmP=h1`0`|m+T&SIJdy?dZ%$X+dAZ^xZ>gJl-Oa{~`hWI+SD%XAt!MM=u6KXk
z_fw1SpRN0{`?~z!*|Yoq`M!Jn|LeQ&`+`3lDes#9!|$c={gr?0HqUxrzdUT4|NOcr
z&DieTH~n{-A0O?^V0^p46gG(VLh$dR@*YOzhaK0Ly>1^rJU4>PZk0H14cqTq^Y?#z
zv3mD?+Y5gV3SME5zEgE{tLg3d8=q4jJQSZR7Vdl9p)fc+FZ6Tg>sGEscf%BKZQQ<D
z;HisPdTIFso<DK>*D@_K)cKt|wP1OnQF6yIjyLbuKkJ&iY*jo*%;cXu(orteHSVqp
z!n*3>_T7EF{^hs%mD8Ccx4*xp_%LMhCGJ&{(`u`_&d08P_39><zLdb)ACKZ&`IDmS
z_w6-}R+z<6@`)*v>0-d)X=h!NUCn>EY`H9ZsFKY>xaOOkcJ;Mix04Ot**KrweE3e~
zv4?N2->F>IWNdL>ie*lx=$s8U46iP1`n37hiDf+LJ!h0`(m%{R8L@5OpPOG(&(}tM
z)48ot|84T7^lO`Q*|HXF>D{nOK6h1JUGdq^v$N;l5BkmIkn8=IJNk9}oogR1nYCr;
z=T0s%W?iJZX;qq1$}}qr;ro+5&n}*JB2wv*=2ef&Iy|cF)~<%pSGisn@$$W$#LTHQ
zYomVdzm925N!toPvprJd)u~8aVcBjS+~p#9qr%3k`?c%k&`qI9b7yU}P8QpI_KPa}
zvuy>-AC|jbnR<Qe*X_JJefL^4elgWPJku$2;>Gjf<=YG%o94T|2=1(NQxiVJc!f`M
zfts$jfbP>^=B!t&oE3M1R~D~c^IkJh%3qmd_vIy4+c#?XD$I(o@k$Z$aP+tQ9{l6d
zjVmUp&A%^+a3{}v<0mZWe{;Rqx22vhna-Wu|L6ao{j2-sPS!nK`R4h&9pCN<o7aCi
zviAA>9iRUQm&gBzd&qrXyY6B2QvKTXpPn91+`3x6)pSkW7Q?QWafgBnyDVg}B)P<n
zGTx4B$}*Y9I@BKc+%Vtw^K*So>ht_>*Y=ig__=tpt+Zam_O#z!Rr|l#|JYM`Ane|?
z+41-11>Y<9l4U2r`;sX~FY2&{_V$BJbDyryHq_A0ejFLRsN>r;-ZN3${_dAqt<Hb>
zm0k6xrs>wxXq%-Ewm58g&9LeCwyA~+)<?fh36G7QKXvQBB~yYf@Vfk7%^bV*sQA9A
zUthE}UHsz~rp&uF_wY-m6EAcogta;)PTFf(d*VfktGQlj@>lhcn*#rg`O<~v|DE<(
zvUr|sZYBFf-#i=LhR>4a^9s+;Y}m|p#zwe1M`_1NG0q1y-zLx1u#a9myG-nMF<ZOj
z1D<bZ)GsNU%~-2n{cG~4^lOK;=Kb9wwBXyFHZ8_1`&%KOmD#dNc`j}<+p}ToL)U;=
z45n#ScC+Kn99BKlx!NJN?x3R9O}BL$&Ru)wQl=hcJ#`P`;?RX+Eg6f-ZvAo8y_st9
zZ0ELJWe?9C)tS7FNqy<jC0lkX&)U?KUU8B!@XR;ih~7O~BGD3FYu4)ZtluEFn8$s`
zjNC^L{R)?)W!<U?vi`Yb3#<R+4ntw(!hWgW?S?t-n+;4Cy|l@?^egb9qwh)ejxaCZ
z@OjGX+;wlUnCg6788x9HRVbls)~&h6G<@SaY`d(_?wPuI*0ytNr+97%?yKv%u>4k8
z^CgRoZ@ZS5v}H6HtkvhOR?_fYxmEE_rqbfi7w!L)PkpX;_vhE>?Q!wEyMJ$<p4e(%
zz4OO&{i*xE20e||58eMY=&gQygXzClt;gc`U-<J{JZjO5cd9l=KU#Rt=_|V+b<5>+
zMtq5imFs&6W;Z66+q$4O9It@y*>stU_x`ktZ~v23{`L0nSNH6jnAR4=?&_|pf4=*F
zWbXNd#N_91UoFd4-P*2q|0jQZZDVT5r>86%rZI$ZYwTe$`}L(__x?T2({F3+?+H+w
z#2}I5smY|H>u@X0_>4<egUG%k+a^6*=_&r8_@bZk&B;qE?T%fxsSUkrm!iUOv53!Z
z+Sl#VizFsY{V$`tFE}o+ic@pxeY+c>_g-55<9q#n{kQU|Tgvi&%wDr*zh!-6ddZ?T
zT`}ncUd-Z^Q$CB#?<ms{e>q3z)J|pTrP<YHaW9T_F)1C<eBkrr{DJiMvdIO<e)cHN
zTH*OSo5kF8qAy$eoyxW|4OK2?N0t0)eyVNrW8gZ!=+BxJ#mmlfPIxxQGx)5FNpPdF
z!OhFBy=K-PlA9mZzC6``<MIPrKc(BPtVpX>b$A=emUY$sPQ>TKzFX~Y#jsb${kSBt
z)O61d(bMM*g{PRk=S)92zie9H9!A!ShxVClJ5;rH)1fMtnI>PkUQ2G=vun#M2P5Tq
zh0|p^OqF$IQ!j-nEIN8x+G7br`?ctkli4cnIrJoL6Iyg~iWvLFXOU{UnH|SIvxzZf
zZB##fY^h0MLrX?fKzEAiPP6tY7ex;*7F#?;>eUL(rB?#xId8xAT%W)6kCD++<6kVM
zsk&v4cP#hGoFDh5*)SlO)i!dU`Xt+>Q~X0OOkOHDqg<o-%99<-P27DeuIymEDB=|?
z#4Qp&Q|(cvOQu(;iR$9d&F}3?vpyedo2>4AZLMa_|Ld*q_l5p?7cIKKcJ-&f+q3K&
z_TKz(aCWc!-kX0eo{zqMsP3AjIF2r=AzP1&!Y#R*6PLN0$j*QGa{K>}i}zQ&3EzJ&
zoY$-Rd&1>ek7K3v`$T5`J6ZhRv9kL8-CNhBpMJfmy7l<F=YR9#EA@8YDs-OJ*OnwU
z&w2m3Q@?yI!vq-?E#%PE=-s*X-f9=k-piL#{;zqzXFFr*#efoK>->YNYOd<$A9iIl
z7$pA7N|8R%=sm4+!q$f(`g;#HzA55cz3-tl<DVqQQ2pBh|L*A}KQ&v&B=+-u`St&A
zb~|kGyW*;?vE#$^hmZe#Y?hJM%2POXvWWFl`-TYhu0;o1w{@@8yU@&P6_}TN_om;6
zo9*hnbJLm5&AQpd$dM<P^-Fbi<uRYKd94q7K1-_2PxL$+wXN)OnM9FU<ip6XbBren
z9}s3bRD6!-A&<kiE649#oBHoTa@zgliw|t|KQ;f?k~!8_wdVia@+vam7Mow@?5z3e
zQ^LOg32TrlUtZ`ndD)J0wTEs#syHWBpR1ATsS()V9Jf1IFYWZ<xwAyC1#fzCz~*k|
zN-x<N*C#QbjNCo>(A<xcLnjM<3|Y^0G&~|)ah8p8?{nUa>EX|(Ofy*28Okp7eQBy!
zQ+iLm`Kmatma8fOx9|O#wBd!Hsp@+<>COhJ&nr%9*LBU>ZWZwRXJgrhS#JVg2RQhi
z33Of=9riYiZR?4k?LsSDkJxTZn-bAFS2DU|ZgA9*Hzo(O3{K81o2obq)Ot(5F<0!R
zcW~gW4@+0x%?#=YW-UnK*Pl?fH~;%rJ0FMjnezXR|Nl}i^Y2CTsW-3p?%cW8@_OR4
zIj{e2h`!#Qm(Ks(X!EnQ+eMq-7Mss$Ep}DT;LTl>x<%g#JOlOras4kZ-`fFYt)U9H
z<equFzNiqTGC%SBdb9g~<NrO_m|y$;dVbFCulF9d-IvRYtv|=)QtW$P%)Ip3wJmAW
zum3H(ebD~j=JdKBzZzFh<vTjDZAoLzN)xH**PPkR9A1~Ft@s*VmfbsjdvCUAY|>Pw
zeSaEa4ouUvxuAFEu-BDOT3a`LRAmpySiDta<MsTvZ>OBjUEsnoEiL_ZX_5G>(6WUe
zyE69NVVfp4q1e(oF#EA`TgI8<V{_7Va)XQJF`ko{FPoKiZgcaT^AQEcGB-u$8SBpB
zv=cTpy>W{{Ki`!#D#Ud4rNcMbrU?j0pOcujR`=(@;|9ml@5i5(w_L|~WnL7!SMs|p
z=`*a?zS`M)^?dHCpAXZX`Bm2y|K&ads&Q(T@7b}{({{h<J8|DXEN71FyZG$pxu(Nn
zhH1+^z4=aXmusb7+H!NQ&7GA`cvp1a++>iN#9h8@8Jjzokj>+;O}fGp&w6+V&)mW@
z$7I?oMOEpGO0t<JK2A}dm*^F|oNq}^(5!ivggDBTtgRQ#c-xd!;NtyZ&V3V8x!n^4
zb*)xxTvEN}sGhh7m%IH`%Pcoht4B?<t}Pa0Gu^1;SQF5_Nx+(UEB6@@FX4A45~mdp
zDBqu;y`nJSu-1H;D-XPr)pR`)?p2;$^KB_-xs-mz>RD^l7R}cYTD5G;jE-ZPyk#3x
zR-Alt@7J5)^)+v`|Nm(J&;90N{r`OV|NQ@7f8Y1%{k$Lc{~w(EFU%eP@4fvG|N0+S
z!vFuh{Qu{D`_J?LGrzG+tUuzL^TD>_W#rr7HwRIBpo^@(?EZRF-sIaZJ&~{P&%I+@
zq&ekT_;PLuC8@G?mH}Vy&%6CA|Nn>T`j0PW=f6D{U7xsO%m4V8%irIdY^mGx{)hR$
zM?333v-|J+_pg;Z^_#b74r8gIvM*P;+0Mu;_0{_xYCr9^Xq{dfbgg`n2ls~5gin|J
zPe}#jIO}|rjAL6R`!>1If6c!m*FGNU@^?M-Lup=(?D@d7vx{5B?N6SnDyiM~T5s6`
z(;a!&4eglSH=A0Wz9BW2qfpM>(qvzcm4o!=3lSZ{-CT2CN0o1DKJSzq=$HCz<_yp>
zA<*I=)4!h_gqw}SKKS@p2P@6)dd^c2_B(mo47KLX;TsBs`SXhGoIQ=7<b-+6GoC2i
zu=BsoCe3BDIyb0&o>TaIW`psK$rXPjq?h^^P5#bs<y74PjkS+f`fF8Q*!=2d@742p
zYbyKLZR<N0JfHUKIqRZ@2Ff*=G8Z3BioA6v&FVoki%W12`;|VEeOgmi&B*=v{YDaV
z&R)iiPZ}b28^7(CmgD8ka&b{mRMDZit0Lbfon6GDb2Vg2;M?QEDib|3-MGuOIOlyj
z6cEJ7$GcSX^QC7VnVq{YKeJNy)$y3HNR?gae|zed{1CIlDtmIKbX`s9pVd*v<<iZS
zWiwwP>QVX}%d9(d)oii^ujU=@c3-K!V()UT($#YpTwAR@|CmPaS-;86^CnsI)*RE|
z?NDpAJN(Y%nfK#k+{Fzy)){(DHsW0O^7)FFuU2&WFdfZR6Q137^+_sQO8Kp=s|1&n
zox83kF!zaCRKPr`93BhxE6Zeh=6;y}_SCyD0pErwrw+9XZ}-L?t^fUG`TuYH^1oNB
z-?t0Qu_}1_?E1eyGeK!(&A+oRowxt;7mqqW?Z&z3xAdnOdrc01m6DosbB_sMRzyz2
z##wv3c9nIOd@XwUFn7w^2|TMexJM*vi!r!vUUPtbbDG2@kq3K|Su;ON&Agj>?c>RM
zUU!rFntPn*B|kA2Wyw?|uM4}SKlS#x(;t2JnJj-~pImdyc}}dy6Bk{RXHM1^|JfOt
zKRv^+_cKp{ni2DqrY+T~&u?ZwJh807c-xbo+R@oZxMthzJNdImeBR%SZncM&O<_Oq
z(?`+RbWY>>d4E<s>Fk$SVf!<%up;__)M694k1_Edx5#{~DPz`H`_0lZbN1``_b+{5
z>R}W}-#UZStFzuv_t-?u#U`mI8B2Nj#9oJR6|8Yz!!Eqy>O;TO&=pVoyrLcMIdr8h
z(Os&_Zp5`vEYZMo@s<yV<}R9)`(%kpT*G05N1Bt^=B1rpAsuCrpWr8W{-@=oMS-{W
zs4tZa^XmRxD*kh?mKvivQ&yJO>~?qGy(YW!*7~RZ)!<#RQf-Ci>Y6r3-(_3A`)|4>
zqtu(g+g)ws6?|&>+Q*>9WDmT9)0XE>s?C%tmx_3+<-8@g=~9b(ujN&X)t*1+o%nUc
z?DIO$eOq2XD>xW^bb8s`iIN(=Y^D<=(@nR<yJp%v;uQ8XZ8=w#T&eL-qi3zyQM0PV
z>UD;Po1C>K|A~`XwITkmNs_eRrZ;&DW+d%iUuv9OaI9<-?>2X<iwqaPt-NF@y8qU`
z+0BRQb}#?(e*UeF(1rhgOf-+HeEw$Mn|X`N+xwqJ_K8RMi$(d1-#$0>hW?b^7@-AW
zy{cDty07h9d#f{a;f8|rIOXWL*yJ0^(iMDa^Sa(@uzhmwy>szSRa(ZMGTW+$Vcnm0
z=KQkXEOjh#gY*oQ@V7h8<**z(v4-iZ=^OElcZBsrs=2z0?j2n;hj~W*v1xwpid$CC
zIj>jJ?Rxq8ymtxzHb2fi!C&z{;`MI#C>4v#*5?`0d-LBlFH~6j#OCrr$+UTUwGK-1
z=jE*od(iVy@<GqXNY|bX%S>+jd;?8~+f^s|e*C_}_M_mMC)L>&TMYApn`gOXp3hm4
zHf7twZ|%~Cro2<GeORo^%V4Sy#pBieTXxDiW}%hK4EvLRoJo2)|3Omdiu5Cg=GIhx
zU9RFTwcMn1$K<mfkNZrHPM=nB#Q5gv@?}|WxAqA5&VI17At{s7^1Mh;B#YLm1A3EY
zJvf=Zgp+xNq5G_?lZ;O)K2>eoYM-!jZqU60N{UfQrk5tky_+My$TfP7gL~$o^~*RL
zPIb<=3b?#+mXWXS#Gov;;wwtFSrZqenK=52JiDNKMDJ<!JafZ<?w;yJTJ2i|c5A(;
zT-yJ%n(K0al(R|arIh$tE}2E|(swwqcl0{W7Wpzob8Y^2-ZY~Xn%-qh`%}D<FZ%nX
zT^BJ5?&wvVrC_YPbftw4U$9rt)VqgQXbat16c9Dz_LI$DI@s(kE6!p{KXvTi?B?J3
zymC8COCEf?aPZE;!#fYRzvq$PnQb{O-!d@4HZ;Xrxlw9Qu<~?mnHdY%mP^fE-1c-~
z)(x(}Gp|yF{dX!#UpbH!6Y*WR%r>Xz&kRP!ow2K(#0_>F*%4~6JE-wxss!_Pqa%hp
zr$!k*d{e`jG%L(4jrFkl4JZF*_je5EW_;$!zj`j`@;2?g8XFH@7kc5cFzQ@-uF!nh
zT+x}cl{THc%rxU*C7Z?LnzjdN%(E-EE&o?4vgB^)_sg+5Yc$=>M4!)ON)Oe~X)?5E
z{>=07?DK^A)9kq)Pdr-?F<G5OqUxMO8rK|7m&a@_$-gCc83r&foqF<}35)IOd2#W7
z&n)k`G%t1EmR<6B>)Q2w7n*3k)BJtu5^G%NcWeGXULQnK6E##z9Tu6iWwbr?i)(O>
zjFT1pFZ#-B36J|GK~TRd>8RCY;dgVS7p*<;l}+fxyE)!X%Om)`9JjoGIZZ}j-<FK*
za<yk3-ZuFM60SC~s4bN|>k%Em+t(T}tM4k0psvsrlc$##x!Ws$<}5i~du+yHv6q3}
zK0jSpw@MWH-<+!!`gDR#meGpV^yRT8ioFa|js@HOlrgol?hSpq<I-}_`uZ7*)q<tO
zR31zLjUr7sR-2i#Ny^>CG4s#GhD$dXU$tIU^$MPouJwPWf>~e2p+!{}AE;ceI>)2w
z+nv#L=E^<Oqtll;njB2ea_N4u*<i)pM+?fLnYKFjTx#n-H20WeZ{-z>)pK<>9$sIz
zujGkR`Px{ma)w(oLQhHmdAT&>m|v%fTder$8Hr4D430!3KKFWXY%}Bjb7BV{$ZejJ
zCTEn#dgs%`wI?^csgT={^TD8aHm}T%)=x*?+;uACJ#cfH_nLid#q;JKj+&#h@1)lP
z+5G0uJSQ37Yt)oU)Lhd!YxB59?cmLOYzJ<hFT1{<jd}jYru41$_ZIf$7+Exb3_UM7
z|D&jx;ZL4!#*l<(lFgg_BSVct&ITNsRb}ybpW#EZ%Li{hmKQs`Z~HP2Cev+a3wn<`
z7&@+fbF%;R{{8D7vCj|T@~ZxI`BnO%DaW2KEp(qX#o<6PhtTsSCUP?s^3OgtuwAq=
zJYu>`rp=wsH|MrKJ@Kw4X5JLFKq+UF#64FcW4yc>7cFhLBxa(iYk6~S&C~ZgBiO8V
z1z9a&IpUcTH*3vir_5Ug>1UF*6>Cm5TVC+oCaXZg-z)lqNhfRFOHa?JTM^5by_tAw
z@wZRk($ZF0Wf?A-UzmMQswrxUQkKqSg(Bak9fkg>qGeP3lSQvQS+JZZE8^+pBO1QX
z{U&Snh6hY`n*T}0^jy}>84K6~k{|kgI}yxPw()|xvFwVCwni&HUQqwOw9q9uc-9+l
z?skh-Yu~CPZCqCZF2wO>?Y^?ks4dkh;PS6aJp#VMf2SOpd-qs}+QwNjcY4^e9JbW*
zTxt8Jy+Ez<ib|OEy!_N1Y}ca}@*YuJ@YZKzZ2I!<w`|Ay+Yjn4-|l3hAt}{9*TMZ~
z4`2Ut<yT$z+7sMo<nsuKnO&H%f!TcKVV^0A_f+qsab$0LwB-cP3%9fb>gf~roP6M;
z!rt<e=cDgCd*(R@C&(l`unB&U6Momf>>8(qu<?192xG1}q5meVzoin!k#KIa|EYOR
zYm<%tn$9z3Jr|Pb>zK@RPVWB(k5s1XI~3pj416ivQBfE3?QiK*`yV?Vtt_4DzkdBB
zf!@Gb8Z+74XSrm4SW&qA)+Gm%o?^KlQ%`74JiS_5@cf4*CKZBTj^>=+(zm5WP?wdv
zyvW7--KV*Qr<WX@IL+f;Lquu9KEd-l6>o8US*qH3>58dE$>d8@3YIr2_qy6V4&5Yr
z`O354^Jblu%%A5?JhsVt^2CkjK5bD_TY8kyRCKi}Q<m2Y<71Clyj~Q`Em)>^=3v_L
z&eX-{41&{^dxBP0>YZftN)ELQd1o^1<;lC5(NlJ)H_fZ*n-wyf+0oxEQ)#k;5$nYi
zugSHUO}AN=avD9JqV{aQrtrm-|1)nWH%qA-ztp_VXMHItKuW;ZIrEVJvf~zKmzZqT
z_x15Tykv_;hZz4khTQ6%hE>51ybJv!^t$T~tt`_hm*`hw>-w2hu;HLV_S=Ygp}Fp#
z*Gw!^IWKgU@BUVqebzdX`SQnposxZ~XX}!{{{6np4fe<0<&B4DwD&BYk#b#P^4lF;
zI>xzs@9bt3KIf2@^OPZMW|^$E-|e3lHSIq8G#dNZJwCU2JHL0$x7E#){-3!}`7M|)
zoooKyO?%l`&xc$-=aMqn^8AgY=LPc&Et1t9_{=zzzNd-JpJ{?HQ^`DI*_pQA9498t
zx!NT!{Gx4#dhwpAb{_+8PR>5P|9|06{u%mfAFccvI%CSQXG;~2PhQTa@aSaoyq@#Z
zgcj+ZS{0y^?=bg)=Ch@(>PuUv%QWcw#)*2(nmBERxNqTR*V5%@)j=yE+h&#(hPQSJ
zzw>cAGFc$^;^`%t+7-vN(zMTdc*|S_Md{4cOJV_M%rraHj@r8V?Oj)~<6`j1xywpd
z9i6dkTEL6qeC=!fLf#&kT`P{xS)j&M{6b8{fzL5T>Y#g(RO79=$0pnQO6wVx&zj?@
zaMadvsp9L&XZ?hQub50(_IYXR-ONe)zMnu_5IQfVJfG>5dCJ8kv?JIxlj-82Dc4S)
z@DY7|rD@g^8{rPIWhTCL4Q~=28(xrL^D=hY((=<MKx*@xgS7^&H}cvRFBLNT7@5sp
z++JGt;M)hr1yip*nB1M_rBNooYr=8OV;j`d9dvFT-7~jojby5F+0E^5xn@Ui6BYDf
zOPP^!ZTC;5)0bVe7!Ggxe0TnVTsEWT+i!f1OPRf0!(8yq?lezE^?MEeyi@0lAKE8R
zHH~<dCOo@l+xm~ZhM#q0ZiYPI`L{XhWaY7}d7=Avs4|^Pv8xu-HeI{^K{unpf5~{c
z2Fvpa{)ZkNnEAvq`0&gve-j0NyfOTCBI0eed{UW|K(DV?@-gLk{%hCQ{0er<T#+R`
zZ~8V(pG@y#-D>}IXB)*wRfKAYF4CNOX@Zr&#wQLt7}}>;O?c;-skvZ_OHJm+Fj)_$
zBgJ`Brd>Lalx8-M$31F`DtpAsXIc}j4v4iq%64`=Dc!MAWy-OM)8<KL)|_l~sd;sb
zyIk$$^tOD1z@Hj|0gt&ie%_Jp6VM&|`C3BXET7C*S=-x$uRPh2UeS5}#E#{Y+ztfU
zJ*_!ka3T1uAM+wkui!hG(`SnJD$e4`N@|jF==Benylh$P-ONw^_WsHS%`Ar&`unA6
zWjq!*CYzZRtXkw|ap_5i`V5~L45pdUebq{jPBzUmTI9K4neUSjb>Sn+ws5!ve~esQ
zx#qHw-2JxW)}hx7ZPso3;LT}rHBquZ>sDH&xMIZa4T>jkwK;9Lc5uU1o*u*3;n5p*
z+TTdw<H$DoE&clsuUgtywfflgDO+vrj%MwuHNAT;D=##*t5VC_R@7ik97A^b;ZrHv
zxy94B^-enwHB)r^uCC}AqMX@fqFUFUXyp`%npmo4mpn5rKJY1lx2yMwY0sU|HFZzc
zoqBhrUnS|y6t;GQYekENr`>-d)K;`_!=bb(6NR5?CYioHafr)7c&*_=u7tA&VXs(?
zo|&Gy_F#|p%*TGskNs+I6uovYdM#uiBX(70=hx3BUp*#md3(fZ`x&Wcxoi9sZ%zt$
zkk{;;e2RTu?uRV*6_rQcvBoiZrv5RTn609Dbkd?6mpj?JqV-w*jbHBW6aC>b^Ss&P
zqL5Q{OFKd<oI^N!4N4^gcW%&FuXUdLw6@qfKPkPKQ`|=v$Lv|P%4XWP#5U8q9UDa(
zHmD@?$8QeYy2&i;=DOFs*Jd_--LNmAIVG9*nIS`4lJDQ-4QW3&RwnSM{Vn_4d(H8v
zQ*QGH!+#o)*7p-66yz319KR4@ZCvKSzIo$~w&rA+1GAIZJ9wWy__lDt2EH2!8)CQJ
z@IRVZy4Oy2W2T_*>2&Gu^Zwr|k5^P?^<WHY5K(|o9xIuo%jRDUj0$mS{><b2b9#N9
zgBzDhV58<Qgu+G+R)*LQOIONf9_wgZ8QYTK`9vtoE3o067s8;95CugS;mz+kFLtaB
zTF7vB+7kGI0S4(V-02xYivnBBO}Q@QdUC;!5opOUnW*<zWWnu8F!w013OQ~0$iDyk
z@A#94>KjkCKXLVT&FH@sqV2F<6>$QAN=t@tOUBC17lJb-wNPYSoVUyk-<_zmK6vs)
z&p4AutI%{FaWiquY{`%`kJi3AVamO4FSn^cLPCMnqj5(En^$*NMnqz#*Y#!7)25}q
zFNvN6JM&<P!<C&GALf6IP<J*tT+(Q3+1!$GdeVeTb%7{~LiDBPx2kFQ_GdI0C$?l{
zE}xld$*@b;6CUUaY>VEWVVhqnxagwGmZM<}dESUn^kBHSONnXj6W7I3GAlz+q&k{2
z&P;4`cwU?PGRkR72-B%eJ+bFrE_$)e$EER{?&?iH?yu6F+bOeOsPAOtS(eDTi}#0Z
zw7=Zq^+oo~nTzXN&I`vXYfh-->PWrfx`?5>bkU18z1W0##TU8aMfYnwdOy3`=l`ek
zJJ)YK8{XYf;lVhSiSw?=qjK+m-Tz)ozYVvpQ=cU#_VKyx#=4(@n(|ZKY#T*9-y3(H
zmD+#PY9)`I<>&tsGVI)ncMB~p4_IjS@!+(?;ym8t|1&NNE@9Bz5F&a(L29`P?;_0_
zv+X5}2h-O-&DyKklF@B@HrwysniAPL7uHUGu|8|jamn&s8#W8?5;)xa=$m%k7UjRL
zpWheNJ@zQ7=gv9jVYW8NP$ADTYt;^Y$2QX%_Km?+{;Cm|ouW?Nf6w~LfB9slB@U}Z
zFDTElTO8b1^lqo&gbKIisppk9J=ft;b-mNB_P;QG)~(Cm&dQ3tk-YcO_iJF%b9?)M
z`KM)zj#!;`Z)~x9G;#mdAe)S-R{xfNo$(>w;;Y`r>{UNBZg}5{cP!PvlvwoJA}G`A
zu3t;Czct&=<`ao4^rP>tKUn(GKg>E_#py!ql|5|h!~IRQn&o=GOkeMLR5|gv;QgIh
z-Cz1vJei_$BzoajEy?&<-*m4wub$Szb2qT~$Alwgx4pO|Smr4|>H7O^wf&SyEt4Wd
zF8jT>-N>iJI&Ce}M}fD`9>lq2G8a3U@K$>U`YE(t>pqt0^GNqxR!+2nl)7>2XP(A>
zjoh0W6E5ss`ZM<F{=2K>Jw&}T0{#9vFW=C_7XL_5%3Wt`xALy%Zl+qIGFs2Q4+y%6
zT`iSXi25OPSXsbVB5v)wMIp-b4nMf+yV~05&Bcg%+r*aY@O#{Qo7!ZS-deeP%Zhxn
z_p|m()dg?0P_y16^nZfE!NqN|ixs2Rn4f5P{=`tKM&xAgv<uUjWnH**;#pN(9(OVw
zTbf<DrkG*c4)Na0%?w6A`&n&GJJb$%e{N3>=};@Ym%a0q^2ye1IVXH}PH4$n=V4^@
zZ{;<a<+EQY`+mQ8bjqU2%}R=n{2pw6^F6M0ec;VZll7b{J#Sf?;nf6_@D(<OJW~o)
z0)^Xt#VGer4NLtwv#_6Yq0sA;udlA=xXotrKQ?#8O~2QBF2zNOtb9@)*q*_)Rnyn#
zmFEv<p@T<eozD_+>Hf;5YS(#5;HmJg&=(3p4I&YCTrGmSyQ|v^U*4L%sN`*opl{!i
z)|ICjE`B+Y+LG~RdyK5mRsX_hJH`D^+v7W90-ek+GYR<q-z;%ed(q#weeD^7FAo3e
zY|PmBOh=Xb;uO1QrWLZgUnotQ<nAt+mE-bQef_OXuFE!ut`1i|v+}cE)}6__GU6oy
zx4gf8N6`0Q&B?bCN>OY0J)fleo6HPxxm>Ts8)3Xqx|L6f)uZw0k_Ntu4w-D+4!Rko
zjRmh7%r0mKPB%Lk+?tW}?`C$Z7L)LLp+&muS5|P|_518(QmHh{EN+U5OYmQZ_Gpu`
z$WG_vGye0r7aip(IaRo&q9e`XM@C25on#r8$y?LkC|kcN@mtwpeyAek*5O5#tXJbK
zlBM|gZ=C2~UR}Our>=7Cx`}fowUWQAJZ$$fXK(g&dw&CA#f8!xV7Dz@;V@@s#_xRI
zcSlQ1@?@vEOb@)C#&$yZ+>@87f1Y<uo@r*OU?c7;EH_ncspsz}EKM$Vj7!c;3Q$;h
z+ij7|%ismY5i9G9LO)vjrA_>}N26oeOGeovi)F5E`5J1o{D4NM!$YIR8y4LX7v8sl
zrS8Gi-j~m>bh|ybtk@d$spcPt=+()ul>Q_=G!N#Lm8uu6UsRvGqwd(GSNHYTPO17N
zx;`tW?$(aXh<OI)?!PBw99lfFL~P!&g|kh>{__Uy^>&*puu%2OS_k%tOsC@*8#8hm
z{SvS5`YX(TXleF$#)~OlvmeK7sXQuwwej53r`l0MTc%8N)Vo~mbC~P&7b)XUn<g1`
zYqza7{VG29+PUER$}7y84qPg08hSEpcW+X?tZ?h!ZReg#E#kQrf%>=p)W77s7$!GE
z?N4N^5c{gRg(54w&PR)-PP!4pHrdU~>(GnmMN3O`G#$87HZXmP*)pR;O+)vi!}C9a
zxlb9nGN&FaXXovO)t4T#nPe^=d*F2YB(HRq{;hQOJl?m@x4nNBusoH?UA;+USCZ71
z5>;)1@63}=q}Qu*dtCS90$0BqbVNITe^%d<v3qlMqSCdMu3PRX9<i$2QOwsN_C0(i
zp91T%Fmc^?>>w7j!7yz)6VJuArrqnlzS(!J+kFPxMLwZLfp1KYa_Ov>?poIdcT*pe
z!<N2<5AqbG$`>Xo_hcMAd7keXU-Kot0{5u!L$2m0TwS<S);Sc}ow&jUtJ62^5#dmt
z<&!DpVy&VqrLk7~;m(ZC|2CH=E;;aN*TNTBP&arqKG9g<Xd?FRO4UV+MZEHR&dOxA
zWV8gY3{bF?PswV9xgjEstH4G2cJW?!!>QuAuQnepZ|A=&$+klFgsRKzaKn2d{!hGE
zjdhD=pMKr8Xtg3M)c8q@8+tO9*<P=1%@las;jqQ}%yhT7Ev{+PMK8soJ6E7%+xK0Z
zY<9P+_nI%zVGy13>&=PS(}{Ttw&Z0mD!mxS5q%+5&9(7qsq@9F;2;N`pL8;?LGjjy
z8}p<aj89Hn=DNj(d%4Lo4`ml`u89H4R;-ggJ1z@@y2YdM=~4!PwZ#=V`p#SK)lQ7t
zl3Y1$ae3n5cFv0#VUbxP5pm`svAnPVoFKz`sAJmY-R8^7@AFPR*3IVfc#2t%XQr(g
zS4q$@hfks&=h$aP!F@VyIup}HhqN<AH<BeT9$RK-ttZg?`x3`R4Y!$GtkbUZx`sPL
z5{d(tiaTRt#_wXEu1vwT2dZrDSM@~eS6&Pfe(BBnU1y=$WK1`6$C>;%p8{%1J#qEs
z{vPqoX429B`*t3mGL3P`uFIGqGAs4XfwTLV&3%98&-x%Sqvk{P{{K^T{<J$h?_|>E
z=`)E~Un}H({vmsH#c^}V$Tu5wj{FSyv5H|z#f(Y6rK}%aU9|Ii=#leNtRrq@Jik<(
z^!L;2s0D2w-IoUXJ3L$@n1~*89LiCA8oe{wF8UR^JWhMLReheGLfxm<&*_O5lm*^y
zy;G54QSXwhtA5LSlltl7Z^IMv{+y0~a6oKXTn$T)=^k|VJ1E>b7+uSrZ)9C^dX3YT
zm*@RNZzZU6uQj+Fvp1v3eo|jX(B^)FvWd5^S1f7K_kCL@oE)&H>W%8!{l2|ks4a@N
zHP^W;r@Qbu^P0S><6Y<Nx+}8(jcnZl7Td#ddUsvVW`C&q8nW2v#YK<*6%4)|)8^cs
z3X9SRORg3{-YLg?yE9xJOtgCxZ=H}~p6lsi(%CMt%;Uo0OwSFh?TTyVJ0^FDta^Mn
z;kHywXM4t+hbj&a{d7X(xe8`{Gx7`R^(tTT(BP56tZ%!n9840mY-L}(TjOKNy5{RE
zmzSj6So|v2^is;Xe|x4DZ@xGc-ZbviW^j4Et%dLIEBlh$XWmS+wD=h?uiNbJ&6i5I
zUoPTtFezPfeuDIt2@Ajd^(bi<3;D6=`!9)#ixOHZ(^FR#y4<#NHu<{x)V7ZXNy@VX
zpK$swX=|Ut_*&1awWO0jj(<nd<72i`ukF)~g6}mQv0qc70!#B7ibN7R(s*U}ofUXn
zu<qxFT+v0X%j~V0U9`8%bK9}`#56zsTYCh2?H}5@{W=sQpvzSINFi!X<@bq==YA^A
z67ub9&uD8_cZs$%w~5t+7<wQm(81B<faDvGy!sp6#{|~i(2Jb7Hb1fPT;(%PH@_AB
z2fEeHGhB8vp4^ggX#0_a+A=Rp$|605FD`mM^Bn8NE0(;1jeeHu%5sY&`Rt??Nq+Z;
z+p@H%__77G12An9lfxFd>=z#I7#{e{V7qv3+KpDmE6<uTURA!kRI-s(aaL7corp_-
ztEi=rr=Wx7dJ`LQ-}#BF^y>usi&7ROZoaT@<r&w>1-_msQ!leBwJWk)ef@iER+d_?
zW!SEUjIw#n;p$2!UJBlsFK!yE@aoSVOLv>;pWZqrtHa8;prs8CTNdy9>;9gn;Ih)K
zok71X8#7cLwyfNF)ipXox2;u$bJ^FJhf%ZrTeofDt3H=8b<M?PuNM2hg-5q{Bx7I3
z<A%-2<*M9%Ctorxe0l!-^qvDP%4grqNOpUE%E_d*u_s0F%%=Qw&HHvHWw8E@LMRu*
z#j4!L$1Uf}o|iswY=+cDy(xWj^tT><;B9PuqI;TI_+=xuts%8rR>s2gBxq_YC`R3T
zP?)FwiS2NQncd%?t(ydIRI+6$w`822G5JzOruWZp3pY-Nb<<V`F?6JD>Ye|jpv`>-
z*Tpou{U-!@+j{HND=(hto>s#e^!4Jojxy`*YaU6etlm~4)#qMid+W4hA+M*D%egGo
z>1m~YlWxs%H~x5UVx@`aa&XB#L5fvk(M@$fQJ%R|e48_-pK{kLI?SdRRTC~Oq$R%N
z!PQf<4jgaLmz2->S#CZj;Pkdf6CF1F@L-j{#4u&vV@5|M=Z*}!d!?$*7jNXAsr2ZK
zN$+Y~``YTB^`u3C0h_@+<ukF2tQY;nc@7@Pl5*J{^H6}zMcU&|_p((cf~yO%n=BT^
zJu9l??oxO1yY))q64&fD<(`XCO0udISGAvQ*jb;Ue11ZG`Exe?laJUqBUHj~%sDpc
zg@BQO&NCAg&qX`;+MoQ9;^V8TRajKD7*fG_%wuxcV)y&V%R`DcB=e+Pb_YFdh}DyC
z<lP~}S0c7gOPTMJ%uk_dpIQ0hrfbI>SoC6RrRZjlmN{3B7sPaXWwvB|t~KYiXFK`B
z;P?S0Nxp3!itaaei@mH6{<Gkwyl3p6RN2f7LESqn_CCDoQO||5V-E9wI?a}No<lCk
z@6Mtl{1;;@J`_n?)lc8`l4VZ)#-=S3JH&jm9vfzSbK4>Nv^#R{<^|fORnxcb$gtsg
zntQoE=Z3pV@1B`Gvs-V0y6UQn8JxFF?A+XXI6c9&Lgvscrb|+D9~;k)Ut1Elvcb^(
zRzr5xyV8pRDmjiFX$4m5OZKigvVWb++A9-R-CA`+nQQ7vZ>E;Lska(m9`LS{+HLxG
z^_w-}@soFTo5_XRMhJ@bnk`u}>B1gO%d6^YkK;P~Gm^|^eB0sizw5_GQJKZR6vHx7
zrp|~IW4|~hFT&Z&c$fUQIajS*x?jHSY|BW};p+G>F}owMWO16mVTEp3)-f?xmcPG6
zL@)L%xfZ+USyb=5l(j)i!u0ayg-b2WuF$#IuJ}5+M7Jg5<c`#pyg>~j9uAD07rWZd
zi}B9aP7`z6(mC_|=GAk;SIcbBp4xY?QXxv|-Rc<%pU$3;+8`w^zNchUyzVA_7Z2A2
zlRrUU9)DfFx=%#eB*XWqtjPLJ8&{t2G1u3v=`l%rC(={Nsoii%=*N^}wknq*7d1>-
zc-|$U``_{CDm~_iBmR|JJpWhe&th`ung1lrPUxQA+;$&Hr@n$uM?JMU_OFxOoyKyp
zBDB_vMPKWMWN1r^pzkGr_pYpMS9dS$$%r_)KH|YtH#V!qj+-YQzWgGJ<Km-x{UxA*
zAQg8;g;|v;k771Ht@&uMS*Tm?qQz3f+1876O-^wd7|p1a7n~S!R<J+fmuF${%fF$I
zR6=i<NG)3Ve8tPC%euy`;a`)DW%@OWRx5d5WnFV1m2=WZ$G-Qj#=q8HRgOw|;vX>i
z+)pvX2Q30`6D%&QS|nP@aVTBHcB66Cg2}s2Bq`34i&uWMI;ua>L{P~nXfeB$>%O!S
zm+lYQE6ZH=P3}~lb#bcH8P~~zzE$pr7P+V2I8kmPIX^0^8PuF?yuoGQQtZ=kCP92h
zuXdwf#l>}@)}phO7pXR$Z^&Q^zF8u%<a5Z%KM{$~XBK%qx_siu#KP#{v|F0TwI3%w
z-xrl~gXwec$pzaI+>=)^Ph6R2FS$J<NKm)Pue#@%a&ueacNup*X8wsiPiCD=PD-D&
zH$$qYi$!s%`Beqsc^Ok9JH+04abBEMSRW|8gh6wH9BV_y-@eZ7rC~R(bd<gSEN!~(
z^@gnLTeGfT$T(Dd@k)$P+`Vc$<G;L@SWSEmJGdLKkN>J=ZT`kac(1$6dKV$y*}Zq8
zo~+(wtMo<FdA7;ChqCJveao+{pRq!`)<aw2)XXP~q}e2!i}_33#9q%(UX;ma?j(0q
zb8*+9qwkXE#hLg%H>?R|laVz4S@f?%Oi;7uW^Gd3mW*&I=8Hv1N1{ueuT)(WT6W`0
z&GO*&ppl;(k%W$CbM{1}?Nyn5s=Ms{=hs_hF3zwNb~m}IQuRzSq13#^J2URg!c1Ro
z+e<dassSewS9BZ~jNHF|@2UqAZ)o<r*g3v!3}!b8ja;!Y`tp7$Nl{Y?{|Zz8l}eo#
zBUgTlP4)YIa>w*%&t1Fcgop@UIK($~y*AgjjPsXzT}{P(?QFZOz4;8KzHTybx%|Z5
z<^1dkH%z)Xetpkm>{vEeep%v%pKMmWhgMCRY+%(X`8B6PNHNOjT@X0tpRHmL$UR_L
zx%1AcH9fX{=TAt^75=d3YTu!vtk{C(yz1{<XNz~G@|j%l5DRYHS(nn=cm2GR5RY8o
z7pM6rB<5XTFSAZ}m*QK$Gu_K(1+7@5Bf4nibD6Bul^K`Bzep|?+<Z7>WpC7i3ucGe
z7Y4a`O}dg^vFXDqyI@l%|Hm@dKCm90eCxo+B|CK%FOt3_J$Ht<?zO2}FK0e_Yw~6F
zDm%kH_a)ASdx?7-)Ai1sz_i4HiHpN!cTnE$AjO$%7xS*|OmHx{vBCPGgSw)W=7bGQ
zoHbrACtT4IFs!%VdN=SjxXPKp)TzPXB3<Gew|2w9P1-YkHR86Mte$^=mHggF^_fR)
zjlb{8_^cnbdq$tkEA3t`l~0CClP9fZSmEO-rr_kgZPyh!aFgj|K!ftFkg}z+WxQdj
z*OjF-dL!>@C`L(Hrb(91?ddn%Y8cM?W#O3}HyMlHHuOQ8ArT9}-H+?3!OFM9ck;fw
zea9hFjKA{Y3C$TbtYSYnmtBUompmF%S276Xo-i%lTlIu(4O>57i1TEzhFNp|KJr^E
zJ!RT$11>LRm*`{b)|kZI+O%i=i$(D66RQ@3i}NzI=f>`QYpyj)W(Y0vJzH0}{UWoM
zaN68vaow13r>G{)hbJFfg-r;*p28U(c-?e<{^QIiLa(9%6B_3ySj`3Hf6%~f#57Rw
zM!pX4Y0juTJ8zHL`PhiX$Di$-p0Uf};c6p4-4e;KAD9AWEw!91pQoJWHJ$17r+tgM
zm0)cyu@wvpPCuHrFZ6lK-Dmw$F4`I2o}5nmtk#o}xIOGh(v#vZ6`9vwgsgw8GBstA
z_`yHV`t}wbjq2n({54@|>DkMz3Rm)TFoLDQVauH=ar5-NX7A>VR^53`V)=~KUv4~a
z%lI&#aq+XAiyA&HUKi^Y%Mf32RAt+ThKPIz&StTFr^IW67C!8XXE8o3Sr~aQyd)5s
z8kQVj5@lEvX?wX`DrUp(JIm6Z?##HnIbLLI6?f|9-_M@AMo$nv&2X{g^os7Kr>=HS
z_dY#;b@opEDI&&mil%+}fEjCNpUvEN`^Bkd(}QlI9cBN!Cz-_;&R*YfyQ5yN<5<|4
zm=h-T%?{~J9n0eCi~BBKRrR&;&ijB7Z~|xF%{`ef)hcRY>@2r@%0<iC|J|GT;xnx`
zPb!;#*nW1xu7=d}tE=0O_SCV+>=e)4cY4KY0pHGiDORh}IFnF=l9P(3y`(=d*&i&i
z0w-8dv7{r)P|{nG&NcgPtM1}f-FJ(^%n!{LT6Ff#|3!N)$6r&NX`JZtTil0Z^8b*@
z-=7QThKSw`VD&k?lHp+qV|T$+$t5BwA8%$(VVSj%OXu|OF1;>zN?E|fbFt=oSG4WX
z+<BAC$~|YZ?=zOXC|47B^XdAA(q9L&&N(cK+cNbT`=Zye9ZcMRST4VWhySJ!hK^?+
z?rZ0MpR%p`W5l(0p~|<Whu&>mm1pn3`%KA2IXs3-Bx2fk(O40<PaIeqGW`DU-Ncu_
zGlwHzD{hPa>fL`Gz>^%@A4M<jyeJa!Kz)WEG~X$(PFu>vbdhC#Xo(TG@~yq>@z=hw
zWmP5odnNZjV*=A$NvpZpo}ceyW~AowHJeUH-+a2dsq}Z6+=)07g{Zlj5x2Ry58P?V
z(B$~6o4L#D)B|z!oa?;hK~CxR{>c9I%Z``(_hx*pbxd2P5OLPlEzacABGvfD)XMma
zt`lL6ckU2|jy480rI}kd#HA&=%&z^By4X@<%|iVblDp?8#BNz)5x!!g=%NFdk$KQM
z?E35V=B%%LDp(fPYA)qwxHyab*sR~jXYHtTZpk?LU2&}dUw7e5EXm8*?Dhrmj5pjJ
z?hTO=7o*smbeWS4Hb^N-Jq*#p3_PBTPMdq5IZU?X$Tnj?+)?)b;q=_*g<*LKruTm^
zbCoP>3Jj~5jbY0I?t2@b{Zm+z+Ax#rqTTOJ$rXEQImDWNs&ib_xG)o2k$2X-ZhvXQ
zn$ii8w;xE<qz5hd{4YJeEb5qJ=7w_*3!S!zzI*3&@u@y~;&U)rFuh>%L8~_BESKN0
z(@PhfHoAB+$HpPfWL5VxCQuo2?B(iBNAACx)4DzN$|13x%q!=wSrZy<6?|EAs~2p@
z$AgQ*g?T3DYnDZ|YSkCzYQF83yS-#X-tClvPl{(<y(g+?s+!Mksoq$8dX;O#vZF6m
zIg0{>p~?8PBcp@(p5)kRAM;MTOfTJY+ltX(GSl1}uTpEw6ng}6RhvUzt+VCaK9R{k
zC;4mEyDw35o7EHV&-&8xc0#7#R_|Nl_mW*|q+F8QPsQz?bJgO%-;UQCob@+3Zc7&|
zFydSk1heR6XoKRdC(U_m>62^&sxSI{I~jMA<6=;|ruNRKDt8#NT!a}|vVzP?Tw10}
zL~m49IX1~}dR)R|!;%><%e30Nc}=T5bEQo^I;ORJpFImaADZB*!QjH}XZK=b-(lZt
zr+uHg{{B<GY@+AUW6Lxy%=}YxY${Lsqg#^;=4bB7sF^k6q1@LHBh&oO+^xZ93({uK
zyM1WQ@c{qNtKNhMSNS{**{Q<e;S26RI&h_cdRrS$w)32OBdnH}=u-XT=le5#nu)c2
znocH%R)%OyXql~~w`gT;_@e~Az)N%LSuZBJD=5cg&$*ZqK2vc~pocN%dp%P}Py`*|
z0(tz(;e8W5k20iPiZRLgYP~$6>5|js`GLC}v?Nknx6f>`))#aMKJSoxTg#1`-6~nF
z)y>U*=VRZjh`+0@Y}1;yDn^CXYVwD=U`SxD;b0YUG4A&<D)y05n8je~v_<q>kmjyG
zt@qO(E|R_&+51rFfAUL~rd3m7y|^4xm>R1J*o3cy>^3P3vYe=}$<b*`>;C&!n81aS
zwlkwbRK_pG6Kn1ps`@l%G_T7{WM22O@YABD3$!A-cBFHf&i*IuYr3{Rueq~l+PSwi
zR<mHGXU8fA_buny<^*>ME(-KJut;mdy4}G~U1q1Bjpn^2sn)pc^{o~0kfDLbrRy04
zc<&juo@a}V(!X`##g?QeuF+2GR;rp@Sz0fAQ4|{T6PQkhJ19t<@Ht}K9&=d=q>{({
zo0Q@$p-1ynO|CqtU$N2^Vj^Qu!b@!h<yj_Ac~r#Qw)~#|(bVc`s#Rw1In^V!-We;r
z|En$12B#Cy^!cRq4H1ilyO$i^z$2ow$1S}8G|1eR*k07me^2hvqkxc-WX^@>gCw&)
z*<ZP$1P&Qc#q&j!p@i`?-yJENg6a<s-X3(`=^XLgb5-{<t~>Rw6MoNTzg53)|J&#6
zx3qTsY02<zt)6zlV){Q{mvGSNF*t{*#4|dCS1x~_ULAd};ca&1XNPWW18v1w#s&Y=
zf8UC`fBV<1d)MZ_%hY}SL2!|-;+IG*XWxJAv!dYh+|%|kHLTmj_ujwE{C`RL=j`3H
z<L_U76QX?U^=}nBWtV8JBb%Qb+xaD5X%`bLU=)6G8MtJpcO28m_5Yk*JxjK3syOdI
z<A+YaPreiTv`E+TSELZLAG$3<i{54lb$q*g*Eh>$cIb~c$9G42-PXLYbA@T_be06&
znhEG3${?_I%iZ6PV|@(--|;BVQZ~^3lm1|{{Cg!AWjpUqrj!2zj%OFv)a==~^5v<k
ztAF#$G$b<nZ#2GFnOS9fv6TBq(}Gh@oR+Jf?@V)g6fU`)`*7>?r(fR)zd!!KW1ERf
zkW|zKjTb3kKLxF7Xvwgi9nZQ{@y<@~-i&{d2PB=h#Okg$a`_yz>%gJ8ZdaQ88mH9l
zQ<nZ-wKx6zTy0I=tr0rLfB2;<y5?4R*6&Fx{L*UJxJvU{z@i7HQy)xRQ^}ah6u)gv
z+}>8h*=ZL#%cXwDc3y1#b);1}s)up4xJT@h^8%&r;0(M-LqXu})wyTw@12y%TwpR)
zyjOYFgU#V(X2OdEW0yKLy8fKwJ@-H;o5<?btEJ`VYpl(>QS(7(&7Nh6HAzg?A1B?L
zzRaz~faPrRiL3=3uWK)Dn=cUlvZ3|!gF_RH?zyU6aP<=GU6_3%QzC!M7f74O+n=#9
zWBr?qI?;}8n_sH$4k^CKklkRM=&(iT)1tq{UP`qqAIwv|@+|3|2}j1EL@|!OT>Gkr
z+V%T?$=CfkxJo_#clrIwyz`yj$qNPI4l&O9n4zG&Cui3=WwEl7){TtOuRIo~oh-f9
znlaNpukm*Ge^2!lvE`o(=ROj7d4S``C7}cveW}+aU$gFAdnL0n@bS9Ed(AiQ&DixZ
z+f7bb=BxOMYPq-{aXn^=WwB@a#lO0OLdhXWlwlF$-ng3=SzLstEc>`<FO$XNnr*WL
zdVlDca;bd%EVF#$>FN5>Yp+c@^~?UxyYAob&CGiLUY6ck`~Pxz+>h<|>$WZ3%dG#f
zVMRxpMC9ZP-oNA@8~rhCI1#z_sYa*1NKUYTucGnF+Oh<R8HYNSHSOUrGi(rb4v*at
zY-f?`7QSU&^6AVsygd^3@7;=BkDZl@P55!BrzTDC&h8oWRbO?33a!QvZ3ThcuYGEM
znP;Ypxor{r|3=$7I_!N$on*(h<~<otoV+`kR{rZ)ecQc=L2Z8Rp5HgF|NHo~Htl@(
z+-?6KJDvZ(XYtGU|I_PlRKMbiJH%M!GFc`(>brl-Vh;hyX0eBMmn|<&absQC$$Ul5
zXl;D&&od>}S8P|=<h^2ktiAGe2;+i`=Fa;`M+CE?<^*qU6JH^{aGiP4;<Jx=7X^EO
z3N(!c3b$U(U0~9d!C;(O%9zu5rXgRy`4Y#)pvTTpPJ$;zcuNiQ#TqlDzs>!1{r}VV
z|F`e${r|4y{C>M@pa0*w!r@|FWtd)6bcx|&i?Pq!BZ;>+b^9!1=}T$4yyWZ)&Z&2P
z3iHNa*=P0D(6CS?Fs!pTV`A+2$9p3=7P<P(>+a2X;yU}dv<qky^}wY-g`SLpC5B#?
zt1ep1KiP53O>(Ygq4H9W+G$>!yDK-x>?t{!wmH;%i^8U#>-YVAwExzPFZXjZe!buS
z_0j)dZ=biVDcjS+{3Xt$ReDOr+%Bg>TdwU){i^j${ISLHMRRL{{{>rLUDP=J${MaI
zCN4|4#NE8atoH^!Jbk0%n9`)GFCqm}_8%2`Hav8DVyyh#<BYT<*R|r@9g(KW-q+`A
z%+PzL-t!CGUsI?Am37IDerY@xrA*^Yj-}t89e3;ApGV)+WZYfNr*VDPSy-s{{;<sc
zrN@pPyR>OjK*paRN2UKiTR-pb_4;4;>;C)yyS@MK>hyfk@PoVCrWZJbxJ-Wby1QYS
zO}_l)cd8cxKK3#itUO%tr$xf?z=tgra<QS+lXw=d%Q<2wsT=4by!rBz{U=^`DQ=jx
z;E7v=UsHxkQUAjRWtSkose2}Wx?piq(joefKZ7i!F>oocL3tLt1e=8Lf@Q8I$I{Ql
z-MJRx)8V%9oQTGT8Rp$VCCOP?yN=rwsBV7}RkySBNa_1~wvQJ{cUxLG-;X%-HGMLV
zju(%i>%k+f=F+zdXWTRIs{(fx6ePJi9F~K65?U^w&uZ0td$jG?qp(kl0v8zn<WhN@
zY}0P$@-oWeOu)vnY5x@`3j6nZUq83-;S$+ZpHftLGS(EoYo2vkQqZ~YO_c0H-&>-e
zHtJ<8@zTo@I_}~NZtzb?<mzxxci!^0=e$E^l}qz~o|<om!ko4|xqMQH%Y9kiitc*%
z4Xg{Kq&L31Ja2DxqQ;iS<ui9PTzSOpVhf#%NNHeVx)^th%_Uo8A9!_<TgNmjx5$UO
z=?7vRoZ)q~ksl)~M43xMaC3(K2|W{qsKC|jmsrCr{FXlYWc+U40!FZ#K((yo0)_?L
znG8v%B+uUsQJi(x{P&@4$DVKBq@gayc`=Al<4PLa9aa+-a6RI|7^Lu6M4+Q>l2p&7
ziXFvA)TggwUDSAn<6_66pj8gX?h2cL7L|ZqqQES2K~d_^T(*v54!PWw7d2uPRJl^n
z9m;vp;Hgj15?6&={oBkAaa;^~<r#IdH~o&SBQrR8g4!NN4vc*na?^Hne%g|xH_Ph6
z&&9eu=Wi%iUJMG@TB<sEX3<;80`Ut19-yHM&|rB_utHCU(Nb51TWQDA?eAO)@Q|GA
zlBpS>@c134lmM)4GJ%nc!^QcL+WLlLGMQ2?zZHMv6hG!SHy2nm@wm1trb}5big;aC
zp7p@kX^RLWm+9=n?<~9>ph6L3?Fk0fCl2a+GJ2aXfyOB<Kg=}XDp{s*%)N$<)#!oV
z0!4W9OmcZcP>HjGluv6$TwBH=hs;*pExR1NR{5<d2spi?x{1vNR2zT>ky9F&HVT|&
zbGgl8w_4n-W80xfE!XMu8Os@Y8{yVkuqp}iW^?_y_r6}0`+uR!<R3h1+&ZQyxkWxa
zn}!~UjTuQ>OA@7As>M3gG<pSkpDkMI)_8P3_p#&0rDxAt7qfTQ{{xH?W*<bX#p_jO
z$ysk-6SZ}z@jr!vn6PWFWL_SabM;i(pJ4H#BSG&q4t`YsrFX{l)SRo4k(_(C7H3ZB
zQ)TsNe7fF2;$p?iD21pBJ*hnz=kr!EFSXshQLg`qYxKi+>qKJzDcw(rTmSvd&SKT2
zOU1fV+x~;vG{X8X*$)?b{ENP^e$6V)$89V!8XW?yq7lYSr;hOdpLTWi_6?41TTaG3
ztJj)!`Mu!u*_*AtP1W7Ac*k`;ewAmUXTMJtO8;{!O}r_?@Z3=ev2Pz|zCU`o64U@~
z5e*RNwY(&;^rb*<@?GOI5=#XaE$s*ltJvIK`5n>b$jEuAp|Q5fbbD!^zfXdC+@;@_
zuGsHNw3u~#!d3f=fqyJ_$yYqSUwzl#HeG)4{W=--3qF#iPvl;P7DU%nMMSti)b8un
z3bdZp{$f?IP@b7<hghAwSea~znWh8R8Wq+n9cmiBuU#M4fTB@TYw7g;Gqy`J%_^9|
z+LT;*R8(}U?^)Tsx^tJcJ^OZQR@=q^4*iD=XDdwXZ*V>Na6kHG|K;9WUq#)NOIeI+
z)?Kl)PW_s-Q?hKuscy9sUVkz_czRb|to2*<ZplX1cN6tZ^rjs7<aBnaa;L=N&j~)|
z;Y-x@9Ph{ElrO#*y>gGf;l<GZVlU@u$DR4Wu4Kol|Lm+o?L?*}4#%_w*e}kz=g{HS
zY8JHmK+-+s>H6{8qSp4Dd=+(T*O|F{nV&hXzWUDKEAN+?XDc|_U0h9^*(bDUT>Ae(
zd#_aencAiOa$fsyaBbTtU-DCZ_TFt)>WvP|8GR*pKe^(fu}%5AN>9e41FhvMd&&we
zRo^Yy$Z_XtOw5+^!A)mZ-4p*BEpl;{;HS3r=T1D9vV3#&&x_!AQ1r2gUQm>h$&}KU
zayD_x<hi18VP;VJrLNo>!}n4u><OPD>pWfE{r9h|zmX(exZAeT;lO+TlJ8$0smd&H
zH#xjAL+gGwgRWx=53|Iwrv_q%bB^hI_{s>hiTc%-KRWN~-BO@3?~;$BH`^k~{r<&?
zj&4DPjJm&$D>@Z#H7@?g`+8QWcMeNbqIyQfq(wFl{onfZ?zzx%f6vi9$}9AP8bnT{
zuqp}qPQLi_%kr&UOGN`--nz2HWL<=Xu=u_i+uI$sY&vzTF>&@`OD>DqbLJdj_>izM
zYGZCg#-r_Ff3w$qTX$mrZkdxT%ROgb6xOx8rX#h;Q&v~ug5+yiFPjTH3+yJZbT2g5
ziZRRo)mfu0?7l@pAk9MV(<0qxYyD~`GM#p6wCMOI;%*}NPQ@kqq0ZDrr{mB3e(`9j
zx7qBqtB<F=lNYHmv$n4O|L<>SC+GhA{nHB??sYHwBh+26#4JkuU+4Qfo2sTh5kIW<
z&*ZD|6+hEhhsnnUBy(PTlipR3RNVJUq?LV2?ZoOsd<zY7SIku1=Irfsp~cE5qqI+U
z<pOsr<05|P{7ti`t~1&c`SkLFAk8)V56(8v?}<4h-2!S^H1-53=q<X+;ic^2Ew~_H
zb9be^iJ957X;WLB9?Q;+^_$Ke%Y1R!^5w^m9eWUa*xN!uYmsO14_Alad8hklJ{7vZ
z;>AgZB{%Z7*&SAp(F~qA|JC%EFN;dA9Z50amC#7;2`zE9)yd?FRZ=``S+?Yz>%K)t
z=43^^nDR+I<?Q1<+=g}$hO>Gr7FQU%EjG0>`ZH~1+|>Jb3*J;3+JC+xuIa#~6U+KY
z;THcjZkOaKVHX}9yVxSK#Gyzu;>>J!&0U73rf;QWQ-v=!9qjBpS^fQ;r1)KryAPhd
z4lyiQr<yyXTdc=B&|UI&PLj*4E#D_ffz~RfE_Bdw*<6(-vB+~uSoj5>j%l~<9DB0p
zd{AcY#P`a9yTtg6L)Nr%^VWMjITHN%($<yIcWMNEKRsQV=E+!UV^%s{@6p7SJDPZM
zr~SMpHbH&jrSc{zbykl?o-l`~#l_LWMV76tmsuM!?*CsBRkWlw%DZD*$b$6D-r|q%
z`L;2HBr9L5y|uYqpQqLAgUMfR2i<)FSCk=DodcWp1dc_XQ`|bXZMl%Xvd66XJ)e{m
zM2<mof*GrbOSR!Fao@5fSDyqgnB0}O#G!FZ?YEW5@G8GqG(dUQ0u$c_pHG&CGF?pg
zd3Ny>y$vBT!QL5jBx}kqT!2@-TQnCqn*_{aT*T>hI$z0UaY^G7?Frk?+m-sjYqbqb
z9|e6aE+w>Nc%Lxc+R`=)eT844z}wD#?Z%9zOB@%c34GUCxNzCq&Hl3RB@dEo98?yy
zP7idy$g41Gfr&zt9II8ZL1Z20#*i+ord4N4F0wr+o7s|~nKVW8Ud}DM-&YLb{y)fd
z#C1#8`;&cJ_PB|smaHq7<8}0D`iHxY&dRX)j7!TLYFvajo>RA5r{v<zx*%Y7=I=Mb
z$HC(hpxG!kZ2|d<E#kax9c~s=xmb;Uyj!pk-oDBVR$z3Aj&799G;rDy!oan4CVF@j
z3cUT;e;|F5;37f4rB01J`>ZoE;AY<v>1fRmJAdY}{M6=4a?hufZEw89Iw?NdUi8A|
zEw_Abr_Z-igSpcvqH#vYvw4+0ic*VBoVF}IYU`b`rMteor@!Ca%rtgqRq6jmW`mpu
znq_+bJd(cM*qIs%uGwdRYWA$-J2PZeizF>qZ{8G^`_ku0fE9R+W8>3h42n{g$1bfo
zpmaY7N8N4c`Bhw2T*Bu>{mBN+YnwCN6Hb9^?Sm=|I;R3k9-oMm{r#l1e90v3#==!c
zj&)x2JFw!}wQEZC3szWzlUdMGha8vLbveCHT%FfUW||948>{-a1@11G%6RnEt5?U4
zt4l>&ae1vyIGa27v9R!s&gozFZIO7ffR$(Jer}(w1#XucIn(DK@nB8wdUtq&`nHea
z`&(N}MfQENYzozxd-eLp8S-M#eyoYMfcV8zDPG#@F40bRHn+6xno-U`utHY4*!cdY
z((W@BJd&SXm$+;0abGa$-_BL(rVo#l<-L>+<j_ruDJ(ROl=ZBUn9Kf{L$J(4YmMZ5
zUGdM!E}%-5L34u!mr7HH&{EJ))w@V1=h!LdcV0R9^z`(#VcN-?c1_!+SDgO7q4Gl3
zR%@SH=Gru4a3}flQOm2wM_4?Le*MIe6(oCXuJ6UjQv$zwVv8sCuK2cMcZb&`!B6^o
z7F*Ox##Ttk_g)E!znoMT1FoYKSTC(&P>h<Do}{Zd&Ff--_~+04PZ)gcPV29H@#3ZV
zSN`Z6<-G0c0vtd7Holt|x2J_!=;I>K&(~QaTt54)e7@08e?kG@NyC7@I_ADPChHD+
zOD%C!=5{kV{5{!EcB8iMkyf<_;jcSP_Iz@A8gZsy2s)Z^O0=Unqkml^cW>pz3AZY@
zAN0&FS;i3@R<v33f6r<wfsU}SNNa<fVheZ1^vRPaSIF{<trorg+0n#VDbYtcxvR|}
zC7`=gw$rHdU?De0$*~IcXBPtZL}qMMJo6zGR0;YzfkM>bn1%rVMLV79FV3Bp-U%%F
zYrON$r1b}q?s1Fj$8Nfr6Kkth{C~lN%{On}{QdpCzmLz4zjb?Bn4i6Iovb#s^=^Vr
z$O<Rk&TCfN*GyaG-f>-GwX3go$63pV2@4#R+g>ugS!D8MvD=9k?+?US8)cXlO~2UM
zZf(R-qQ<qR`={rkec*D>V=oh@;;au#1sAPNi4T9Z&i1SPrvm=o-rl9DsS7VuxTjCQ
z{PYmF!<LsXUvAuJSaJP>5Z?vmS?gXLlMSupkZsTG&eNEDFMMs>S#7VD^n>2-Olws_
z?iSyPSQvO9BrE)-hEKz*bwBP^?9($8Gu4;u3A;a0Pv%s6@|B4fTf4X2&|DS%R3W2e
zTI?Bren{9Kc%<dfF|B5Mz^jb3$ZdOO$X6_VaqP;KE!ibgd|kNN)Ya79-`$-aQ<7}R
zzWnX!1GA?bIj9r$qTr#dD%)hwD{ZsD{VoM(k&gC^>{Ab%l=W|IN?FXabA{_ZVQ3Fn
zOwZ&Gv<s~F>4B1M1^4<5X(gNw_Fpks^FC*xY^RmNmR$~3_U%{9H66H?_%^Z#^!mFu
z2QDyno{=__H~FLe?;OSz$K2NZ-je=4PJ%1<LFO}EhOIvi1@uG9J;@~pVg%OCGqTdu
znpMMU^dfJ;!U;?;xy24l9c>Qkl@~Rp8>e!moZ0KZ3}5JL<k5HpWZ7be=SJNIX(yhh
zT)6AtjF5I~+^HbNY8Cv<^OQi8*J%TzXK@P}5k@azP>lMd9=?>dWLn;G$rAGm0pKVG
z_bLM$1bPK@&th75qr*(OYZ2$-of+QOgQuQUKEGghW1ADa!s}sb$;kYsm}+FBd+r9N
zeNu{1vqVpzYbg|5`{$x5s1rFeS?u`2sng=H=-e2NMQ2M!Cfk%P7VC^wUGCW_o}mB@
zwIvR0niCWjZH!P)ElCr(sWbZ^M#vlyTsub~_hvw#Tdc>iJKQtvCP<rqJ^>DZh&nEp
z-=FSo&%gis{r>;2mwszEOn&0|(^b)Bu|xVSQIAv4D^yLI-aoBhXb&#Vr%h-2k!Jjd
z>He<V+yDOl{#*C|{j^*1$9g6v|Ka|hsN~{pydY(Yv$k$?<d61>)-4Vl+xFDWcmZDa
zt|`EK@m}@&y$J?Cj*7>h(b;O>BdL7+hxotSE*)+i)6!VQ{wc;O>Iy8n$Pa47=-9I^
zQj|J0yI{Vqsm<hL-C!GX!8R;8S~xXuuHGN#Jx);yF41-NekHC;7&HZ#FYf#E>GaE`
zKiemQMxb@sS*Ix`l;%Zl&GJs)q_0!xviZ&5XXf9dg1%gxf9cqB!)HFy{yp9iPR^n0
zk~I5ne$b6D6F2IwRypk7*_(0lpIq#cZyXn=G0#nzVy+$A9Qi|bvzGUtwdW!$qT6&C
zb}rFN`nG7oO(lh>i`fqa_l7O`&vk5d((-rZnws{(UXLffJ^oK~M)3Pi`8E4)Y|xm*
zkolvq%dlu`$)($qr;5&ACVXA-qIYO*iITnL|3!PW_D}m}=-kM1|Jscx)$hf#|9n@y
z_&xupthn?=HQ}GH1L|GV*Y2Bm!g8f;n?SEX?o5pdENi@Yg<9E{<=Ll~hMDl+Oj4Bk
zf0pb2F0s90b1w!pX1oc%^I*H}KYjOAbyuH!Tygt)rbvCkNo%ERsaZ>t-S>Tq%IQzP
z<jP$i!!zsJgLPljmRFzY+`qPPOHk~IIU#c|A3XV6X6>A5NeWWW?)IyHy1uRQ>Z-H3
zk37DXDLr5IOrmEF)7;Z7ftQ}{J2jzha%Tq5q_FkR^wwXsob=xN$F-0?gP9wy>@(b`
zzsKD>QHq6S@kTXesgSvU&RKJm<VCJ6eYf$txX8Z{rn$!web`hJ+k3tgi?Cii)W=!a
z_Ri8iTmSRrjq#a(5B^s&o>j2pgILHszMng<Fj=?!zm`3l(|&UN6<K|^b-ydGeN~Om
zd($2Ib<Kp-8<W4>%A7jqp`W8)(vwRLON|$ErPj<0T>994{~~i9*Ij)b-M$VcnR7Os
zkeYh*rB?oobMfMxw~h%2zpRV8VmLk9{{1GeU;T5wF^hfF5{^0g>C)blBApeJuUPlk
z{aa=3-}L5&{M3rROH&Ug1+FtOThuD_GyCqAtgFky3ZHD9zA0{(*rRH*y)E0>{GHyc
z{4(#f|Iv>*_V*8OyW#fZzz4=hK1-Wj*hD}RK+$SkDv}pj*cum4;guEl>^RytL20p2
zqo=-y!*V<C)(o}<OXn>Awn(#AJ8t_E#i$?Y;eV$tcQtw0en#M8i2a>AONBljK2yIq
zBw*2w;6uN8RygsvnJmk5{AtV2-zGRosMFNWPHNFh_VrxPU+INOdAY<(6<j>lG}VvQ
zbYt*S-f#bBIJw59^(<V~e1YxP3O7-A6Vat!HY;m4Pf^US@Nw|yVc6M~Zo+kPapW08
z>HTY0_3yj&Rb0~4?1*3Qs!e<k%i~ustYe6B>HZZMc-L{|Y{^|ZAN0%?^{RflzUia?
z;fo*a@7^#nJNA9g6kWe_Y^yqRx6RH?<o_){Z(oc3x1ev{7XEcJ?T_cZG<fNAub`>E
zCF3+pfYFhuQ;#L8NM01Fk9g8n#Q#`zYqC#Hw%VM`=W|?t-QH4XdD1#f;)PF~K-kAc
zs#CZHIxV{HyUog9@+&py?AM7l?o#zJN6zp3w0P;g0IAMLf4Tg7F7NDSiPo@P<u11~
z-n`<YaB9WIrWHxwMXw!MA$vEqZLjvDpx(B%nE^juZBY@?l$B1u@l_+WQbKFZG>_}M
zuXv>N3oUf1I%Cmz?89owg}rS#V%cXd3i$pl(>RyV>+(rG==;T>{q7UrXFg%qF<bO<
zSKl}P?$m=pn!7qAI=($P$Q-RyFPgpoWA9ecM;;qxce+=azTRnUc6;XY8=UF$s^9VS
z9pU@fA^Rry@U|t(Oz!u7`p44NGBJ3;WQ|-)jSUhV%f2OWrUm(H1`FuEQ!!3mGm)1o
z<8tA`s^?AXgB`bY#D^Wu_xl$usOq8ed$*E>v#-spu+sg1Kdqm3?rn;Pck$9*i;iU$
zudjR&{+l$pJHu*;p~8s{5#GQ4`%3!yc$aiU=gjEn&tQ90aK%VzOTh#G%H_Sxb5E%*
zO+RDh)b(xR<>u)+)1H;QeICaC;-cM$&kiQ0f2HQlQ@Rm3>+CT%6K|#Zr`h{H_L@Gu
zG;#U-(^c=bRQ2acuaDBX@%_%r%jY+4UgEpW{0<YdsjqS;k8>%H;;o_ulTCiDGg|(d
zb#b?#^vjHs3PCHAwiGNd_6o{aqJGBU%gG(R$NiLJOD0{{wJg5)LqFAJ7sKt<iX1<;
zTke@GduZ{5^`5GhN7lPrh-lOv&OYf}y`iMzOS0TU;|Xqpy|GIYrCF^OS6;j#82)a4
zx0T%2HAZ}HF^gH4<_gAo=-JxF923;4nP&4_Z&%5sXu+`H9df10f;<yDGMYGfjy{wZ
zpStVQf-Co|cgB~V33&T&vh1W;{c~R!K25%+(Dz4dMOmBuk5dUe@l*fDDxF_1Qa<5e
z^{V>oSKd!u$Ng8`WnrY~V!=g6nUCM-Fq?BC{^qRp^|ih;Ek0e@9C;(`ed6v-^K6gC
z9mz|5eRI9H`qZ_RV)buoay-v=d_JtMX2kW?u)8Irf30SHh*^}IZSjUQ%iffS9b$UB
z1YaJX^nJt1^rUm@mpEB8HFw{Li`~_*$DQY#MnvX?1$Ulk&C^r3>U!BHz?*N8r~RES
zb~~HZ-mjks?%$quz5UCsg3gWhneFdpbjZ7&J=nF}&E(wdfT$@(BD{jWc0QjZJe@g~
zb7v&gXw|o0**)dAgkeRh&G|0Pe}c`t@pBz>!q-ly`_N{8;Fa8?m}i-L&%IjssxWGC
zm(|7Km<<~<9=_&fZol|-wH5d4bc4GAU;VNkZ?@q6v@G?^EB@tXif+FTPH61TUi#m`
z&4Q~pL{v+<=D-&A)pi>L1$|XhewcN)YiWP|D$!B)|KHz(F8{pj{#5;lt9Yj3cW~bN
z`iMnyr0p8^pZe!#H(6C)@ZOPWU)1+5%Zt35uqQC_Nw?q&6_;o~gDEqwZz^z!&fs2U
z)7WY@_0(r!{aEe#tJ3Y;Cw*}~AZ0$|+>|BPp5OEF(l2{=xU<x4QroNr)o!vSv;UXs
z95s}V%bldBQm87v_wbSSX^QU0+_wB%`g6NR$FrG=E~kCgMEWiEQoVX4EBdL6cjVdI
zOX6<d5#(iAI@@OInfFf$PWGm3v--a+sA}V9`Dqtto|Mc=>X@eE6w#I3cPK-1kLHzo
zRySpZXIjp_<9~TlzAoFMv**rz(>-h7WAio6#A!?YGRb_+aD|l;o99T+W?!WHQ$K$f
z18BGIJFX*cTkb9WxxJ!;&3)E~r59tiJbkkJ)ST?db0Jf&WGlNwzq1c5sa<lwD@1{9
z(cRtU>(ev;B|hnX<obKXqmBI>7lYn;o{~w3`ZG~QG<jNaa!ZEx$LHPaW{O0-<8pD{
z^8H@*`KLt-r`2B%`h9qYVNp;0Lwk?--|w`K=H3(EZmMbaX!hT|_y2o|{oAZ?;iSM?
zCyPrby0`uKu}P>Z2HcQq&^I!IGyvx_wcUSsdt2`9-R0|Vzio5R%KV#nM#A#g{tx%n
zoJ>AVSQ^>bTHmpf6|CB$@#*pd&(6+%*zI(r0IaYw=w9Cuf!^a*C%d-^)kJmI_j>-6
z308(RW)BzzD>%9&KlF3ja`gE0sTUp_?Oyz%2;5W!wbhqsICM;VW^muDVZ)8<Gp3w3
zG=(?Eb&Od#E^=JFwB`U7Eolyl`cXl4$FFd}hKDws5t$*pXlH?mBCF<v7}jYwWnHHu
zwhFp3I+=W0v^27DNlo8ML5NovgA!(HI&@4+bMRc}o~5~M+nIM7yJTQ;3YuI3iv)3M
ziR`Ld|D?}yZh6S_X`!pPl`Jb}`TW-U<3#nkl%9<$OD9&wWT))!>`|GR{LE0o3cUZb
z@n|TtW1{kqxqto>otOQB;g9xTDD3CizQ;<PlezbL%L~7&q32$$(Q)nwag*D*@U_Z2
z(?=C^8zvt1St3|CO)=!;d%qu#gmNYb=-zX0i&JOyXiQxL8Z=;3-6^+n>5W^5-mklw
z*mW|}R(*;Wi-?eA+QaJt&t_j;EqY$=wN$-Z-M$?u%Xl>Z{W#d@B_GJrbHC$Ge9nqT
zIu`BQI|Oti<#n^#MHE=4EnsTNXvxS7OL$m*HtTNxz8|sA`=cMUKB^ZITXDyg$NS2H
z#YKlR+m<vcewdu$o8@7W{h;Mi=@LtiXNqM#)Am=yTNZs0eX*s=`$yE0hBdEV?Km7D
z_ucyaiEv%spk1$iTtD&a;%|;nUSp@8s~n%doK$-4XZ&e(=CSqr7*@(}wV(2RbqwEi
ztz#Zartv@0yQ3hJl(k#}i<U|TOj~qcduMXokM{T^7FJ^sj(`(BpM*CuA6_HoW+J-y
zNWpClm!&T9SKp}@N(Olg%AVBsa8N&>!?mcitNE(NV!5eeg(fGI)_EMXGvs=CC*t}F
zaf6~QfzpY8Gk@sqyYF3H`srrX_qh`5UllDmyF$71O3lOhI$7XZyv7nO&`8wAhFu%1
zc|&$htI+$&rSkT%zJv3hb*pVtnA(!w1Xjm~$eCv*WNq(l3Y#c>s$_MB?8;}!uDxGR
z)@n`{`X5zt__BbI`w8n$TaU{&L^<3&sP*dV8SQTVl!==!hjbi^FnIImilvHao?mB1
z=#wl9r;qbo`?NCUjk3VgmyJh*6~q=r+8X!QvbYGlbxf<V@?2+~)wylj75?g$|DJzm
zuPv)`{T%4pr>3`PrEK`42N|+Q_lEe2^jj}~^eF97$FzWVt7gp)IovDbW+KtWoy+EX
za)H>&CFg2a6zi?}+EZe3EOa&>B(yh+dN5qPCa_3w&eDL!*82*pm7M3at<!n7Iq)p=
zWfrT&=M()|E`Hg3TFL6sJEgxZ`lb_)sL6#|1WLabzIaK)K;2ESkH>ANo6G`XaQFuH
z`s`#myt47qZJpN&&9|~N#hdKK`Rs2BF8jR5)7DkiGvc#HtoT34#bV%+A)<zr<6;np
zy!Vy0TTdL0`_XO}Q{*fVVRBx$YEoM4M}?V%yBfBgVEw%{+_$w~=tW3WYVhr&hP(P&
z?0sZ;rhb!H!kzJI%gKfnb974=7D;uk3)6hb^pIl#*IgcV1y6a)O&u4r?o`j>{QK&)
z&=U1t_mj?{=IfnPrutajJTzTWGpa&uewoUqXAjF0AI{f>#{L&g0rrb>%N?HE3m;w@
z*7&97N9g9~!PX6~uQg`L>usIxz7{&{y~L|=M@QI4i_@YB8_!wu`pN7)p(pk#@22(y
z@DQoi{cAE^#b=XSy01;F%b6H_@R?y1q<CNqQeYPGkN}1H(rYufyb08~#hQjb3-4sY
zwBAH}0{WD;kdukv>m?4)yGl!zemP`}HjnMFsDsUGxA)R)%~Azct`zjyW~VJC?LUKF
zEr=58O~<s)X$uznI4)k|(eOTWaq1;UEKbC&MYA+OxAPdf`xq1<Ln}MbCe^_MB&rWz
zc)e60R?A0$T-|85Sc$3Yd{-K09yObXJ`2yXXzzx#FI{iC)ok7mIm{>Q{F(0!8AhN{
z!H6!em#r8}8ldY5oIukOs#8U8SD-Jm0MEHNZ8152HY#(?H1xRPxX5wh(i#VJP2lNL
zwm6d`R*51nVlw}&J-YK=&u;Y$2UyMNz@{P4nNb$Is{yo<;poGuqBp$J4N-9ME}oIk
zYBclRB=A}h-DynbdCw+JWLk0{C@^8;K8Y3cH$cnshP>mVs~PHMetUoa{rBJX?)9Ku
zTPwL9@Ext~+Fg3IE_mt3L!6*!ed6l<c=`NYe(RZjT;gYIj<5N6l;<yK;(3`?gSE(a
zO~t6FeY%|Bn%N=B?)#NYHH`-SS_?j-ukD@3Kr7@XG41f@ym;x;Tu)Hls;D0YSM^ta
z|DU2+|3HgVHj5sp_3D^5?Y)na2{^q>J8xS$i<67PCAfD<@#$4-)?BrmX<(Mg1D)kK
zGegjE;TC>%;bRjF^G|R|awtaax|iX!#e|uw^5Uhh7nj#vUf1BT#q;NS=7w#*+A5B1
zd%8a~+G@%3Ppd5+u%)YC4ZL*mO~P4u>wvpKQ^Kb%oBH^v?G3?;85KRp^fRqHKk{6+
zoGy0b;rl(znTOQRZe(rVxI%xzOSyap?)Qd?l`jtP1U3lh#@?S+D7bdgt3`sYOG6q<
zYQL<!zeStD<*?6_!k6!VosL{>wtb^|?(Bn{Nt5lXD~qMe)>i#|8u}^jn@Ig9!#697
z_S}ivadZ0m*WXs|5?Q}d?xz^r!rP0h0&jQac?9nAc=ztL{`y-r+Cg0z*XLzCKNZ@3
zzgc4Wu^{V<axZr*UCQt-n5$&jQ|`%%QLEXzxipsP#{M=G@LgmQ6|1mx$)+S}|9{Wz
zbQ@=EDVbICR&1+lV}|0#^0!OZgwBrI8hy$8NBrw$p{vbellk8W$o#&f_OtVkmc99>
ze%Wf@z0$s(wkzWvz1{w)ZE5pT+c!Q}m*u&veHgg8Ij*Yn_rJJZ$9_GK{!{T%vh2gd
z&(F;E9*GM#?VYy7evYV}vzY6(j_ti^QzmLP8^3DJJoK%*F~M8Awa9eQ#19i+8Ga59
zNuI{0aF6Zmho1Wkw|4W0D7Zvl$#)A)H(F#WrF=`+!DQwoj*DSBu1mih690FRzx~J&
zn`K)r1U;IoR`=x3lE7R3rS6}l=e^Qt%t-#TKK1eZe=m=Ty`5I!`nSkTKr32C%FeNN
z(<_lo;pHCn55H|bqL!~)Be6~S`-kaQcW-4*((gQGAh+?T)fDp^|3lTamD%TZ_AOnV
zpswwFF~<2x#}n@9aTDjceNp<}eLen={A<16s-8_AQ-75Hc{%@7a>8|mZA&L^{GWMT
zruGEe+RN)y*D)yGYTEzy+0BNQjA+h_|7NN!UFzOgSyvRgyj49QxyW2CcsZ-D(0h}Q
z%Foq(SKXd}e?`wZrbV_D9}XP)f9iV8W9jTu%G)erAF}>@dinfD+4FP5<}bMW>^#d9
zPu?y*9gEQ2&2JNRPp(h0F6z%KxO8#V!&7Iq#24HSa8qu4RJ{D~bgllFz3vm8XF96)
zM@hw`{C1lEVT!fq!prA38vENHuRe0L^LR%6#Km0wDoJNP%@){dT9xRjx!~uU6aH7i
z8-7n=ntSs1v)Rtxoyt+Fl^26v`9y8(J^%2s)YE{_K52>E(!N{0OMH}`dsf;c2mJA@
zEPQC2)c&t>$7u_9xA!GkT}xTJ?CmVxay%(K+1bNnd{w!#fVXSkkH=!ywpg(TUA22Q
z)w_Ld+*#|;s_A|mb)G?sA2J_Geqh^mZHL7~@gv_<rj%(2<j(j%b?whz*RN0ccsBTa
z+R53cxKEwFaiZ$mly59wPcAZDY#+*h>GX>ZbJ0BAqJA5tpAJt8zOI*&URTwU^dreX
zW&11Jw&NSJr-*XM>*TNWJN|5Q_M$I`e%F7yvNC<?!HvFeT{B#}WI}%g&9@c(_)7C<
zZHJ!4-c3_PE(FfXd(o1?{eSMPc<w}(<UW&U-j~m~PG*{GbH}q|Tau>MQgOTe{Of+{
zuwGO#n~>4@c$S6UrHv|aDe4}_pR76N_9gg{oaENvt1~aMHUITGe~E3em7&qgny;!F
z9cd8@oy1>+G<dF*S9DDH(#<O`V92)gxJ2(6){F1%@3+?gb%4Kq<@f%PcCy_;By+ay
z!EF^&_@?q-l3iREdeiRb8DsUSZa<f;D*d7vm-_oh*b}*rtF{$CEx3AOYV#NAjG$Mp
zQd4$WW=7v$@T%cMg7WR@A*UZjxqdlx{O_6TOD84^*GI8#t;*Chx--kfsM&D!eM9G$
zna_oS9TsjmQTW(SRsYtZ`c=;^G6}3*arLv!51$B?MU9tQ1Q#ux5)zj4`16k|ulxe1
zr%$j+JXF2pXZyl8>_KHl?)@L~S9<7u5?Q&q!hO{S&#P^xmM-VHWg#HxW^5)UJ7HyP
zGgqM-cZQqNtVaqV`4X>`6&Joa7F?6qB)m9b(X*=OpUNJ2%g6uyd+C0m!7X;zOOqGz
z?^|bb`rD(*AFg#hRsK&_7cG8cuybL0-)Z$WYp3Op{Hr$Zw=d$)cB+iLZ(4oMy)H^_
zp^?PbwqHp+?(1Zi8+EL=XFip*s>T0O>>8!naYmI1PC>o9x~x|5#%_Li?Z;B-)o0sQ
zR!8^DT2|}r##rOWd)%wTY`Xro6gg{gm+X><FGRhCN*-zkB|MZ*uQl`!l?ezg4taa`
z;)mXz_=^kFZH~NfKlUO-{7d&G?sSuzo3~nYqzUwf{QM(k)OO@vh{CNmZ*u1U3IFl$
z`lfky%WTe0=}q=euYLRXP)R@A;u8+Jm)3H9-S5Hmz)n>^D(QZfr(G6b$29j2H%(T}
zfP{zhGm>2%%NhADtr9KPP`r3G=xN2rs3V$M*Td&1A8z!Et*lw>uso5q_T9BfD^F@%
zSUK;nsIs=x%K-OYtM^e$?7RX(pIY<?=a^=-w5JKr?QUED@7{;_f7S7)PgT9@$nxK1
z-fuH?>esE`KV7!%iR)30+_k~`(!bP0tjl5(r5tovIWCI*vo_r?_N8On)<Ao4U(OPt
zMN3cgZaFl2?tS*_1$wi#1fNx!wIQwI-ajp$1^nz*Hys6EGVf}wKNS40x4-A!N-IxC
zf&L8brlc+JwiYM^+3Uwk)s)Pif2GbM*5O=BM^A-ROYKp;*cc11Q%xcgQ=>VT$Eb8=
ze1CWM^+M20(}^6`g87rgb06A=e$H@oH1Tm4HonAh@ltSg($S_{Hg;Q2e-^QvT3i`7
z_hRTn@B2@S7H&uvM{jn_EbU<PQg%^xi4I}C^l9h$1Ad{L(<Ci+P2u5;|5g3{UFq(-
zKg_Mby3$~c6|a3Pk4?Qgwym((loXq4sAqG}eM(&XHm(QW^Ls#j-7con-)3tx>-RwC
z4AIt;fIHW%f3ncmkvKr6xX@RSGzjRPZE%X)g1#(A!A04{dovUI8XN~`3khSPi{lpc
z>!Eg<`iuQma|`%kS!)97o`rUqF5rNy{6#lF0JI$XELRGeZyaJ=RtF``ed4OzAFd_h
zfxaf?hybtgrE7r;jL+U%7V;oaZOcsbB|pV(TQ2;Vam(nT`MhHrmWX1QV5vN77Tdlb
zf8+|z%JX!%-)L^XoO!%;<IIzL^s?ioue~qq@jD@dp-}Y1gWb(-Zm^lxCBBU=0=$<m
z-ssul@@$c>zdyqjH`}<JBY$)K9x*0gp8P!9=Xv(;bJu5nwpzRB>92<uciVpZJGJ)t
z?Dk{td{sAEXK8hEEkR#;B;)eiuG#n`%c7Nw=lo;%JpbSWzsrBq4$pn|t*SA5qQ2_K
z>$1LI`+xC?Y?;5_>}cM%n$s8l&HDGG%y+G-E9TOk{tT|AM?Wljd1!8y4)fBTd-sX3
zI`BW)`gAMbO2>s~pRF^pzV+task-#r9mj3$*6rbPztwgru4uVx>*`52JkVoDh5cfQ
z{f(r!S+`onW^piHne-y?b$O+E+-m8`hgXKGRfpc^$oaJ|%_wHS`Go7q>t#xO@6Q)(
zz7vq9<mIiDpu1-!#>%7ijQJri_hjr%^UmMDbmv_i`>5*QYtPD7WU)?m-8Ab~>oa-o
zUA6mK|F1Cra#KH~q_gan&bmF@7QVb`k;zrLS2>q&W%i;it@~L$a};yu*S?woU$>mV
z`ba6tRKPdlP6^}e!&mQIynpB9nP)Pgbw`({t1)C1EJ-{s9)E{<sqcB8bHC01IYp+&
z8P5)7)7c%BUDV&(xlFFE?)*FcUCxTt31?)bjw|QnsLfF|c)%UT=ehV+z&-Q#j2Ajj
zhAN=1beq(f@hU#A;>s**b}i}ZKgpA_c`sj-$?KmnMQj$&&f0&Ke=fyqyv}&B+3@+z
z4aVzJ9kwupNlScfJg+3}QX{<4FV#&7v^%NyFx#Kx%CzS;Y!1s+VlfuWb#!M;;`aTx
z=qGbs?ANG|AwG88zCACEm>>A9&UusjPD;f7ZBEdv^X&0bXC8h$r`h|!DYLq{^J8S_
z_S6GUMdxj93|#-nquY(2VXNHq_YcK4^PH<WXr|s>A-7_3+mw=L3)r47abUYIYhnT)
zRLljfVSDwyUP-5JLGY){kC!rbl{DVGxpLLAd(-kdyBsnLmOT97kl~YaWNTYocHQF0
zN5;$9r4@`BvkpyEGh(}yyZFQl5zo1yHY<ZOBNuM5nVkIVAkQQ=zAM?A93S^J@_Do}
zp_fz>YFvW<cPXEeOi*i8uv{_I$GMCx)OfPewUcIl3Y+FJ^L=lfRCX*qb{gZkbY{Kt
zH$+zVaa)|umt~nRnZ~1Vq;hL&1ZT;&9xvI(O9k&*%T}Jq)jH99%O?OMkIXP$G&N+~
z!FBgn>aERsd@U~O?3-VAZ(VxT_qwvw{L?G1Y%76}A$1D_vzhaZ8>E_M-^eWAxq6oG
z=I_ftTzUD?uEyf5*`7)EI-kmGbBby%|KvKCez@s;RgPYZ#m0+vZ<yx4^m9DckmrB3
zVRdZ_yW9R5t_y^vJ4*R}9DCrQ?By-6B&a+BJ)@nGyeRZ%rQX_?dnU%$zw(NV_Lo@b
zkeQ?;^>}UC<je{dX{Bo?HGQi*uOD6Z`DxEFHg~o;Im_z%LmzGaGmTO8LT3zP;sfI;
zZo-vwndSBe@#P+nULjTTuq0t-b<@uKpMK3y?oC^w`lD^xyA2pQvNgl(e2<M_?|Ikk
zByI;y`>UHbPhM8Xy_r#)N7S6B{;00<y5R8B`66ZtfeZGQuUND1_ounLx_6eQ^4i{H
z?X~t3y|ebsj@Wy3tM}|(bFyUXilsXiZeMeg=k&@K8rd)Jm#j0{y@$E++^Tblt>>4e
zFW<Df+9hT3Sr6&2T+5@DC?2s?&|k*qeyd^n&I>KdybG?q`?C4UIXkbnJ@(=g1ax!1
zYrxidZcq~K=*+k`Q{H1IlTNb2`b-h`=99B-|7Mx9vVPk{d4&kyE3Vlu-|UaRR<n4)
zKQ~9`$Xs!Ow=sTK+n6n<35Lz&Ip{0+DCOOjYj(d^xK~{KAkxooKRJv^LPGNF`uA_8
zigIkirv=}w-MHniSLOA$R+p>Qy-!)S?O7<WC*u?ob9{}V^sJdYK7I!_G%io7Sg>7g
zxrpo8_ZttdU)Eyn%Gk%9JB!;>wmaZ-8`qi>zx(tM8*&#r)VKs|_$ox@oI9YiMfzvy
zomX@7{JpO?7^rY{2tRbSuH74yQn=|=hE3ptrR6)$KMF{i%TeohKlymRU33%3r5WFU
zI0ZkxF+cXE?t#}Oh3<ZPHJ9&uUzYs;<)(Mf4sI~!sS%qo%YiYPF>B7HB}-X9RY#Ou
zwG(4nvDLcv!_wFcQ->`#&%bL;Tb_8C|6S`le}DTu;+YG78ymbi{#ZQzo;uU)`AjAK
z(EUK5wWmv%J__X4e&tWNGkuwxiHOtWORTGI`^D+}s(5`gex2pFbLz_{YG1gf96BZR
ze?s%6fD-0TCXVtbnZ>`)iM_L#+TY7Kd-J~J1*`9e-M&}9bHT|+UqZHg;qBQG^=nNw
z-~HT|n`3pd*1nc&Q|2wcD6uYdQ|WxCU}2?v29`F5<sB8<qGK(6|DKt}u4A*{<f54i
z3k_v^Ljyi<Qrgu~y6yAS1ui>`?>{;4W=r>-iEJ6d5p2S)SA@(PvyWtTYA=)VL_XvC
zjNnBZ<DT<dI>Mr^Ry8j#ex$x_?QZ#+vd4M7R`r*Y%BK~^NBPzL-MVMjp;cu*?#8?~
z1F{#N&N-=>_2#jw`2#2G+Qqx}_MbIq*5_SnKH+g>#P#Oo9i`tQ=RW^DdyZZG?}on*
zpBvBUX4AP{zIa{jg^N}OLD%du3V%nj%f3B)?DB~KS>5H82Fp_omX~^XN*zcFSoEvy
zi3hilf85mx(k5k#3N<W@S<m0J;czbRdK4915v;w073G|3sYQP?ydQs#R^9wNt^WP@
z{gYb%PtardKht2YIPVlTi_JG8f|kq+R6FL=9CmpD@3U`J2h%NEd6#cKJyBbs&m~U%
zlI6p|!)BA%{GMMaNRoE130}CR{QEtpJD)%FM%jFeh|s?}*ZEz-1k1xa{_B|73eJ!?
zzWC_l_r(=0JCF0MdeC&~+_hQyrhE~9k_(pD9#LBO`0-ml{S#|0zkL0jZFT!y@!q7l
z+=@%u<Il0B2{O-}t(~W6t9Q2;<vehSj%5L}xGql6I}n?3=+n=bEtAE$4yJE6xcw&Y
z>&DMN3l<ulUTs;r^2e2@lh(55$=HP#$gJD?$4b_u;i_N!>IQLM88-JQzrxF%*`jOr
zI+wov`~KaDb+08d3?l`e=9os_yHT@q$HgsAeF{B;@Ar1`u~>0S|JD=P{xxEbYYk)R
z0m(^Lye|sUHl2Sdx@>hHn@;w&zIp53+Q(fMpEGaIB_o+R^IknZIj>+z>pS14pQU8F
zdRx>InEzck@uOu!W5bre3J)b-ym`L)VC1Z2V(M`|C}~UlV#SVNg<BgpS2~!e&K2&?
znZ>5lQE@17ncEx(g9*U_^^b}^{<~cH`}~to)2~}f_!AgclwH2?ExG(a`lAP{rtPzf
zlYRT;?5(oRQ-7XmbK^@5e;QUgZTpP1di^(_y^@#I%`n)w<JAF=1f`Jc*=yf!{nEQ5
znq8)&G>Q30T2HoKyu5kfB<3k?JG1xd-S3S0d{OK3$z63m!OU|)`3>vuO$!q4y19sr
zJx9faFFo31|C9r!iTg6mc=fim%AH}j@<?u55<kkB@z1(4zAxFCq2&_nap>*GhBF7!
z+j1^mx_Ul$LH-2Ynz~0`Cp)#5s;`^Yb#%cGmo2M4v6+455j9^Gee==mr@qT(r><>Z
z7nY=VYwM(KhuZF$ZRWjvantDul`oH%Y&mbYzrDvVVAeYK-TD`-o`|shk9<<$khx-a
z;GN|6&-08Ynoqc$*{uI|`}W(Xe#eSO=`5GNxn{@CTSxv%HbhNNKVvT3eRab7mvd(>
zTjTFsiITW(bR0{X8!dIU@m#h4+Vzc{1<OAydKfOIw`JS9I+aqle~%W)%raPds_oqj
z;hU+q`=4Ih`gN*#$$R_oEoJY&&R(iJ{oS?qR?!vPS0&$Fct^gz=-r2{tBiMkH9vK0
z+g$B~C0mTkXZzjHwJP1da>>sBDRIG-zY~5>I4EOr@#352nb#7<w_mi2%V3_j`N5SZ
zKX|x%!e+?UF8=q)&b|F`_2$Dtwl6lZJDXdto!zx-^X)ZC$BXOO!d`#s<L#0B@p%fH
zp*8Qq^FO!l?>WB+`Rx8jN>UoSe2cc0&J?_JMUc5BQ+IBf#55U$7S1PJ3Yibm0+TCi
zub+M7HpT6B;h#K(BNJZu`1w{Q>zh6Bj;?+nc4+SVH@gh0>vwJ94gT3I?I*VJ?Kj3B
z=dIczJVeq;f1kSDo_Forv~r%iYmD!%F`rs4W${_<z3<eLn_9l#!d6#*Q{*;H5{vrU
zAiVM1?pU)Fo|yd2HQ$cf21I?mprKW`r*!YqHTNreTUa<bH90mq`ica4Z`dkYB!PTa
z!2}kU;9};6HA@$-U$sxz_`Fi(A)`k}O18{#O1mb={Kc|zZPM|RHf=F}-~V;1vYO7_
zDJpyWyoln3o!<iVo-LibxBE`h%gH;xM&vV8&V3v#Y~WlVIe(tU`%QOp42-i)`p+N8
zHIodHjk%Dy_m)M$>fDMM?v`&48Xma0mXABERqMsZ!z;tAZK^h0x|2}&e!WS2=GF>z
zb<yI!{_5pwvX39%a5%YT#}gHY+>}Ez!XA1wTkGa2?_zf1fA`e7c>`O#j{Du1*=JiG
zqa?FRrCY&*#TS_z?N9L3i2anlf6ut!mzSrXW9;rM#!_dI71`$TyP|*Jx-~gH|7wc3
z+26aXZ?6|O&$o}=@jXdW?De0E?aPZ+@8Y|^VrS&dosW}#-raR?QQGILoBB3wV|-Go
zl)2z~+MAC~s<&_ZGMmr-m2bv>z>O*SuJSz2eKCw{3QvUIvc6>cXsvXS;)}|)sXO@e
zwg|pIy6j-LZ&0Lwx5Ae7oA~=D9-dcOaNg4H;hY4uxWA9Q!#<c99QM&n=;r<XBW2~)
z=QHLU+4f&fZBeW9oTRKMrHYc1uf*9bgpc$4_{47c#jmvWp`*~M9jZocA@a^BrJU?V
zyVT-~EuA|vWX@SBZDtABYo@;b+n1+FQ`VXO2|QjEppo1inbCUnZR=Ip8#Cril5v{R
z_wCGjeuef2b7gPJre&*o<$sA>FS7N`{-8#wZ6`!C%p#-CZew`0;O^{CEX_%g>dWl|
z@;8ZX<rCS;ckS!Vu3KyyQ_>5Hm?Bw|7#cPob9~-=?4NPyve~-LA6D1?JG!P=r)7uw
zCiZnEeA{l_X|>hp?T&bU<80aKw|uv!J}bE75V`+z$>9VO2gYezcQE<#?LU-damm(n
z<z~P05)r)mjhF5O2YVgl^UK`$sxW5T5B~4JAJ`n;`SxI^mcNG$)5Rkb_`d!Al#=Id
z>bi7G?JlG{Clca1)PiR@m;~>)`@C_@E?xEYY+^s1`8c%K<OpB0PU!8j7GCJ<UVQ&v
z+0rHZp8uKq%X+HpbZ#l_=(Dnaw;7j9wa?8v5IO&BYpNCNe8zJnzKo|C(oek5$&zo1
zU2iPDh2Qr~i*xUT&B>{@%eAWWxAA-wwNVc&WKOm43!nXY_nNh4=Nr@;mM_ox{V?!#
zvG?1>D(o7(oJ+mR3))yWcpZGQBtr3&+^meUA5oI4e@>Zu>YxSNk+e_kMeH_z9YsFP
zXm#gZuuLYwBeVD3$HQs*57yigUR7p1`=8F6#^Uon&#jvhOieC5klmla*{{1)Vd}19
zC>g*~`PSw6*X(#*9#2`8Qlhp0nq~QF|9GuUH@^OyIyrdZp{{F(ywWz--wG7ry_#)*
zt9tL&a*4|q@7=2S_~B}o^372Bcl)PC-z<ET_IB%~ZEMrLt=QgZBvgOOOU~ZEcTetu
ziz#d0NF4DB(CB)`*~h9LcrvU@+V7kX)0GbyQXfT1BNDE^I(t~|e~*o){2I3YTaA<S
zR_kZ*_b^_`+a8&>jrZ`}vXzA&DoW)y@T>{D`TkA852nkL*R0BY@8P$cx1i1RI`d_o
z4R00}<_R-h@!7YLt9yAuf=K_3ur)VD4SqVEUF>La$-sK;Nl}+m&)=kPKDSbHDFeIL
zvXz%@^!a~t$sFuEz#`|E#$fvUiV05&o3Qi?LH*dRKR(WQ&T*}pmub^V<yA|zqqYqA
zFJ>tV@)nf6N?KTz>G$z;Y{b2wh=V$}_${xAX1tXYxn`bo+>1Hm$)&ry_>9AfKJnj*
zwLT~E&LaBC#eCbMwOKa|qpn=IZJ3~)Z`!Sq9vCeDfqS1xj<PGmHOn_5tU0fJwn=YY
zHY+ZyjrZG6@$YSS>(UE!3@ih$WD2(ZJ=1Dt`A|lBcR=>NiPz`d&s_ViT<IF8j&=C;
z|0m~u6Wmv(-W}Cdx+tLM?LQu`qBk1mjpyGaKVFf`ZPcv4_UOa(XJ53ttM8dv`ftDW
zZdPpN-^B(~e1v^j-}!FuVblM%%PJzVuXE#X<18=c%-+upYCqOou`Ij$=(~Z`Y$=KP
zA-~VN1m9@>o6H|^=wRqOC+iE(d*@6y`}_0FkHgg)^y|v)Uj|IQ!-kT!R1|LY?hak9
zC)RSzRP~5~y4~-x(8NmPKj{<q-!HqKk^Q}4!-=ZQcKxZ3rZm0kJ8w5zQu1qp-mPuH
ztQ;j~W&8`RZgt%5uFTx7W&Ob8GYgZ)XO^Xn=X3JpyKegVZMOV<;`^IzyVzpaWax%T
zWf=57G5hx1jJM~<;bxZ1gVW2_?)#roS-!q`?I+HF!^y3gPxh|n6@T?h@CD22#PiF`
zZ>?gBS>(aKrmA4e!B>skYY)Htt+1cFZ;R9B)jR4%*0hCx{yj(hcCPr2r!!+0n7@(X
zYT08mE7JbadFg`q7iBRo8aEz$&r@}d`AUsqLzI6)&7Xrjo2)-t{CseabMx{mf_v=V
zFwbW^)Q}OnIQh^m=EraU6>hxyEd6g$|1FX4OAWoOGp2EUJ7oEMr@3%N!TX2Pg=Qw+
zuGL>Gz7VCwAl8sE|JoDt%{w!!EQ<U3((bQgnIk!2X7QF?D|c^QZEuhkFv(daKHzTM
z+65n@5|hjKuiddu`l|W4=hsTVMcZ2yyuPybR<!6__H|*;u9hu!yLC@{>Vhr5<~{5?
zI5Bx=uWp+3nwvS=8AkVW-!L!roVPh}zOlkYNd+F$9B*q~)wyCv%%=(-+FG`D;s2~!
zdz&ogJo|6Yw?&qTmoZ&&$P|}mlbFf7!@!ZZZ_CH(V2zn&t51KsDZW`X?Ye&6w!`UV
zYY&&LDEm-w_ko1JNN)Mh)or%96<anOHw#~I>($<iuXSWUZRuxQonu#V(Lg*meDYhT
z^{cPTTitxjv`BH~<-^zenZjj_clOV?Q@txDwy|(S_`bXRYKOJn+?eJxXL9hN;<n}C
z?KKsg{ztvvHgcZvb3UbBllH(^#`x!lxV`mE*G?OYCiqPYI<?@eo$XzrIR?G{TUpc-
zmvL@m?D1ZgtP_>}c>Y;7xpRGs-*A{cuzn(qd`r;*(13}@YSE5me|}vvD`h@cbv9@r
zSE_y1l2G%qqYB3T=i3FAZ}8{8<G>iLQsJju^YZ)kEwh%t_f@*nd97@o_PWgX#}B>Y
zDA_h^El0__-BC|DSti<ENSBxW_`^_tZSo1jGjr25(xNY!McgsFVg6`il|(7yEt}+y
zqD`fiQ&riooObp-<1=^tOY5jxy$jMK*UM@PB+OmmpTGUzqafKy{0~YGTLqTy%2`{c
zzie^iCBD$_=k4~CFDZNQ@^fiKJHxvzNt<7%ZMVJuWX7`(EY2!dp774vlWcG%q}iIc
z_~Hb&fV7Wc&AV)Jem3g*ZsW^;5wU&sjd$`qz6p9!3-88T3F&P3UETcndi&nvzV8^<
zJdm5^ViR)K>VVOklHyg#Q@%+uTQo@h;3>T1yEm`m+^gEht?M>M_dR$czWF=jg2}<*
zIgLh7WGapqyEQdzK2Xan#k?Z)r&>W*YSps*qFYwB$#W;3u`%s^%gQuI!8qc@=9{}d
zzC5(?<u1;&ufmsIlP@F3gF}(P+HEVfe}}RDN#7Npw?;4E>V?#DsVUmh^CezOZ{n1m
zKc#8m^!Ha1l%!-bGnSWMVDr*m^O9vz<JDu!j~$Gd(HC|p!>W2YW89X@<x&Av%&eCV
zWGTzt|9Ho(T%qHNpMb=)aCy0}b$ZutG0aSKi&|W{<ov^f+l)@s|GLZk<Gh#k+S0#$
z7rv-ioDoh^wv5e;DqpN=V$9huwI`$3d9l59Jh%R=tM=C(e@fIm|Jd~J32BR1`yc1d
znqB`<kvIKsxcO~{+%uY{W_;J99OrL7_{y}hN$Hm+k0*0zSpM3((=R_?we2@s)8o7M
zHU`J?Ra`VPzb)`uXCr$a|8Fgs#@e~-E~}Mq&0cfhS$;wPSGHrTV-NcMw@6wL(Inf(
zJ7d219@gz&+ao%{0%pxvUv}_OKCjQ8ZP{0B>{u^J&6%U+kiBkW-G=Guf3A5Lq^o>*
zaQf!LlbRMc9ykfJ^-JC2Ogw)?<jtoO5&xGsZZ(@Audy~iD{6+2lW)uIhSYh#zq6&M
zbu|TF-!u8a=3^gUHa)na`d&qjyE%Az?PTQWIdDfX*ZJ*bgQ?<gpS0G<&e>?nW_9)|
z@7#&2?G25jx0HV2tE%~R^(<q$yPnwL#n&#H+awe#9I0HpK~q3#_3IbM7vFrvvXt?9
zU)*}V6|e287PI+xOZlel&c5AR)M7o+uwd_^)z@FSNZxi_o_^%@{CTOIEFK?39Q_j?
zU!EKr7T(@EGf1EJw;;pXchZs)Ulkd$o(Essc0bcP=oYirYT1&v+Ar;*Z`ZHbBfg-G
zN#^F-Y4NeyWv#~y^>fob^$U1U&Wq4pm3l;5$VTv8j^xL!)_)yLDy~0pdM(4t!|tRp
z^V&PUFBQ$U_cmI!@2_I%WZm2<raveBcC`DgJ&F~l>w+w|tUugoyY$-u+3xjuCK-I2
zTmrv;5s7Pk?z2<OMQfvQwOpNLcV*6v`L=I9-<zHJrR^NwFTU^9-)HWfp8M}G^FFux
z759ILEO>jP;d{dV>z2l~Nf*kGN-=CP{dHXQSQbxDyfkOrCRWkwQLk?-v7L9GC(kT#
zV<hi9;{!9_-rM{7Ugx3%S5(g*NxXhU^}WmMCngTON5am_%~bA1zAr68V3BAB^IQiO
zgUC?lbnoQ{rI>4*!)BBo+0pa%aQkKJ{^v?ZD!;j@&dJi)%P1b@n=St*{ZMz?7KRjl
zmP)bb>prVCe%#1>bE>cH;qb0#?Wo^|vb;N)3g+Ei_fl}>+-HK{H=KUV#j>%thf%_T
z_oJ^(m(_ND``zrzr5t>1HF+mrEsAcN)jp?SxoF9TpIPnRRdzdXZnE9a9DJeZ_S$Oi
zDzoS139Tz`ExhRe*=oX@&fdRM)zUL$xI5;pklxVW`sT%Cca@1j7oPJfO=bwbTxG-f
z`i8|OyN&g~4(`2n@j)lw@6yjNQYXLmx}Q<D|M#(m^w`C3S3dg3|7uP2thdtAxzm5$
zvHd5&wVcyVSmT<#S>ql5t^2w5ne0(nw(@JA@0CiY_A~RW-v9WO_kEgN`NGK`ug#tK
zpfxdmX*JK&%ct%p+h>+7h&mpc&7fy;Cbs!{Zbs57T?@wlGc$Ioo6Iz~GW+;J?vul3
zH|Kl5bCN%8zWMU}`@<U;cmHp-GrnSCc{a!EeT6gM%Gdw)E}S`2`rgT!|4#(3|42Q5
zMD)B%Vggr~z>F>Tc3*Fg(2`4k_i!RgoGC2YX(-Mcssoz7Y~K8<&%>hmHV?N0<2i=J
ziH!zNcni4W&acmYV{m=Tm!>mpxqKHSmMwnx!*RE8!LhEnz5R_>r-;>Ue4AC5`+eu`
zUXH>t{@ypcLK3(2TmAiaz-7g<Y>9m)1~Y@sPdj{b3xg?()znFui%j3V+^}m`Zl1-}
zgmoJYD=z9?{iayGpz;Q*b=<|>@6t~14wsg0cjuozn<4A{{S3!@3}M~3;;!`0+AjA0
z#?xns*$OR_WWu9#bj$SbWS;n?BQ4RY&)c_!Z@PTJwdc~#p0|T@w*|lb7M&*cM^;8!
zf7`D%XW`s=8=Y3aUu<<+o%dSu+;iTwi`}i~wp-1)+Q;BC#WUG8Z)Z1OB<r#RJA&MK
zs|CKWEc(i(zGiap{;a|hHuZbC#f+yvxi#sV_AOW-6|m;0ecf?6h7}JpAN)JhKilmb
z?@zPR-NlaiV)YZV*QgpW_Djh%mNb~PxUYVC)js<V8~4JxZ%_Yro`1*r`>wsGpVzT{
z@%P-nY_3h>$}@hp?a8^#GDi&mPIjOB_;{@Fhec0+sYyErA25pe{bWn+H@QARGb8T~
zxBK3(6_O2&ObzQ6g`Mx;W}=n${p>%;*-AI}e2<tC+*c}QV(fDG{D--RZgt%<J5v(w
zJmc!S7t$Lddc*1`o$Q%<Mqs(j&VUnX^Fp_7)M1o+%`#`<qc(jB1KyjCIbNrmmDjy<
zv|f?@_M!C&X^Xnmddn9vvy^?P;{B68*SSw^vS^^+5!;QIpM88RSbXjZ^WmNE9?aks
zwN^VGDR&^f=gfnI*Bknjsu?mFKP)Z1d6%PV-TsSHZd=u?E`3pT`GNhLlmBzel9%2L
zypWo`sb^o=KCuF}0PDcyZ%K{k0y4@o^Y3o>U2|DLZRy6W?KLO;0&k1G+hR3)d&vb}
z7h&a@yX=E=K8o>GyDeXq$G0O}rm;V}-P|OiF6>(Uj=LL|UTm9d!JRoTc3%MZo_L0>
z=hGTf`#iU$iJ0Bmt7w1zn#i?>^6c|-UzKeAsooH8I`2ZG-TAu7=?O`nE^Rn(WO-G5
z)*1=f)n8k>WDc&qn{(|!+q%GzfYarDKi{8Eh?810zhHLbd9E1650amk_WDn&IA*)q
zSoB_@kMChNo)odpTRd0fjDk1MD*hJNn6Gr*y6~uN;U&|3)hZ>2jSKG@Uu-;)mXVc^
zwyY}W)w+Bk|7i7P2eUdV9&OAmYI}!t-{g$V;%_BcFPdH9a%ukTbH=h+pLYt|Ya`xm
z-@hELU-nyf{=AtVD)v4wZat%7XC2?rneo8b=B;eXYNxw8c}2f#a`!qLcSM~!$-*_K
zb8}U@yPZ|d@*RSl^S(8;#ce)Y`ligbyU5Qsq?C_U{g~hjk;@m4d}J^^Fw?;Dn&i2U
zA#Ge<yQ9+E^w;h<UA4FHfs19d%Bx=EP<5>;|FBsBZI25g^VeTy7r%9Dj@X*_Cu=fW
zV=Gv0CuZF`viId%)x8SF)4sm^l34ipj@<FB=O#WAj9+bh;mwEg9nHRe_05O#4+||}
zFkPMh=ieFit<Ki7*6g0OrlWda$c6Gfhc7<hu~1hJoXvdNxwO)`w(;Yti41enCDg^f
zAL+cYp-*{kG1pDzb1yZ09B*GVje5-Y_HF6=7lresKJfMV&y)R-_g?DninEQMGS$!C
zlRAInsp9>ej_>0p|315H;$-F==6~C=!|E-))_hc5@_^a-(t*fs`QqyW-`~uhA;fAS
z;x46;o6;uvY(--9cd^rTreZ>^-f!BfAFWW{a#QYB7Ju&M_EpW3Ll2(J`R=l^e$xee
zPKD-v-;?h`wxM-AXPqm)cJFTg1@#|3H%!!35+om-F}P-#A$xFDfb25G&l_Z)eW}>=
z`Bh`;heZ!vmQPO=P1v1&VA+{p-&vc*p1(NrCdBvnfw!mn{)TJsZkI8g>pWv(*gdNU
zAC&$UFWNCv6qFJU`d-;Anj-e{pJ4R^Kj$67?@X>G7x3Jid$aV}Wl`H1)5~_Qdw+S(
zGvDn|W_NOKR;*rn>&*(;f_Iv4nC2ut{Td&$#=SLqPUsEeCMFq=pL=en=5N?>f6ui`
zM}Mw4@kWS~g`?z<&E(1JIz4wB-?04Bv)k7aEH4^<`Z9N(dDrha{a4kikNi2jdvC?A
zb!j^e8>?M=_vCby-$vHOHpvT2B+C4f`6TN_KVO<~F49EECiUAKlWM>3)n=tTe3FGV
zs&{WYTX<b;N9xzdORLH`jIUZTKc2cc`DovRb?+`t{(En2?BasujOQ9MIBLK3`zt-_
zWMNv!=~dd%D<xmee*2hOy0Y5*gNxY$gxgMLb?uq4J4|$jg^kg+lUCcVnw6E6?9nl(
zyl!22&b01`A)j6I|25S`y9^9EHPm&^n|Cf(Ff%qs9(q&Y?D+OUF`2c+^!Dzvk8ee&
z|H<<Ez9RPsr%N+;ui))7E$8g+6$(}talL9@sF1d>Q$u}DmfZgHPrq*a!qaqKWLtCa
z+WW6q=6Gh9%KiFMVW%{WeSPTdJ8=rPzJB7f+4bk2W{dCaUk113rnD_JZN06tO>y7N
zOj%i(uLrY!y(y1sv)g&?$HAvo0a5K|_bM*`87`jXwJYbuN11Odb)_rUoqu|K5_3e^
z-n;J{e@B1X?d8KKvB`R(?T6cU_=MwYWILYCoFfpCCM~@`w=DKe(VX`s2P)fa!>i`_
zo;xs6toq^xcI)~%`M(w<J-9sUq3P7-_UN~k&jKGBI2T+tw0t>t-nw!&zY?nlvCeCR
zYuL26uotz}t|;zaB%K{CyYA&n=e>D333ifV>NjrNR;|1L`EitX*}ONO_gpsFwC-%+
zYdPx+uk9{9zj@L2*XlI(W$Wk4rLbBXyyVr}!gk-{(A;%1U&cI_=(=yls>Zf_*~Z2K
zb(<`M!=XzyBpp0(#pKnBul~N%f2(baY_eXPynOEC1DlloA1Qopp)~KqYQ@q8`B}?K
zWv*J?D1G`{eb%v?yE*N&d3_!>JaE>E^+r^D2ktyyq<BG-$M}-Vg3T+}KF{)#l)K8n
zvf@)kV3^q}Ev82gl%Ic&?AW|Xbc$Jq^uc-3th^OEYhO!ku|AOQHM_yMJ6YtP@y7P0
zm26Ch48MJxxVxh$PCGaM^>)ST2QhV<^K*E<<~;Ove#IcfA@D9Fh<#C@R1wDmk7nK-
zd$vpc)~?QtE}E5R&R<isR&jaZgM>u)%Ko*--c-Eyxw_QK*z4A!xtBw0KP+v$WOo0p
zMbypq%FKu|S&g!Vg&NBbS1qr8Qnr2Xby<n|bIV%P^h$4>+Y%WllKbr8-jlzL=dC=s
z?c#%TZ4V!>{q{!gx$Nf`%R`&x!+C0gOn2<Qw`p6_hmhYVbU$kd*>ArV$+!K6v&|BY
z80I;?cjoU*E1Q1n@3zjBHr@aGj_%)gc4GF|!`*F*GUT^g<VF7xJ@;Ui+V6FK*Qb>|
zpJ~S*rg`AoE-`iuUiWp`#m{asZ+#~qlPPT#+y2XD!|B8S);(YmvaxOwuB{Pd5_|fj
zHP>~DaG!~*ZNRJprZYCZP;XkYS2*~$PGkJ6+V^}vw)3!e*9e>672a+mJZ+}ro>$cd
z-8VBkN|jDU3eL#k@~xCVQ|9Y)y~p?9#I`l(KfmMrwCLh>A=tjfgcS~RN*dG6uGwy8
z6mv6KJ$IpKO(yeUvxxlv7Y=MNEmDe7k^U%<&Mjx{qcQmz^XjKlw=1mNyklANvwKTU
zKNbzXW-({y1apO`gl-m=2-WD1A~RX^=GT8ey6JZ4T-oMtpRUz~Y_cub%a*76<I)84
z3uX!Z-kA@Kk2t&6G+y}P68L+Au|!P$)^}OH_d6%)>Ac>lyj^vB<p-~|KV2fr1DAhY
zyqcGzyz8ES=*$W4U(TN4uuR=+*;SrhX3t8Su6FtOsZ`9%lE~Ut?QhC=|6QWc!KR40
znI;U{(%<&Pra0~0GFweNZMkCagS`JQ4ytAU+_3%Dv)i%uf1={v@9Jti<aqwM#z%Xz
z!acbu@te;c$u3CflUg*tblrp7rPmhUUA%wg_PK9A&w2m-+V11u%6pUcHX6An6t8}K
zwCkZ$^nwFo5!Y>sif?>(I$E&PxFYpJ^`7%{^ZEZQI{0t(v5Cfi?}@*Dvp=&;#-wtB
zPs1AjDQ^#0thQCOxVk~gaiw+3BdG{WuKu%*&3pW0bR2RsvaIgQTBY%>d-*+Amg|lT
zZ)|a|ygX;)dA8;00>4~r`;z{r_!hjHmM#-#5>Z;f)nC3>xY90hvZzMv>zNCzC&QM@
zDX>11dy&$iW_f8!kKaLgj_gClZ4t}Qzn9-~BSBeDy#C61D}}!M8@_iXU#a~QbaBJk
zz^Kc8FEh4#OZ~j`GSA|nf$Ujv4uxwg4@h?S>KHF5F|V$VN{I1&{^0ATvXt^g+rkTl
z({}mG><Q$a!8~W71iJ%ooQaL;m!*v7CInr`mjBv%tov4*)-D})u3LfnZ_9$~1CM{`
zW&8Y8O88X49L@KZVV6R0X1nj*@=5OZT{G@Uwr3ardwtf~Ji2{Dqn8Zp-Lfm2_ujE#
ziI0jqe`4pdhu`0o{JU&#`$FdHcB`7LX6uvZ1o}-rT)$>!s_UG*t#4P$+g;7teedy)
zC42rK4*ERrSK^+MeaTNUHtVjh7m3>*UAwrP{SJev#U;N|3%_!!iM9;-w<h{s|7rJK
zJM?fk+aC5^?hmz^ulDvOrZ&Z2jnbcO`~24(>1Y}ED!1&IgWPG~Z`ys|-TN)6`oWx=
zoA+G}e8h2Q>u>WdyNhxgpJ%VN&)o3#Wof@{g6I_keO|%ymjb8RCOmt|<nbYg&u7QG
zvkx>Qc>Ng*UO8>;D2gj*xju8Rep&TB^WW<%oVVXuIOk$vU^(+Od(+~Zrt@r1EqJ@f
zxa6*F-3hrvmp`xjSaY96$i|y_a`;{0vyX#6thgu-%dHMvXJjv?*fm@G_GZ|uIXUf6
zkI9E=hfP;)ym-;Kdi{*{oDYjO3M`*$Ig@L3)W?pVbNY7kGhe;g-ecjIX(4{0&0XYy
zL!Y`qx9#5?w>2gWxe}W!CJJo$Tcdd=Gh(Z-{?n^p6|U_x-_2Dycfpozb-QO>y7Kwb
zhHnlTS&OclS-tp_G;zhDYX?t<+EyGX*|KNa!MNSl+cOWm`BGQ2lrNKIMf&X9HX)Z%
z?^Z6)&97sBw$zkw7n|)r<<z~$SN{sQ{VgK&{@1Y67qdRASI*tOJLhQH^IpH->_6|W
z=x%$J@nCbC;C=Pf+V>*g=HzVr_b9LY=Y-u?Uml;te0=uWh;-SXEERihzOGq+;>(w<
z-^#mx=_TK~dFIQDCr@_zu}AP0U)-Q@@ZL4SklklxKdoE2JwLB7CrkF`wPzL=URvFG
zTD3Rp$I?v)b#;~BUypQ5+j-dT_mL^JMX!2J-hC=<f8nXs<>z^yTX+3=eB5U-M^)at
zf;hP^2k+%<so#HVQa1mc|21OXHC5^9TDFP|GwZ+I%XPnCUcLU%VYNk~1$mPNetI9v
zTJtEXAZhl^-?Q`1@7_Ca^R|R_+9h=<I`@t5nOn9VwPj4Nyw}Nn?xS$u1;^hvG~F}W
zRV!`@u9BYZ(v;qrFZB6pUZwiG3iSucyC2V0aao+N3R|$5VApsq{h{ma6(1LUoy8t)
z?K?5sR`SuT8<7zg?_9}~+H$M1<8rrvx|xCa+NHbqFV0`FRJyyi{XpCy=QdULBd?fl
z{9Ati?)<&>OP{1AsRyx75t5Ua-^*=hU9pyH>xBp2oBOKr!%AD19TWVx=KaP6DN>Vc
z4fT0BSt?wz3syZm5jUG#@!U4Y=TA@Nt$AFzSB!hEarrD`fi<r;H(y<MedcU-*{f>S
zuL=|PHuCFVpSRlNt^SK07fmYG?c#6rn{wMB?fFWn;?Vt{X9`dKdU)}&!2eUjxMea|
zOuY8;)BNm>F&SI`Zd*|88|Yt<mStcNcH_L)^}ZIh0R6XX@2oRDx{SZeXSVjQ{BIU{
z->pu!-@U$D_Vy|^{j$C{`5T_hh$vdkztv#ZoN(X8+1a}Jp?tM>609#h)!N9~SJpev
zc<1?<ZX0zNW3rzrH!{EVW03jw=5@gW19mYLhg?1e8M*Vb?{06abzXQfEk7fFJNJ}t
ziJwnQRlL7E_uSUpbModls*kCiicOv;8J51|*lC$*xsGP6YwsMs*6CEX{PVpn&*f%E
zw9WmnRJ6bC-Yc2Ep6%J)H>)pOmfbZhyCP)b@24$%<yBK~xsC9L6^-Yw@v-{%v}_0w
z@ha-@XDV{q*!x2LPNwTW&j6{OcRsLqZV)l}vPkrpMl3gIRbj<N7q{it-yijwdnhff
zM_sow{^^B^4=;AwSe)n5o_#Q}_wBNC`xbIrivB(PZC)LBciOKTDK$9-7N0d)zJ1u7
z`C(>8%Vw$K4J#c5HeXQj+8xLHO(@kOFTDKVS+;m7namYguen$nG8#6gZN4kcm1uf?
zn<INzw^h;drCVxWRQc-LWSQEUJ>hM*{p#$uV|DBryjyd*Z?$z<=~Tbp)_AFJdf9x9
z*9VtuIlDbd;GIoirqj#bwUx5gT)P9R9*f`fy?#sQYV*2ViQgaIYMd+j%shW<uHNhH
z4b`~^KbF5QtBbi(y{q!a<VW|SZI!LHf3t72+HEZ`D>Y=wW!q12b?0Ai-yOI6?$;Mf
zr>zZbc5a+dp7pBa_lexiw@oc~ZoT-+bMMop%rELsn|DXc?v9d8uXcOSR~bH??@i9e
z`!XNyNPSpTBQ+;o!T9!(C)=h?e0+D^8%F-5xj)0~l@@aJ<mDEJSRLQR{5bmd+~vP)
z@~_=~cjM3cYd7nz88oppU1+Y3nAWhgV3+d(L!E<tUl(jR*feiOkk~Ai`HGt&A9Cit
z|Ge+QqnhofYf~=N-!?2eCUqby@WbkbHtcKClU}vhw)}V|>7KE_G-tZ1g@tXeh32!R
zmg(t747pAwN^icFS3UD$t|x56!33sb9oHWHOx$vnRY_3yQgqwPj1^lSe*S%A@j1Jj
zb$pYrI%FQ+Hu2Q2zLO^}^!|x5Ns`*|;NsJd8*&2n^P5^snbw%pU@YM@U*pHCPrqD_
zIV@4!T6}q>(~t9h_j4V}mM_>+{8M*<$plFa-zODGrv3*abNio`#pZkOuf2U$YI5$E
zs#5(3-Xm&HdAIOte!X;R_nM9hxik6B7lc<b|9pFR`KfBZX<rv?czf%0Z~mOsk;Qu@
zFJGK+edp#K(tca{^R~~;lc;%L_WS0th5lW;{7w04-`Ct-pTGV6dbtCxi3e9ibssl1
zoS0r@c5Bbo!*ZL;dD1&yyH4!8ZF}zY+i$s3nf>E3Ew3b4UddSNT(kM)u3Z<t6s~<5
zbN+?2X!F~77v^1?Xs*rXz4o8{ldpH>KFDO2&v{*#sM)mfxAD_5`^|#?x7P80ZmD!G
zSa?_Flh}<vcmEXz7cd21w#(U4f5&Fi#<PuU&c~bGxVFtIe#OSR<w+H>?AmG89inqA
zmNK5+z{KeAc9(63C`Vp@PvZHTiT|b7u9G*lzV>xTelJV0Ta$Zx&EoHA1zelBCj7oB
zHfz^ox%J$B_dfP0Z~FN%L13Z(>oYwGMiu8=Tw}I2UgEg;Lc0^z^6FT|@F%I2+hvPK
zM({ToyV<Wl?eJa|6`Qx6qp<8#gnCX*(V3+3TLCw++gz`G;P7%jc0l921jC%fPcv^#
z6k9ueR^P$P<*#1vZa??bwDD5jl;lM9_uIIiE--PidFZ-3_<Hp9WX46YT5k_LzIAzN
zMDK&N-2CMEyd7-%QhTy1egEpkeG_|l?iu6puea=2tOVcPnSVX(Qs&vrH|vdV`iFk`
z_pFBZ)y;1fd!&nQ-#eSP=aR{fZf)N6@vH1Ztv`Hzv#dGv+5Fi2d$Ea8;TJ;hy?6R{
zAU*yJ->+jfHMuLgb*D|-_;KDvhGi=i_a^*0$n!v_Bwwn(+~?dLyXPC-PXBgYCg;B)
z;lSTlcjxu5ZZo?cU1oCgo`&=Z`EPmoo7S)1dPnw4-Sf2TKl83X+%_?2_4<>dE)Tc7
zvHO12&ivJis}{}M+4icM)pw__xhebU?3s`r7QLCaGp4tl2{`>jBx3DR>038m{b;{*
z(EQaK|M1B9Yqr(xzxFNj`iq;2_T4#M5$O%Q5}Pjv^dviP|GlwoV!E_@-PLD@45#Zh
z*8YtX*&{n+h7+r4%Zi8U&W&4S!dILyF1#vfmDKz{C#UN<FT+KKT&8myN*aaUh1~NB
zxRn{+k>`gfl4mRz_dR0ex<ELRX;;_Qwht`#Z_Hiv>(@0oGuE}`41I<<3U?}ZugJUd
zIP=vDXV9*Xgqa3c?l#=^;Y{UnmwGhY@P~h;XMmJgo7D;Bc{8TBm7Xb&U8j@#GXKri
zDO<mZn|yn_E2?(!rt0uA(;sjA=B`|J`_h&4)h{I0ncw7^^?Tyulfq8Ny{+3Ox;1!a
zvaWSjm7Vs8@ATVcj0(4YPtOv3_eS#L8{HQ-N_KCpJ5jo0PkC|N@d@S;x1Rs_5O({v
zrLO(nOA*)J--^8TdiES0W9#+Xqxr+WZg%BhQv4tpz@zO_891TLC??;ha7id{^}3Rt
zHM%c%rxwk7E#bIvi)m={{r#8su0C0oeqr<8lWnexUdc2*|NLvh%bn}0ek5>v?_{WG
zJQHAjR%q54v)%e%`tHenS+{mGU$1Y7Wz*Mn3z)e@eSDtsRF!YHUjL=K|7+i&iQj6D
z8f<c$zf$Jjt%tt?d*8lawf28N^6$L4e|y88=UcnoKW4L8?)z@pb^KOt^Rr8A?iy^`
zb#mk4>%|w|+|B>SbTO}=C428<kHufl-E%hh@?gUMCfkZ@a%algzC||gH~4+qIoNUM
zGhMbw=@~9-gx{HzANdtnAv(nkdEJ|f>z1><9i?3b%hM!F1z(7ST~N|p+*c&cbmfDF
z*_5vgH<lPK`D;5TFX#2nqSZV;Wy<TNLN8~{-nG&1%F#JSHrKX&d9ZPHzK4&suu0n<
zzk}L0PR@VzIB8>~Z-A82!uECHj|Bz&pOoHP_wruRJ|4mI!R52_!piga1=PLq3odgF
zcbq))sKajExrhA%q{5UB#F+dz?<cnH`ph?Lo&6@?z5D#bmD%o6zum9JuDo5dSTJtO
z>aWjEmp%(St+8rx?)m)VT(56)Tg6+(7jN0Ment6{pvwY9HvHi;&(1q=vyD+jAmM7G
zb?mpxUz=|ncu?*B_wx7jwwi+{Z@%1E{b9cE-T!ao81kMSw0-{L$kejm3x7SlYuaoY
zp}wkYMZtyIO|?sITW{NX?^D^&1JkNb=b!rZ|Djv@>5PKds{wC2<hNet+j?vLw_Prk
z(NDy-R357_?zwvA;K$F)0(}Bjm$3Mi^@~ORRa<lJ%F|o7UL82dzkg1v_1h^YYj>Uh
z{P)zu^4acj>$dN|{;Foxy?<Vlnb&Q)K5Op$vfYkp`}0cwEj#;lvf6P&9l5KI*|y8d
zeu&%37VzQQG~0@sQa6%5{abW7wxvnxaO34|4;;NeEM}~qSH0(mb>R^yoew?M?>DB}
z3i7Pw_F=kp!)l%zT3owtX_GJV>Tb<wHCp6)NhpBl%F}PV3<Y_mnZ<6uQ@-wy_Iy)!
zL-vRHzP_z_ch(+bW15>_#A0<YrK0nq1iR^s6Zem-KKOBC;QZ^ymTmjF#9jRMwOR7Q
z_Y=&fr;9N9?%%&*-}Ae*+XbH9DcQARVY);%f5OAYa|<W-`-|l5jwsx|?t74DbmHWn
zL7vCIo_eSKbZ*6-(A&4o4s2pC%Bm{Ps;+(fn4_xeO5@?mwadM%`o&A9ltty4eVf1X
z#m<Ws3@+BexvS($<TPLZJi2sO^jonB*QP#GtX2rQW8K87v%YS{A(jujt|r>Xnis6A
z6OfL`-FyA1`vu|GE}g9l6C&zm3;orr=FB?ev$c6^v-K)AJB@d{FBleWyd0SJvFY$B
zoqY!%{8-2Kn!mWZE;MJ~<@a@a7py<@DqG@Xvb1XM#%Wj1x!vyF7r5qSr}D$V>=M?4
zi8J<<6(4x*u;|U-nSS{%-b%fW?dBK0q9wy9@@z-)N5!+B_uQOp`{eeGcTUF+=+BnT
z-)=R3rM#u}3+tqBbLBrhk6`}&+r~V%(RS~=wRhhgPJ6$S@&2;B?|eEcSKr58w%m31
z$<52}WADHI>pK1S*Szylo9j#0=f6&1*taF;xdhkkq|PSh!;RT}hHIX2{*T;R&(wHD
z(9$yGuOP~bsU)RYE}4OQGcF3e-F$vorLFO_MH)H351y{jS(U-GYbIM;;Q4J^SFgWp
zA~1_X=~QPAqr$AJiKS~eHN!%WyO_)_4msmDyIt{k@!5ygzI&%_E|<2qD0v>0dA!eC
z)LK70ZvBftPw(9p?}~bV<r|;Hox5V`b<XjXzZV>R>RPaQQ}K;A9}<{DFK=31b$)tT
z?8;Y;anB$AF?&)vtt_fvv~=F;H?ECaa(AxHUT-R^_qOpc&*9hQzopwF=iU<%jt-Tr
zDO-HCXlG_davZyuT*l_=-7<D5Rqyl?k2jy6pv16*+sFTr;KOrHlZDHc9}i3@dbeIO
zCOXIIWv}$!bH4=Zm#cU5Fa}(|C}thjeP~nQ>r?FawGF?sJKflK`~ANEH*+2?*q(8s
z`|8pMfz~}P=lG7Vt@GcmACmZe@dBwiS<`*q$)5dYY`ZvO=7Q7WPN&p0&K|m6)x@i8
zX7%Lu{l|7mpK@Nw+`aa;ZuiljPJ3l<&W+yXwm$k#`|myFZw?-KbLOYx{nNb4^4l!S
zzwXlK`~B@}<+ZZDf39=?wx2!6%)IZg^FL?je_PY;uUmM)_4kc~4;}i9OAbpq8TK)i
zbDU&pZ)Yx8zAz<fX8EJ?|6dq{uTR<IXDEa+O(3_Z@siY`j<oOhs`G*^E@%qyx|)kf
z9cDW;YuAD&-<YQdW-xCB7199>*KArM9}Dk1T3XQmbw>LQE<d^L9r;S(43f;X%^zwi
zpEIURT&{3LQigx6{j~Z=VX|T$ZE6-j3*TM5>K6Mw`#I%b!v5}Tn)Y~S@Am9!JKN|o
ztNl9{)f%i{n1A-<q&c(ZbuX3O{>o>@l(t_P8Z*PL=I*?kurK6hvBCPcA(_+9O5d1y
z``63fV|5naj~#!_Hs`4AwxY`(cNcI=-#ptqSNYy$(`T!Fn^pHJ7c4LBsn|TbJ<wEl
z`{8S^Kh3<`xOMw&=HQ;*S8Z;u+wQjR<+Cx1u$dmE)1J-d{mY&E?7Fv8nddG(*i>ik
zbv?<EsXF6P$ZXlwu1{yW=g*o`(Ph%a?{!Awv6+O#{V?M@&$-Xmm96JG$+%9zY{RFj
zzMHj2O{#XCo_hKHzKieUVog4T9lgMAI&JY>zmP``7dBs!)7bWN{kLlKjY2#6{G(+f
zCjMP)_WWPm_x`M0`E5JvBC@Nu&I^5{QQXVh>;Gu!^X%MwlfIe@uZ}$a#dm#vSmeAF
zn-#xwn)pw-y(5J?LAL3(Ux@o<o%2=4MQ>eszdM6piEWm>)GhNT`ya|U|J)*^!*6<2
zt5D$uXN<DT;`J)9rk27irXaWHX>93-9x2QcnK);zi^F7p>*OQLEG}((vo}FXVpZ-d
z9gXaU`D-?Bm+ucRKK=jy+qpN3qp#0>{*(QT^DjeV|IbfWRnAl~T|50;NV?U^5Vd={
z(VHIY*v|C%nlkB?XX>L9(^S2uxkSpU-+Odpl8$zn^);tJA<cIzo)cIO$f`KL`CYZK
zS;gU0_Oi5n&*yb_cX!LGs5bpsSl6bn$KTNWe&=cT`}ZS1=q*3au5<W`wBP#sZLSLr
z37YA?UC#P`t<chku@XKF42=&Zm2E>6*V%4($JMg&RfDp?u~p2|ck>><|F-g9e=Nh+
z`~NmdOZwk4eS7M|pVi@87MQFNZgpgSG3D5^yBmJ@o;#p>_f)QJRc>nDYuy)9*p$z{
z>ECnF_V=^7JMBx(FUs4wJ94=Ize@1@&Y6)*bevzB%xm>w>u9t69LFgA_w+q`{~Ky=
z7Dj*8t2eUU^GJR(o1xC5^1r7I&hxDESbwtr$LXHzbK*xI&11eMaA@+Gh-A$*ZVBDX
z)0;mkE^jDZ#3tKhIOoUVCBlENZjt*Y`on6CLqS^4TJ!aVuKH(x8&)wCw3#k$yL*xI
zOQ5&0fK0*Bf7_2W{<PSzW4Y?YgF71UET4VwYpGAp?Z<s*xmrz`{m!sj$85A;=Tf)o
zd+oQU&vvIhywLK!I_i79RN+7O-p{v{*QFoZYd_~p-II=gX=Wep^ZxtDQN6z2_P2O>
zjQH6fn{M{oblTrYe(`mEmYt4k0qf@LvldG!Ue4=|{igE&k^kPOehaLn#Nv+|`1kx`
zS;2Vy#S;})@ZoKsV;yq~E<TvqcxFnb@6UTRpW^iz&re$U<G_oMc_%kbHum<&W;^td
zb#m^pjALB$g2cD{`N42?t?l&a!#&a*`wqHSg?+zqVYaSFcVgb{%*m%8^52z-yl^HW
z{(r@nBdz<UpZmToUM{NS$Nw9Kg)h%tS$W!dFPpKL+>0xEjh75m+tr1nO|34PzCHEg
z(uY0F=kv?Y&v`$$eswil=eZ|Rv+I(Wnbi$-oaR_FGb-~gXghGM$y~^5=|-)P^%o!e
zFX1^SFz@Wa8?uYj4?NjzlUV9Hxmb?TGGNWNf4>=nRpvTgH`$T#_gTX^-GmLx4JEd_
zO`c(zYdNVz_0obZita4>_C~)LBGTP&p2@oVEa2PZ-m7PI=4~|Iv8$}?4rfDi<+tUM
z@3YzZRp%Y6Yq=)=|GDDt?92OH6-{6C?X{KPkt(jn)Oj*t({)+<{UV19n1XF=)tB6l
z<ojQC>i%QjIq`zaK3vkVS@(5MV%MI$u9!_+|Fin%&EaRdTW9m~=UJZzjz06Z3H;fs
zskF@H@C<ifVZX#5&tG4AG4bh%(D<T=6B&zFcf1S8(wWt`zD#?D)7jdcZ{Fu#JeTmv
z)cue6X{KfOejJ#-OU#4$%8#NqJy&0VFYyCiZZ?5QmCNMKqN%OM2{%7(er_1XV0rf3
zJj1jtElw{g*`E6t8>VlvI99^lpc`)xa?LE*Xr@iof^%2YWlR~pIaGuij905$<bRBj
zoFRE(wpuTrMb_V6Q&&3|A3yhfUrpu%^ZZhO9ZTDX5^a16r#mm4x%qHKub#!k*ERd=
z-`%w~-oJa<?3j-;Y7@KdH|dpGOiuoMS!P-||MJVL{uW#;lF<D5^VkwyiRf6_m~VbJ
znl``ta9~sZLG?Rxihl}e&b*}Oe{163m=Er{6ItA9lhpWlqz+UuzjKkwcJAHDvU!3_
z`d<6<RUh}(U)pU@IO~|8qhaM7#`XMhaWlRyYL@ym@5}*ib^WvK_vU^4+i%DHjV0{*
zoRd6hzK0XezgaF_@vdmYMdsP_bCVbj=DNRGq&a2h>9z~&YBzmcs9SYS;)vI)16zZ+
z4;FVXY<G)I?_C)0`}3dYbJstKns;9IxfVsP5zw#ude>9YRw5<%R$R%EykFeKeA-VB
zIh>o__@raPJ06wz2*G=$stK$9&Y$`sGg_wJ>C)!-6A5;F$!&gKu!6fmL}RgorOWLf
zr^4kk4%a8eo9va?bvV7`)V>U(6^X}q71j29`o;dDzRlX?`Q{KSL5^0jX=~rt-x2md
z(yJzIyz7WwMv+2o=gsV+9_C%CpV~i!vNNPRZ1G%tSKsA)dCy_*-3w=yvnw|Tr~SG5
zhA+V@n&(5$^2_3Rul36$*JX>{e?Ql)e2cc!V|Qon1tt}lY55%gkE^R+H<GyW^ZNdK
zXLHjQzbq+=-Mi<il-g0>rHe8b+>BCdfAV^l{=7}Ck8c?KQgX6lR?a;q8_DVRd-|RQ
zTTVX?n|Uc=dF<S>#E+#<9Nrq7-*9DD_>6CErSme<jCYIpJ&^o+>A|$bspkXJkBE7%
zb?Mqwxv)*}OzX7CA3h%QdNGw#oK0Yl@$17kn0RClFq{wPy;p2?Uc2f%Z}yX`ne(sB
z|MBOv?+3{}Tf9#vRvtOfpnvgUf^d_9-4@R0;Y!T^mZ)wu6Y}_%cB=fg?EZ|t7s@O3
z{AD`W;@|GlF1tP1B42dNL=!jBJ!xWb+g-$iv+p)e;nfaUn|3tfcuFS6=~ur@<AuCk
zUp|sNa3?hWm7hj$jYiLw{=X~BZ9Pl89>@DWS4B)CU77wur#YkN(iCMYLq|6qIbIgS
z&(2&mY+lS;Vt3o}Jm-m<m6mkv*{26f=e$eVoby31CO(JZbkNI`vtLxXm>(b6xagAc
z?S#MgifWSh?8S6E)Wmb=RcMvE?|#A8a(?f9cJa5j9=vI~YHgM6xjr>vN#ev6m8->h
z(o23=2q#qCev-u&ym;Yzsr${YmW>$+n^@Be&ON;UXUPVM7t`Z&iUJO|2^s!>A8+4S
ze2n?`M;V`uSLUgT2w%!{xV^(vz-Q_G>rplvpUiGPy<kgWG{-b)HsP3SmUZ@f7Hw>M
z_SbNYZGxcCiJV!=oGN->@2xNtkuP?8H-kw+wM#R1YCM;<?xtPKO0G<}b0j3||K{U=
z?o8nAxRxx=HaD<AY6g#Sp~Cx4#rb#39_~{8<nLT|CfE8+Z}y(THT&z%JUIM<(dY2R
z$DQ-%^7H+k+!0)SF#gq^=VDF&vk!f?PX2J6?R{vq$=U$ssRt#_KTOCn+jmRc<Cs~o
z!PN~GRbCtS3Hun;)_gshny3)-;>)r6qcKIi-kU%7WnVtIRl8B7$q#7(+KQG8e{o*%
z34*%YKKfXfU+fa#b!J%<s5m{jn|1H6<MmJf-8?%la7MaXcWp%tn?C#TWfQ&}c{QuS
zEawTYaoTLnna*3!s(U|X<XgRESA#(MGf4qn=`jC<qJw4&qV4Kyb1uGXoqp`{+=7ct
zPH)crm~>cvp3%;jgH7%1?L2)_8+f|86b@uXNN|}lE;{Jcoo@6kL1eK-phKi>fK&u;
zGh0aMv`F5Ue*PvukBZN(*v69V(eq8eDsgAyr32~td@~L9Bpi6+|NNTa4dJ~P?n!Ph
zmD+p2D6MDhx<mHSY;zK~^?&_pek>=!?#%In)iWBeZpaC#C>3q}DaYc*nZWX5_2YBj
z(<G}NsXp^Q{Ok3MsgHXz-wXCWp6dC1k44ghHq)9+!xO7{lXj<x8t}5$XL_#lYl-My
z5b?X_!7AHtzmhn#U20Q==gAi89x;kAc(u#8?538F+ojDFnrxRAo7)!7``(kA_r&h@
zmvzSfd!jSMWj@;PzH)AUkjb`X%Oz^m=T3vI?qtvmV7-{)_4(*3r6?1rhujWJjX5Wt
zzj0QgX4{6GkH47Hq@{CqWNfpvjr)=HM>3hiA#LiWnK$&4BhU7zZ(7uI{@NvOF>{?Q
zCt0;)wtT+szI^)J1tuvr>b+(*vt$27XjxjcYW{uPmZ~mRen^Ae=CFPAah=_(dGsom
zTsK}fVM5gDgmjCUEK3<5{Fq;JvBg#-)KKz7=gh3^)eakjt{w6F5`Nf#DPPC(DTk79
zRr)>NlHF^zHeEHiBrJAohwh6m)#*)!EukL!mTrAmIhU99L?REP-RCzCxaMs=$8mxu
zp1rEMa@ntS4_;}hy{srdHTho3iHyEwY;Tw@EzYr?cC9M8Myij0T9f@7v-k*(hD#H^
z{JGlk`6#FV^4J}j;`fYO{r!K(&*e{&y3M`pM6|c!jpU9u%iok|Hhb#4__@olV_){4
z)gLpTU0GFKD$9AHf39J~6b_wzd1u#1Z%k@h;TEp&b)hw*_}Y+}mux>=a>#r!#cerK
z(Uik_@r%vHlj)ALBO~_xIOtn<fA5z-@gF=IX&V!tGPI@cn(6w+eAb!|SHsqv+hm^O
zmv(CD{8jg_2TByQ8M6DuPnenh?!c2hrBycz|J~A<k>jwvC6%p>M~&z05$}2xE^FRp
zQe|59Vl#bN(oO#e{78?G<6><Hlel|Q(>HZqYp~`9sd=GSnU^XGJ&oW^X^T;R;g!z)
zsPf2@Vvf%2V86Ad1<BWJcL*Ku$((%7;NKRBo=V}DhSfj5P5Ry&sJ-uzf0XpIX9p6R
zBIA43Z(jH7UTeaio@3t*&IxbZ%$YB8r0tD*v#~#q?bV|Bc}vVTOE@%iTK>50yYWkC
zF^iZ~eW$36?xU!e9N9%zCns`fe3raF|HcW%D|Kr>-zz%$Gd_K>WG+YWT9Hi$BK)`_
z{US2NWk0@i*yLvs{8z~ed0T6DhZ@7hf_hn*tMR){8+tbg)IBd^-?cb#_GihWS<cD9
zH)g~e9nLv?Cv%nJoD;ETE@?{kxg3Ql*JsqT*&ROi#D*<~>-qXV9v?lWge7OA@0_S;
zI%CklaJx;Fok>IOGJ|*CvY`2zX}>o7Jp9n5Njm3&@st?xaMOl~Y{w35o}}_Ys4pt>
z+vJVi99bRyN2jRr8^jxMJ}$WYB9)nA&B7mh)RXv*=AGGPkn_+#d0K%QvsZI{TPyp9
z4)ss-ZtSo~w7<9aN8h!3_ws|vETTD%Sc})npWAVNR>7HHk_NTEelCmj@co?}abNhE
zq#J+6-9VrG)5Z%WoEtPRSNJxhhWjq`+&`r<MfS>{7hjI~=uf%Q9$b^LyzBgw{j%Lo
zb7t}G*(efJ>Se4JmR~76_ui2JkGs!(SQD?tU&{34f?w}+Rgib5UyIho&YL-3_qa#>
z*Ks!ak<Q^T<L=9Sf2Ql*Q|?ta*;u$Yo8#O})|qE(#J4bQt?7Gu=_c1}-n;u3M|?5v
zy_aKfp6TV*D@`{!?Pf=An!kV5#vL_tosB)p`Cd-nShM`*)5G5u99%LpDsX0c`OO~<
zOl}NU&dgizX4+0?CI{Y~ewIf&r5>$c`89OItX10<m_!?#dhQ+UT4t>MSgKxm&z3iL
zb=tTkYMH{sB}{%A#yoJ=@tSb1CZnK4w`$VOt%lJ8-maF5Jac+(AC6Gx3chv7LwaMI
z!Mui6U6aSXQ7mSEgqKOBJ$=Av<o)bgI&&dgy5_S*iEX#}f<IiE(=VOFb8eb*E#FCZ
zmT8G!8dUXED-C<s8fs-Kr5KvK&)l>26?@hn&NXfeI8_V}6syemvc~gec#p(^U$c2l
zS8p;vE<i8HEHd<(EXZpfzWeglq^<W~Nj|I*<2ZQAv+n27V^hyHRw%XQ_6QyDw)t$m
zF=O`Ht8dbm?K<9k=0N(17N&C#7De8zI}oWMwYQ+OqTo_T#Fkx0=U)2~b?fA$*-rh}
zG9or<pEa&gd%%;;e?orV?FjSgi0S%r3oDr7#2a!R=ZP^}evB*mKmC7K;GBlFA)aQ!
zCTszpIXH8sxC+;(-Q!4dUcP0jgGkCU!JljLPg+0jOSo`=-KyPuURC;;qUwXpRnptr
zpY36?nt#xHbBpl13aOob{xX&qE^IJ0c`IsAI7@Ys%YKu0b-uqBIbSo7F}1s;uxHn|
zjTh@P-I|QwyxhzkK7FYo(<iIIpyC6!yO*(Ute1YlwVLn2&ddXk@{g#S{8cQ8LLAO>
zz)V5vhtAZ#=JP-HMn2ihGH3I-Jl;)n*67cg?z{Wc&z{4POB-j3K1ge}PM0~i!B1qH
z`tvh4B<4g|)Tc_kJa_Kk%Lt=`m*?)umU4Jo^?!@`l6h6UCw-Tix2-fcI1{{x>x;ec
zPoFtVYY!A8`EQ+*)z#}Wt#MY75#K+>4VTw6X018)fi-?gQtV~1zf2o=j2HRdy7@->
z#q?$6ZHB2Q=BvLke|}ek)64lx(mme#oLj<-iyDvp5MLNCC2;mZXI4()THzdx&<Z_)
z{T5H(MNC>Cd`>d#=bmjMQ+Cfi%O?C{ftok3c&_7wUsn%WK3-5(-;CVMxxwag`0bq8
z>2uEiX=M13Q<Qa2b<)hE=iExxty?<jWyRtGwt0^W+FqJj%xSz-Qk*vXw)y6i-36%}
z)~=t=9F;Xqo3}9gR@JYd=QHXqE;BoCl=D$TwZ?)uvFCosC&~NIVlRX+#`8KXEBd!V
z*r%=1%IkEpy^pDw>gLi9hc+B<NUbpIU}km5jJPZ;yu9?xjtzW_%l5J^jg{ISdm+kj
zhQiF)<D2FgTzc{$vGzxA>6_#3ig!ELWzO~9*Z*wKjN8-d|9PoY<{Dl|*LBcpH_qFv
zXb^d;$%37|UUSX*&v6;wZC`9b8j)Bg*t>T9x!;RUmY4LOXLsk_c5~9rQ$KmmSM1z3
z@0dYT+nmiQR*V+Sob3g_{#05-M;cfgL?3U}ZvJrIA+32bx54?glI{Z*2O>@6+}C~H
z+ZVVa!|NQw!=u3`7xksie|jcwzfD+!Zs~-2?jJspK}WR>4pe*#-Z@{@aC44D`pT8Z
zx?3k{Hb|wpb1%Q-QId34<IL{HznkW!@gBcu%^Ojcd&)44GvQ<-ce2<KFN0%|xkrTF
z%=w<7<CxPE(R|n2?#u$S48BJ@FTZG>c&vI}VwzFKjM`}zOc%>b|G6C*by;>U?}p9-
z?gBBtq=TjZguI;^&(AvNoo9XNB668}R#B>rdxfB`RQC_2oHGkfKfZWgVq@bOHLFE;
z_wIhi?-jcs>)z>`ceZ`h_|a1ub2y6ip~3r_WwWCrBN7YBKAt+T^&aP&J(d{<Hd}-p
z=y7D;aM@tp=R={ri5HjsniitA)ad+#J1zBU;?D6~R#;qQTRhW$)2f!Vn^ud<rMy<{
zTDdUgUPyHC*~@{y6jy#VZII%3Z|Qwk!pXVDBEfN$sO-g@gO>co`x`Q@r^oy~T{qWw
z&$gMYmkydWS1yZM5Ikqe;rsb~ieZOZJ(CPe8rowR&rIJY;Pv4mGe<<m?&CI-wLOs=
zFeW`2_5nK92VzZrq<nM{30V5X_=(k9J@bD@*ttU5jc1<uA;hF$Y>|G0Gwkx&nLUe&
z%RYMj-#V|5=ZVam8Sz`Jm?w7R-8)mgyzweSmi+yh0la*=rso5Ad6XUOLQbZCy5JWO
z?z<)EuRx~L)=8e(iOUymma5t6wV2(D^`MVTgK>(D_#P$)UT?vMOB-%kF||Hi`c?O*
z+uDP5!4A)RUc?05iTl!f%V~Aj$x8-@60XS~-oa>AqF|q{GlM6E&2IALSvL;UWNw-m
zHhJFrR7T`h#ezZ?>+BzlP7fEIl)bpY&}P~3y)x2ivt^}UG_hS;RZ`C0`0+sotI^}e
z+}XFYV>Ujv+<fZ68>{Bcp$8=2n53;byMBSS6zHs#F0T5QQpeqVKl8*%EqlnY{iN!}
z+1#hyK2D#}wm8skvOW9f6@|fTzfAwsILBs#j^o$$4v7s?89mKXVll_90wp30(s+F=
z51*)Gx^A#bc<!YSt_GJJ5+?ezefK+jWSfmao5MObHSfcBWW*F(CI3C0dtj@Jp0;%6
z_epzS{n115kEe^aZ^@_K`c`vtbJnbjh}<UlpjDCS)NZ3UCWUtzT+;5uPCm)=q2&8J
zs}nx<=}wZ<&;M`lHedHW<K~m?!o@~&4u&Lec=~0*|C?_guFN~T<<+tN{YpDmzVc`L
ztTRhvm5<3phpx%{#phl+5K+qHvNS0t)30!9)A{b{pF*a!n;(nhJwHRiS2p6y%RI3u
zZA+Hh3bCKBOwzQ->hRcgAmV@#&*vDfBPlV#p`B-sA3V|HJ1y+N34QaQvtB>gru*;G
z+&XLIns$Sz%j9M2rsm)9$X@h(=GAjzq6hqV1Q{kI+VOpy>3g`5H%{V;C{KISLxZN<
zQEr=kd7ka%^*>YgC8IHQCofz2ugb|02lzhs@V{-TUp6;xUrn;alx0U)6C@w-)XgYL
zUs=g!a^%RiqF<sl%c@R`39_U~%wN9vV(0xS_q+KW?+K?&6J-}W5XHRWX6unA{VZN}
zhV&V;nHA4ZZ~JNCVy)Y0Yw$26h0Q`c_F8ebeev^qeki%6Gvh?*DP^nh>yu`1=n5Up
za4m?Ck-m{!YVjfHCO7Zh|E@a82dBrfpHHkTmHTi$VRq@4p4eTNx_L#y4$Z8a_te~Q
zop24CIBzps*qfYN2B{3^u6>I1uH1k5d|Rbfx8i2b|33GaEpErz1t*GSbh_Vkz4m&c
z%(lELtKJgzW&V#JJ7lxnJ2Z36n_2Tr@7LYuzJO9@DNAYOCiqF|G295ccinKs<+oqi
z4j)i%G?tvu9i7dw`}XD?Ny&+6KQEk#`sDWhMejYs8R-=}b4m}G9X2jMw}H2+IhQT3
zxazO`T`9?{n;$OHn%|RZ)~$X-eDcB>pB8syPIw*C_fF*Z{Hv_C(aXiQdF(ln<q`iW
z{pljsRp*b-uP_w7cQCMdE1P?-eR9TfBcU00Q<@Vc&F@8-qtq>H6=zv2G8W-GmgHdg
z?ToUJ?ySr5&er1LYd8eYt(o&Y#_oRaJVC*8ZXbns(r3i8Elp(hVKZW$f3hHL+it7h
zYQNmlA1u{8=`6E(W<a3?m&IR?HnExMCv1K>2`*jT-k0&c=lrQlLJB?XVbS_I&&#*z
zCFJgXhSqwSb@=I|<iev$dCey`DB7Nun|=HF>o*rmzV#?Pn|5Z$^u^mHPw*VfHQs&u
z^yhgu_*@PZoMT8|{HyicKhM(boAocg)mb^~gO7`?*_q8(Y@$P-I9yE4wcQ?-T6b%$
zGh6MUFp&k9C&5-)DX?y9%Sc+Z`O;Yl*>fh3gXfmFnF<Fh&CGl@EvzDOgOs{4OWdOC
zQX6<~-(ZMkb+st2s!eWd{kJi*VD=~N2^U!AtX(Vq%<OSJ>$=D}a-v&me?^+fOn#R0
z_-MkC#`D{l1isvx8`j{5G!~N~adF<$&x<+_{$A9Z@m2ZpuXFDl&+d>jG|GFi$GGMB
z#E+U!_ufg_D*0?$#gRvWGtV%jdo(;!eYTu+X5;w-DdxYAZEa%}owITKlxE{;H$~bj
zS6yJVJs;NXndi>V{>Eg-oB8LLBl}KE>6YZ-%N=E6`)(Wy-}lQw`rqL&%|$CO9DMtE
zmQL7_D|eJO@SLx4o_F}#!*3GLraPo9Fr4@L2wTn80+Xf^^<%sTY?|jT`xS8`?ZM_t
zZ&ai`AB3ly&8!sDH9EiJY+1ea{I~MQZavapifrXJ#*02;-4Z;f1vXklZ}5=h+b+$$
zTA3le;#urvi<ycKR&-w2cBe4C<@~;dRo2He!x}dm-MuJeIJNTFq}h?LYOWb2+q~SO
z!U~^$k?K&Z%JdS?{d{wC@G6(|#2pQ{pC&wXJ7Afd(&osVx7{Yj;m9Td{xe${EoK|e
zvZ{99+E)2)h3Hqy<j)t>4yG?XCuzriPEu&`s_hMD7Ihw)v*pkFgne^o|IFzw6WqIZ
z4HI(Wb1?2`i&5vlC%#rFJweIDB5Pp*$9b9421|8=CVV*KR=U}|`eJNuou|y6m0Ud%
z4+_G5sSBPn*tmAr?U^%fihNkpwC8KivS&)~j(G0&MX&CvQ(r|MiEL@f$cfvsL!teX
z>i+M)n;9!IYn3N&uQIhg{P@78OY741sBGY2<kLQ#oBEK4h3&b|)SFLi&wCXw+uiHB
z!tTkUi>Bb)lNf^<L{<bd{z&?}nMqoE0)PA#gP4TLA7{E`3N2b2u}1l^70)Z3BP|cZ
z-d{M;vM}EGp7ol!rh3|!=PoUO>Teh6AATb9Q(ShQz4Xh-Uv56r*zAJeidWA|&A7Gs
z+SC13{UKWL)2!cUvr4&bSr*9f=IF^aC6x^SX1>T}vv_P=a^><{o`_>-Ha|+eGJBoe
z-j8*f8`hsQ|Fsb|;^i=xtLE+PGp^P(#~L2EMe&Nijs60@j;R5b_iiMzzH-|VzHG@u
zrvLqNFny3|8tc^#hdaWSTe}~Hr2~+c6<BA5HGFq{-03&(^_mGU&g{<ctry-q5oRFR
z_yvBfA>f16R|i`myfJ}k$pJsjfUb;tpC;!`=-w9W>oDIN(M4a<5XI<ZVx@*`*^N>z
zfkkh3sV(H12)hFs<i-xS;}9o;I9wB$cKbC-b$oNKWYl=oz3ug_J}no7vDIOWPFrkm
zZ~1Z<Veo=dQ3aRmyW1AenhZDgz`W1~f!y<Ex_=FV;K7p-%bKMuwQKQ5xy+j0bJzZ^
z3@JuPDzHYmHb!-n<;@aU8+vQfE2QCuYB!Ljm#2JjMp&BgUL$~g(cHx@&+ldC|5AlI
zeF=l+1tG30%^5-KiYNS9wAE#Dkg6vnoIMzW7JL<5!GH0B^4mKmiczo4&HpkXtk2+O
z<+vENc<u_&0Oy4+E}o2IdEfc&?74hBs?lokvrrcMAG_!MuUYhZw)(DU?SS+vdrrN-
zwfgPXW77FDmPJp(*M4)D8~C~QM%*WVHJ9w8r|quJ6j5M}a%g<F?_lBG5VPsOvsc>&
zq+gNws=xYEb9!F=>$fN0pH1KY{>P@ROr>sT1OIQ@pS^zDb?xWp_Wpb}`(wqPt9*y|
zFFLov^40$Jx4eHQH)hmsKD6+1+u`&jAKc9MeY(ni>%)BgZJmFX$xL~X(^$<E3Q9F)
zy-eGyeiiTR1zqK{`KsIs<E*}4)31Jd?^jlvuXy{~wP~lHM!l0Xb^m+%-@3iG;?CQC
zk1?A0=TW!*g}Aj}9p(lWU#XAZ8os&1On&Lg?DDfm=W98El0+<{iuuFnEmHG5zq*3l
zDx|#gXRWowI#u}<mapQ!mA}3E&8bRw?afJRRjn?p_`fep-)YO;y42;rKzAL<1thG$
z_sMe6LHpC&ZZVhMo8Q3}z2)jHuT}b4ejQ=)izdfxu`Rf~V7>#_1g7s^jlcUd7G5mB
zFUxEC^zqe_i|?j(-Tq^{oA2Vb3vQ>{)?SKpkZCw)_WH(=<GS-~3m&{lYR=#Dzhj#(
z?-DES)my?N#d)V3b6i^#Z{oCttzTEmk81+c@5shnH<LSBe&TYnr%NYX7kj67Rq*Zp
zTl*T6w}yRAw5eXO_U(bl#UTRv-1=F2cP>1%)vo8iY^mGX?UolK@8~V}FV_j5wD-+F
z-7SI69bxmGeg>KU6O8iguita=Mz!|Tyj70n0vAJ0nP15&ol|qQ+oU~Xfr-<Wzcu~~
z?}Mzrz3jj=!Q7qBFB>)U6-)13f2|YtE-gs-qS05IXSexfew_5@lgXGb?!9^XrL?!@
z)Af7y+P_@!_gR-}8Oz04TeW6>h|XC2OOW^PyVuuwgtl)Lb$R#W<TMujntbQA^XsLv
z_62wPIc>?^edQuMIA34L;>uyXxWhR3%@ob|8mDFd^mDPhA7lCBTUGMnQ>Wjy^@e>b
z`ZDfsuI1}ijs0v`{_H@baq;!~JKr9^UZYcg(p;sxZNFQm**?{OFC8*DkA`nN^z)Kw
zc0dTjd*`#;@4E(jo{sjakvnV7mc6cqTP$jA&c<ajvtD)jHTd22I@ufYrO&Cm@a55<
z^a$?_?D=u``dV#Qh3Wl2X!@#DUSREt%1>*L-CDO;`F-;Br-|XY$Jt^{{w}=CG3~XA
z_}Z)Qm_y=&8boeP<uYl{P)eM7c;%v&C{IStTM-Kn{dG=b6@7b^k<nD(?61mI^NzoH
zx&QC&%bQnTF?G1LHN>k*b8nLT1pNbM5rRLrKJri9-!YY4>VdO#b<O!*%pJ=-9K?m@
zCRKapHeNe<S;Beyp*%zFRa#;0ucwHu?9BLjO2yRW>7zYgUH+>6+}OT#)2q3vYu9Al
zuF{_D^;Tz*sHu$o+fV<0P2@dy$a9MQ%Nv@zLOpJ?xqM#z%ysd;jNPBi9HuI<dNkf$
z>F~HC?CY&~vx_UAm`O4{k>2s;dRm_PRl&E`%XTxU<exqMVq<>I;~N@XA9;W7yl{~-
z+CN^*p1uAEcU(+WY(?P1*?RW6`}d~B1~AO;pLO3`+*fM#!VgznI07P;_&!-L?c<{y
z_~WGd{40z7O>b6y{?LAB%Bg9SZb#i)nUxya_)Dv0*8R&a=}YIex<&^2-SJ&m^3V5n
zbB4W@dGCYG*ZG7Ny*>Av;cAzN0&Ce)re0;K-F4x`7rDN(e!TzdP1&UTp)8C)e>dzX
z-gzQo_4j>2vKRO5-ScwYbHk!9()TT_l%^edcG>;t^sc$C^FP{Etk#W>sd0YjdUE>1
z^*!(ItzRy7%4o&UziuY?SSkZ{hj)Z+56EZ}x;yh$S6hgwQod$r^;EO?uWV}r_Wy3k
zn0onIrIxbG?Wy81t3<%lu3xn;$Smso{@&`>BGKx!$|&vWFGLC#T&(|k-Nl4q(&}f<
z#a~{>+pn6~6>HV=eZ%ye#~)O$&fX~e`@@`i=6lgmU3)$M&6yRyUa#T({{J0fQg0{7
zNK8C;rmHhBME1t(qnTmrsul?^2;LvzQ_=cqI-mT$B^mDD!c8V_N?n>8+B|hj(Zz!S
z`K9kn7j?dfNwJ>(@A2}^%PW^?&Mvwb(Z9th-bBUfr0eScMLv+~BtUBetIKI=-Bp5f
zRg3dZI5S6tr^Q7~T&c+;E|71-8yHpU^1J;hue)vkLh*h7zKXX!ne<*Z>#_dE_;XDg
zZGSl5Uike;(JEhuxsRBSlzXwh{`v0`DD28Eay_<;=)NN?{`TG7-MlB4=E&bOSQB~V
z_;r5Sq})|Gk(JRO&AzFHYOm&NgT?hn$&fqE0d{|9y|i4=wB@af$-LJ~T-5K@fvd_D
z@r}C5QObI!%BHVv%<z`p5q&%AZKKuy!<WjGZ<T4^zw<n_{33(Z+G}A!wdDdArG%=u
z+0t*mznSL3yi{<})%wh3lfX6Wn?#r2`rVe^*>(Y+bIUGD?YjIv;^C`~w)MGZpKV(3
z%=+mf(<@>v86}SDpjK{zzUGGQg1miKyjI%=Jg@D}fSAv{$n;2Ysfe0*u72#Rm)j>W
zEpd3QxuIR~ZFF~JFv#TE7mIRpa<-%u&kXn+`*6`!$5>ubMVIWo+*VgXH(q?31gYD2
zb&PIY*jjBa;s&a&_U9D;xqEV5{!5{PCDW!&L$BO4L=Nfv%UFM{Y5}4u-T!Uw|7+&j
z9p2m?foU%4^4C3UFMhjpwz-a5(}C;F7N*$0&5w7j?Bz96bjpU-+1eKmzm2_LQ~c-s
z*UtU%G5H%Ws0S2Z+5ZOA1}J@ZXXo|!dRw8+0~52>vcKw?wfNufReP^=m^pWByF5MX
zR}H90o6c48mG{tW$77qp_5JECH@@G_um8MMFNG&sC+?Ng+0}nQ74qA+Z$B)WV3-3o
z=l$Vtlj@C%FQzH^&%I>ts&{MOp5_bvYM?L%H>w)%u3!*YJ6&-W-;`s;bEmwx)BDz?
zR0$znyOcrk*1oJfL>rbt^MVwYhG6e=tCOzTz0(#W53<XJH7MVjtgn3WWYJtu{bhUS
z&X>#JWCUr3nu<&i^j&7+wB=fc<tn5J$v26t92dV8Jig?wjIcT^RG~j(a;3PhyI$1l
zZK_viBbv0|dYHUin3vjCb_wL3-=h0h0I3xg$ttnP*PU-4k9aS;V$|tvs-bgGG`3_^
zFVlS44xfoya^PMdL&r5^S-XlNqx>bIWf${&TK@ff;<~4?38B%0F(|=Z^vBPQ<@R!4
zja^O$M<woPaKG{6;?7LVb8#D+F0nmde74QN;&@U5_eFc{kPeUkIe}l!x^4K8@%6=A
z&hLKHIUQCjIoV$RIfLt~iD>yUr*fXN?%NeL+*X8rNV+Xt&f~cAoa_E5k@lBtUqiUU
zbLMib-PWq?XxH__@#-5xNnKmD-_N<WzMU;9u-Di|$@a3Uq3F)w@-IHFv-&Ts-{)R^
z$TnE#-3ASr!%z8+u412OcSF~8L3F(Jt}l(N9=^Zy-1+(YUG*2&e(x6Ck<9T$qDg0&
z)85NEztRrbe44KIa>uPxtOfmhx8FHxqZGgE^Y!O{LZ`=0tXR=6UuJNnp67(S-$l2t
zkJsLce{DHWT4%C-<hClq^_8a=Fny0_G?ji}6n&uQ!*S((kL7jj3yYkVnKax4^{a1R
z-}h~6`2AfaUuq{$x|Ego|HGY<tre-S+LLUeZO=)~6Mf9C`q5{%qu{UQ=QW(af04ZV
z@Um;+i!V<W1_#-cW(9RkSD!yA>CwsQM=ef1dT{b%v-%MM^LZLvZ-v#j`0r6U`dB~n
zsKn!sH$F;zeDQIkd%vRF>0`>r-Q+7bM%ny%)FH8WYtoa4i<SAW@||^dKYjeLyJ^yf
z_0=t{F^T_}Z?1o~NhYPp(JIi>?DfWX0!^Lk?Q7T)D`vS@D|X%Hdu#Fa%*~bZA-(D6
zuUUnBau=~*=heSg%ROh|hDS4=e02<sJbPZ^gY$+5Y|l#SK27=e;55fwVfE5}Wxp44
z$%a2~c<adJs{DwS;;RX7bx7@My1pUnLHLv-PlVOGAAJ;_oaAHkO(^Nl#m5|P7a!l!
zFC(42&_=4i&+bf<Y+aE?pYz9rYDdY#{Cfkm=gHT7__;93@W+GCKP`-YBpj8f_~4<q
zuRcXV{_p+&xsyLWm{|93CckaJM9q)ZgYJENw!a>INIq`TFE3yDXz9gf^<(pFR@T0H
z`q6p08sGd`HZ@g3;mgy{y_lbQ{qyN4+v8=uuT#!)zbq47Q93WozI*i_(Qt;Jn-t>D
z6!Jb7f4lsMw()L}$3~~u+3%3)wfVK^nP6G3RNV|&Cuf}-g+WWddjC_AH+Gda<=-a7
znk9e9wEw45<DZj351nG4D#h1GeG=Zhaz*WK&AsxywtpV|>x|m|*eW&r?k`F8j>4F3
z>37LI#>eE-zu)2X%iLdgox^~6-qyb_-0gpr|Nm#7(X(+@#4?=#=8F~wt}ZdTGh?-)
zlwPsXij|tatr?$gp7X0n717{zRuSo7vzYAcn>oRgX{*g5&jn@c1=gx9ox0a?np3o^
z%i*;lPFofWEn<|n4EuEdMEwq*OrG3sL0*Som&|BqlbAcN_jrdonaJc%<xBXw@znct
znTwyMs42~wbg9H&Byd)TFK<xP;eun8>x>pX^zRLdvUFkIGIgm*U&fqETR1o`PMNZ7
zpTyLE!HV@KL><<OEqYiMI{VTq7n3_nx;1$9RlROoEfUqpeQ|N|VFnJ?rJ3AQ*j%i6
zT`n8CWIyjnTk-kEJ=LSLo^6<wU-N8DiS6?#$JReoT2$yItiPw{lAAp9BH6=BIj5NE
z1kGZ)_-gr<PaVhlmp*gkZD$FWzQ(}7eAUy%G352Pz*&#(8$Z=td(8gm=LOe9=6t+7
zQ(&!GURdbLJeSE!r_Gs_<dxj9Y=Oy-7Yv)<*L~leyZ_Hq{r}JI+kLoo`~Cjw@9(C0
zt?tZdot-MF%qzY_$li_3bZfWT+_yjLr-?R3&AXK1GP!3<l9%?z%OCu$o-NhX@cnXW
zl~iV>_}WF&kM(SM`|*;BSN0`u;r9zRO+VJVWzY05hb>B8+J={|ObI*dEu6Sw*Tk^-
z!WUQ;JzSx;Xv-h*r@bZ@y(jmWFo(IFuFjnFf6DhuDqgGad+ZkPV2fXyDDM01s@L8v
zoEN>N>wBa#jh3Di|0w2QV!AX}@M6OLPB*E~m*j*rd!;iS+HIEhHfizAyI@yZ^yk89
z;WOTk-J*79Ea{wbEh#SQpS*$T#MKv>9=R@X$ZS8F!r|Z0aH*j7nEh<W%%puzOH34Q
zbx)e87A&>L=VZ{@XUnx@wstMJrm{3wdr{-JtRSg>H-iPQY-7AQYvGo^$qPTmN3ox{
z#$tN3eTu6|Ohu|!_3qQ0D$FxvZ7Mdb-Mja1y8Z8)`+v?}pCrC#%j5dEn`Qy4r7vn#
zW~xpJb1;cv@xDCw5vP9Iqf?ccr()70y|m9&c!A<X^KRtaOFOtjRqt{xUuCs)W6bgy
zO>1gXI({yTni6)-`*ghcl_|>%E>-NB96alV#Wc@yEsb7t->E&%zbQo}@ARwl@LmvR
ze7ADeQtSC4%dJ2E3%k4XoSNX;RnwQ1U95Pud1gs^slKmoW~=kY7hWMZUA0eDTq~1(
zRbcwc{8E=j?(2?e%S{aLp49O5Du1S#`=s;n(U*Q{OQtT~^6Q`ACjLDp|N0jtDf@br
zciH+E++<uNdTH(*kJITk^WBdH+eo}}F%h{P=H<Mv^mmNO&np6sYm;_uR$98UO4elN
z>zo;vI4*iESgW>3)5cr!;)InNPppoXJYRo5(qVeo0f`B37PiYZHDCL7EjoX$MIqA^
zwv^_L-}LkMJ@3!GCcp2-v$7*?`eE@d<~3ahCba9ioRdCV+4^VmgwJpK3b-xHRgTZg
zX6w4zx5hfiIP3qnSytM&m&Ro0oh}Ue?Yv56S15l-*^jCJ-26+Nxe}S@nwMvun0n`t
z+eLnzVh<1YlwRj`&kmN!bFbO0?AyNU);y1E${!M<Ji~=zf{t`gDzOrYy_O}v_jaLf
zZfCyW`frQ8RMlmJH~k2j(|V;e=E%32nN{n)MQa3qE^}sGr4jJkEoR5sa7A7Q2?HJj
zHoM<H&)3&IIWckD>FN6Wzun4Sux0+gFU$SyeyX?$1Rxq6py9GR$*lW6&wX$6@5kf)
kKaT1jNMG(Z_t*akM{i%Zcd<8MU|?YIboFyt=akR{06qL$umAu6

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard2_Help.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard2_Help.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9ce8ef80be10edfbcd59f82d4db440b0ead8648
GIT binary patch
literal 65807
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

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard3_Help.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/AddImageWizard3_Help.png
new file mode 100644
index 0000000000000000000000000000000000000000..876d5a789fe1d39d21e361f51d4896f7f86b665a
GIT binary patch
literal 64193
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

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/Autopsy_overview.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/Autopsy_overview.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2d854b0ba2fafb10f88b908aafc8f9af592a6a8
GIT binary patch
literal 167286
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
HB{Ts58jO8M

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/CasePropertiesHelp.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/CasePropertiesHelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..04c1cdb0bb50fbbcda13d4242aef118230c3193f
GIT binary patch
literal 48676
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

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/NewCaseWizardHelp.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/NewCaseWizardHelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..f86132d9a8c03b86d7432ecde31a9da1381dd259
GIT binary patch
literal 58574
zcmeAS@N?(olHy`uVBq!ia0y~yU^>OXz<7j%iGhJ(z1Zwu3=9m6#X;^)4C~IxykuZt
zU`coMb!1@J*w6hZk(GggfwRCPvY3H^?=T269?xHq!oct(+0(@_q$2Lk-|`Zb=QH1N
zUYozW`q`YfGmVSCeR+51=F94LdvCq0-W|Pcwr=3PZSO=iJEwRA_GtwQrD{xCq~7g1
zEzwdea$kVlQ*PGi5BI94&t$k%{hqf*GU(O2+I>Hil$CiKSSDyJn4o{|bV^D}%8cbk
zpMF1my-!zHS65Y4HT~S2o7?m6d+YE05?=q8(<rDxM1j?V5ll^6dSLT;yWh`d=gZmE
z{5aIgee~$j=nwZhh1Ks>zu)`+=l{Q*|Igq5^Y-`gbM0#H_3poGQ8SJx_;hYo#2dc?
zM(!hd&(FPMNm{ft_UPRQDPdwW_RLP%xVtgs^YM2n8(zrPf9cC-{OtDLpnJ)UTz{9e
zhqveL*m-!nam0&l*^aZzTc6Fn)6_jv*<$`prq6vlZZa27y7{NL>8#Ob!_8f0$zM62
ziJpBl_oV&otrgcV)od2qbX8-*+5LSR{{L8B^|94*b%phZ*-5Hu`*%J%{rQ{2HnqD;
zJh^A)y<*+Z-jdH*6U(vfL3o#S$?V8a;uF8H9u-TuAA9e_+bjC!52f`Ve^=b6etDn$
z`(Ky$r5(+WeR$jA^!mKa%@?lRee)(RL+j+B;P0C@y{vxt^!DBUf1fVb|NIqic1-@<
zlXvd*Y&Hyv3_|sP9?O4!f1iK;(P@{L`#0<UTmJv&dj7dOb2c39y7ksw`-}VOoiCr1
zEs2?)mAXqgb=TqzMQamwC2!!mTX?YV?j_muW%dWx2I<@QZsU6UF~vG;q3GI}YM%{@
zpUzUzzAV#wd!o_SJABhu@=y2c2s0|Q$ZPjf3wm?-QRj}{`UsnUiJWpvO%FM7`qXlS
zt!k9jyV`Y~uW*KBUx-BCJtLXjsVQNZR;R>1Xxy5}rTnJAa<g;c?+s@TyloCjWB2~D
z;k)-2_O8ce!Q1zHZ1>-=*L+KLUdH|1dbieP&zgJP#Cl!Uy}gU-o_{*>&HK!@*f|xe
z3m%>2ew;r?zWVQ<8`<f{<7`(~eeHRbdN9sv?XSz4s&8B)8b7ffoM*rChw_`2M>`*P
z*&pcZ{TH|4zHI8Z+l!U=+ZugZld#|N%$w`&Z9D&ReN)_={^;9j{<a;tt+FZKx_8+A
z{rBKJKhHm&ZS@b*fB&xEwf_C_>gq)Qz1Kf4{$4fj&fULH)~!=7EBjaAe*E$KZT8>%
zZhzl?IBNg@ve)15<^6rPZQA>NS3jMI_U+%Jx!HWyzRewbZ+@A}y7s4a{<;ftiOVNy
zXV*Sid(C~DZf0(O&gq=~ylmk$wOhZH{a$=}L!bNobMnz%GjooJZ~43K&bICK<<-Z(
zC%iAIn}2(EZ2#WdUw`!FrCIN;->|v;Hh=lSs`?$fzjLP5`tP~^JtggR{inVE<lhRu
zUAgzK=C{XtnK^Hpe|TKWY%lm``JHdZzi%?;9rCS8`0#v3;^Vg2({CO;7|+r6J8IYE
z`9Bk0%;ayI-&wEzAiJ^N`$IlYP3Z&fmioyb@<nU*ZqT3k_|5HSJB8n5KmR%Tl(^rf
z^~yDxAM@2~d_TTl9iH&xmzDLmTb5}*oT?xH`5`TS?Bidy>eU4@@#Pz~x31q;uDAMr
zYwX204Y8^Bdv~wPOx*oAe#ZNa@BQ!I`*Ho{zuCK(&0E*soc-&2_e{?C{Xc}n_V@lY
z|E!qiCh`B(G@kfp?%F<!IO9M4*w!w)-e;5W)U=DM&Zx6kYesJUxg>#g=9`dS)uUWl
zI(H^ryFSbRYDe3ACI8yTr@u8O<`#A?TyiAh)R~y5q|~rC8arR=?0l)W^QETlw?kfC
ze^gx?CoM`i+1n%L5!b)`-z4d{G;`ZSbsNmzTt2ntModtSh);aXnw^n3ujLQToMCg>
z+&U*Knn!_g&V!bXt-p2o=Ii8y{^;*aR+o2FJt1JJEUVuaX7JBL;i&H2&gfl}r&gtf
z{%X=XyfQ0odG?ICE7QuXPJUUwdh(l)t#*ky{JT_EUlBd=CS_?@p1Ri7GkKYQAv%f2
zPn#A7%j>6?t?{WyStjTcBXH4uhu#Ch&02>$y$+w$dVDe~*m3I01-Fif-BAAjBI3s(
z&WJz4ZLI$^Sz0|f4n1&wz;9V|WMlJ0_B;kb>%3Rr4tAAPca<#QJti4`)3<eZ_HWg#
z4iX2r)7BdvO4$D5^zu-B)n?WeN{nI&-NHMb3nv_0nN+x8!U`tt?gmzl=8dd}yBTME
zh`sh-_{P0`^6y{PX8Eu05Z}Ff{*9|&n`P(rzkgBjX70D+4dVHSqxSzUJ6*or)c%*4
z@kE1r8C5PDj(%WTZzoW}c<8}4g>;=x@zrfTsT)|`PW?&bu3KuU%(G8>qOnDsM~mWv
zqsi7moX!Wh-6U>4VC86*wosmH@Iy+_h~?0O35r5)GDblb$%-d#%;J&U|HR%vtg*);
zJ*B1RxnzpQhhTMCBb7rF9NRuToz}q9Xuxu!!ktf2p~oU+i9j2Rq(aYM1s*<0&O-?k
z4(_k8Z|Q8=D3Wr5BiZppgjynl^%E7vhpt+Q1`iTi823~>%8uXmjVEJ$eEZAw@#Zo6
z^Y#>8t$Doa>#@+^y{r4A!{?f>tICV{C>Hzl*?z{|la^L~bUV0#{duo;pLF<}>+2)d
z#~a4)Puf#=wBYTmf459~6Q;fUr@rr3>gM!WKl!vua=GLSntmH>`}53vf1|T=?rfH5
zk8LV(1{)gcoA$Q86+FkO;Oe;a-;@TC^sJurtlsCZdY-@b5r5??F6Gnub=e`d%dR>e
zVfi{f+ql2F?VOvQKRt5o$C_1==dP>0iCNni*&DZMv*|Ap>)^Hhv)}ocZoV9PQf+M_
z_YN61`}6~Drfr+Iy2Xggoxe8g+|^m<uNqp%rzeJ;e-pEJYUJFE^w(=P7;hEJTh3}7
z%B^5(+<jOld7{>3&U5lT9gQc?d{+Er&%*MMkKcg(9oHR|>ih;{hu1tt4j=R5L-v<W
zWVEZ0-~LoP{dj|Tz17-3!Mlz-F>yEQ)~Vm%vJpEID_9=oA;--pHtFH&uD>=(_qc0T
z8t$p!I`(1F_mg*R{olQ+OG>}aU(V6;(eHTj?b{Cz{E$oLPU~+nNXR$q=IhD%kYsp>
zp=QmI#);O~Tc0pRTE-QucjK#(@a|jSDg8t`E`?Dt^0$G@o*VZV-?N$vv_04>AS=<t
z-|WctIqt~Kq@5Lvhax!ig<2GU81LX$mNj}bkLTjdiCmJL=52Q-ALMA>X}tMEN<n(t
zlaoIl7d~@%+M?Lbv%_$Qy0UPJfq&bRV-2UxM2$Wackeb_r?%Vh0Yl$z!yW3(Ee92p
z|2^*AJwer+O}QuN-Qg1s5_c4JzbCGlEA8ATp4p=K=qUgGPnFs3=YJgSp4BbBRb2m-
zew<0nzKlIJ7mI!_`s$^4rf}zl%AZZYKe3*_>ZJeX6s!H_&o7_tExM;3-M{?CjpEk5
z;?)H)`w~RY6s^2avGPK}%7FNY6}mbh;$nTGVo|qt*Z+8W-n)WPu7RI9;N#u*b>*kk
z?SFc<_;lTpJ+8&m{g_oo^iHGVhSqt<?RM;D3Sr#NB3~;RWYA_1pJf!Ew=E`fTTJe@
znCy))`CIR0Y<)CQa^5MP^~+}djOso!>+JPMWm|8~xwy_`_IeY}YZ*<kew)2{m+g?$
zH%-~l{c&o<1fPm-$%K~U-n|B=pQ>qZPD=}q$_bBp^C;O^%w_kTr2SWPHmm(Us#cx2
zn754aT7tFytgklhld3j&G&%WQkMQH};1Ur0arlg_JX4m0y+-PG_86%<GaCyy_q6VK
zdf-QaR?+*T^Zi!FX$0(1Xmxs&aBz;8P_%*nv!sO+&J<4A65zoV@!>>=jzv@cmVfex
zCE~u=evNzIU-sQ*Blj`R#h=;V8?m!BDf8&>*n9Pmj70vSM;|Au?iJ5&5O0{|e(y|Z
zfyzt+vF=GaFAhZT?>XVj?j~l(BXDEV1i|Gd&kjs@*eankk)!#yK}Cm)QqP-5%0=wQ
zl<ay`{N1clI5rB+lvZX=`Sa+nV_MRh7Du-38AqCzL^`p3Pcb+rkfh2nrQn3e#}tnV
z2Q8E>!#?eLu(;Qm?e{U}l$`w%<;ff^icW0;USi3rLWwFzy)NCA*yP}OsCS~2#>BcG
zciSC2xe`w(I3MXgzW+yLvUmHdGb;;k+zfuTdHI%f|Ci_I8gZprmY=HnHsx<l<K&y3
z-*+;-kG$Bo=g%|#c{S6dr|nJmU$(w*zHMju!@W0}zveVP&1noY_<NJ-?M$YxGn)!;
zykxrilF7OF_v82<YdXZ4MDOHmX4GmBi=H5!_34bvdY4xWADmQrdhT({u?x->+y3Qv
ztAYn(-6QUVLcWB9F(N%$4I<a0)?B~6#x?ia?6=z{@kM7Y-@E2?+`Xq7&83IlOnRug
zb85*g*3GJGn%^b{Zk|>W(S6%>_szcMWm4x<@}?~^I~X<jjoWI~lTkN<4JK^3RJGW5
z%c8Q`31tj7eIwczuV}Wt_ohIs+#<iss@r<5tE^|);=7f5?=tRY%NBl{wVJtXX{%&J
z%ghGl1p)_i#2@Pv?Q1-Ee5RH5=bDh&{oxyJ_zT#Yc`A&$w(MS?`S6$kNAumff&`9=
zg*6YSOvv155b+_S!{&ICY6OR+m^L%FpXemTWvBP=Y!J6kTzBiA{CmfaCH>Y0EPD=Y
z&wBotM?d1%(eD<C9DF=(5<L0_2M&K!IAS+VrN{KtffI&_YqU6(+3#`N=}qEK-nheG
z?3YfbxY1nILmqq+OVpfHg4o=4@h5*zl9Uii)R9y5ROPWuIr6dT{;KX4?;u6z6T2tv
z)38YKILGsE?V-y?Vy8|%xGB-?>{jK(*3KiR$C#)Pz;wuAhD2RVo+hVc$J7H8j;l!&
z|NZpD%urfcGi;IqkDT_zI})0e5;8`YIF(fcHvJ0eaphn>IPrb`H+f#(vx|@OX|qUM
zmsR}vk@)rF;aiW}zaHn8PCU*R-B+7o`)%Rh8|{8+@*Ms0O<MnK|Fu7L*55a4Q(Jx~
zIOTl2p*Z8;4aK(`onIxlAM2Nuvaa$_yz%0q^RHja-q(JUe_GL~!{oqvq3I#(rKJAN
zXIxaY)E>9$Fh4HneD?IO>HohcZU2A0y#Lp7{k<PPi=Th1`9|O28OtIzjzkVYfj>La
z6ArQ^M;Ed$W>Ii;-M)C!@yM&s*SsqZ{eHaHHnr`mcl7$rUK>uaz6tABo_sU^Ye(3{
z-pdctnx~ehZrkK1&9nX!>&%Bv8{!m}<hfUF-@M1&D7><N^`hgYtFOl@M)F7NwSP6x
zeqA`d=(X6I)1jB1YP}QTbzw3|bh&iSCqXdn`mKb%Y^K(jyuz5Qw0Zms*dFO{TvVLV
zbl$v4?F5e~2Xmv)*W1&t?6@CiZ~pC5<de7q)r@-r?8=p{#!j4-shFDgOhiW_x?qoh
z(!K-Sei8)<e=_*@8CoWm{4Gd-&R@}_ewh1+`-EGXY2}-~a5L%)D4pcezox;=tUh5g
zi~kP;P)THDd)<OFxw2wnyIqfrpqtmS<u;s;V;S|AsPw3?w@qn0SY#va@!?37;a?}O
zLlG+XgSi%L(CAFrVd(h3$+KdkK+1<5%Xy5BaJ-x};h?bnWlQFHAp&hOMoS7jtFEcn
znV#HiCz-<0vXNJFK2wUpxen*H7sqx?649Qhz}zyCOY&n5kK)r{pQ8f8Mq+$ZR1}nF
zhw!A->P>jFvtr+KCs1qX$>sX>>(;!h&JX`TFP6EwjQ9Ob(@o{mliurHy*Kyq@3K|j
z-(Gold*%J@%xSl_AKsJSo_c?G*g?BLhr2ax6qobv>C)Y3d++G|b$7Qr?=3(6<DTrQ
zz1AYt<$Z7NTK>7Wj#1|O-dKxWzrsY%u~aBtDd<=#-O$DQvB}+Y2Y>SMm-E!;+y0dQ
z_w3{TzwPq>9`Wbj&&ac^_;)IN|KBtB|2%(R|M~a(eVg`w^68cH>ptx}ZM80sPF~p!
z@7)G$$tTiZ1YCZ<O1k7a|4!*P+urV|!xP-o-m&d*O}pWocK957?4+x_j|$f9V!W8e
z9#dF+jgRBn{1nr_7S89a`dEEb6gm5|*zRn&#pvIg5V1nGr80O;+6DI2avzFTH+`+%
z5&F$=w`zpz`sI7tXP;0?z58xcUiiuc20@7*%r_XXG)!imz?jZ<$>PJp7U^a|H$x8R
z?cA=a(<7IumnZBgX=8Q&aGIf9e~}_b(}7Dt788Hi{>eV5((f8{EA3jLz|P}NUhe;I
z);(xV(0O$FvGN>)s`@R<zk4ohX%S|Vk?7yda=uL9So!0l%1&j^jXpM2TNKTDcJhbX
z^a@4go~vyhVSye_6&p*gy$WiX*vstPCjK#mr{=`tP!$>dCoPIq`kRh$`^k06_;c!u
z^-p~u=Oe)OJw=C6QYWdYI%ZysYSA%v=lvbw6Flckyf}FxpQMggwamszAtxd<VkT|e
z(sJDE(S(DW?uwTuD=g62X_!)~nzTkGE@aZ1V*=e?Vmwm}{N47XO$eXz<U;SnK5-i_
zraeE-+5dT4@pJ9E^6lUE?B4tS?px;fdGdF5=4L!MJ9;j6RqX9!iMzLFChp!QS++M-
z<c!X(ZTxlL_slV{h)dwTmMp!`@ZM6<9GPvOb+4Y=E@FL8>ek0=5Bj#V-K*UFe(v__
zdzHIi&)t6fl-9rF_J49^^pE_y5VA)=R$>!R&tCC%x&Kce{{PW=eBal->HRVL3}0;N
zYpppPcYMYDwOp02-P`|txK&;Mf2O*Foc>!qXA_n{W(!?`e+~MMOxyy_k2{uEUb$`b
zDmV0qZ^f=Dl~HapO%HEqU$Zvz#^JSvH)PGjA8$x-_Pl2BBum04LTZ`CYqrFm*dL1%
zc&c7ma`GPDbMl$+yhnjsekI1sZdcUz=~FOOs;pSW?(*ir6U9XK6V25w3^E@o51eo0
z;GQGdF|WX!ZPmOF8`%<NG_EN&b7uP9Y5e%gvQOOWL2H1bQiE&I#Y`EU3KN$P(QAZs
zj-+sJloM55xv2BtM3%S>EdCo?p6s2cUZ!l<^kK7$#GS^*H+~0i?9fy0$#GK2p3t(f
zt!3jPtw~=!4xKnGbAIWEBuhz&PA8$b<-htSJl0%Nd5TjxxbOKRz8=<(NuGy1ntEC}
zow=rSY)yDM;ozx@m5a(3)tLrIwe4v!eR%Q#r{qk9WJmwD2@@3cbsN>2S-n_J2y}T}
zQea+McCu8pTIGZTcSFS*7q6c&97YxU(vLZGN@#nQC7)1CKH4~`r=oFc+WR;4|9AVZ
z=<>dOzh>{}v)6auui5+k?DgN<_gZaudv#*&daZkPp{%$6t%@?Z`z`$InK;8!Zys!}
zXYltq{(nP{X$^A@=jGgbSKS#|zqL<okC&|dJ@sMk`Y-v_OY?7Q@6F$L?eDYfx%vC9
z{d<<ZYPPDy<fR{#R9!wj$@lwnIlR7hV|LDk=hEDjZZ_W-mruRD;I!GRVy&ioYKwn<
z<=3nEC%yhd1IH&VtzD4{i<i}xT))0O=jNvq)xGz`+(h@8rM{Nmmh;nj<9cV!sNI*?
zv!l=K$vw40b5HJ>sJi~WoA$eZGdo$~%BHvWfy6OArMX*rcDYIyZa=Z6^2lA2J71y;
z^WV>tI(FH|BB=gp_o0Vn<{s;lyq|SuN`34ydzCHq(e$C=QMa02<$uQl>mPeCSvbgj
zbzZ=m$N9kGn^NDV#}YFZ%h&a(gtII2h($9d?pU{7G4^oWjTGzXeAdH@?y<<1tJo{g
z;&?BAqV~4yv<IC>R){~`E5H?y`g3-VmP>yti&*=F%*LW`73|%i)jAdtCu-N~d{>%x
zS5u|JXivv+_g(cnf>+2V^6|`jtO@Eq&oN**5mDNa(yFSm=Yz_1yPh4=$*y)hUWX!n
zFS@DoK}q^hNBS-g*Hx0Y6FTM^1Qpq&<{E?vC`H<Y9g6L|<C5OSV<g5keTn0-3zwai
zsc+U%P~IBa_8`>t@2m-*W*(fZ=;T&4nJ4nv@(U`>swoWy5-A)litRlvr_%SVYx!xg
zgR^l`>m3Q3ut{M%cWse&{*;(fmaMZs%~aN?L45x2_<!=U)!*a(Ub2t>`^i53|0jF#
z+Mn~i_y4)DcD-H5->dbje!sFet9dIQz3*SYZ2bS@>(>8IK7alH#{aMXTYUI>{>0n8
z?`!2f1bhA`N@o9H`y2n?=l*s3%b&lVFRA@&EF1sd=ks;@%OAF$zf$|v_{Qh8>uo}Q
zEp6}G_vQTc!aMqZKTp;FSNwaPt;J;5kBcsGY<r;gwBq0N|KC2}fB#<V#lO=l@0}=J
zy82?q+wxm&cg;4q?!Fnb*6`}9Ib8p@q<(r=|K~{m!(9%WSSOiJRBW_xy4#Rsez;pV
zIxeg6GLytb!)xE}Ow&C-^@sIwp=%32=^l<+S1V~<vvg{qr*ZVZPaijysg}(<m=g0S
zQ`&bcON~kF-%HcnznN4;3EdMkKcSr0WqbdCs>#9fOGm;UP5d3WXHjp}!x@=!UkkGZ
z#s8dL?0L=PRlZcCAs1s-!L5em#s7Yt(~T~hCt%UM&~1)c7Tex45?LJwMFiMBFiA>x
zOe$b!<Da--h3H>n0W}vz&JRqXDm!*hsAF_j`W&ZVq%>t-(W(<XVhP>+6WR63jz_Jy
z5VDHh)AOE)vtnVqt5vkYd)8lZCpemy#xJOASswqUO@4-@fkh%m#X%<(8&2hi2W}jx
z*r>$rCZqqZSh}ai`_PFdgH4<hIa(&Z*gEx6hW5^`C+ysz6Lqd;WG~b>=`=y{IQK+@
zM^jgKw|aluTxTYfvY~@h>k?~nUe8l!HX-}U7t@^Gy401IZfP-pJgNMVm*<HGc|047
zLJN{l2pc^({NU(nkM{P?2@|J%I(b*(PP<~Ik<eblBU8@*eswJ2r{qVs=o-d~kLUlN
z{~vw(-QDSS-(Q~QumAPx@ce!MJ}mE+{}=L8+%EKItN*o{hwoqS`|#a2{?G4i`hRPW
zPye^?wRipf-%Izu|NZE`=eFMy-#4k-oUD&%{#rBpp8mhs>*D{{J?^f*{_W`g>|c-W
zU#)%kKFjWZ`PBLU+drMJ-}Iw+{+@q3{bT>$S*}<AE_k}#@0HtPcNeG$#eLA5b@HI#
z16Fg%xIb^z>wiuTU-x$3BfAK@(j}SyQqF%#ZT&y(THxBPTO<Gcdhzza-2FEW8<)nO
z^8d4a{^u#(Tu-9E?8^Ezk$)jeT+Pd+vhlYzJ^gMj>0Hvg^>5+nY4+28?LO}MTI##8
z^y!2mmX|W0InBx*%#Pl+=hiNfz6$G*Gq+TkYZ~$&sqJvsQJJuoDeg_~r!9S5$4(@x
z<Sq7kaCCZ~)>6|1ZbsiFC-|JXB<>jNF8UcQvhr9aXapw3Ae~K_=LT<^xH{{V2j_aG
zNN_1MKh51B!aHrk!P7w!aVEC|E^0k!m8{#zf68S~0_VH~-Jd!4Bxs7Sv2i)E(c@#p
zk%Lb6Y9>E!wK*}%HeyLiyQ-x@%dd$Q?^ss{q*e&(D?V)bXi+S3IP;9GM3PXOgnXn}
zoX*6?jZX5%qAK;nTEt&pVQc2!{!>gNQp6~%L0rakiGXL2bWdwnNUPnvn}TgN%*wTq
z(;m<K5ZAFnafigxZxWJ<&E=aKmpZq7Iqg!ErX#2Ka9&S3zxPsAZYMXd`8<`6(!HG6
zeu-~>bk%8Nj;L+p4(Vp+wmZECIh|X2ED}FV@n6U&{`%8QCy6_~itl?T-n(NQxO3OB
zMxi$G`mgo*_52kd`@`-2&&;0x|4grb&9Wcd^Y#8eTCTnS$I4myb(`LK&(HbwN&WV|
zKPS(vui5lkd;Xihr__J%`^0~z%>LAkLvsJUBaf}V!FKy`tZaN@^?|xq`@Zm-#{Xb%
z@ct=o7yIX@|9yeJil-0H$NajJeyjZbp_vT&0iIfAFZ>R3-@7yAaqEi%Kl11Q{K`Mi
z`t!A!opZ&{R<HlfC*sb3^?dmbyS_Vri(j0JpL20%;Ns1d8GpP&rH^x`#2V~*QLOlR
zW1Yu=?&MXIlKXRhKHJJA>fv;tdy~U?mj%0Xrb|poI3V~!FLm)7*EZS5@9VjFE*{&k
z`0cOoZEtj*a2)a}sXJ20vggoRQNM{l?w{k<ieG*zyzo(A;aP2_K9l&=JpPC8PahAR
zw7uEUO*pP9C0;mVv1H=(`+N5|-+8z6Sy-d)qk8LeJyqxSOtHB1zKiA1j?TB`|K6pp
zsV{kdHaq^-rx)+z#Q6X2p8apy>>YaFF3nS`-+ZV(>f5*bVn3xNqdV&3ZH&tPo>&~c
zukNi>GtX7OcRv#A``@fcZk%+8U+(6otL5|mamD|fJ3UY7@1bLR#eX=+w|sB<`X$BI
zfMt(_d$BHydw|)e-N`!X)s7n)?mJym?l%24ZR;^F_HLJ3YS};LPD$9v5zX;Z-08K$
zyjv$<yQlE+h^+KdoOC=QqAHNxZJMOS&T}7Q4*xijwARKvN}A_Tx6hW1Dk&$5GABn>
z9y2zmSY9Bf6nUU=W6AOlUxX&L1}Mj^nl;lvtcgd?a3Y5?r%^?0XHHs!s;y*@s5Xal
zSoo$b>dmH)yLKA}Sru+{IB6+xOk%aRXEV>rqN&@DJ6P>;k+69>S$wKWYVrw%X7dML
zg~>W@5-*hH&VTXo{~6=>yI?1O^TVV6KiQY=+yDNPx!k^Qz3uDkA3uDQZx{1xZTso{
zUkk2oms|Ju+F{=NRXbkJ=HLGJ^kLcmp9-#Tx4-`TzWw#@_w8?g&rN&4S^THJQb(@Z
zCe`=;_WwJ--=6>W*SB=*e@}~Z|9{%KEWd8u!`bs!|9$p+)xMuQKjqi0`!ajJ_P=A#
z*VX?mzP|6@&eQS#W1ctewGi$TSASgGpi-%C;N@ANDCE}qP+soW+vNS)6?+{%ezQDV
zef<r4*Wc=O?6cJW$?W|uzE|C5#pZ3jD_&QLifczTh#!^hGYaWm&}7ml{{CV4|BZ(8
ziat&ieth@wTcx-y_kX;a=FY#(_}q)cIU8RqRlmIW{WjCx+zQV62;mhrKQ%0rAHGW1
z^6|y*wRf&6Zfvb-EIbzO*Hbzz;f9zc^NNcrlU~o)7Gu)rF_yb|e-6j8Eu7ikOb<>z
z_<`vrfBM5q2^S8;Na^0GF7)B-cQv%g<ZkA9wpSxb`c391F7D`Ud+u<(cg+_5kaT)l
zevEe5kMl+k4%|Oy%=KSVXa5zpJqc<S27Zmk`wHK()krjbU*ym+m7}8Y>#qslkIdhe
z@NiW?SJ6`g>lcB2;?dh`zWu$psPAI<L9hL5oy*b>RR^Bhm9x+$^u%6)X5}5sj(<PI
z{b8$Uyd^L%dE&c`9xBltbBiz7t1oRn>XbQK(^5>5Q~Bj_f#x2U%2$V4CcZk*!0)W3
za&jB*u_U{msU{y|Zu9hr{xr~Fe!Oo-P?4n4#8>W*Bqf4GJ@-sqe&u*^=~^4{?};D6
zTer=d*^}<Iw8Ci8W&5WS8s9U1`86eG-pUDzE<R$PQdAU_S5}zvNjf>XE!vfG(J!XR
zzs*BJe1>%L!HCX?owKC0AGRpI|D@SHX@lPUqC*dAkBB$%T$4`rJal4L+SKzF2Nj#2
z#{F4ef3@_-hp+GJR=?PNU+dqy?OyVK!+w_UkNkNz|60v|>C*n%wI4sO-)i%1>$c<j
zu6<=r+iU+L>OMc~?}OLN>_0BK62^VH*8WG<uUYrxYqolC*miv1txq??rR9HT-Tl5l
z>hs?9;dZ}zKe_J@{Pn`TTmEm_#l`pc{Ci=(n@{%8%#?QVO+QYk+kfBfKF{*YtB(uK
z{WZ&DjNa)Nz1Qb6^Z8?0@;!O#(Yv;38B#K<U&&a7-%@zkdZ$|PQR|`Wfjy2QUlbm>
zraIo)s_@UD{!2pigGZ~Q_f-`+IdsJ`W%(TF{dje9gOHeKr?v40JLYJSeOiC7iGN_4
zC?Yd)r_T)aW?l9Fe;+RE5ZAF+mej8+zkHc%k3{Z2SsO{$qCEnORh<0Tx*}cPWTaIv
zJ`=E!WQzOqZrOUtK%r;bZ&XG#w($Hvo7~T&mdB*im6ERXfR(>bgyZ1E*Y0wRp)t}~
zKfg}X-M>%kS=<$#Eq}63PfK4{p=a>^=u_jlYn;9wx%WQjXVOD<ovp&gFE-rau6Y!h
ztM$PtW1Xn~TbIk+tloPpj3zDUDk*o}^HTr)spI>VjnpGf*obxi)_Qbzi%@Nc>WK$-
zJlFOGXEaPyblJ3cvbDhxne!EFZdsxyC&g}C!fSM8<vJPtYm29*PqQ^x;aB>0k(syP
zu}Sy3r|3lo)u?3ZO>&jaUAtoHb1p^YK5-eNNfypwhh{lR)MRa0^5|;oTuI5_g^F#n
z?<gi8JaWG0tzGal*T;JeTfRvsC4N}rU+KgqCG>93p*s>kKKZ01>rD8h+1~S1@YtaV
z8}D=pbs98?$N#DSn{S(beu~}Sl$ZW;`oB*;o@!sa=T&<D^?!dp?piLNUG;0@wB_>I
zw|_-kzxMv{uezVHHy-HkxBhaby#2$E)9%4JAEx&oS~4}_o$#9M*WVLz_y4FneSZJ_
zFQ4CE|NH0nR{QETuhRQN|9#oGN!~t;>-SG#+jPIjJ}!GYtPR9I#BoSU=-34%{`hjZ
z{>M3e`-+zy@3Yn0?%COI{JpBQzHmX{-{%kJ_P6nD+ZI?FJAcuhwg11IwGxxb?0+7o
z!s>o3%0063L~FRfryD2tiu362D_tz4IEizA3Xjgd(!YPhx7&ojV%MvA`sC|#i4>2C
zf;v6>^`FEQTyK3aZNejkJK+Z>8B4^Sc&vPaIdxr!?DI!2=Wn{hJ*`gh^xg>*m_iOt
ztFLC(oHIvDq~>9_yT}SX!Bufn8<y+Kg__+>u(m(y?IE?kPH?J`uhT4b<<7awBV0T8
zdmQMN?!6w^_~{Mrw4y@ij^-HmeMe2V-Q-k!`bbMgG=6_o>V%I+*01BbYxK+Z>ff{H
zb8db*efk|YyZp^hQ%^6qipYJn(e^)cMd5}%-*~3^(l;bKJwCiqOy#Wjn6~i3_eWc}
z$`=SoCTfbGxRWwXi2WpsSkayd<r^aMG*pgeD%Q`M(x_<qQRG*}DJPXrGUt6<SFJw8
zeNQ_1>4b@|gRY96E1ou|vC#gb68~g_qREYlPb<8PC#ghLep0$BYmjLadQB&0j;Cm-
z%A=h0?kTI(q;gZ4#XjXux+9TUG4b6=kCLBL+PyDng>UYe;W77UC0kY6iHIwcCr+Bs
zxN~v5b-R4jj80D#9?dW%N4EK8rj8Pt6AmV;c3OtFp7ffe7Bh9H;UnR7de4rn5Qt7%
z!s0c}TcT#4)`O$U|6l%pvnwj(_b2Yq{q<~N-`nG_{rxxHcmMy?)5X!&aW`&#J#=lJ
z__l9<U%uQYK40$F<;%|cwzi)xU0%HCZ_SsbD$<oNpBrSVPHRu7|5bUv`%Klm|E||R
z?|)J8Ph9u>-$gIKN55uS{p+rN;#Pgz`=w9W&b2Hp`*hQX_0Wk9@kd`a+5CNUncx2V
z+xhRSKL%Vs?OuJ~Vrj*4fv9TftM#0B_FXql%#jEPE#sYL@_o*pz`ybTZlAxPzI(~!
z(k*M=xMus6%lf~yv1;4m?z8aPy`tXbybW?KOSl-0RM@O^>L}l`X{yc&#*&1Ky}AYV
zQ~DR)Q_1sKDDX!h-p)`htz7K=kx!Kk+!9Vl`6fnrD>WRAj640Sh`YJ7;-8w>kw+8V
zHWn?ZY!O}g?;D%8|5Mi0=i}T}wN}^ve3Z!gEB%heAK9>ZQT_YG*R^H8?>e3H@GjHB
z%m`=Z!`*jzoz#0?zqwH0oe<f=xh?Iv=d>upV?o*#KOSq{elugj{>q;hl%w~ReGS_G
z`~|ngU0L^*YtiENDF-L=SKoPl??2y%MGar~ZjcxK@TgXCz3}Jx3#~1LCI*-_?eV)8
z#=ZB~#o*VL3st7JyKZ9d{!z31k<Z!Fi@IFrh`p?s_#ttFjQ^G!Nx~C5Eaw#@bcCvS
zTF$fV?O!v?py+0H_Q|k$-Khy{+@*VLj&$ohQ;NLQKJm_3ACC_{^VZq!y*RBy{7}r>
z(<_5x_2O){x{IlvY!TO-$Mf^cyQIbb$0R>W-kV%qkjg1pkojP{z`jjlO*|{Nw6uFK
znfK_^uh40|g;6ua-||?cEOBx>7SYKe>14)Mo~*L8X4#ix9%?;PHeGd1Qr*+JV^5l?
zb8^p{tT4;CJztyE_1@IxZ`iP*^!c}C+vD=8{<dzr9{-}|aqBws_!rf$TleLj=g+II
zdolO9`?mjqANk(!KVJFm_s4QElcU!A!}ol?bK=|cwr&3lKdiO?W>~%N_1Wjv_bc|j
z-THiXLjJxhyB@zi$Sq#LXCZ93wODaa!|b`|Z=duz(5+vee*3w6?MHw2-3}7#=Skct
zD|@pyyU*?H{$J1DZPC19YO9=@TYL1ZZMs+X|Hta{v>w&!UkLX0*uO%QD|ml}i)u*d
zg7Vh&F&^7RxPntxPM1-RsC;#!&O*IHO^v-(IGIOk2dAvjqm#lxE1G|*+?ukgwv*+I
zZoJ*HtmKe`|63*rw7Pp7@Y(a)WVMc{m;dBnaU33nXYX3DWLHhoUEC@5`rgOZ!;8N*
z``zHYHp}VH@3W!T3Ri#AI^6v@<B{cyb*p!OYSrz3v*z;^-l|tDc@uW4G6<isSNvQ1
z_SI8H3-u}QYkJpK{cu)Q?pz<M`=<2%tI$2VDGNS$-v~SD6?9(a$GK_x@m3d)NtMgp
z`)j|gX5j}1-r3Lp7FfRK?%U%hCb?7R%N48BYBG(lnN;J>GwHKjXVvx;KXt5v#YK+Y
zbLO*<Ir<a*WtFmfx2Bk+2$sA4^7d4mRMDqCzvD^!8iRh*TVCfripWZ2UpQ6Vn%A>c
zOC|ESnZ%V-#V;4lh;i|p^gPQyt9fIDXs3h3M}d=Bw-QoR_#d>Ud~y=%)Cv+a^4lln
z|0iXFB5TBEp6MT!&F|EV5O3oNJEZkFWr<&mlIVJ_2?whR=1M=#<2gC`;AX=cJsEpe
zJel<3Si(FW$rO*Nt54?fgn=dkJZ4>rRp?o=DRhTP&@#=FHzbs+&DlOM`HEMEZhQad
z`v3TYxAV)UPRq{D+OqvrVp~^{@|sO|f<m*_CZ?^|D-D@$WgOADxyrCOWcrQO-fNm7
zS9$eJO+D6S<m@_gT6Ae?xTj=aU-663sEOi*n=Uc1vwconQl-zb&Er9<fP7_P{@4Hi
z%=_y;R@eXf+ZerG^vnJ@gH4||u~s~sH#1)<B($_&Wc$~Bbq|i%|M@)G|L?OGy<yVb
z{YPXaR`?#(xNUG`5u4L~ziW2dew>e-vYd5ugx5>?e)&G-SL#yzly|>1OE-9ISuY?X
z^l@1PxB0s#wU)2h<``^j-f_WYjwzpe`DeTK4-)zE_fF65I33lN95nUF9<96`1wz-J
zuX|M<{wVN+XTn1<^P48Bhu)~@rR`C!5I0__X^|FiSVU#bLa}_VzBSwn(^wQ8cIXvI
zKRD*#ytcw~)r(yYcg4$NPpowE+7Q8`^QdBC^r{F0mrV(xodQY|yFw;MSEk)g&CY!l
za(%%BmDxAX8SOT_wvzYQt*2HwH*B9v>0gqS2-5cdnX+p2JbzQ^^tL$$H;gvfiI*mS
z=;(ZL>;d<qJF1=)6Ysqaes{)WeUk62rc&2=J>rj-sum>gsbQP!u~~2a$_a|AwI^~o
z7bSBD@9w@S@zL&4ROEsd-#6zJlrKs+hlL37Ptm#Zs94b4ZCcAgV}lRXbuQ2CKU@($
zU-L=${!jn^jNeYw|NCF}egB{N_kSO`U-SR}um1kO@&7-5-2d0#{>S?NKimJm-EZ@;
z{QuLF`+u{%(afvYmxvd*_QxYiU*|*bN4-7b)dxTe^MtF9{VNoyvyc&Ym%sS4>$Xk;
zH>bXX#L0sbQ}zfnDWBOUoBv<l|Lt%4f0w`8{XbD$Zxgcn^Qx7u|KGoxdHd>L<@YkS
zzh9oW|0@6Q*~awv-8DNW`c6EhF7xo|%BhDOy6=B^G5@S|%%bh)x60LW8karbHvR8r
zzgon5_CXhhjw2?jdSXXAw*M7-t|XYQlE|QF)MCKuIY-*1WW}pej<ojBZz?>+OH|MI
zwMm{+ao!ztZKKHbbI)vqedm1ODV~@3Z1bnQv<2*(3Kq5;#&b5V3^Ux$VP1GHG_h^7
z^o-oCXA47TJe198th^oRrhda|MghzGqAkqN-|9`!>D|DQr~AN$LH=o6;q{|Ua@-fg
z8)MF0De*gFbU^EZSazyn{-Mo(QY$B}y1|xg&Ofnax#_J*zNKmc$3D%fSSK0xWR}6E
zgWX~C@+V$gF(KtGw`Wn0_{&z6k7*B+CT1n=Didg%(!TMGiND?aEVF4Y5_{Tgv`@V7
zZ{snWt9bs7*Gfn4%oUphR`Zw$`kmRY_2rEx=k%1Do!a-Bxnp~R6`PmWd}`rIblY+!
zuV)HdjN}~&Nls_8rParBdgicrIY`WKWD1-#^;XYKZR7JjGo|A-ZKqySSv$wgq~-Qn
zJMr}HH6NUwZ5OOg*z+y%vbp^2ul0YHyYK&U<Mi`cCda$A?0)W4|9|*?&3|$IIE%P-
zmhtI&YqrN^ZHdX<7AIaK;c@7J?l!HDkL4y9GWfI2p5VjO^yKDgA>)~iu0o%uZQOZk
z#>2fQr<r6*&fn`ZXZsp?*}YHHEaX}wPYZqCwCQB{#VC=_JG$-^tiH|n_)bG+VC&34
z;mb>>l_i-~nmx4Mo|IQ}sNC%Co|GL0ZsCizCNmaqy=@q4o!%;vk#Kp@w$5Yenf?A3
z^V++ajxEo4zIjWtmY#{ha#nWkLN((fE-gt{D%Nvf^Wxqv+!grH(nVW$18es2lb0-o
zRTVG2-OCcupt~bgsVDWQqu8y8Sr2_?xrM%Ztof|slR)Q%3~#%ct1g@hzNS|5_g2Ch
z&Nz?YReBPtkwW_KinY)4zRrwTEPPrrQAJJZVeGa^t2|PI=PF({{#>)F)_;TMS)-^+
zDXX-Pa35@(m~nWkixb=HGuq8OiHDv{bz=L_B)+@TSc!A9Rq+WApWb8DwP`uuHLtAS
z^i6{Gl>NaYZu1LIcyvxx*==})E#~7Ce>v@kD<wX?ys#wl?&UiYo75h4?=oES^Uh|@
zDG61Y7awh18N}&%s_DiZ;iIcH!zOQ2+jsC}R&ZlV=(5S7p8njcdem3<uwHHAJbgxM
zV~&NUBzL!gutM`uccTjZBS*TuH2=0dJbIC<IpNoJe$&6F`O6ju|FEz5RvsO{??>W9
zE_RF1RGZ*rtLW@~0r~rGXq=l}wfAhB&-q7wS0-(cJR_N&p!aoYT7v(qeA#?Kp3Cc&
zMY!^pNtiz~Xt=4(qBB8S&HuUDhsF$5Su=^}%y~S5x7N7kirwf9OS>L@_ImV;*zC5M
z3E{J6#Acerik+=kDY*Ik;hyPIKH@t~y^fXaxRD`vMyh@b=V^m8tMgKK99Vm>>zn8U
zHi>5fiDBus%&WI9Sl*iQV?l#fU!u^rqC%mv2G&^_Z})VCm2C0~+0c4{bxvsah919T
zVlNj?V2L<U7u{i?80h+`>B->}oDnLbD^EpLs&$35`aS%pCDdr}L{aD(vvQ@<BpHEY
zY^M)I1WNamW<A~Mw)h9z{ain8&u!%l`a2kneuSh4E!Mp<iDU1!syc;p%eAIXSYsQf
zB796~9?!k6@kWitH*!t}ZA#yzu3XA>twL1$km~-HqqD!HwDj;?RefoDbh4uIJujPP
zY36x6(|Q$EQati_mTXddbY`=m(NV96`tuekYYYOEgpO%xc^NseDf2MOURqYgZl2Q8
zBQnoG)MEnU6#*X=9!`CW;tlSMMvp2K1>LmbJaP_-vn+9{)cT<0DB*tUtNRU|w>@Tk
z3+=_rs!lf~&sk?ScctOH)y9P<c3er>c`0e{wXD78-15F{mJ3um<I!}6=ir73S*kZ2
z400lS-m)hDYY3Ta&2ytjkndvF-ibNaqje_5GHY;@ZM|8;$`&Bdv-!|bHs#G#X{}$`
zZm>qkn*aS7^>?S#-<vz;uDmu^>`lnjcOj~qnH~m4T<~UF%NQr~PJ!?DbHN(|6F3Z>
z^y^%9tw;$fejNOZtBF}Tp(&h~H=2i|X~AaJRqGr@H5^<61TIc^>(tF{wzp%(>6JC_
zEV36Jz4>USv(8-Ol~Y;!8+1h2BN=oo%AQQqnq*|KBy8Ru;kG@&J0?8VoZX$G?6+)}
zT&{swcmJAT(UWZMjax1DF0GNcd8SP4{L-hkhgA3ci1X6+uM}!?kvQGcpCT;jdB#u4
z`|}e|iI>x+y`0%1KF8Q)k4Ib2QDwDH1)Q&sOl6Zi(>pOHmdXFElkoHpYtD=NY0Z#+
zJmr=D@=&Ifl)kBZN*$GWrhV$HIe%q}f2En*9&@)z(u*VJ^(yW%j1Vqd`1P98-R)sB
zyC%*w5SrJ?I#<l-ia@)%nV)KfQ$g~H4^6*yh4^?5wjZoe5>8xl#!_g#WT$w)$4l`h
z=4QcT6N_fd6K0#{D8XZ-Ww776S-fZ2^3@Md8q8a5I(M~sY=(ij*@ljjsSDhUAF1h-
zH2vW@IAO&^gNLdYH!Mw=KKlW;r&)!2ideZKM_%&|@r4rtnKpBma$3h{H_Tmqb$;*d
znNojeX8nDsC989e{Z^CLThAN1GuYa8@V|+eDOI+`r<Nsbl^u`vOpB03{{+Hp6leTu
ze#Ck33OlQ?n2Eetw!OwRnIp-ZKF8OD{AbM8*0wqI?6hOug}NCRUdS;tp4WaYd3@En
z$oWw|ufN|jZ4+6u_Gs#s*2ECTJ7U%8bA$F3Olo9Ji*3Ix5THMGq0zPnwwuBj#S*yh
zU8?TYxu_X)EyKHKQU_m8g(#<*(#><~N}cC#@X52O8HxI8n8a?9bZZlf-s4o-dXIbK
z)aSE5EPHYxY-)?6q(t`o#)+;Iv&<?cUdq;fw>KeB=x51W?xz)c%X!_t{XKNFZC=r#
z6D{JBwvw85Jr%-*H(8iI7I<!(aPW35S8nx_hm+1sP~@L}!pnP}{Xq`r4As65g;FU;
zl2vmy3C)ytjtiL-w^OQr>Vxn1l=6D!uz88Ci;Oi05c;0DWT#=unZVYkKi0=TT%La?
zR`HL7-{EeRLjoU^m=o_9>9mO-uSj3Jqm!@4B2Gq3;c>xEy?19AQY088?-(9ZQoH&g
z-QbD^_mvf<^VS<5+*l}ghVeU_@y!GA?cuK0;q3q251qUA=<TApD-D<2c$syfN3N_Z
zdTPQX{fE=urQGqmbLmiDct*nUgr~C>KP`;WVAfv2Zy57n!2!+0KM&4+Y<4|!Z@*#L
zgJU=Ty<Sy&J+ylL%5QP4n%_CT-4lJ9m&SEtop#sU=~J!sKfBM!dj53d-0+0QO}=k-
z80~xg>d3m)SuMs1)(PP*&d*rvb{qV7^n*R>gt5@8Wi1O9B+ST@n9R5NN%{{hh6f#L
zpEv{m7xbLpes0ku8J&nttojbI4O%UH_dj0gY89U}$?CeC{t`2ZN&L){S00njP29G*
zRXsRXEN;y~7nLSv<?WZZ>fdBz=IhBRvI(Ew;#j)M`^w5^hZ-ju#a4R>xqV7m#hsF%
zb1AiZdFq-a*Tas<obSowu}oj`$aPQuj(`obOuQ#v*_1!=j(;Xs*v5qwQYjswYcxCO
zXHID3bNI2!r;(?o+iM<AWo)Ox^Hnd7d4#MxB~_5hGv&k13oS1%w7iQhG<SPtqB`@A
zgs181lZ`@}OD6cbo>a=?**LZ0*@=!8siySU4IzgTvL8i?YufQxCZ2FonfbA)vGvY_
zT^-f>eO?uT%dBITSu<&0@0<|0&OYj#jbxLtbN!yC^K;ZxszP42N;Ka2!W!D7$|~}R
zcfVGtI;(Y|_m;<^4b3XnVe49DQx_;i%w(%$&HJDyGwEjg12#*mJ98MU_QadiEy$?(
z&ztsut&gvI-607RgS;I)!3WCXq*~wZu=w@v=*4m__igbKmA`FrDsJz5nESl_zLoi(
zXOTB1eED%~rr^bMeR~SazVvSHGC!|<-(q>iV;Q;7{CVvgUzXhyQM>CH^SCr5*|<!u
z+E-)lqqPYMFY>x4Y1J`*$SaxQz%qB!g!L_HMj4vTEZz5IQ!T}6w60Wer7zm-dMI;Z
zX%lOD-&SqW$Tj`xpK{VO11DX1dF$cf2gO_0J4*LV-SX*-X<UK(iAi=nrth}8Ruta9
zo#4@`V#MBNaaHpCfrJ*tW9|{sJ?hi)nkTwQ+-&y<>JAa-n7D+&T`G=4P<Ubgjy0##
z+0xy9skqy4%Gys}aw@d&(WIV-lPnTH%;6E!^E~}4rBTSijq!J4+xp;VCq25ScEs9E
zzAN!5hi9j>^5K$<PdPnL96T3w{y5aacrHTae(}>5MU~PtC7wtvw>#~MtRI6HsT7*K
z38i#o&I?_{-&}39BlQ5cA*X_@zL)}!!?A@ycN1qY$h4pSQZsX+`^<M5#rY2e4Mk*)
zx9My)dK-AKPi5vaj);Xm#XCYwS`?qOd9awXD9pG!r{Uxr-pA~D9oyvN+NG0!uj@X>
z@MzY9QURX6_SiEw7u+c9yt!LEk)h*axt_u8a}r4`Jc>+5W<E4O$FsMt>c!Sz=k@cX
zYL+H^csiN6iTB@2m;dwozVAPg!|<&sL0?Y3=HU;4H%EmJ>(6WHEvSC@L?g|xcH(iS
znVbD$p8fs&bGiJN29M+NEXlgBSe&P7&JLH2<ML4`nlaOWdDRQuC%T)ToZS>QEn#Cy
zH}{h4wSgTiXP0Zu_AyPhyXv#nCbEX*m}2wwm3B(3cGGw!>O4CfkvJuVmqS@v{#e^A
z|5Du`8M7aD#SafeteC1kyK?#D<&~dKhKQg0c;;H;MBBIxoaZ;4IN))RyG}g)OX8B6
zy(*T*V!8&6;$=H0D1H_3*VOggVfbi5V?^hj-h<$!{BjzN8*BV4pJw&lk+2a}PEPJw
zqvbV;SvBMSo`4#cMO;7GKCa=OCo)4yV`7cOo!*1aDnSceoVu2@KDly^r$R8Ddx@kJ
z`<ID^-abZCRi_yg`=s_AnsUd7GkAtlQSdCKMKd3BZ|eOiEz0R#wSLR|z+{!XZaso&
zZ3SJtuMZb;^S(}9#?5;&CqP>23R@zx0k00j>-Lq*wRhD1Y=}Epb!=v*@b<o+yMNZK
zU3FxSx~x}z`=#k8|HyjPw|i}JXxGY1cHDMGPWak7F0X6LcuuShmCOkIHQDE3zTmU?
zsnXAq&Zg{B^Qqmm!8Ga7HQt07#%4Do^1oKy5b()pv3lXwx;dlsQ*wx%_uR7;tVZu6
zH%&?0%<3C<Oh-TSTvFt<G~JhL!ZyaexH>K4`mtLlbuLe`-g9#I-ix2uf*I~|O!oP8
zU^6TKX2-PB=A3CtJ2|&=&XzQk_TGIxC~xl^+t^RttieXAI-jqH|IzL{Z=q{k!+44}
ze$u4Q_<5@wW+%M8bF9hW+gfX}H!}Va*IhWS@dg{e?u=e<b!Ro__k&v=)?HNkyX%C*
z9k$Ymj<qQod57CP?krM1*3v7r_)g0~Jy1Z;O#4_^7L=N3wrxkG`tdcBA7^K8-10Zs
zcNOo;!$sFw7m0b^<Cct`aX_rPFYf0P^EyvAt_e&_7&IL~)Bz=~H?~!(GYuyFjyv&@
z$&dTZi~IlI@=0n=aAsZhvLCWBIpMM<Lqdah^YxWn+XUk77#&n}u9$c@acbF7(HkY-
zMPdb@W|c_ArSSA^2#abFf3hu7nDvF83S?jNjT$bUR&l0?0_FFtKc%lZHJ&XGz9>2o
z;tG!n#Zq>EzqcxT7Q{?84Qt4A0`G+OXgs^Tp+o%R&2vHA!A~b|TPW97q<`(v^Xhr;
zi$C8DDRG5*fq^ZgMa3#HL~8OL@f@SII|SpNShBCV`1G=`2grjAnj3zKbg;Ys_@lgL
zb9%+AckzF}s&9K>-@x|ps8sLDEzzDRj#=^~P9ScLXCceMBT8Hskc{v+zc=DYwPWs9
z4!ffD2cGR-`JxNDWqVSQe#^6{nZ^1BnbNoB1!t-MR4iJ@aJL2OzS;ha&-QLO;upg8
zd1cxWZoAhu4_(i-hu%^weS4=SUIXfn0#=nh42cFOJU+&G<TzG1nrv|6y08}E1CN8;
z0&YR?SfP$yC3Capz8X}o2iJx>+=X7o&-ON`K8+KI6JTGnm5Kkz-4(aKUl4oveqrq@
z_D3x*RXjmE%p>AiE#i(SD_b7vZcG1h-SB_)j}6c6|6ltma@!A|$5Q4q<6b|U@NIrH
z>!y8-r?#K64~jm$x$be2wA$Me$1;I!N}En}KH4H2)F5(#pY=(_MC<pg>D}q8CmmNj
z)O{zs^jX=G`00C7%NG~&M9dbP_r6*%?%}>}8Aji->)z4e=>CwPJwZ24W}Si7W<8&+
zGXHY!Bu|tGkY>H_`p5r6;t5+Be)%m4y+0ou_VnXVe7gVc#Qos~Ef*~IR*IZ>#`frO
zwN{LWAooLK<-J<v9v#}oYbMEt^@%GTvr*}8U9vB-?#9-Kb8}P{=7OW<#s#hq`^3-W
z2W~BR$9f|vvSQ*9-lP<k!-<=|J1KBZ6lFP=a9T#6<;nyJRpm7Ti8)fNn|9hy`=qb(
zL7BOOWA&3c6Hl>7erQUKPzgI-u64U&<>ph*PGv}gQ>WQ-CZ;%_Pa8a*J>W?1e)^F0
zvtGfBj{h4SJcZ&4GCY1AHZ$5IAo=vB*3W5AcHJ-u*|_G^#8$RXCI4M_Wh+)nKNOxW
z^vvTpcVcr-#l#Y|BjU3^M^9YWC8EGuw7@|tF65+^d(-4{{^{L02R|IzvuNF1&ZH9!
z;wyJd;MBiip~Am-$+D81c?JicIk)Gm)0pjFc<h14EPus!Qzy6^Z=06Rx8_8@SH;A$
z`x$ecL3!Xnkx0km)|W1-Iy;M08pRuWK23e(s&v-a(n3kdxk#~-N55j<(apR@RS(t+
z#pSHKGWm_&I>{jG)YV3cEmQh6FC9BHbLQ!T+%x^1_szKLdLay)vY+%abw6aaN?5bz
zy=#$Jy3IkQd47sJmb0$%@O$F(Bu=F@<cJDSq3n4E)!QyyDYfgDiZAoZmJ<pxocUcz
zQ$$HMQfC5-maD@NfAMYSXGBf((Vuc_=2v^kTu_?-xw^q1`PGw?T9XrUo=s%kU6vMa
zx#`oxcsZGyF3K-Xv7TfW{Pg|VVr_L$@sjXaOTq6%obDsmSMElSkA4ca4u6uYu;&Ex
zJdeh;XRC`ZP6emD3H!M^Dj4^-dPpn_*^_W{u2a+VzaQeB+<)NJ*ZXJh&ljh_`QyeO
zE|m{X9X$#zlX}FTE>pgv<)d|4W!t$l3!k+XOP^P+IWS3nMo!*3n``}gb3vtJWABOs
zlj85%d|$NSluBg9t9#J$MRDuoM%L|bJ|>+MY&BD0op$wm(#i9Nx!^*VL36`G5rJUq
z)xNBS-kf~`aceX>TNc?wYHwKhj@?QUoWML9=V&N^M)e(jvC2*U@F=6TQ(7w|H1fQq
zll@uG#y6rTPClPe<^+mfuyGSUJi5Ykk6SsN`%w3r<KDN5BDr!_{BHDX138j0NI{+J
z#9nb5yGd{M?nt$fGXE5(lYM1L@8%E%_4&!SIH3i2TaZGZ__L<08%h<92PdwX%(+P>
zEYo=1fwo=pFH*pHN`bX#5yOY1LuQq$j_J(c6q~ni_6ixxvToHl8Q~r+cMgtgPK|SF
z`ZCqQX=DPEv=?KWco?U?L`uu@)Yg^mjpBvMdm_3IPW`qM)vpKkiZ9PTvpiep&ZG}a
z_qY%CRLGp(wN{LG<`Rc*Tu+`9`&cW2BD+E4MgZ4|4~J@YU1Rb-&b@(kwY=h<6Llw+
z=xz>AaK6i5Vg$9=GSJ~rxAB?AM7zmN;>Wdn4GvZ(s=!pDd77bO;WpoSD_J8trajqf
z5twQfrz!Q&^_#O=?##VR(y!_kOorNhqLZm`&xQl}jMlTC?N!*bVA+H0)ee4k$H66{
z0;@+O?^1@t+`q5fw0eEhihFy<o}wo%OFcLJ`4ShwS3m81==TqazTftr$UOZ<^hUsU
z=D9qOaCh(%needHLxOXU!+$@Y3w+KUEM{qE%bdyzGYsWxX7HY7*Ik|K5&CsajoGdA
z)tlsZiQU{3xbHHne~?89pI&0FEQ6(B%HFa`lg}HzZGpshg0rT=BUjrShpN`yW19T<
zsO^_eHYeAf>gl|_v9zpt0uM)+wb|#`+HW0|ylyYr(r@e&e<<qbVaYV>&64Qm(=odD
z*1pxuMNK~(6^17dFjWMmTh4D1U%+)v?DP@tM2APs-(P)bI<6MPEL?M?|G($@Q?f#j
zyz2OpDwNOmD;?+lm}9T~Zsy!=cd`%taO0X1utueQ#S~PBGVHlvvFx0A1ncIx>$fkh
z(r-EGA(5hUyn3SXo(D%h<Q#UgUtsDk!KZTUpNfE>hRZq0l`|$W>Ps}K@M-nGKVcU4
zYR$E8&+GWwzx8fd&0A`J;Uu(q^TdUbQ(w;{f_3uaqhIz0n~Fs^Ze6<Im{HzoJBv-v
zDiq6APJDEl*EVxc?*}ih8OpNyExbmLT!n&kBtviB_}J0wAbQCXJ>~5c7nfSQ;e=1k
zIl+<x4wF9wUp>Q>b>?-GxMZ{Pr>Tcl$e%wmq1|cT+EX$S6Z!wNh)Xjxn_c<qpbjpF
z88jydvo?rF9S=#oQyO?9!}}<=o5T#?t=D>XdT#Q2d*;F3h^h_eZLXwxynWKgqIhW{
zN1saFMDL$7lyYq@@3^3_OJ<KiuxHR6Y3YQDdjab@MCbURCccIS@yp`UxeVNSCo2?v
zoDbz%R!ofX(o*qXBcku1^|E#4rCI0g=FF*{IP2(62cZ=rjGj634Yw-o+%_%9I^2QZ
zdtWMQ7HX*0*E74R(tWB~IsKK+ooSuoQ*L{3rC>?(&%Yd1`@J;nqEJPnl+e8slZDxy
zsYS*Wv@o$RaS%f<i5MhG&Sjnxo6hQesJqx{zi!&ru&udWACf%7?Q=K8uoiu?Ts9XP
zhdCOo7I6j}GB(C%Zi~<KJl6gBYuJnnMW?&IMYo8bmbK3Ot%{zN9#j-AJ*pU4@@(<`
zU$6ah4%Tz@EjT+Zfyc<;tK`F@lbThr*ulV4b^XiLu=a#+*=xVekkP-8*8TmqQ?Nhp
zLszkxET?5-GJm6`tUmGUw`A_D+isb(dD8c!XY)cfa-DPdT<|GQfcHrZdJ)K}zizwr
zPSp=gp7Zv^Of^5^z^MJu^&ETnt%qnO>tXKiU%r;Hzj50wJgr51`mEgP75+SjxVw7R
z^fFogl)3B&EriXcFdg7-u4eP&Zq$u&m0hQ@$HDOAQ?;}P9@$F$YiTuSi`kE%8GXE4
zTK3!`zch2}*vUcfSeumBgqhwGU=~#qkvUl`648D7JZgo)U?6eV*mbU+#0@1*{Q&2p
zwMPr5imu(%Ceb3EZMfr-ojGc<wuloc-<hD=q`F6(WAcI-Dsfw0Ika+C>UXdetwS#&
z8xB61srj;KddcpO5x1WD9pV;QRm7Yw5ci}eWvQ%FBSuIsy}RyGp800E?@wa(yl34b
z?)uhG!uxklvDArb$CY!l7oeMeyn9n#c_jZCX76L%PihXaoNy3mZBl-ce_|(kY0kj5
zxqR84<Gib1q?)N#>I<l8zAF(e-;q~lk=P<`DIb~HE+TXCWG=MwNm#6@@Ze~U>-zTF
zYwi4n;-)a@KXL=L)y24SwnR6bYloJ-U%43cb?)7aW{N17{P5@<cO6aV73z#B0&#1O
zKJfY-^S6D*H&{F1qDVr;!`W-!d=L3ny_#kAtltrHCdfug=x8!?&R?_SNa~_H-KHKn
zDtm5ZY-gFv52-E=yb^s-aq!?GDYFN2XH9>|YGh=QIHh#=1SYSQb6uD%!xO&BC*5L(
zs&xxyIFRu5Y?D@k>6x0#LU9T{hm4IPo~3WU?Ni}+uiG>rVews|5<6(ExjLMoBJuOt
zMy)Ki+N~QFrtDeaV#W5!h-Gud$?8J&=lkzwwy*v#a9IwP3}-R%=>I7$b+*g<da~kU
zq39%|UoOs|zy`Ym&Ex|K-_Kv=|IPB*yyu7TK|vkG6eYFPFVzArihEA{eBfmb4wwyz
zA{zI1ss7u(wdU_RudVMDADYPBS{}83@&e__OqJ^x8V(B1U=B6mx@Pid{!Ur{w=8iR
zDo!desmIOe{gA|K#LuB$RLFj;T{tsGSZtcqgCpf@t9ZO*VsC}kTn$>jVNv(=-iLph
zu0PSZeA>=u-Itg~4b677JrRv<U&MkGj&m98;W%g7%a(A~z*T`$|G|X`OzIzsCVX$o
zP<YPu<dN{+O&4v#4=<F-J2J5@Rej4AkxL6z7CjKyVAf!0yLU}t)RT!@t)?Hna`LME
z(@X!Ewy<hCaHXtdXgDZ2CqIy7$5yS>3dRc!&dl?A*%Zr|^w}Y0K;pFdS6t1bQ%w5%
zD}TGxSJvqGl~;U7G|b%lqIbgExCkFfhsVjcozEzrzdxzWNwRFVjnwD#lk7fUSL+na
zj5vEv<LGUL>f%q@AH|JgGgqB@S+Q}#yqW#;wuDX6jrHf`|K@p7G-vKRu~QXOeEv_F
zc|^1}y0d<7>$=vJ8~WBv>9%hA=E${XKNAC6c)`9<$(-huO>b8{SR*3C7<XW{Vue}6
zgO(3X0SUSyCyx4VFp2xnXkEGc%lti`4CBo9c{HzK5a51vbYBr;;*AeeYZjc@?Q2z2
zbLUBNy->CX)6wmb2W$iOnTpD^@CG0AEL_dH&Ln%!i6!Z$CQe$Xe|fSlzh{+NW$F_3
zLti_pd$}inlzLpHK0&Kck9&R_ONykObc^`T9r~H_Ki4uG?!I8Ng6WzeANSdNKR4gl
zDqL}KQHmX}0~?e2IfY976$Yl?xt=^?^ZEZ*%hBQ3{EeP^ZC6@4f4rD$=A=7CQ$zYd
z%lCx#qCEoB#qX?@aeq><X~KJ@?wE;JjJ<q|Vm?gSbd39BR?x9J%bKPC{+w^g4tkbq
z^iuV0sbWbCi}aI#ttT><D7ah-<kT-JjK5^}DVp&?tF_5}L$Nn9{0DcbrBpE5vo)z2
zG#dPA5zqd3d+xWH-O>e_?_HNYG`Lzl@lmCC?Mwc*-u$I1^EcPn*HmWPh)h<@n0O=i
zkf-9F*9&W%QWCN&Pd$*gkEmLZq$tsmzQahsQ&oSbyRxOQnXv6r`C`Es?<&o+rYg}B
z|DB&|8@D9RKP_m=iw7+IovIUj>Xx{!Qx%`@b&Fkd!hNoSJuhVV%Nlh*SP0IUyhr>%
z_qUA>yR|N`1+xjbEWE?LsBw<=gl=hr<rNd<sv}aqzj<Ta*V{R(&vns{j{>ZZyLOy+
zUed#Jb5=K-`y>a2pFNj2m0ure>TMP0j!%|4b7cL54@%<S#osoIM07GSu=!W)t5#xp
z9oSxVRZ%kT&QFOujOW?R6F49V`=OWJHtxSU=O;|v@aKWYuLJvZ_IP{}U-CRrW&W-+
ziAuSrjD?I^9mFj7*W8QRx8rq#yy?S#;-6!t>wJo^j9cO=Zp7j))PDY4^~MjTdL7~?
zcb!<Qrg>V^Q%*$Y<k4Es-zV}}8F=oUsOh)5vzqUF=AqhK1x)%ISn}CEXZ9$UIaN&j
zy@ff6TVq1EbV2I9?k|cemVeH%D@3v$W?KBwDLFdppL@`w#H_ho^?DDFF>#7bQdU~Z
z<$Q>{GHXSH#viVh{XB(@Jj<tidB2fsk4M=nmCP-d9(XMC;s3}b=C|=g$&;S^MR&Sm
z?sRS84{``%sCd|Y=UKu<{TqMoR%EGvVB+I_ceCN(X~%oqOiiE=-)(sH@B9uQomu;)
z$DEnD&>&PtIC9>1CBq4)vwSX{3y}F7eC+*~hc?YND=n2YpKd<$^`N(r%bp3#BTj5c
zT^QUYZ>TG(>a2K5Y31Ca`p!4^osU@>nFp5L>t3=c@uulAS*@cpC&z4_9XI3D$L<eG
z;@g$pHj8*1<PJF6pvNSA#dXpLrVET;UR-T?c)wwK^9QBp&Dw7#ymNzgG|w()XgDap
z*LF$2fw4;)??sllgiHtZUnU16KNJZ-+B3-Gbq0Gn?#h|DxbXz09ZT8MV9tC@!P&jS
zai@6pB9u|D2d)Zb>>-TOtuq&GUwVhTLjS?p2LI-nc1-&0mHI{hZqF^-@iR|rmlDJk
zj10~NpZX4oG;5wclXt&+c^Q+wMR@^p8^i&OyEwt!a|Kqj`AjnUA<t%<I+Sz9sPgx{
z_#?|6d`M=na!YIxHxd0kOLGIVp$}X$KCL@t#JNFYvtM7d`g@fRkM6~PXu5PpmyJj9
zz3aL9-Iw`Zsv$-x86*w`m#gOl-?{Q_rN|zEyHX$W1>yv_*0eIse!pyywi2WZI^ly8
z?>3Kv+zo6pQfFA6yLIdl&lXdN=uZ6YcvBsD;O~KJ$}hb+Vp21jZ_e$1v{U>*H>Y&>
z^a5_*yGtLOXf{f-cX+-N*|~k<3%GPQXGRFcF<3Ro85FQJX|#y*U)b<>!5l4Qa~YgV
zp3OUFdDi#+oPD!D#MOKecVPdV$<e~dqqwIc;Mg1X7dGbieO<#{Aj1O(J~D+YEH^aX
zky62UL7+zJ41*-d*cpEr=AsxYsL!&&U`HCyyO}NDnY<tHy}Ne7YPs^|?<cB1GVtE!
zKeaM%-|Vh+9gtQI!vTTWJJU<fdra#Q*AvutkO(})y-FsMne_!ycrJO+dUEocy$O80
z*LnEoD0Dd8>t;Wy`hj8YbL0_J2A;{AzdMLFot<U7`MX`8__9O&jR~C%;ynf&`f>{l
ze=}NzBFF!oYQ_x{bQ;BH+~L`KK-3`d*+d23%x!E78`(RUue}IC_PN3t%cA!4W`}ey
zipbP%=?k0D7b3wwRhoaQWTTXbOypukv-#!T=8Dj^(z9TO0}M+vR+x!jiSWA`;debE
zKtbu;j8{B&|DApKFuvB}56_$Cg=wwxKPb(&Oz2%#i!u(~*0=G2yuU`m`S~IH0v43C
z=O6#5Wbyw@yK}U?#IK{jo9*lCH)OVacyvyRcjM1J(a1hJ&}|m_pxoWPzP{&X@o~|2
z6J+%5B<@uee8_xowDF+ZA?{OqBbZsu?)#S7uV1ld(X<{B1=e?)nZAFPt1sw3`ti|r
zcX!LgKM!xL@a_}e|0f~i^+Cl4N6&v_)~^wfIhk&LSSt2+bM@z(7USdFU+upvuj#;b
z$DOs{a&Aj?{p0z}$Gg+}dpueuc8Tw|uwc1<^gKV0K-`*(KW07OefNj?NjE#^L*2hE
z)?8TV!MKd!q3g8xP9FU!Jo+k!PBe(0sdlW`$X3{B!_HmzGqNryb8`>Z8tb^6o10pX
z$pk5^7g5-A;?wPjBi)CY;yCPjRQ4oP&Sj5`d+x7k;Z(8Fj4S1*=hCwr`k%6R7I)v>
zz$Flu@-vrbPev$P9rK<JVYgl1o1T^iy<@GEy5`ZSW505X<in$FviUELeDY#E)UC6>
z*D~(UuL~PoBu?Jro_5_*r9xlhd(*0*>n<S0-Z^3WMB}PH=4bz0^=;*??-!=&^1lu4
zv_5$G$mGzs6}tE4$jEGzsjN6Xt-U`&?B}NAYTfx8&NMbPDW4YUF{^(d3Ud2upFZ(9
z26Gnvbh*#1Xwh`#9OI#G(_e4>cAxz;dDn?FCVrI}i)voK`qA|9$hEaX!8Q&R2QNIl
znJ#{u{ZKc1UCCnZh;&vC{Y`%^rBy8C`19(5L3zRfp^Aqb=a}^$?EN9h-8bQTl5gE^
z;kcBap0O#Ld)~1&TK<^-qQ+y*L+zmX$NLXdGQAV<(=6QMad)AI;v0tO(?`W!*LmJI
zj^3<hC$RH-(`4tzn+yN9&QWQ3TK~WN;9kW)hT?9IZf@@VaZK!`%N>V^sbARs^{oH@
zy<WWE`CfOa-0K$~zQ=+?Z%d=N?tyOpcGW`#Y>)48w~4d2UOC4+<(6m8#xPLK#HMU+
zPg&Q^GrKS#fq9R`FYb4|obo~p6NPvMw|jh#Qz_FBVD3JBMEu5o<F`NS9=Og?Q`zTn
zm|M)mbIp-5CGCzY2mXok&-oypYH{($nggN{=YJ~gbEqi1?{04Oz)IVpV&c>3X2-dG
zw3rSxFf&i<5qEle;_`>M4eRD!3CmvFcBAH7A}COJ^o@S8rrcvo{PO&!<i{PIe?os&
z&D`zuCEBB6;wI;xRVQVeT3x^G`Q`0<+xbxS#3Q^+sycn*n(K>Zcq~aR@JO5@*e-A~
z^WYDsLp+C2ynm8q&j<U@jEA}39q>5Jop?xamCVU>rijbg=fP1Mefcq8QNH7(-->*a
z-6<g_;toB!R_nAzrMA8M!O>YQjz-)H4_%cmDE8NS>`++f{HsZV>12nvP>_m(GXr<0
z-oLpY9_{PTD>+aa*6=~;w0>@%_=~@~f^Jy_PcrX`%-JKJefevmulqapr00=!LDQ$-
zn%Tp_V;}N+Th~#ApuD3@hEq#q9##mpvrRM+JH&m^chanwUEdB0MuxfA=sSts@;G8E
zq;1UVt|IgB9QWyo=|_!3W~M9ev}yg2H21ib)t}mMh^>}!9|SzB-mzwL`NdkxcP#wn
zXme7>er0$5G?9q{$I4a)nZ~hB(uno-{yOFQ!evX79@GYPv7Q%snySkEsMRLZWZ(0x
z$Ge|Y2^#))D#|>;?NxC=xj1Y2jBA=dwSH{-`1a`gk4qG|9v-cgzx$%$^%`*TaO*&K
z+QI6BvJwhCChw2_&N&vcN~Ti4{T=(GIh+41xs)a;dLlLWgHCps@KVh;(eqFooS)n$
zt|2gyLzz>5!u6Bd?gBEIi>~-}^{;7U0+%klP2!zfxF2St25x>bC#X2;5m)Fr7HIE#
z;-AA0X1O(!&wQHfHG8dP+?p5Ovp*!cZn`*IE&-ew&Ell=1tcG?oa@^np8etW--Aw#
zTP<$u*st7j^VpGY_KGPBg4J2WmVkV7|Co&ag&)%QxZfRcFxK6uX)&!%aRV#Q)|I}>
zPxda@C%!XW;k3V2u3N>%MH?ILxo|y+0B5aU$+#Z14@{s!Re@&%Ym+jpXYf>gs#!FL
z{)bd|&@}A#V8&lor`#9?_3xz{PcLM5Gm7Kz)t~XbiPe2YcKW+|P`U8ga4BRyOMz8R
zhxJLtK~7~({Rn^EM8C2xtm=CdL?XCZ<<>~Iotp-!m=&a1g(?&+3=%Rc7`Ii-KYP-z
zVxw5I_FLoG{hE;ZAO_7337Q8!GF|MCXV7Ok<Z*JZz>OwWcMg3GqfKgDHWB7Lb9EtA
zqJtTiM}?wb8;?HI3K_v0O&^-Pg0A~C=GZOU!V6Jxpm}M7jJ`#p1yfLBR>HjLONtin
z6Bjvw>879$OcoQn#Dx-}!ysp#C41e5j`G<=aHX`0Cq?VNy0tTnv8kr5hy8Wi!p*9X
z=GF-}#s{o>g!XJ_-Oh8byW&3gt6MwOcJ}@}Bevrks!JG-bDNx1+M`esA&(v;n+|bb
zXuq&^@*eTm#tiv+-`&jQgKt46M;;suayZ0&vT<UVrP2o0hew~uJ-+_&6<U~r0>1e}
zQ;f*>P_X~cI&s}OpE>76#1aP01EMFMNxyt?adG~hkH_ZAZLyzYe9mSzcTCZ2)elX-
zbx%}p?6ZGo{&(T@KRuV&x-}Z|cgdVL^WCk?>e1*bdV)>=o4iHAn;RPw41P>!f6M>8
z$N2cq_5ZrfS@ju&JnwNI>h`tYwf;Bjx_{1d&Q~k!S+H<|$d2<|Db3>R_kN4AkoouH
zaeulz*ixD2`+vO;J=FbMiX-Ct#v0~%2VU79`MHPvQ1@?}Ef*eoH0FF@QWV^wD`&Dr
z;JkQx-{<(h-?bjHK0Iorz2O&sq22q&4^3{?K@aS-C#c5#`FXy6UZuhRf@j%%;@=L~
zu)3Q)IRDqT%<Cr)`|ADQ-h4b%^yFcCf5f}b;)b$)A~$NdQu@VL?>~4wmH#`Zex2LO
zxmP%9dPO7t{{4Jm+L8O$K3#q5zg7S6y$zoh)~<T`t|Ik))U&`z9~OPQ*&=Y>Y+2pf
z$D#X-SWP;t&F(XJgm0M!GA{V$AI-`8i%)H;Jbx>%`2PndC7!I+TTk9$lYUY(&2nDa
z4I9I6>+4*mzjt)#o%;FID}OcaOqD$hDmj858*4Y4+3hxn7l>Q)^oH~AdtbOxI>k>+
z>`DD>zU%wK_HTWkbf2ESxu-mL+rgRl`yX)JX!?-U%yW45SCdT=&eLzGG>Sisw&Xie
zBe3YU;>Nc19<_4zE?mMNmTx*<8~sqh!?Nwk%>xgQ?!UsU!Y5w;-ud^Bbw8#Rb{v#z
z*}Jhc($Ys|&k31d2^S`EbawpfX8qvAAo8$(zw*<aAJ!?Ku|IS`we+#C{gMl;lb8xw
zHy!WJFsoOtmaED*&vAd#lb5>w(_LCktLGit+om4)Eo6`JWB;Gua`tX$)7{v5q^*<p
zhxJnClwzmAL*1o*9(UF>|NXmvoy-GQC6x(gD#Z^b^gehR{n4gRagOnme6LbVj%crn
zi3Mp(-aGnn9x_!eJG!Bnxn)OSSG>!unOip0?5T)&w#$Qu<z$6ok*nLDgy=3l{)3+t
zTZ0}Q6xms=QkpDP>CtEtq)@%5BjvOCpL_PI`wsqlx%Z)mOT_0A!}?-FgJ%8BS93VC
zZ~Xu8CG*e5>0R@W{eGm+eSTxq9iN)z8y@TYf2SQ+AkW6?{_g*U+5GNj7~?!@6nbBL
z65;x$^<Dc&Ez3zxF;B(`M?X5%DMTJ(zwKP5;ZkShneTHy;s}@I=9JZ4PxhYB%Aefq
zn)aU6|4v7Hh|oRGy1D1g)b?suKDLpHd=cc?Sbttf|J|LP$)}&Kul>E;e(&D7`6s7e
zzV5L;ukzKRvt=JOzqNJy+m;GOC$ZKa;VN6bNwqNC^M2sRuaR?v&i(lZD*iqt&WK;1
zeWpwyw!(VmZ^d^x6O_0;7uU%ciJk0<(6UfctI%T-zEr8ltiQuLm9@lB_u<jan-oqQ
zQf@fFk$bXnO3$4M^WM)?WS*kXeC$?Dh(h(A4Jn_mZ+m-r{=I8zd67S^Ok2+NG&^Y8
z$5lt0O8rH}?2g`3)!VeS)7IdG$1P8@<%+l4J~TBc&vt2ydBo};JE8Y)(geq?`Ku#-
z9*p;P(GKdL*QR{tvEumy0{18EYxg-QcrkvGro|+oV}deTou#Mw`%?Vg`tbE}XwENi
zd7wCPf+Cxhj{7{((_xnG1|=S+_@+K~eRb@o#jy*f&(|{DeB5d|d;hiE`M<7g3)}a!
zRX+FNrW)Sptxw&>Z*)iK>i&HZ{AhO6_P-qUZ~jIIl^?!8zarTzUGaX~hos3o>s~)K
zzF~3vEMuHXO+(TT=TjSNGG2!r+&<A`myh??DgCcJJr{P08$EFSG;QU}MMi5LRG*x3
zYi7*LS#S6w?c!9PCV2(+nd}iL)_Ss$f1-&{=-NkJQ*w<gEQK-`R9auU(E5BKQ{<zg
zZ*On!z4^y<|JRjA%x_G7{!whr&nwYqFI5XmbFAOA|FeHyXa2;9Ba?op?^C<Kxu)HF
zuIRZrP0B73vmG0+K0cau!+B3i%FgSPYNOZwFi<#s^UUFije0XhBDRA3{_o%)<vlle
zlwTh!R9y3TrcSxT-6^-%tGsm*Ncvg9_@A}(eau%5XX_KmtecK>|NL3`w)tnfvHE*f
z!DDFw3BivJ)$U#)`oLALpS$Gc5(hq!6LR`j_@Bk+eRR6_+uBgk`kBnnoBtT&%$!<R
zzW(vMu2}xpzTP9VKRL9BTT19<h%Y%%ByvJX|Jk!=YI0}n=T!3T74LrJI>%te`=ig~
zo?U<a%IxWi`uloaACfE|Gv#`7J#lEv`S57#^|<2QcVA4j{I=ll!#Rb|EdF1u@BGMl
zbNV4}Hwoqz@z<sd`R^V>s)+;UvXY>FUOMZvKj$n99vqmc?7k;X--eO@n*2FQP|5#E
zYWf|AL)@JPlbV$6StE}0en=|j|NOeN)Vt0tlNmfJBWJ<-?cH5&d4@$i5N-2>w>||m
zKt%N&BxH<cxz*gL+RLVB^)4+GZAx8%Ro_9PMSS)`na7Mt6H#Y$8cX&#>^%WpC!te#
zowZV5Zo$Q0jn-GuRt_BE{uH`qGy0s(%}1;<61`KZKjy!-5wb6s*O}vIfx3vH;X_kL
z;#~B3L4`dL&kvf;zW;r8^=u4_4t1A?p{*Zi_>eT0{rcIrGfzBwg*GM0q0gazEfRgA
z3e>xZ+5EG1|IY0vQRmVW_9*O$NM}Wx3FgqhR#|ZO&b-c?b$VzXczCp<|7=%P!i4B&
z%N|?_)1EzX(zeJ(^pN1((;>|EkoBkWyVaPpgC@VzKurhHKcALuUlWJv*5ALpYri&s
ze0JLzbq?7<D2{`VhpSJZ;7&NYi!I_53WIz4-^eTM*|EO)^|Q}zI^Vm{!bWA!1W@a}
zZc{#ke!*hSo71feE`7VHfxfimIJcj~$_hn6wui1}&8oSZF{XWkK&@v+eTl?3%I{fO
zeXqHIys%_mPu6{B{<pzvFKT|8yIdy8w|~ad)-}&$!am&lv^KhB|JtV~pHB~*ucM!M
zboSZ@f5K~Ys+2W1tQ0*Vrtcu}WN*Z~_eHntq*;rK>yNgt@Hu=%t8c@Jgw3-GJ?sje
ziRp(GhfVU+worYkd)kii&uLwU0`0@ysq-D)%}ATt9(VNllzU!WIS#BG`q!R_SDGEx
z$~`O^@i(?Hzx1d7{ZDIG+Bb*Sb(kLFu5-$Mxc9_Kj_plz*GTB!u)oLjKTi8__tgK%
zr~d_pZJR9mV%sL>i@QA<*&P`Vaf6fI*X^Fi7}^fV{PF)&I49z8_!7J6b35Lg{c|_7
z+PkXw*Ty5YC)r~Q1&*#-`_#Kae_NjDdE0-R>mCMA-9M?yv-5h($7qWec48eJ_P*EL
z>n3{gvEIDNmGA#u;N-bSQ^Oy*Pt4u+;OFT%e*AAI&vkgzB7AVM&vfDc<xd(Wt;&6M
zbJ^d`YX43K$9e62!YVS`Z%+NUN1t^cdx)0b+fbS<-X8te*R5KCb=q2nhexgW*F8BL
z@h#o#Eid=KKTo3{am(C)x@mpM!Mz8sr~Ns2>KM<*tzYghzVzGZU&z$Ap=CLVcMi*2
z$Ndb`ysz|leeq2L;rN&zA;J1u?*s+)tsPAYS)VM9I`ve)=IW(NuT4wXO(r>L)rk~t
zc3l$pszrFGX6NPZ_$@nbvu^dZz3uuh@^YNl{wF;05|*k<Y9?Gd7j|HJ%XGI%F8>OZ
z_C)+GXMCHetm#nUSh4XO*P4H2C+5`7{1rU)|Ai^ND+`~yy;@&rX|B>g%X9y?V6(~J
zru`8PS-{ET+jP7sn6KWak;k+3%3ZGfm=_^O<Iit;(DbKesqw?d51iD`q@Jv}TJ$F>
zrFloT%NNxX{ipSd4}PBh(DfMi`4vG;`qM6%o&M~<e@n?H@BLgqcL!ONF3k3<x#qgY
z<LJe!_j$Ik2PGWVaH!aLu35WMKdfFq<pl4PpA1Jf#@P7C7+pHv*2-2<*f8a&=8_v;
zN+%|L%c{v|@+&wdATG(RBd$N~!>rRMG^_V`+<ZRk(NU%6`=4;8%e{0Joqi$A?$v2q
zJ<b2WA|D-9>e7|g-(lSHBI#?n{oBOHTJS)4CQuh~O7^_x{-ds!0^Z)%3Y+oipvyCU
zf7|9G4k~-YizcY-Q2i$z)u&&yO7MHvV>^|7(%nCVgDp3Gh*POsx?DW>*zwIzx+k@N
zHU9Zrm^tOw)8(<HT=}{$_f8113fd#y)SY@T=k}32af`&l<}VL8cHdCl;w$wvwPqsM
zbnZXh>bcYEL@%j39Gmp0RZp+ZW|GoU*23@ntnOj|V;!n*cyI~Ct@-@G>t6SqJA9t&
zvJH<b%AImpq*A^}f5t1#|FgvX)c5HcsaZ&Q<WIZi5#71s&}5Itw@>SNnXU5d?ylCq
z^jPQ9Y42aWbISrh28-TR{p51y%ltQ*>|VRGIwu7EE>8LM_d~h8%966KxlT{!b+R_O
zd+u9$BsFc~EzN({NBO4(-WFNz<g|9_zoVC9)sz@j>f2KO>&=<(BDiCHmf**m+fFJ8
z#XWh_-B7k^q6n-Azx3AO`6PL+oR$SGHW8EMS6vQ$Hk+wM{I$)FN#B+3=UMK$_ch4j
z*`5=z=~Jf0opDo`Gj*Qz-hPo2UeKJbu=>1aE_7V}gM%h4UC6EY-RcMHz-zNYE0{HQ
z%eM$Z``OG(q1kV5#e#R@R*~Qe+M{ueNCcC9-JX1gwwFPf$3h-8m<FL)vB4tl%-;(A
zhpaozuZ1<Tzp7g}8P>7(YE=EWX#O7Y>@Tb5md#$xd2{oxC70cxYXQCoG9K#Q`Zv>$
zXX6s4)&I9l54|!8yppouzDUI1?O}Fr8b36BNSZ4e@i({a{gkWkTfTu;H8_}YT@d#(
z(@K;ESBTU96z+d%egZtCR<eD4obxTv(u9<i47CqaG(*HH6jRC%Nx9eDsJh%=R?_%A
z5;St#BEDL@3vAkI&@h%a@8*Nu|K#7Na?ayz5&!SDuJ4Zags19LKO}v1x(Hf}knj~W
za=bF}TE)icAC$f;zpnizoO9-I>QB$JoN+0$JZiok7yrItnf3Xbk(c^B7=sc@!Rq6`
zRb0Gp;B!z=sRwMJY4n~6zTG=jYvX(}=baJ}JHaWn#ILDyZr;sL7woPoEuS~}@wzxi
zi2K)q28V)l8^!$<b%e|hb@%>!{om1kwT}JDn-5wI=Ba~5g%8zi6ss_tdq(_?K=gLI
zEgGP%=)d{%zd3N-i3g2CU77ts>AU@L`7a;;+0Cz?HvdY_2d2lBZ1IfEeMhPU8O088
zGX}KS|LdFb{Lt=ixkpd)!~~ho^LxZy$0Flrv+YmEp`urOLc4`mcq|eASYn}Zvj4>V
zql{XGbFRMjtOl({%-L7qvGk}YH0g%bcYE2Z2`ye*v;1U*V&5mpk4|QB-1GQnnm6U^
zm-jEp)8YGHIH6PCLF)VE4^BtKKl19Vn4G|&bJBnI{uy;HFIj>g8?6?f3XYbUq6+U_
zr_JwK`jP3Qpq$de2PbO(Mb1}mKmBR)th4={N0|j5$*BZPsJ1$?alU%q5nCqCc*b%?
z4(6Ik@-Ev9@9*B?m~`4A9z0B&W+7JIx<n@M2-l+StMy$O{7W3BfnrDV%A$&g^B?Cp
zR!me^{<|wC4IDmBTrN7h{1a8y`|&MFdD14r-#$l9h}}c-lkhn~!&Qo|QAG{ne^z+9
ziyUZrk@Qtw=@zr*gtbg9;*nZgMdIEl?umGQ<KQlypWi<(h^!0Re2}~Hjgv(CV^5xw
zU!^}PT0ZO$ILx=IHu~rt-g8Wy4X%@(E5BReaWCSI%Z;5j+D;D`4L2zLauq7<Khid{
zN%<1zvF{Teb{sO*kDIrtsx^~;34^ABCTLi@J<)K_hJ)3NdjvR|o0Pv7A33`^8I%~=
z^mo)NJ~Z=qVx-c)|IhV(HNlZgEjF8tOK0==^|?r8H0jIvuM`)2tbB>_DXZ!o@q>Ny
zE#y19mUur5pQN#CYOMdR{?xBsm%vHh5tM@d6r^;EEAX7!dt!Cq|9!DJ)8=2%`KYve
z@7hcgMR)7-LeeWzRCd=F-RcrKF%=vNo)wN8`%A+VPWxy1ePpU@Fzr!)lJ@-OL)X5D
zw6Fg;wy*~&#DnK-;;pRr2so)c*}Eg({>A544v}?1#ogko?KR#uiYTyt3I>gG{=aJ(
z_b2840srsaY5ZsYUyZL%;{NCS?r8tFFaI<A<$FFTt#AADyK-Y>T@a^!n7#;DYuI{F
z&XLmV6z|dH(0}*5V0QlTQ=cY#Rcx$Um;nmH4OJkYT`|z!^Wdwph|J0DjsO3}<WHM_
z<>*Hya~n{nW&+c9_r|OB*-sD42~`O8_b*{_f3Qm+E0|ONU+&ysh4<$Z>i_po;@>VA
zs|+qYe=cii5%<{tKvLpl#YZ{*J_Y9HJ>o6m*^3<Z-7PBF3oh@TG&5;dFdp(a)UDnq
zu9WyCu;9tR|C`RYD?dA&>vkQqD1C{;KFtj(abLVz94jXBgT`Er)$D%yq6$1QeS)2J
z+M({d2e{KdBnrgc`M=OyzHbJy3l0cXd}R6Hq`-5iyGG*W^`}yw-%eZn8e9-7$cvm1
z(*Gr(r1<{muAY6f|1J1gF#DqEB&H<{niKN5bUMXt&oq9NJKX&%QGVOKFN<YkAJm2^
zfa;n!a3%1`v2p2#B=N)Ca!M=ZzX`?NdA`tGo^Lw3?amKe=NNG4e@fi2|Nr$F`P*e;
z^&z3N;J_tNLmWOl(|)^W-9*q>a$`+!0_UC|2hY8ef7i58!1J#FtNXPjxv6#rN0iV^
zNUBKudX`CF<&eUj6UBTHi%*|NF-3FFjf<k{J#vS-O{L;L*KGe;cKYI1hzI$(bQ;C`
z-@j-wWIuN9ofTK#g(WMq7dY76Nh|4v#LR4_$cL=zJcqh%%8l1teER&huKRUw(9E`j
zoyG>1IGb;I%by%rA^j!bez&Pq(&x(UsKM6@9&>(T%(CY0R&>2J|L6KW0Gqv4I_Y!e
zc~qU9;<7?<SAq&sc!i`tOX~bU({2)XL{=iUMZAS6dm*ZOy&oL?zOB6GzwE_EN9f=?
zN_44yTqIj@kaKa_0pF?0prvvO@_EL)AnP$c`8F>7_^6sGPQk^gV&dnCQ_DPdivRr9
z>kRgD<st{M3dJMt2`%C-%-IVa=H1CGnF$G|sZ8Dvj+SrVUf&<dUISaD`T14d;%-PP
z^A}-=GwJzJw<rIBdf{gFXa8TVx8KP6Kk?X=_xtY3srP)FRd;Id0?wPo>rqYR(Qm7@
zzh|u==*AVdrO|+eo$aCPJNK}n*noGgakY0Z9G%3p#NnUD1lzchD*;bAwqA{5X8rU$
zZLv1Q+Io=)9(|oS7WWz7n~u9{SU8<)+Zv!ypJ%o!2$Fi;8!h6#C|exT6_nXnkuG<a
zZO;R@3de&JO#@L?vBbT3`&?3DWyMF0hexGcSgsx7{m}5v7{#QNJqdO_tsfSxU3T9!
z)>{68VvX|rvVV7SN|r*xsGrIEk*oG2<vXBwnaKW<{rephr+OUi-h1+1xBES&IF6Q$
zy&sZ%jriqabWU8I`TYD@w{S0Ts{5xgp-uenw*zx-gmJH&d!XB0BF^B@ie(QtR1?=U
zGW{&xd~qryY1@N#y(vW-fHK9^_ocV`V;cYLy!pZlQew!nPCM4U<9icm$S-@51F9<@
zvNkE-IZ?flt&p)OIUxAMpP%a%f&#R0Pmn_Po{H{0;@O{W&*e~F|IU0@1SA|?82iNi
zH_nS%q`JH;ue(~mLA>_L_a+YI?_5t#&UKsa33hv&rozKk7m3UY#zO)M%^#X<c(WHe
z#NEv=*$4@sPNt$g4?qRnZ}}J5hFbZvYM&u%o?sdmkfpw~Y+Wx?W$FHlpr~iioS@Dn
z5I13c(p=FKldXI8CWDKPJwXbr`U3Ki3KmZHy0`v(yDu|IMtk3cJ-hC|NP_rZ7}Ssc
zx&3#S`%~Y~$82_9eqjWWfH!|p6pJ12zUjVg>&8_f2Q$u1^nGk_BS3tTdbw1r8n_gz
z1UHZWm)#Fg{<~|A4~mys#9PE)uR%@KHy^Z0$S-_wV%MJ?_rI{8UH!XP58V82v<X!3
z-jmScSh4Y?`>)cS2T&Zg>3Fx<q3%-2TJyh-C|L_MxOAr3*Pq`zE&(M^LhVL#&ug0<
zdOsi6UCy6?>H}8LOw5Gv@6xe45MM27=n${|WjIsP{O6RkJ=x1Mrrg^3QkL^|QDbG%
z@{6gEbQaE~@`0&E(czd-g<!AilWls;Lb4^snkeQR*!0oKZbR*#i!uSq5_})sZ_M3o
z{Mzo5YufUx<7>7io9)%#@=o1ZeZvwa6oc1r>0fg1n>o|dq3!td<A)|a_Tn?|IO7xh
z@><Nxi*YZnUR|}O=6r3M|Jjzm5$)ejP0%zlpL_W5#dSq1P*c_EW89S~DiTR`+!A*r
zG#~Tck%-$bzhdIQAU=1sH(u{KW!8tsyu75d@3!{gWyyDc-I1I1ZJIFarzd`kPlH!y
zDXbUqINELdx9tBN=)hsO`Ryy`rU-P(XgWy5)hF~esU6RD&vy6u<d}Em+1o3Y?r-n$
z?ajXO@bj^xOREbK-sA;NmR45xnQ(aSldFH-#32>PJdFv`dpsm_D&*SklnT!6VKORu
zaq`0Mzwf7haeJgV!>@O5@au-Ncl^BmUHI+1Rrnj<;_7GLbnH*wT`Q&3BXj8BtMaKR
z5qP{?{^KUWgOm1%_vd9df4mhEH)GYc$SYN+Cpd}MZ&~&Anxg8wsDr{U=O~uPvM49!
zD{T11xH3L_|1G;?-;J{hulLPLdp6xeb8V=#+uTPBI}O7A`%gG*i{ju78gW0;<ZG=(
z^~EH^bNs$f2(n+2lvZ51L^nN6ol&wNA>r(C`SXniX=%&DZ0urlL$C5})ZtP%dRDI2
zT<GEMUB55Rv6cAdw)k7X5$WECf?_j$Q%a<m9`a4D2-|&oi?$tORdOC`Mo#eDlkvQT
zF*+<-x5B6`q^+;9Gr^@KQ{nHSmtQ}s^t=eUBF(WbVal#stKM9{HRJN3H>+gLKG-%G
z^UPzop;X)6(Wzjkl$y|BV0AVwCym1`t8|^{9EQEB&$&?irSOpTk+O}85_g}$d)5z5
z8!X~joDWVp7xhQee_My2ThJzphsRz>1n~Dt{@ie6k^vLr4}%21`Sp>S^TVS>{z@Ga
zoBLR-`Sy8RF}D8rq68h2PmD%tcN%xgpEusX(c&Jf<5jdL+-B*V{^?r|r)r{PI|r_~
z27_q_x>eoz?)_3y-CA5%x2rh7)<&=Ig#wR-!G_fVCWpkQZK>P3HP1nPQ|sw=)&SOa
zo_7Zx+?>lbn|-SCo{A;G8gdiA=?J>5J!V;)F2*_U`0q)p{HEEk-vTY1Mk!mqS18Ii
z3P^Gq3Lh3@O35%$vu19(sVOI)$bC?iNtJE+_pHrL8;{O7s<5H;;M;DW&F5knx_1dG
z-%v^}Q$M6+-hMWyAmxy<97jvz_qfmw-W}JHt}LldTZvk@MLs@yJL#Qk@o|kcTXwBp
zS{!2F>Mg$c(yV#Y^inf(^CNTfy|)Vm3T2i!+G^bqZQx;X*>LIIw=%xWXZik*SDt>p
zzq-6l_lK*!%dZ(CGrQjIyrj3Gb>`-yEoXZ-aEOVdncq-)s(a#{Pvqsy0&N*5gQt%x
zS==`?{OC{=Xk>2YQ1<4C*nRdBa?8WxICu1-wbN|AKYIJ^Rh{{^b44>UUxrP+`ZZP~
zOLndY&wmA;c@+mE5<M0hT5mY;SeYrYLw~7E()p=oZbEMD2aj$tQeUGKeT7$g$pem0
zRy!MYFZ^n{-Y-$(xbkl6LHSoEyFQjFw3biWX`8k6OrxWuMC8Bbb$8QHOEMY#XU~_L
zRB;<Oi?*%0(xW`#=)-*lo7b*cDDOF!YwOCb`G4F>-)~)Y@7ll4N52}I#b0GxO_`e8
z6`k94&GGEnV-J_rmA;<97j|!5j_kGfJMRSDS>{r(Bsg{2jij`?T|2Uy+?^xX+K!)}
zEBUf*Lx-Z>MoAe7Hv8h(0(Le9=Z9RIgoJdbPSBbA+o@t=_<e3@eY+;8G4(NPMUuzD
zrwNMkMH5b+v~2#qS0e0Xc2xVRSHDla`W;<;tU-MGY3p)%{p}VJ&pBCKDk55T8oF&M
z>+i4D{~*#|{=QSzjF-<pc7D~FCpGVjvMaCu*ed24csn9>{j;r~&#v{FY%kUN-6`wN
z&yUAHU%a{U!W9)B?ut|X{7(!Y3MuQC3YYybULwG$AGFtMR*7P^dEcdZ##$Rr`5Wv7
zZ*XM{N?_L7kh3SErpM))Yh>*Dgj&7z`4wjl@OsYu)B7P#WLnvWEWvAkojhL2gw5V6
zwp>KsaYu^Vj0Yv}m!{bqs%~`OtuHXQFR`}pxJ7&0A+^-X`OEhBM_Vq?&ykfkQkx@?
z(0$>H%B<|d69OF0IX5HC4=Ndb^AMS^uz>Z!;T=|!81<jMKkNEDJ;AvA*`n>~Y46T0
zjsEgYhv)UjA0OxE3)`;oY2>X4zn}>onsVS;6VxdBh*c`KW98h~#n0E9?%VwT7WeIQ
zdp0c=sGPf4IBC1~&jjW}4vAWmtOS)dTG+blo7NO8<l|<Wz1lxh;_~e(kzdkZo5iND
zuZ_qq*wMcAS}v>U;i%hNk4?N+Xe=XfVsFBViwCP3-IuFZ_Nl*MJSZrq8W?f+X>(PY
zGh4R+OQPU}jGpE38~7yau07!XDA;;Ic22v;D-*wz<QQQY2?oAC5rcaw%GHloIL?{4
zH|f%})qhwn-v+mP6j;p`Fr7ZuJ?-2?qlGyvhY!ElA(s;vc3F45@WvalYn%8N?^(Bg
z$+qnagB!na_nvI4x?(tY>7GIdZINY%N&_RVExoX*hwFzyz`U-gNp1HyZCq<yvP)xE
zN|&%UaW(&a=f3&GUWOnU-PfTKbCucLS0Bpw$mZ7L*J@dOi)B~*6n@Fm?Y&Qx)ie(Z
z^B$^fUG?GshcUm`@{`<?EX)(Q&ifrs-q>`}@Tu-3@8qw$PffPXIk3CQuM^bNV+=}|
z%B3T%|6>OGA%=*EoHaj`N^9o!Wb}mfUS#|H>u*B$r?!8G9+^EU{iGXc-?T}v!e~Pe
z%lSi}@*2&OIyyaCKE9e5-7!^U%GU>lhYs~!T542zIPqDFz#p-TGf!Sf;prEP4|x5h
z@Uxpy$qS~$m{%8L<qaa51T75SC0&{v;q&lIvsTEuhI{hwjH=hCcJ;4GE7|}1`OgbB
zkJL^VH?Dcs!T+v0{3qwK?UO<MX$R2!&9q+e=j+WHbn_H<FIx8c%v7r#dNZz;#qYRR
z^3d(`zsISp(_f!Iv^4PgY@-K_#$4XF9`0puKF}C=&!l4Al3JJCSD`QBZ6ofiHsQ(E
z>FDXn(Aj^#dU2-1=J!d#pBHRf6WjT~<8Z^btjjN2j$YO9Nn_jK@X>>9)6BV-cKx{%
zv@4!Lvu(}1Lvnv_=H*tTt;)C|GjHZKE?3op1efQ_Ubk3<o|L)hIYUvR^oZI{NvB7j
z=B|0H_F4XH`*Tg*<W7mpY<sj{Oo48{3R`(#)5k|=mPS2j4KZu-bT(n*UZheGa-#it
zfJI2${qlEimp2}|l`NiZ&92^doHv7O-Gv$V?1Oo?J&-Qv%iikrz57s?T<f`0HKJ<A
zPd+-g$}jZxhI6mJz0AqmdpP+1`h#YR+1xXXZmr(-ZG~=Bd-;(EE;TIN3wqD2c*vK*
z`Z#s90?(7I6?YqpZFgOsyX*7bswJrmI=g(%^lw`4+Uyp+BDmFZk)eg9*eCXaD-XnG
zL?$U!Jj>W=%zdJwU@v!e?K6y|&z-s9<FA?pTpL`EJxs6g(VyX%oicgCT<t8o@GC{{
z(zx>l^i<+Xwtd~~!yU4;tarmnms@P6qHC4a^UD;zFIrN$WnsMSs?Caj7wr%gm2+GY
zf9H1w-&AFVo+-+=m=_98?w0-|_VPLNA&1<o%Pq0`JG3kM(x;wclRx%)>f+q0?^hGO
zA2OU~id^S=Zysw(&rhYsn@25}OI82flw75EQsX^Z$a{TYTGxHi(6-C{k~{a7-4E14
z7cI*vUbo}xU*pidi*IfF_c3|8^mcj8wHcE8;x2!GxU_AS-_zadtLwHtE^_pIestBo
zP1i0mPoF)pu5e@8h7D;SoX#eEp75{cZNltBD-2Rk{CvPZYrnB|QW^KNi(E%ne28dS
zzC3BO&WuazinDAFnyn3f`6XOKH`Z;tt<2hh$nPe7;{8#Tx+hQZ%rSh{FQFv)N8=LT
z#NNh&lc&Dz@4UYiwLE9ovqJvc$D22HE;V7zpZqN4x$i;u<0UUQuQ=RpxaQKq3#W`9
zJ9O;vQ>h3u;oI`HH`Ii8!Plb)H=8chkUpnBt$aK0ij55N$G$z@E}&HT^zf#iw~b{N
zd+g?UZ+HL1G*Px6x>MA|+!`bIHk!4rT;zUtnMvrEEUjNAxvO~mrmWog@|j_D`!Tzu
zujlTkKIBY^Es>1r=)cl)bHd$7tE`>hKgw_{KK;aT>nnNh_UNxOtNYU|cPYn~6rOnC
zYqaT3^t_yHjPJRuRD&8og->Is)&$<Tj+Tjb&p8s3B38bA6Rdbysa9u;MU2OOjr@eP
z(iDkp=cjLxw~0SpaPX;Z+1j1^qC>B)tNEX#+@yTlKTMJTaS-n(hxBvdUl;bPzj9By
zJb6P;b6!r`rra|@7uP47E$BXbDArJPT5inxP4{FB?ns%=ZavXqE5jIZCn)NI=AODk
zeCcleH;WfJU(f$2_xgfpZ^WPA;7L1^4F7+bVk~x;DJn_F@>TJP0-rQBT?>N;$0CZ<
zHKkqNpSim8(1w2plK3V)eOIQOvmZ5rHb}%p+?<k@z@6tAJgfDPV*u+7rP`Vx9|^AR
zS*KrDi*7o3#)vO@FW23#v*x95pTECk_3j;sAEM9iiN9s?r7rRC#O$>*YM!X)$F6uK
zqpk6J-HQO(J=el6ug;UXbT=n-Tc1>beG`lSR^83Z8DqC;vGa;H|LRg?J|o!GV_h@Z
zNjl(0!^yjg%6csS>{T;oQdK?tEN+LM%)jjBW7*9~FW0Dw*xp)rH2GKN`Fk^qkE+E^
zKJ#O>{QsGzkGakoO`esVcu;P3)<(8D!NC!H=M+CG35q>jDRGnM?e(>ec?{h9_9hnn
znq^wSl)0k3=)zLv*~JmBbIl&aIxdG!i*4{?opzx6{l2^BZX`)7^Ss+DaKLHiyo;UZ
zqMmNGZ8e{DAx!&mLyO$QjE${py4&<zou><N2VZ`~U$`XR=I8RqC%)G_P1qQe{??&#
z)wQTA7By>D$o}0r;kxCLjXf`N6u<18G5cGq;YMreRj~&H<{!Idk(420_$@29cd?s~
zqtLurE^He1j15N{E{2*d*neZ?N(r+=^FLlZ{&}5;$VQ=*DluLO_ndoeoLk;H)u;q5
z+z_Ib>+0Oeaz1SD>J9d#+sa>FY7ja6?!p3NjY77#Pk#POXPgpeOn;y%&{kd*rIjVh
zk-Tx%Rq1I7jdl#nS?{gp@Gtwd=#OB<!SfGW>;k0I`?jhznBM)bWq<HX88nIWu3$Lc
zt$zP?`_gA|2dXFbiA&XHwYp|s&#25b*Qpg?axf|BDGHWe!`&P7LS*0blB=iLyJr1X
zTNm;@v|J<q3V%t@iz!vNkG^8ue42a1g<E%Kl(lSTJ)o2t?!eW+s^u;vsuq#CeqCJR
ztU10d>IcNqqtx|ER%o~R9_mpEUg71sGAnWVy1X-1NuLvwLT&b5Slq7e{95#T|E5p@
zHm>j`hYxZJI(<LCQuCha9l5zOMQm;o=`2g8UOIMzZOcMVx79p$wGv0yeg2TbV6=qS
zNa$FDeb|D}%sRVjF6!xTo>|R#zP-F`**QtJ^aS<4|89hOKe}^Ggy~w|bLkK376d~#
zTtzHpI(>}$r$KPs<<N?~7nA(gKAthF&umM-Nr^#pO@z~B?viU&zdc@d-0Jz#ZNIO4
z?Sr)6D<7TP-gkG^tAKf{Uub4Z-mPC5nYm%{&TBtsH45(Cn|sAz!NxL;-WPm*%f$B;
zsMxgXMJKIE%qruW(CFTK`1*=12fTijq{SDQ%?sc>*P#Bm;`0nsfo<(d4Lzp<y^pSt
z%<Fm0d~9=Ulme^8V(0fkR?G`$YF;b!eyb6FlR<38e;t#<4-Uxna+;k~bQbQ|5?%9^
zjbCn~&dmwdOE_KHZ4xaECiEJ<;9I;U<=?$M*;P?mL9X6Bm6j)Yix=FJ3~N*S$gzqc
z<;L>#gaup@@dpGyUh?%8=-+y-V7|SxK>FJZh3D0APt|AK^8*d)F=%dJ6pfJ5cVTDa
z?%T1!R6dqLOnjZ`iRDrcUrXO=lfE@m*MwtX{PPnn6K7w`acB2`^Q6jmeNg+mdyb3m
z)_zDje9*hsYwy<(&*e8?X1)p6=H0eUP`1CvgfFX+??YmO<jXk*Q*R!fo&7Z{C)IXV
zo@w@G#@{a<TW&Ug!R2mXU%mL$A>P+BUngZ<677t6dr@{x=#`agVyna-DLZtX-up}T
zDp$LKIH%7W*}gRC?dgHrsy6sCZ`<IW^kO&bss{e#8<Hu{xV$D$4atgWRo*5wcX!zP
z#)YbE_d_%C(ryUvTUMqW`SDfClW%M07&vemDsnJw%P4g9(sh(q?#y(~@p`xY!R|v+
zYx?gbo?K|odi`kOT6<gm<Y$Y2-neUd<9Pke7r{I8P@AeLt>Owi634qY%{s?@{ng@)
zOT+|E#OthklanFcbYDqU=S|-E6FVBCtL%H4Uh7tP*G~U*Z*OG#@%B62%;K*EWh5oc
z7yfQN{Muda*jheS8Hs%X98Xmgcs8`2m3COXcBSOB_|9FE3RmBLk;c3A!okh)&sRuY
z2<MfOIe5gAN#Vg^jhC0_=SzoM-&~{Gz+<y5TW0;;H~Vj`b}wL=(`dSTmAf@>Ufc<;
z*G5&p*4pjRo3ie}?9$|d1d|tce5?2^nAcy+jJ+<hZFSStS9cWn*O;^}s#9dT^qk|G
z)SmF;bHmjWa-LsxyD#eCroeS#2FKB)^0YwLrsFHEi=UV56HDK5MTQ}oL7_o>?mP~2
zSB+&H$9{aum>?VeA;pK=j>k<xy(G!l(89H*c=JN*;_}DBN0M(^Z(k@qdHpA0pM3CH
zOAR778n{k;Y)Vg1`4#u!4);lmxFrp(rypysd&3ZsvVd#)^6Y||6d(Dn6piSox38CL
zdc9)zl43jdb=$Igg&`~AR=x^-xi(*Zf9b=p^J~kFew;14)%Nj=#=<2lm|HHICx%JM
zrmtdaD>b_@;ar&giq(=Anhad}Th$+Mb%roDIMlBdo4PbI)zQbr%6W&0*RQYUzrTD)
zk=Wz7X1&x_nXCXtBL|7=zizgCie)nwGJ0^J<E-yu)njW7Z}07YKD+eYb8V3ip;I(+
z)vJ40_qzE!>+2PLm$3Y%d6zqPwM=RIt~LLRwyr+<B)H<x+-(ed#82$~QE;Iw^lcdX
z;^*pj4seU~|7e-_D51$%>b+*~_YX6wbwrrWuiR{Yz<H*lE!9xR$n>nOSVh%kkptcp
zr{aTJ)F$>eUK0ADbwKP!+N*al@dZN5#5Q>)>V@q(bVuUb%$W~AEKxJFm6_L+sdke|
zK;`fJeBEnD-koiKckXz=tZvpHIW4Vd9oy8$ttPL&@boe3T(R0XBRHyGP9l~$xjUd$
zU%(-v<@UPAsTu29orHW&^gZzS-jSD<$E7Ir=56z7-@9D4YL?CgDK6=*1y5d_^^4c&
z@$p}K_wfhTiR}wbEYCJwX6oHG%e~ikvD@0i>0b?#7z%zUb@XhgbXyWO@6)u0lQ&-u
z-?epl^f5t=%+T8xZwl`{TprqIQ@>Zdb5TxKSpABsGiFKOmH#re6mIgiuP=WW(*Lki
zd+&?)oaSzm&&3+%t-oxM-qI-F_M-Ec{Iws-1}SL=dK>R>FR9rU^(R(=O+Nee&io6@
zzPO+7***J>V{(bmPI2CE3Ej#u`TVO6Zw%V}f6cM%136h2HID>5Nw%55q`jAEqQRjZ
z#~(0HVBF@AliGiayWcfl;o5_~J4J2J?dR?1t(Y}SZ&Pd3MEO_!Q>_m%bYFPOqr!ON
z1&_}o-Dxu;-(Kk{O}l2LJu9z@?euCFUO&+dFZTYtcf-dyWm);8$oo%xl2g*A&QGYa
z1`oq8Ilva8&?jDdr*z|t?~BytRbMo=2&-8wTh~1$kUiGg`uFiS>v-O3Buy4vd-9mB
znJQaAUP!s}M<za=H}1Jx8V#g&g&yE8aLch`vvc_6`nlm*P^tYM@z$$<HT+$fc?#MN
zi(5pSKHzN)bYiMH5R#tO|9^3Xt=0-ANeN~v_GKBzH<e8K|7*JShv+RU*6giHFG=I#
zdDy+lSo6(=J<(<obLTdxGvDiGocz2zyz0T;4Q$H7?--V;S>9gj-j|*@|KrrIz;c~1
z)3o}HNg@Xh&S9J=5hL|ADt!Od^&eX+kF-b&*;udrCs(~7=JmTx>^u)|?65CNJj40^
z=siX0N6Kfv1uV6^@Qz0|bSJmzJ-zZJ_r%_Oce}DMV!HJju44k`2TL*xbPhB*8S5Fe
z+nqXOHOHW$?pUaIfr`n`Uo+grXS1nFEMN9|qj|Xtf8K|qd6tKs_Fb53e}49|We;yO
zyl#@Vk-XtAlC8Ep(OgFGZ%A97%mOiiwz8_W*&<~p+bkPI_T4T%cJt=34<()TTsejU
zvsd!_$A9;KxKYujR@q=HYENK;&Ypx?{d4hay&1W$?G9f0`c?SSa+dUv#4Vav-QpEW
zml-x3U779sAw^?rTJzb?4IZ9{6Evh=hQ9i^V)HHs35VXxOJl$8eZ2hiu8&&^9Tsoi
z%^#EN+`)2l?$Wo(S=zG~-F@-N@{gm>#XcW@kx3sMIJe(8b7jWWwOb4(|4K}-ZBmPk
zYCkCKaN&sFl8im^wpFWAnOZI;m&oVJ?Z2|v{^l~alm#AJD~^0hIyu2w%31Ch``N4o
zY+YU#9BXboeBP?UF_Fibi7Q;7f^j`tjJTHn37M`%s%?j)XMJc_|1&WzeZ%QSl?y-F
zy5;@4zq`vU{-?1=WdAz@+0b1ZmK~K_wT-39HZgXF=#q-`WgoR{#4c@B*wr{SqWJsy
z&nIpl_?1+Az~0>YL4TYP8`qbAi>?0iMsGMEAi;5D%f?KG<C4w)TkgG|HP<qoM<mjj
zp|3H)=TUQGz?vh1`|`NG^?E0sm{O}5&w5Atj@Waa3LOTqZ98`c{ZC2G__Zs4(*fJc
zyY`kwrpzZ8a=&bJe|8`Otz}{sccOlCle*RK(8H^E_F8Xs(?0X+#GRzq@9xgzKNqH`
zQ?zmo^EsX=%MX=av|ZGCzo}Y(!l6!|^BV$mKRulKEI_Ad&yM7RLoruOF4-+||Hb;r
z>fx3ZZ{|HvRk3Qn{^r|G=R_Ul-NI}q9DG>%_po2TTU}g`#$fcsQ^Moi3Mn(*nK1>)
zSF|JR+#Ek2>Fav<{q+=&ohyPO`c3@btPNh2UD1DX^Xjn9MM63<uP^LaWa!gTwC;LB
zzsp;TWdcVXel5Qy?{-Z+$WX0DF<YhWmC%~`JB`gBan29E<y|^YTB>~Fwcs`1r%Bel
z=etpNV@dty>$~z#{JYoicGop)!Jb8iZ0X#6g1=6vWcfUqb-2B8dPP*5mC?=D-Se*e
ztoplg?&Ev4!uQz3lUuXgf2^{+@UVA*t=nw#Pp=i#wW9K)oC{(V!kO>!U4HT<qe7^T
zd*AcU7a?oajVjCezN&4Vx8lE9^o(8R_Mb22N{A(FxA$A?aM9<i!EC?MiUnauYpc(h
zSVupbzlz&$Zqf0)A8Oq-lX(|rM$~4UvNB)p`iHfDb8*F;hH}=qLeL^kOLW4+Rtfn?
zgRPt0Ufk;RI^S<UD>>ofavyf?9oiQ}WD*z~Jj&-O9}nJ8kQw{FA?Uj88n#f0T)zn{
zm-IL6z4(qPVndqPMh*+-TZcch=Uw~S6TeQ<AtL3@lOG?dcAtA!$l5$(&fe-XJo0Q6
zPOrAAHXP+?=V5VQGEJf;KVtEgUB`2Cs>)|r3pIX!RMjswbDndW`J0^GzwUND4A1A|
znPJPCE9G!ZI`#00k1p&Vze^v#*ne86=Z=I?v~!?OSC~nT<hI`rk2#cju0F^t&n6?`
zRW6XQkk{ox-s?jv-ZmYo^FGexcFbeVNht$&b@$qdY}pUq#+~k~do4Nj^{#8hQBSQ_
zmXumL8{A`SHhmxzqkMwlYD?0mlXnC)7~@tPo_uZPOY!!(t3Etgy*N+7b*=KBFAdDR
z#tnjp4@PXYWjS%+@`blI<9V(0W;0bE+Z(FD@4exotR$cBp~;Qz4>%f_6{oKIk)w9^
zAdm3wJHJ1_Jy~6R=ijIGot3E%4?7%jF|_0@XDt@z^y@A<V%HSBJa*&ecb*mctC)hB
zFJ>yR`WTuf&!2zT?2gRm7V*`4T3@~ePu1tRuul5eBzR1yqET_lu7%6@ri(;&7By_R
zH8-mH=&Y5>6?3#AA~owzuUyTmb9qtml++TgkAe-XtAdyxPB@mrp6gL<W_9PWn{`KG
zwWDc~&G~z;bo0ZT<ou?T9nN29WXWzC=He!xeb8&Reuw*$h!g%i@4vPwn}uxkI~sBB
znXQ{>L5{}S85{5Ri}?L8IQAxv#j9)@Z&>e){N5Q}?7jExV!l^>bZ9>pX`d#&rDERR
zOUxS>Qs%tA_S5j8he_26*Sp!@;v`KJIh#u#2`y82SiAkfu@_r^M)$-$V6~t8^7dw5
zvHIql&u7kCXHc<w?!xk_GrNE5?$5p|t}*8~TTVo0`NBCVIs&q7*BK`i=F53JoRd_0
zWaEMl?#)i29OkJ8Y};-uF6w7fZ{)kX??vI-_cM;A&zQ3-k1t}`vaJ_amiaF^E}mP`
z_Pu|z&dj^XawR8L6uUNUPoLP{*ui;6G@-kyTqNgUjl{;4Y4K;w?Qg&9R}^LDHVAOF
zQZqWS<FwB?$#p+>{yLB{wSLnH>&knw)=xU7{Z#X=o$Te}yy$Y<&712^l=voa`May7
zACT;r^q{aLt4#TxScxAv-X<`u4p!jR|26FZw}oy+A8U<-0?&;Z$5za^a5#UW5#QM}
ze!u?IZD@57Rf>*T>HdiI29y6)w`-bv7G++L=IB}FySby}h_Joth6nG1X3OS_hnVv&
zm~bTS{`zY-@1$$}jz~$V+7z71<$p{-=HW~6nra8O15MF3c9T}9PV^IPDcl^+F7I}E
z#@3Pp1?zfE`TqYsdan5GtIx7hQ&x#>S#@<CLyY+C)9r@woSzd-dL9bKG==n>+&T06
z?5hj7!eSqBB`n&wiZi|Ql;IPOo*hok=N4R&mMdZXJ=alsSqNiF1oOt*o2{#S*xA?0
z^F;}2SMG|d4tx2gyfr2`ctyPH=?{kWA<|u?R!#*`4{Qu0Ip-g~E9HFigo%-Dtnp=!
zofa0)UVd}yU$K{6eUCU#U2@K=NeBP`oALZ@p!%)kIoE&guAL~o>_F<`{~gDE-&yc@
zPowUE^MOgc+ZMLAT?mue$F5Qlw~1xq>c)u9vZ7hyE4}!51lp3PNfsGxnDfbB=6m`E
z1Fjgs)O#l{pL-EkU9#V{>VVu^F8|WD<z0Ix>mFR$_CO?oX&>*(E|;jdyX-UW`9k~F
zf}#;-aZ4(6L>^bQcpnhElh$%k)`M}w2?=?_DA^Yx>#ocwNwYrl^t0&oZ;YA`_8yRq
zt((T!^^~*O_tXWRmcwGx)6431MQ5&f6Ck(yreR)D*=nB?2Qs7$E&gg4&&-iZ^3{28
z*ujBi?>39jCI8<%%YJaop@Sulr|d`pOQ_1xy}J&5<9w2M=f%}`TJpDwvn$GveyHBw
zw!7q<T=VOK!x9IWHZQQPU(0`Y`-gRHoa|j8fl)!mX~$*WouA6n&zW;^Me*kpe-`(I
zeJeG;KM|R)z4fq|#f5y!<s~+OwjY11z0H^2TAy?6?+&-#<?qX8Pu<5czuRTTvXoh-
zg5O;oBn;NfaXi=ZLF<!2fZ3%N9Pt-^o_k%>T6JG;X|(W67w>g%7oU@gelg9oWBRW>
zfhlP#oHp|LFF7gsui#E`-240X&l;tf6Bze6>~N8v?KFku<h&T+DVsmFzGL_;F4OCC
zcDZWwfys;~9<)8-@r-+tRnn%$Ei=*f+KIa8CzI5#NzGdI(Lc8AxSwTm0{0KyW6RT|
zoPs-g4rDP0S8(0Bz`0E@pW8}32r>+ORda(#T#o;itB-bym%ras$hT17=nlPUGV+b~
zho64EA*1(zHAcM0EKNQ5&D`ee8<y?ar!T{+{JP2A?ZKH3tju})>njd%Y@4uy<s8r6
ztE?LYHY$kSE#1Z!*e9$SYqnm#BJkF-Ba5vi=D4j$4d_1OA;7kb>*2euqr8TKQ?Dj}
zVM(|fRsD5Cru)eQv(2j<CA?;rm;b!b9lm?^@thT^hQFQk<KAE0)tvFPQ}cpInf$l?
z>+{w`K5kjq#WHi=`fyFtLoOKyxbI(4ap#Iw30qklFI^lLX!&r<fmw?<uP@Lp$+~eb
z<6Gj>^{-6ww@H_k&fZ=s!R_|usTF^Dh=M}X%sYRLjceCku$(F!$9u&6fY=7M>J@in
z9QgG_mgUJ8?n+PdTeUaB;UCMaIyuSjG1q?AT}?iE>T}e6?dHC6_qn$BP84qaKIK|@
z!JW^KCJ4WjYIO^{(xt+`L+=-}VT;F|&BmeYIHZbs+thk58%H>Fu*~C$ICk#Q3zn=I
z^Bm{%{Qcq+o$#qa^-rT|(2FicO{wO|>9K|`o)6AD%vxSnRi@I`6;>8odhp~yiQm^*
zqPMgx+vxa1Z|l{lyRts-)j%8k6P!WQ%MvnkcSPRna{u{&SK-6Yi=VO%zME6?I5_-O
zM8uM0mX^dVmK&C>*(cwxyEoZww{VW)Tj7Mn!m0<`A7n>ZdTJbz6?#8sm1D}1C9a06
zwkux#Ty!@;LCA5v?hk_r&pK25TRbi;5Ak*6eNug>k@2w1yX|aWWV3GX`*iS>;^DqY
z|2{Du?qo~7-Lf|N`Jcx}&%NGjwdMAq+uYV$KO{C7e7mOMU!F0sy;1W*gJ3wj&r`4L
zuR9hO-C1|+&brUW=UzN1UHbOX3Q=GEwD;$H@6P+`>)%^-NdC+0^L;nE)nl$&onPno
z*!pdo?A&9{wbS0dJ;u#-Tz4)ztJ?2sUDm_jRtU5)WHIQd<)5GSVvp{(1-V7Lt_iK#
z#!}vAwR(+Xh5m&vkLD((FIBzqjw@e!OZ|$X_rW{#vT9%a>wH??K39P!=jXc>tFOtu
z`snuXz>T#<^RN6$Fh6r};|CQk&nXW**Iu|Y+10IOS+tE26MLJA6i4%7HlJBXSQ<sY
zKKT;p{em_2L8x=Ve9Jo$GuC|YyZ6aADlPqE)`N34n+yfy9aEOrnwUz={dRw*{Oma|
z`+N>JHolsqeb4h#T+WI0tX7)fycf3mz^0FfveF|M<l7GBG_U-s)_il;yo!nMECmiJ
z9j*w;y1=H)aBfAewA)9I;O#|ad8gif{w%`FsB`DU$0yYZXU(10oEEF^TH{}?Q1K!v
zJ9W8N=9cZfFD|COuE;dM!}%dm;dt?tg!oAY2gEuSS}-kqaVBN)p*LLZ<@es~y}8!*
zx=mZA7hf1}IIm=PRmt<H<I<tmw&#CSb~)5vw=lSQ*Q5haRJ6P<2ra(-qHcW{>$!|8
zI|4k47Tz~W`5rG}5bkHtnUGlW=37g`+O+$pd!@b{UU6Z^#NNg!=cV>OKeAx!**EVu
zvGRSLIe%^F{@ZyO2EXi_UY|Mf<YwUUi;B`|MeK<R>db<Z<H~<LjeGsF@Vs~JHt(qW
zqI>tBm$o!}<|uzYEIs3W$LHs7pRq-+xF=Rsej+fD@6VdMcb;*HOa4vYde5r*#m~Cm
z-OPR6RsYXdzt!ip^v|gA_~TN_=@nf#Z^lpAb37$Kb3VESHgx4Zs*vGIUm<_+n2eFn
zW#iI&FC?=oX4`GJFS6=`i}#(4oBK3w9I`O(F5t`xo81(A_u<RveG+@bH>~?$BA5MV
z@>a&Y;I|p8pU#eX>ptV2KeTfD2--fhul)hX_U*ST3tS$twKzT4=uo55Fw;-hY{ucY
zVsgQ|D?e?2V;A(~OU3!Pe3RRAbnkL4i4QU3=eRth^5GwcU#<!wPBkt}+!xsL@1MMX
zZdGFb`2v=gVUpg_qAQdf-?uGuOi}flr}3JxgFz=?1J{X$?@a#2zYG|}JpPB=wr$K<
zQ+VZyU7BU+dI$TSQ;xNZFU4G2zx(1^$Ca;+ZtFBYn=G4U{VQ>c?~QCXT@9^^l}$^X
zmvspWiv_HWvd?p0zgF5=?T0~@y3BO;v+F}w|N9#Meud3J!Sn^kpOqiG!D0J?XP#t|
z<eC{iUo+<aJk+ta<j~H=zW>9z-xbW4)Q=6c^5eg0a9C@P?Dj45q?*MiFtQ(GUAj5o
zsnas`J>ttl-f2g@*S9|F%J%<bA%Bd>hB$u~S^M}m8}D8Csh7R?J+HODZ^f>=4_8~g
zS6%!4Dr5Cz+mguVw=Ey#l(l8OIe3?=e5&r3%W|*R|ITf{8h2)MS5erLL<O%)j}m9j
zvr^nD+^XWd(DVBpoq0{hA4EPV<}YeJ;jz;A&$@H}KNsGY-sLb+yXv&G?)M`VxmrH<
zw$+DawZ9oW*zu@qT2-?8+d!MWkNU2%ss(yn5}LK^<y@IA-@}s~>!FRz+5U}7KQgr(
zRCMkWchYF_eLFEPfpz)q$tiN@=PA2dP3FDFEhe^cll*tyxyltTPfr||Kg+l3i&#5%
zOXGJYiw_-2p;sm`2;R6{y?IZw`n1FqVve7l{SJ?MaO{ANO2x`;<xC$ZDj%J@LY^_P
z=hfSyLld4SE?AykQWcc@IiV`lgfCyh@ZO6#2b3@AXSMfc?H2#M=2gtU@~*0hpE~2B
zL!FmBGknc{b+P-aDJKp~80_lZ_h4n%*PDL2zw+k3yfUpX!ms>g*_BmV$8&tG!e^fP
zmv-0USKNZ%tTz_j7rb$CRqfKmM}Iba{W<HS+2rygqAuF!H#>)&scgIBZxgm6cD-rV
zJdMCTw^r<JH0i!6dH%|k)TzRA8t-tM{IW56<e<JzYjS<`{Mz>$iqCgEKCt5Rj#IG)
z&;I2u|M@cP@xH|4(tE=KT&G$l%%8K(-#7kB#c`&MkCWeZN4?KbuoCN;d$B@5<L2s;
zy9R6t=Xr0)zuy#c(|No7tm9Ku|NXql7cXKUIA{Lqk~Zeg#c%DVRRroAw0D%(r_DKN
zmDQro|Kg8+@9((K-+DI>g}!?s>b~Th_+>xe<V`{iu50T*t<o+#Cuy75A5-AQA9bkp
zTt<EhSF6g|M$ISbcRu-t{Z@Z?d&M_@!ML1#??s@;CN5w&+^zUtc=yGRPFt273OOfM
zv?t(okFu6;)&KWBD-MR6ZQ<wDGI3iS%hCNqQ0yR6k$&6puU>02D`bT8T@Ui!F>VZ-
zw<lYD+W)Wm+n?wAdz&gmbej0DJo9z#Wz&RiVb!@WN*U$bu0CG>LZ;jAxPa=**&7z9
zvUPb)Xm3pMw@Jz`NK5eEdbW4Ni4_-17bnYno;2lK!X?9J#}3%6-Wz3Yv3N_kc}huH
z=9?9fuJY%%=Y5HJcR^-#_%vQA{qjsf8AneoEf2kt*H&NGsh=<XGSgPde?!I*CU&-}
zgcWxVo<2Nnweq&>ua9px^=nCA-n-DFdEVBmMK0<W`5*U(Cf}ZAl5dvvZQE;YwK-F>
z!e`%%wt8oCA#=~NBAM6Qr({P6`Z9c7l)P@X)cJ36r{%4E-ha96*Sm9e?!wE-^G-{>
zPwi!YYxnR{MsZ7@c1#2R8p~BBiz-BW?E?36{W$Pgbnf?QmI+;cygwJaAG@p2v%O8m
zb=iS+f!DtUUSI#~t?<N?X5}ow2aM-Wm~YwTc39`>qO-@V+81}R1g}jJ3wyV#fq(Hy
z;lGPdea>E5J^x(%!>%b-%FA^V?_TMdGU1~1ymjAv4^3v=b|a5#ezD6%JDJqge<nBF
z64p^pVlsD2F5qfmT>N{2hyu8E^jUL5&YlNTmH#b}H|{T(J@>54lIO}?Y6bSSJH`CE
z+xip@jx;zezBFsywC%6Ye&gKR>gvFxQz*pE6v3iWwWB(pE$3jlQUP0W&Iv`fNO7ga
zDP@h)6)Uq+uS?vK{*ZW}v9T}uT>wV~;|7UKH<>SLq^V1qT3vMf6Y{m7`%uWOwQcH)
zs}Hrw_#3#-KWDd~yvg7~`RckWS5|D1St-eyI44)q{<>A8O3&WyZGuXc*B3fgzWNvS
z^kAFel;w8uHW5ZyFO7CppSjm0cbNU{uIG8Z?{cqxyZv`t!JDg6SFL+r9a8+<r}lL%
z=W%w~D&;h<&uxo7=eX$0m+uKP|9Jb<#&qrDay#wz?7!UM8TR+`<yJ2DrRQGHn{~@R
z;qJxsovS|n*>$!e<H*m49iK0?EI;<-{;i}R2{+;rKioC?aZ!%hk2|0>x9HV@4UgaK
z*nQ)HbIp=-QZ8Ru4o>;I_#9t&ijBza^#!pPe$9KmIrMhZ`7gKXuD^HKl>X(M%&po@
zL4x@rDvd8MTu_$b)(L15>3Sh@gX!XgviL8xYyYPoUKf6R&+?vwUg=L3nYQpf`jEb$
zMbymDvi6*utIv}~##LveeqInVJ9kE5TayjX^*=iI-4+SxD0?rybUx?vUBul*r;l})
z=(AqZ59pWTVEd8W^|s=_(IjIBiL}{^7yDb9it4U@ebCQ@ja%-no&0JmPPTyMT5lyK
z7&kO1#x$jc<kdH%moJm{^7s~$(Qtp!hGp`hDsv3<uJbk<IEX6n#CbQ}^kfjT6`pn~
z?(2qobq~_EAA6?xHmKRyK{~1L`3lch?HA3`T&Fy7xvRmX>hXC^@C^MezH{>DI$U1+
zb}94z{de}RE#Y`6zC!-zf=ronJ?7f(+`oI*hid8Z&MGtMi<dB{eed;tzLx0mT|7H9
zOa$L={BdXU<gHTI8_wQO{r2*Y;GXVyeXdAt^%!%JZ_Ki7$Gh76zeW4;MN|t4OK!=_
zy|CwU@=lwFKWldfKJ1p0E3~<um$Q+rK4A4)lOKMXbEd1`$@ti58FKrLV_IKA=e^@L
z0{=8(#6{KYmnF#ZA2WIAxg=?iX+nMaiI4YI2wzpz|8jd<|BkwAxqrQO|BO}5-jeDP
zp5JKDAoAi3=LwCi?H6xuz9e{XmiMy<@7?d%OBU_3ekl4Zo_D?(t4;Cd3T`8Zz+@w-
zx$C|it2!Kfb)Uo{#oaxLE#3y_wVrcU=u~Xi+u3Nqq5py#eEMnQ*;Nc57WJ{ZR|(2j
zI(77?@bxL!O`3FT<~hli*<5;|J8SPfJ14mP`su?;T8ef|-M+3mWz%_krPF4b%k?Yp
zq?A{+yzy&bouvDOucwvo`dSmQu<u`cXX{<(Yce=>>%yDc{gI)L5*?EcR0rN&{ci3C
z2K{y0H9qdxyMZ;<PP^&~bCfjbj+6@1EcUN?3suFPRGit;GyBC33buIkUF|blz2+(N
zFTdWuPP>0C)xP^;tLeip@7GDyZmn35ap6Zz;Q##f-(z1G{#jV@!Daco@}<u0w@lw(
z>)-nF?ujpZ+IL=L7My=U|Ie)rM+G~5E1Wz|J7~S&Sr+NeeQu|uO;~o!)~M?<8Ba_1
z&f<*UaqmIxvb0BY{Vw0LJAKgc_WNkw(zO4-o4=J;>zKOz57#=ju4gy5o2>4&0}HHs
zj!7Jidhfedyw+$}?89ic`pvo)Z@PIZ7dPI#S?2y?*SU5Zo{$9*2AtIuMK|PY^N;*|
zEB5$(^;`dvDEZf$?CvGsHhs1;g=<p=M}L3I4NhfgX4ciakMHgOW?g6UprY_fZ*E?M
zll#{?lgCCrev6&i4n=+NU%=?L)B4tn*?V4g&D(S^UvQ>akxipG10SDQ2B%i5$C7$4
z0k?(LyCU;-cj<w9GoK<E`^4>2Dino41FJpfrsPFQve*4kStb4Zmz!F|sn%Nz?JQyf
zN-J~TeEm_=?4_He)X~qNxnrT3=sPaWKL=$cIyzIB4d)nK(D~CMpz0{c_DtmW2RHZA
z8|oZ#Gi5Jc=g+X;b2Ids;lIQ}@f(YFg<rPKle}{4*3@Tqy=&_{`lEyveo(o#$VB<6
zu&2aV<z;D0mwINdlrdq@zqjLFv%txg!{tljb}lbka{h^4M)3Q!p|k!x6kGdwZS-RO
z>HPnfWh@AN|8Ie-?2K7iS9f}eUK5^Mb?uI^2x~Nh@&(g7{b`ZGopnN!m=|Auqa9?m
z%{)6lGiLf!K9j>Yu4UHjsrqx+F?#F8@BbF?_8zXDyKw%stiZredDDL$G4SqZHEGbg
zAbnV9uGY26^{Z^By8Ztaw_4Na=1ZRMI}iJrFwC8!Xa0*{Gsd;*zvNbSzMlEpW(Ssj
zN@=g$f9db!yxZG%t-1ehTkYcO|9%Tzf9-Yt^oi9oKI~gnvVY|l8`B3hi|%hMy-*qO
z)_UP*`NJ*mrv)rkzVkR;c;D~m&jlPT6S?BHw(H+Ke01H5!0aEDu>pc}`HufCe5g|G
z6x`8&p!cEgYt6oJM~R;`zb|f`%(R3-b3>%4$I<S)krny@%BK{W`)eFuZ9X|kB_OV#
zJT0MQ(TgzcibZR-amN}~u^qo?{U@qYTdulI{e#6a(~l<HenKncA13RDarp<=zU(e$
zQ|EE<_nTJsP%u#FN`FXM|NGsSx-?F<&N|q&?&IF@+vh^~#kTif<$o1%C*{r}qumY?
zFFtkN;r^j}&RnC)^qb&h@8s`E-@e(+O?G%+v3*5({!NBG;^x0g%&SV3#rSu{?}=Z2
zASeC(_0@HiOMjP4-xm0Ghh2t~uBYR2zvtYsugn#03g5L^ef&*pt((q+Cs*ewJj*p_
zJrw-ec%tPG-DUarXEWEFxd&Q?*DdmGa_uwcyT|gr@Vz%QmDu}Sw6Cx}rGEa?r)G!u
z*`4-Y`zwF?$~N1F<<`EoeF{~{b7VH&57}M$TK7p~lGwEaI*)l`Ey`RUJ36_w8<*7G
zxtzh9bzx)mnZ5N#PNr4=|7>$dLfqt@)7tkR`9809?u-9&GhVvz?}qdLPCKf{h@9u!
zS=L+aC|WO7xYy*>zpo2E^GJ31Z@78SU;59CtFmWz<lQ`MzGh*q)c?;~`N~~>XBRp}
z|7cPDvrRGLb+74fb^pl2U-!+(?(+?9V(`k(;5u;dnd(UwiP>MTEqV=J2Bt7y)Z-ZU
zv%?Xd1uPPbNgsag_1JTu>0pv|$tsqR!ks$=S1|5B`lV#cnq}PF9DNPy0y2#L4^-WR
zK4ykg&gF<Zn)7B}!~J7HmQ0Tp&(>9s7U+~Sn0@=XqkxJ;&WqU<Utj3DxP22b`{qC6
z;$>l8+fcRR*3YH*VzSr242{p1%aynin;$l<tVew7$`2K*-EFfHX3l$h_thu4QUx*R
z1ue@f#jf<lWQ5Jl4cWFrN0j+j_gmpqX0``MkLvl(zgW7e^wH1Pd$)^-1vp)ta8j<z
zY^7|(fsl0d+ola|(O%h!>mL@)7v!Gt)8{RpQb5zahkGI|c#0P)hCMnYxP1A<nT3mv
zS8TZaA#L)vRhJ5VpXO}+aZq6Gv<5?&-y81#dc3Mre0Iszs`vS?x4ymRuwS_&b<1t1
z`j7l<IjK?n&omBB`;fx3<8T7UlI#$PKQnSgPixhGd778qtJ=`gQ<lzgboJF~45vKT
zy{I|5>_9b_`6laliK2ZrkE%AEFFYw>v6MT;koEN1g~?Izt-2)<Z*SYb)4lLhU*bm1
zJNAn)G4Jm$`?P2MN7-w?%UAt9-(Oj8{qFWU?z~X;Z_>^m5=C|^W$bFbHvjn9g+l2p
zn<pR0zbHD#<-<`yeW!_slkD!-l|U!6!dPAQ+_);;->)OD|L*Q=!C#>pf;jTt&)?B_
z{Ma|gg!W?zZtK@hG+gVIeBjHfjvj^G!WD}1KkyXCe2_dhp(3%kvcl{b7tdCe+gz*I
zuTJweWzL_sMlUl^ZqL1c2YdT2m0jg_*IIAZ7xH}tuiyI}M?<f#&kdH)&9i4xlGWOL
z?&V>oT}dM4tJZJn5iRvwP`6}3p2$~aU9HzM-L5|6GnGn^Ss`^Z&M4x75u-b+pZ|Ma
zz8R7H8`F4aKjg^?G)vlPm{GMptg~(2;<EoUj2pTpIiJm`-oSdvvQc^AOiddlmrDx@
z53W+5^Hu8l#=OVh)Ob$?pT4rr&OP8MxAJb`BL!7A`uHAYsQ$~F{c&sBTsx7YMZNc`
zf8VQVzIZ?5)8fY#Hj=Cw5`k9vFKZt+X6&}@Xp<~Ri@9FG&v#Sbuj0Z-;m>;(Z((Uk
z6#P|x_)N$08BE93_AEEqXRCF-vGD!r!|UdMy&34bDgR7x7N=Oo->csWGU~o{8Gh)l
zJ087w9skvP+0PCHuFc<l>hsUI-~H_|$9Wr>f<G+L+z~7O<ATVpwEj5;?WbZd8ik9n
zuKs#YL&%={jN%T%3qp&p+IMo^nYcpnYX1l0n`^d<#fpPxl7FsokkPNI<2ZC<YU_8V
z)|En@35*LTOmR5&`*{8W3DLcvGWUXvce+#C{glvP{X0U!R>H4ez5V=Y2FE9>iFa3;
z9(sI0%`0}VqK;6XYx%sD*5#|kCr=WYQo6rl#h&2Aip2}QeObHj^w-1btJ$=w)yiVC
zbk|5{g-c}r-g^6-`Sf!CnC!rNudXU^GXK@TAhfvnPSDNuyYCqmE-L%tbb7{F`CkjN
zQo?UG$oWl;SabbB)~pR%GiCO=nTvI`_h_~6-w<71eBs8LvID&fOMY~>pLx+0xOB_P
zyNq+qx9klPoR#*tYW>N}+271o%&mB{{l_}~Xs%toXRG|1&;6}ycYMlu{q^3A)va#x
zzrA?U8fb0Ras8EzsFe6TrKg|Irpewak#OF~d^asu!Kyxgop9%zcLrhx+)+EvMKAd%
z(zo;U*Ly~L%d;0h?0>t=e7ElMP`!}VN&%OW_)Tv%nScFfyT*2U@%0Yj&5QTizOq{O
z?cb8)->$9recX0i`mczsS*xv+x_lolo&W7do&AG~;v=oc=X!m&FOAxFKihc+%TpB%
z&%Jrv3-_ll<-V&wY1!<RW$xc!FkgR@c*OUW&Bevb5@u>QeUmtwA!&DZRj8l_W0pYN
zlh5J&v7iM|IeDxSaXeM^8@MYJh1|RfmN>s!qZ-=xfrXpJvBiYjO?nb@^8JacrJ7f!
z2ZY|g#s9y>YwhvJXIGi=sHm-$^=SMQGWqO6_vC{9>08h2n*E_tr$xL%T*y9g0lUqj
zMJh*I=FPjDww(R0O|KvSuFAMI@9LkIyq&GSia~Py{1t9fT9zk?Z0)HFxWakJ;eCNh
zg%W4;)n!sLUXwqEt>3kYKay+XDLdUs1`iHgu-N0iy1oBukIX8$V>{2@n`ij5>0H5+
zc>-r0XB?L8eRNU0n^Av5+LdRAoeuAK8?=4j?Faizv&vc)>t?yPpKBGl*3A33AnMEP
zy`{o@H@+%<?zr23(#xRT`ixZHOD4gRpI6uyA6}QR`DFXOhrVv}F9};+Np`ApTRv5m
zsogpKysd1`yX|3{{~ubxJaZlc_ZPwZjX!ozoGh3sa5;l-&y6gXvs!A}7u%9fe4Mk_
zy8mX_#gf(6ge1PHRu#UJD4aTrS^dhr^j~kj|Ffx&dR)Ef_P4iwr|q}R{I~Gxm#=1@
z`*-Kqzup*Y{3~9z?BA;U7oVoSFZDSevz?{-uc6P5s<Tp7DI81A-|G{b@A_iR(vRDJ
zB~^cI?7sG))cwg0)s`>ZJ}qrULLt)`j2fh7|7KgfS{XF7pkOb`5O;;Is&0dE_MU{|
z`ZJ5|%h_~p{QSqd!PP=2Cr7^H^AVr(7bKh%{rcSv7s>}^87OzoC=xvX)MsJW&6}Db
zOAq~ETCWj#XJg|V-g1S8ebLRrX+G!UE-uTEy(GKy;=ac@e|M+9`WBZHCMm1#wOjuR
z&zpTWVy>@ubUy#-oS^{Qsj#*89Clx73F%q%ZR4~+WjX&a{<$lqZR2cP9(YuAP0cvB
z(1BTVjZ>{A4<C;M8xJ?v?CY|fi-IfWUV6ph`pY-ZCM%{<YU$R(Lv<UY)4#R5udzGg
zYw-DId#~`l44#z|AL2|h=Ij-d@A8_mZoxTuxA30A{2MY|O$M`i<81aW+rrHEZR_T9
zl2@g^pP9S!<WEVPq@~$KS@F|3KQJzLJviZQ!G6);i^;ZYF3Z&{yjf6jVcjR!SvrlA
z7oUq}i{Ea1<uTXw$fopTcRYU1;c#=WxfuL--gS1Ft=le0Zp~-#H{EyKYOTBa9(T1p
z;wAf5v;998D8AwGOS#vpozJ~rVB2=+>%*3Cj>Q!h)E8eBcAR-qaPI%!!uP(_JC2IK
z{^EaV)!m7F^*sN2qStYpyJKhldEveIcU<yjZ1bhRFSPl($u{Us50lXn&4|yRk1bve
znMW(uR(RO@<Uqus>WP9n4I=N~SU2zSJK}gM+xiB7%y#LSVjm*5l=b^$^vdq#YG}Iq
z^xTVe6F#?0c{ww6P0RVKe9RFq)~pL$yLCn3ijDb;+%sF$7cca$-CUXSd*-fKajAIQ
zxVyG#o2r;RKD(r_T(e4QP+uII=v1?0L*kQ?vlk9Nx+k|aH2Hgm?7d9IgHA?1NBdTu
zv$>dYs;WXiEpXz;i!uH8T2F?|K9+m8>iUMGmo4(bZ`6t^r&Vhx2_8Et$E>8r)gJ$v
zci}FUtE)UdxXAl^YjiD{&bQhBF}Jei(@Pt8kL$iLUTo;L`eOIlC36Dm>?*3tZnU-V
z9Pyg*_=xa6gI6||DgS-<ie=B49K5W6C)O|^#He}amFH=zdUP%q|GQ^1$yU3!u~_)s
zjoh$R#--_elh?ls-es^_G9Y>Tp;CvZbxZE<@qhX6a>L*4d(CbvH1yx8+OYDrVf5^R
z7q@NqWlZkgdfO_UC&WVN?}aBt3lo+clFa+;dV21|?N|0)ekL$Sa{Y?G?_V}oa5he2
zi{~+2ed@-uefwX$@?ZpAl^o1^=>wB+?YX~K<3T4RZT^+E|2tok@|`2wqJm6X`c+qW
zePylr-5=w&k9A(rwhk9(zwOb6>$LX-O7pNz6|Q=gAP}Ud;(UU6?pBs=J#oz?b3f$G
zW8i+^+JEW6ho9%ClpSmjyk?bESUH=`q#`uAaM4{cE>DBKKX0DeR~-6Rb?vG{yBwFq
zi)__eZ>sGe@gXrIC-0AZHJ|^{0Gm(K_a`V_l&m+An&+2WY1i5oJF&x_Yt4+Vvq}lZ
zx%_Tl<|&9xDO;~E)y$lH<WcDEKfK9i0>_T(&2^C|NWLRulB{HM#FwWaD&dy#?EDMQ
z-f#Vt{Mk5po`BrMc1C^HG~G<|%CC(bw`Nbd)?oZ)(e<NiI_y%jzW>WJo@DFKdwU{#
zmx;f~q?!x)))%tx-cQ%PTxl<{rQFI%{%@sR4x{|B*24ZNcW-9!PnC+isPm@lUb)-b
z+>(~96IYt0OKe^n7S;6JB+ln|Tq-Y<{)6)xhU{8v7aCi|FE{Vvxo}wOzTnz;(V45t
z+`hc<va?jaVKOW6z?R9EkA5?_)&89=nPKAWZyvqYT@qX}66P`!FJCj5Wbk9*=P&0L
zpN3?oVC@4RAAOvAx1-<S_S7En`|NQAx9=&wzt#Dr+u_3dl7&`AOxqX|53CN1xyjVe
zS|hRc?%}G<qW((-I9Izo)#R2x&#0+%@xvrV{+u)E{!`^zZwB8Cj@$FfLHR;K#M13-
z$`fb#O+EV3G9ZHgy=&p+4NmFV^4Hv!Clw?tDEzVF9NWJDskb#Y&aZXPtnIoce&Xtb
zY=e^=ADC<w8tioI>HBHjdD8dapN}@}JUS;nzKH){#4g937t!w?-qOmv<sHMaDAt0K
zmvh#6Y}pW;&D+v%+S_cf>r37as|i0UH(vjd*u5+Cxm+pBh0DROxfP`reQXnW<8WKh
zXUDC?PuF}b0(+avqCYhs>U}tO&ZKH10RhL=J@>C>#bsY(*3aVIr#4xB0^>Y~ty)Q{
z8oDdZet2!Uci&9<Liy^WVmVt`4aIMLtFtz;4O|tK&HGNebgRXo4R@8-*?+smrx8>C
zVw+sZuDEyG@0$ErY-Czsv_dtr(6z03^4FZatC1GQ27!{#%BG(aKG(VL!IRsM_qp9{
zS^ekg#1A6NJRf&TH9uUbl+Lnk<$L{I7LehZ5Jo}$vJ&r>iBI-2#C5bN9_F?%_)~ZP
zjZU`0--Dg2@8kyt-sW3=wB_1`OQtQ$ePx+BrX*|=U|<(})W`K~-Gu(>ny2?jvY8tk
zaf-DzT&i_P=m59Qi#6xuTK8=%|KsD?ek!4vzq#Gx!QO&jOs28PZtdv_hjPkPYt%pZ
z9GJ|w#9_0agaz~2LxpMwxOeC^ZJcrNsryzAvkCL%IGE=&vYek%Jk5exQE0V&&(HfG
zSCp~}_+$p$eDI1Pu|c=b)L%h#OW`5GxpUnDIXCI~mA*VZ)l7l4*u%%~P`)AG1_#$S
zU%p)Av#nq?U2U_NX-;F<qj@JibIx2pFyUgS*JS=(KF`}F%^qt0N=(o*30Ws6yJhdi
ztULFUB}F$`pDvllt!2io&9fzN&F6(7Q|+&|sqen~CZ1*XTiMckCM<m`?!1ty^L_t2
zb9SU)$HLBvPR)YA=dVAywSNpTXbI6;<0z+n@Xg!J-=F1PK9heiRy@7;p!c(o{_YqP
zGxyGfn$&ssDobvHry6szK#ju+x!V`NR?IP&c7S{T{nN9X+>;d>b#FK@Z42nh&gEO~
zcD_q0L~8HJtY-UWd!_rrAsYi&SYE3xi7@hN^59DDUb(_4yYclR_l3>hANhFxez1eH
zrBTDPKd9fm_oiS+%WSp_TE;i*^PCRnr!09SSl69d!Z14};Rvtrj@ftjoe1I4wtZ;8
z!TjN1{HEW|Y}@Ty)eT-5ryskbVxTm4@&=)wk{&;|upVM|6JMlmx>zjX_)$Mu3uaN(
zg4mLmvCkYT&WJX=ta<o&Zk3JS<}GI<pHwH!|2^wU#T%1KM^Ouz6U=_yQ<8V8sRy2@
zsyc8gJ?`oc<z6;<C#@Vyfwx;&D^|XGYIyzpD${gPKLIu-)%q;sy?1kU&3_nNef5*`
ze06glzguj^#?rDw)iq~$x3lCt)7!nyFI+-+icH|H39AqC_wLP9nmp}fCW~+045k9!
zg9d`L^vu?}s0TUrYNbEvQe}DXy36Qg_JhL=i3*&_!S~}!3c&&YWF?bQ+@9M<Ihj9B
zRQ=FYzEdKoXa4S(gU5Tgudg~Fc7S88oUEl}&=<ay8{#Y%HrqR|HBObuu?RhJyHVdx
zjZ=6v+eG=SO}l4YKJ@5~<W=52>GLAno7JVNk6+lgd1pP7s!GMH55FEBYcOWke!AP$
zgyonevpCa!)~L2*<^;x79u|p9EOc!qa#%3;Yc6L$)X-{F$hLy%qu>O`_4itjZ{ys3
zQCv&Tp!C(8)Wg%%whGTRsPd89v!sYMXJJPB!C=cY>s#v%D{@(VT@mm4==lcQ1J7-|
zE!Q0qy>ofhew(Dp2NvCa#-6K?bm+h#DTlOUZ|?3q@rP%UZQ!0$_w58b?p>*Pxa)zx
zp>k)~jO{$jxc#G&dE!;JJ$UV0yt$!gdUfvhGmigWZLq)g(#^6+si;NlaYxUA(!z5R
zYsxl7-rdaDJtg-OazQ`gKzDhgcr3@nlmnnc^dt+CvwL`b-_{=8F17K&$4b9g9oJv1
z(=4ME_%7WsY-qh`$U8^oMeoEQt)`0On^rhU{C;kbZ2djDL3hIi<E}$|_h-(|?X}gC
zkdas%#l1*n0hda3($4xb9L#PW%97k2E=u21u5PGmKQ7Ewc%1D9Q?wuVU8jc!7~~%W
z+HpP7w2^!%C~WqQYXakL?H0=&jo~qg7CFzRnoWDNvY6d{ZCtN)fLV@PSEgh8HR0|?
zg9qCkoc(>gnj$#G&Xr2vTNyU@mC2jj857haH0B&En)>(Dgr^nT3vV1``@LKKY<A5=
zM|XzLQx9Y|`keRcmS4NQ;tR{qc^RDt&$D<G79YC%SYWZJj^g1)75-;A2d34|<Iq?1
zOyvH#b@9zt?-HM1G%WWLYBMsaJT0cRy>-^zPB*C*@!7v#H|h0(W-A+WL<K$^`deF}
z&(h4C?6~JZ*$t^WZV84%37cZ}#2qy@s1RV`Rt-J-AtFPNw{v-nirbxjgHp-aZ*wA*
zC&*8pkzjW<(n5F6#g!dS$xP8ay^`nd<XoNg_UTz?j)^AUdy}n%dT;hUUG}f@8e?hK
z<ws_xpZf4LHt_UbRjt(2$&*)L{wS!a(`0;P^~9H+1#YKqHW_@;vwz<{G0FI|u~60r
z^F!^1#no&p=X&ktkF}m{@Hk7SjP<PD;*HvWk7-RcwK2ZBuzX?dj*IfgoTeXazV|R=
zJ1e`}>~p<${L`wwPdK~&>qaAC3*&&Dr+7mI=gpNXW0Q<<nem<J?shNr7;(2ZcQzh8
zkaQ<DU*xa316N8_R&!DUhwip1b%Db7d0vGZAE^q`+i+FTY5MuFbct4#+;tmDy?Aaa
z>=ypqsq=b%=)S^j@}alD!N?f&;9#Hvul}wzc9Dr%-=hm2S2Q*rOfXtq+7`VvcaH9y
zygw~`|9?K-x#-ie1dWE&l#)l9az8bcc4#k~c4oDQ<a`Iw1a2392C)xuFLd}CT5rF%
zuim_Lr8{TvOPxbru_anrNsNN=xyv`zpHV1}N|?{U{pHJ)GCOPYwHr5yu;<O#C2Pla
z;K-e~k|I41_Ig~M66d;=!$EP97$c)6gVCCO0%Asdt8b{^<GAG@)OPD7d*~LfoIv|D
z=}i?AA5`wVp26+rSDK+M8aBaw`a#>I&x$vh?0D9yr*OIn%5P*7G%wu#;!d-fyi{_=
z-oz(~1?vwlxO;!i=L3@u8avxg4mO|C$L*{Xk>I=cV0m$j&+{o&?cM)nKCJw)*iLai
zb4o+ryowk@nGfbk{Mz?UHWzQcFcW+Pngi%ka;`W9=48%24ACx&95=AahqG+sIG7w5
zcem>V$LYNrHckteqiYeN6T-0RzyX`%wqi0m7p!GY+bT=xn3QUt6WOZZ5_Hc*f}_2n
zqh)y#gOQgMTkg9n*Q7W)PSgr%_`6zmS|};qcS_)1c+|DYzU55M%_&A#ZtyhoR36m2
z&v{3}>Uq+fgKcp#8i#@mL-^z;Fv;py@vLzYt(2%$<3E+9Un;HTrh7xEg;Clqca^e1
z##bhN2cbU>Ck`{jeTn|Nw#t7wXN>Z^4;{u8c?W{5)R=^A#Aa+=QgKFgX(Z2XCyx^o
zmb86$dMNza<H5!U6E^Of_SSvsHgGq-L8PKUMBwA2x#!;RzkTwta>lZ$8LOvWtUfqb
zY>uvspZbkO=?PbK0$Q&f&~jH>uJkaYU}plO*u#XzNg;e<3O)A(d+#O5OI@C?n{~|V
zU}oa8c|6ayIA|R!`QlXRKHqEpt1TTH+a7&ty!_<L0za2?Vl^|D$1IWfBiYa?($5{%
zq#kg3);`;7hi4wtS-WUzKF@ZR2~7Qeor2Ukn2V<@Fm!u4LGrKd#Yx;Pg$upww*|K!
zIsf5|$uiAGW@jVoXIZmnAFF!9r6{x{X-fai^}RPPly|?6f6FVrdd}BfED41h9=zj~
zn3br}Vio%Din;CC&3f1F%FUVGdTt7+xM2)Zh-PgN_qh4T4s@`pN}^7$c#XrRTW>$4
z9EdescCm2V0p)pq{_Yb$?bPXawUA<pIPjCv_@->(h5&67w~#IKbhDc7Glg8dvbf>$
zqMhNaEQ}F9njMe0pPRnzaJ8bmvZMMz4-3tSkM6BG_GrQ<t4QvPKcWwaebNm+7G)t<
zal~ccJXX83h?^d}jGObH@wqcdzNmZH=^`lOC|`JGS<>Do$1YShojAr2B*HIYy~S_K
zC!5;~TUW+1o|DXt3jeucYv}7kPP5O2+NQa;_o(%9_doTrmXWZz%rsa1f%U5EySk_H
z>3mqcIiTaH{hJiuT|x;DIg>vb{}ahQbWlvYFZGFx`=-AuE|r0s0uz|{`<Qt2f8BLT
z_nT<2=@57Qf$Z{4w^%k`y=A`S2-6}(k3BnTt4}=?a{lMt=e*{9*aiM=37t|e7+-z-
zkkWlmaI4eV1CL??lM7?b!@^9yJ`Ozb`ijCq;XIxz{d4x-ytV$)av4>j?j;tw0s@Wq
zoo?~$6t7z-F}3$dd0J4Dg5-J0n-VvSRCSr7kIj_~*4(=0rFEx|KcmqO$-Qg3j=bSs
zIC;6)LrImm7qQA=&q^8Mrtr*^J|;V3du>)7n*~!j>l`sn;XaPmHGOQo(#yW7NJS`~
zojkjQ=|%g(g7%7K>OAYZdmnF^;P>g^&d3)&(4&$zg*qJJwp-uv;6MbE{)71(ZGRY;
zETa|dk_@6h2>HK?k<n3E^<b@~qv(f-1XYX0<ta{@6*}icO+~JkElgOlvN~j`vE|--
z_X2s(A7e;oFv`19vRq{05^LQ8DUY8nJg(=&f;c%l5<PW1b_#4vbc=G<-C;Ok4rBc>
zr<wC!HZ6z}O=#5UJoJn?Wx-K(4rb%|2R9hjNPJEHRyKEa;-Q<_pT5m<T^(}s_Sbiw
zk;XhJ&3x8OCqAZR&ilAc_yK1C>kTKa)&$1C1}f~wCOs*)H$U-hvDa<r`BgR+TuUAu
zwf274I;Enqby}ZYk8{L@7dQ7j^w`Ous$*i*D7T|fhat4!@TPl7!K-*HdVGyGXe1^W
za&BmlZniXbyXvu@A+$mFPTl>ltMqhqUT$gNXI{E0fiKfLMSsCmi~6pht4}wzZjm=r
z-TUB-$Nr!=gG0P;?ZoX_%-B*IR4h^wJ{f=Ea~H~JKWCZnNg+w;%w{PkAvQi1cD5Ic
zn|FQA;W4@UsIA8TrO5>z=C7-x<e$Y)-Ky%k^Ua%{CkJ-Szcb<KMzjn%tylb$Av32~
zaq;9V+3o-asR`#a>qYZ;6psfl;d*y<!U`tl|8H+!UeL8~B4<wWHfz4Q+S)7Mru6RI
z<*u@!!MM4x>10<;_o-=(udW@O;>f*TNnz3?d&cFh_ESoX{snL(3jT{zN&NHww)N!a
z8tZKOU-Qps{{3R+<vB8j?ESv|FT2&#`1s^+tr6<Jd+!#X{ISIIM_k-5NN_4E3Oslx
zx2J4(dQYw5qINL}WfcR3sn;gmC^zs{Y$-dCGbtj+`N)~?d#BI*TC_4ID|FgEN&C<x
zo8r>`eVVO*|M!*m-;IQ81U7v>9pbYm%f;^RXZPQ$J->YF@YFbWKwYlkp@|L0pL;AE
z%$<{pmBSAzO+U8ZU4_}KNck+g1J@nDqCcm0v`X<!KVrMON$bdAgG)SLKCG+yFF8Z`
zxU%k-SBa~&P6sk-Ik2v9s1XUMFg#!Ja@UFe8<Ui|!z*pRA9}H*e#QZh?#<7S9JboX
za@dklct?6@T~~Cd;bN~Q3AXljw)XZ!tvLl>zLZ~bIg=cJ{ot`@d<sXOOkwDL@^JE|
z1C}hhS9Dc6qD$V`f4q9FR)J^lYUUsY9f9@>;=7u~4oKOQoc6lepewWb$&Feij)m`1
zdw(VH*Y3Z;QKY({i_?-rM3L9w*v^aD?t1-mW%sddIPiD1!Rtzi9qFNMhU=0$t5R1R
zu~<5Yo+`3gw`i^0{O;CyK@iVGur`SM9_XHRWY1IsLndVg{k*&T`q*Q8dLFLhFgOx=
zCgJ4G&(A-uw|m9pY^oZ>5xm}kx%)wA`YD0!4m%cY+*x}$KFXl^kX3{VfA<`Yck+zU
z3RR7a^Om3MJnr;@ZNrY-G^;gF#o3O$RjD#eaTeIVVH$(Zr_*A5E*s)5zWaG-vw`fk
ziuRkm(jF5Ze3W=qH`(E^mRQh^`+-6`s!npZtX-w!&bop@bOF=HK!?NK-vTNcBUl|A
z-%l?1?6GQpeSt*m?-h?YA2e}g9yqsDPuBYD+zpqN+KWDa`?^-QbFJ=Mj;IIsh11U~
z$29tjZaiRfg83nr!SU9Ajc0G)7V<2N?ozf>+@$!8-S-p=S6=tlug6dHzbK!0;-lC?
zt2cM5V?G`-+q3xVam^(*SC;=X2sr-j<5aC>XPksxj07$@s5sX?5)-<+?jhd;O~IuB
zjQu~NYV^daydcg^6g8NntW>4=f$3RKoX!?|k(!K(f*KhKMZ2lJJvZk~?Tq&5n`^~A
zIiWCY<B6lEr*Ajg?zzF^LHq~z_YZ{?c+NDagIbK-I)3wa@5l|mzU~O)5rZ#r!S|$#
z&K?xdC`e@B6p6mTbhGQUvvQRQE3<yrF|m2JwhT^^_iCoiGZ#N5&R6u^CMPu25|m&W
zL_7MKw5klnD-wm;xb?%ft`?MdHCOq$e%zKfH&z-K$=NhYKEB+QyF@Sk-nBcs*6!pj
zd+{Uli?c*5<En<01xI&=>_0U%;oqqf21;TK-7cR_Y`c5+T%s7i;h9If9yf{!1s{2<
z@@~OVUETa9MX7SN{GT?~+TZymMW1kO{1Kz`WeQgSD5)LNN_g1nD#2JWai#J>hVE<U
z_T^fC-&*$7b5(|I$)71&Jm&&J7!U84SjxEMfK8eMTeFak-k12i_qLmM*V@l;zRx;I
zfuZ|$`JDBC*s|vAEI7$1!(TT;Le6~N$%ST33~V=)rl0G7Ef&?dA$00faFPj8u;a4$
zxJXT~K|ELX<hFB9wk@+=JJ&NJI{p2&xz!(UUc0&cyR-WFy6e?1c5M2%I$11~L1%)=
z!Tl9wVk?+(80Y<{3Qu=`FUTIz5xVDqQ;PGGw<>*k{K~p{H#L_mV7BDG`|{kJx5u9+
zEnFVb0P><h7$bX}Lfgbk@tJK~IudVj-~2jHzjWvSCo?y1*ynt_LF7k>@wLxe&n?&c
zDrd*HiotWmAC5GE^Ad8>j$JItHiBCmBo1GktrWw!tsvdx$cpof>1Hl0y2o-Hxpykt
zthT<FESJuah?*sib8lchV_n5~A|P4cZ=R*HuL5h%pH&qdTl1a=Ywmf%!?xkTa;dI`
zE123m+F1I8d#!I@kzLhywa~tWKca$X{|>Wv98n!DCs^2{k35T;gc?~7TuYPm&T#90
zm{m5TBhjM0Y?<CX@o7zpNs23&m~DbJvon^vbSb9pkQYrTeDLCAu5M@Fy~A3Q5~Y(B
z=S?h?&3V`tkzm~sp)m7N1Z#+4neN{`I$w1wmKOMLo1yryMM*yG#;Q|A(2$d7b$ZmQ
zz|$%|^Ou~>3#N%Z3m+=hXe~MLc-w?+4r`Py7Jqmx#&h1HCgz^XBZHoIAqfxvc{Q=h
z?RqMcrnp&g@sARQQ*%3KH|mFI7u`R3msLvurGR7luqdcSk0-c7ab9&{=@p~D@mDAE
z@WeUtB!@?T|2FN~v)Z{1T;DHng$j8vGCNlowW~*Tgm2%yNil0ltMz%I8yhzsC<#zN
z$xUW^Cj1n<eZlWRtC2(7q3+=HbK6S4J$N>8OX=6V{F}G0UERHV>*mz>;|CY3e-Y{2
z&Ahw*|G8eCN&!<ZWmAQB8ingS+7laeWllf!=$>7(=4c5+>zkU6^GBWhSAq(=5QQ~N
zetTB<Epbzmum01?^(S${a%ufdubo89HC7eamj&kvFV<!dd!-lFUdgwaA*f@4>$&%K
zXMc6<NQx8Thz^bH1Eog?)<=sS1mdogg&f-Q;^_XOMNE*;c3@r6u%4;0;$mdv?Uj#@
z{x3w8Nc_muvhY~k5p@G+sB0Ry0va!AIPB5reRoG&bOG3yMx!tVp12ba#kb0y{Vlmy
z<MFHm&Wph^j9L@SSr0vEm8lE7?YZZ~>{oXLV0t!%DTu^{2<o5OCG_C|B#$<5Jqd3N
zs5tn-wa)eVHJI3x?Mz3yKiTcKv4WIe3z$>`4)E*$a#s(HI?@xz^ZD2np*c$LCPBQp
z!r_j{hojvaPp;bK*KH8>O<4a?S=CE@n5{t?0xjZOGxubu#Z7s{Q#c<M3Q5Zw8pTaJ
zcUHu%+VVyF>@UH+3UNo?O}Uf^vvX;fLa(@5V#R~jCLT9^ui8yJ>S0nJ0~9#)4Zb-^
zepHfEpArYDOBqBp_A(vmzBHe?$^lXhge*8Cvf&}?CuP%Z8^wdWU+oHc(R8uf$oiv=
z49uj~U<IbQ567+?n#-0q6XqXFO#vzWS5}?kPfH$E>cAY#wcNoVPRGc-Tu7g*Txv(E
zmI1Hmk8NB3&YqUP|K3jRIJWr@clOVFS{0+8pYwD2u4U=j$!Q-X=l!0uzTfUw#?Mbr
z|4VM?v^)G+GJ=1t^S1-t7f&9St6#)a|2H}5O{-DQ0fji9!+Z^TfsIU>7q(>kr~BVO
z^5n_l9ljqV=N+#1Pd)W@huE6mX%FY`w%=j!bNTB2N2y?$^PjiY9d7Hl|M%n7)zyWo
z+xj0E+qC~TUM2U6UAjelb*DIM*4~|wS_W%HZ`|8cT~zey;o<i3$7To9EBOA~e$~DH
zxN6(Fm*p!@>Ry+>x9hh8$Qzb_zT3o~o~FCI?(Z*u`@be&cNhP#U;HYOWlsdpo(U}n
zUmV@?j_ZYt=!xx29vu(9C*8Sl=z}=Oot~$@?wBC#ctI&HA+eJC{KNgve>!=wq#NgD
zB>vz&|L}j$s`i@?SUH+cPOLG1a7Rvb#y+ko+2%3pj;nr1`g5^&<?lk1ig(T89PYkH
zikqGv;kJ2qXwwwCZ-=_#1oW5X+dG_J;lL=OQEP59<;S1TM*_k=PM#^b_s8QOi{Goi
z7rok7|KW_joyCmLeh+ur$B8Uxa=-IrW9jDf_10pAOD{ck<rANHe(Lk$TGy_)lI|xR
zCT{vlVY*_=nGC}e&Q~<1<@r`+*$6gC6=g_%ZWh1v+~lFlC-tC*0!b^B?2fm-`?>j}
z`*pQ<uErl6TkZD#+&@WzZ^!n>J8gm=cH|u>uHUmmHuKi6*IyL>R%I^<H5Rke`tT^@
zNUo@WzKp0&aIJQgZBLtccX;{X4spYG8ZWFwJJvazt0-I)*l+vdY|IHY{S?FX`z-S-
zK2|0#7Io@;(qEpa!|NJ0vqD)w|5)Dr-ZXdfKbPO|?hU-Y>D2QbyLQUf?>QiGa`wXI
zhj}+^YsKZ8oHpM#Zyx_%-t|p4-o0r%ENISno_nf{Vw_9<<sEFI3z#lDHOhQ&a@BhC
zcf~!ac^M(`S%SRXE+6I^ntq#cQgEYA)GU?yiir|Ndqv-A>0hc_{onNek?{Guy)$+w
z@EhE^xa9h`<K6zp<@)Z;>PmBGiBtKy^@`BX$nU!ZSu0XsUs(}pbn^pu^2+p$EBH=)
z`fx|Rs?qP4+l`kOZr$8`U9M=_u^{7liu<Q7y|yn+r~2*sRe$2ovWg~oR?YpQwT_p4
zM<~;tf)KyZ%%kcKH}`BhbcC-~IjhpE?@IRt*2UtN7wugx9I~K;E2Ujr(%L_|=*ZRG
zQn5QUrYsX$omw)%t0Tn8?xWMA<`1V1aC4ilQRPw(a7otqAJ8t|&}y-!;R%P;%ZIZk
zUwrf7*ZkX)l=E|rO}hEI`pKv1(oe5R-Cq&l-Sad*XIk~mKf83^Xoy{9jI<Nb-^Xt$
z8}r%cXm)fBSAL~$jegh6ryHKkG-ZFPl<OPn=l6q+^-8*j`I)5Fqujc;HPViTK3z5E
zW%r3aFOI0r3g$R#@A-VHOy+rmEtijQ_k7H;H0W8LBC@ge@wycZq8c-qE`B_;{q859
zz87Z_{~Wt?tVrs9+GUYv;`%%}9^0=}?ate=d`_=ffO3`dd-=ULEdD(Hc<}w=$m_G}
z|NNY#R;#<!B|a~D(^9VoC$i_S483!7k(I*f!^QJo9R2(I`)_Bz&Z(Qz*81$=PTuJn
zsIfpi_;a7=*H1}D#rL1uk{W;fL1o}%WwVayf=5ce9NM)h;O(Z~c{4d=466it#P9Cr
z>k-iRx^|=Zc*uesTrS7CFMj*ss(&eW)}LP0&m3;EpI_vV+Sn+(t-)<Z{0~NF1!bA(
zwh|X-Y<P4g?)zqozC9uryZ=l5didhN*Nkh52}$kyrbR8%FV~m65u~a3IJg{|Hstk#
z5|``8ubB~gH%<R;nC<DPj>?+#cA=Wzg|Zj!ldPS(;oK6h264Wk8Sg3**$g_wkLKRn
zX|5IE#i~?t_?(~pksI9AYYwUKu7A?uGHu2FZJ%WJZfKmGe#Vh?sj2_l_MkZ%#a}Gx
zkJ%@7_SWn9b3*_3f}L@F`j+eA>ueOt3m=$op7--?T5jq0Wlq+@9pd87{%f!Lhll9g
zO__FoOUX+$ovK~CLiGgiC&fi8iFM{5HGg?kFE46UzU$h|Je4i_;@!RCLho}Q+L_0t
z6k6_FVORBqiIGR}@CN(uOgRg4Oc#qU&3U~uUn?Mmwder%RjHltWD4(2&*FXTbASFq
z*YeBG)?YVHe)ve7^#C_-v5ckcUf=7p%1cYi3=Yk@`J`%1^Edy#KZ!5eo2MUJ9GUcW
z^5(Go%h!XvzdYThS|6E^COL1-OY0YUpoA(n@3)KoySux~?M`heXXQ9NXIf2T=>CYL
zKfk|BQuVjro22jcAUOB(tm|RI+ApIE*9hH`tcbhvq@#AvmK8N}l6&W5B|PB0BzY{Z
z;^EOrzw#tLE;^xWUGC261uB{Z`B=Duwd^YbCGHp9%wmY+v3s%GLdyO3;Rnq1dw%H6
z3ugSN6lD6z|ElY)DLQlJzc@PSm)s-QlhRdI4y;}49qxTRWOz>YzgzybL+cEUKR)^%
zE~j$7-^KKHukxq)E22;AwXykrkbBNo<BxM5R4!a3UjBZU{)(RKS4xg@8&?IMf8y~m
zy5ikLt|>l^dmg(+n4ECmIkQuI|L#u<UhiILA!YOZcz5u}Ib2=hKX(Ldy5qL(Vt3i?
z8{H*EEfs;A%H~-wV^R%hsF;{~Ir_xaKa-W^dG5Tou$FLder{J`Xlhz&G*8$@KjzD#
z38K0Qw<`~In<`l@>M8G=vY_|5-b#l~5lCgprSGees6FlOx`&`jb>69|uM2IXuZL8>
zdX_$2O=$W0Bd5W&?Y!sNH#em^J3CicJ^Ki$vHwek^4GSP-C8W}-6-B<z>*@M?{(!|
z@%E4fEL?AH>|MTjd484`&*QG^Eb|{){`nrVHl}}d)?f3_|89g<|9aNeSpCuH2M@UV
zytN_maJzh+g^^K{hr=E<kSM4YjeNkmSX?#Z{!VYLfGF0oH@BMa|2i=V?4a)x*TwW_
zAN-a7Z|647$hHc}nzrY5&sQ&8$Y{urBKgSlV0wie^XrABCo1^TgWpf6dDNP?ZKJqR
z)xjqonbMW-=EB-RXGA!TaU0todg5`$PxtOpX!|lii`D5ND+lwo*9!M7gH~NW@)y?r
z>X^)w_>qa(#&V0XpZc_YFky|kpk`U-dD~!6M-){21+yM{#5zfN_e>eh%U%Z#!&<--
z;#oVye_ov&4Qt9eu)h28@aWTxnx-p)B^QgY(TBCgRyatoGJSY-bgQkwBUcH{$Tp~x
z8AJoPSRT1fsyMjI3EBp1;BpC4;E7X_+}p84lN;uQ84tN!4s`3vhTn_*n!d&XVd08~
zey0CnpO>Fq`}f{^nVlw9Umr!OxVzM`gzf(+!okdJlUUKDK5x_0d|mdo=x@~#pZ_JE
zZJYId_BHb>bEdw1BYo@U?7gO6`MjjLj6!wnw{0%J@abmRl^~gg(pQQ#Y6?oqRjf^Z
z<(}L2{KAS2hm#{`#l)5;e_!||@QsxPSGMJXoF$d}Pycc&Yuom0-^4d(_r6xrmCSo5
zye&9l7hiR#>;10jGC4+Xyn>Bxl&P%$aqB?el1y7>Yp-<QlZ=_+W#8g5-^q$xGrzJa
z{>D1y!>2;JQ(~odUjMo2W>a|a#JpW+zun9!b?shqCbHfol_Q>g&8+0vAJ^yC-EUiY
zUhwn`aqo4#l?l@gFLO8OuG(+2?lJ3vM;njNUs3UD<?_1!Czsv-cfN40!53-IFWcun
zEPdOp8+~{0jScHuS1-NFxq8*>HLIqorEBG03yi!SxbxJ8*40)^wrWRzsB1V|zrXgM
zSHz*q&(`{!S^aVIPSe~=LXOwWw(rXI+pzWA%5U3tUR`_X$h&8pn`Oe-HTt4X2B|)2
zDhWFIOYVlyj2-prJ4<xee0NRd&8%Lz@OoaY{@T~Sr>@_-XWjd!Um3rh`n7LM?v4Ll
zcjNAEu%Eot`;_hqS<U(f%RkiQ>hq<Xob}|<uP2LsrCiO5@K23B?-Y@Ho+<GzcNphv
z`J-2~Ci4D1l~8aj?UZx;;lLehc5gbD#+|);X{l}m>+3oH?bam!JJnaIeY^GL){Rz%
z;WJj$P0Rcm5VlQp*W1~fl}_Bd{rymNb#u;n?)Njd)tu*+e0y7b+VZ#4PwzL){jOg>
zd+FW{HQR4JoAW)P`q{c0#_Oxz|Cv?G9kxxcX8+ov&_%1Z)dt2Me{^-O_p9C0u9fS@
zUhchbufNuJ-<1h}uI`G9n6XPX;%9e=!V9af`@3rQxpF6L<xDfyGrF6x&b3=NI_;v!
z;+djv`DZQO_S1CjXBX+M`Ri6VRkwClJu3bd8y{JE%uG1qCKDG+_{#%U^Ys$qbR?y+
z=DXdilU&7Ztj+x{@6O-AUwao<waYI4S^xiwzyhX>z>lw1um5-V{{O@G4kw50-Eyqr
z)r5svt9bQYj{45#)n^c!X35EXcNL?gTAaj$K%G4tDm>?p-Q|^${K#~-p;7!QTO32J
zh|tR95cWL5wgX1iaSM#M3A*J~G`4A`FlPz0aqAxtI9RdpT2RZv4~JBEI>oILzl7Z4
za4!2P$f;};p&@p%NBoDDR$|3N)`r8A4MgHJ4!vlQtXL@Aw)t;S^18^UmnI0dh-YLq
zb1JLEEoj~-$o9{aL%Dp9hw!m`Kd=72@H4aJ;zTu`2S=qIxb`3DW@{DStN8kxiRLs@
zXO?w8E?GTpZ_hdz`das+lVDp;1#6;;7=wP;qD-d5H<McyK6I@(^x+tH==4qPJR#Tr
z2(}%2bgxD5gYl)7o;3%YV$T^1=?i4DgxLK5^I7!$zTfZ8|NGY2JHPhleO*oMhKC(-
z5~f#=B%YUOYZZ56IP52}&VVf->WG2Kp$UdO_ZiwG_nweAEWp_F=ZFE%p%X@JiqZAj
zZ3~$s(s-16#mx>Cuo}#1c_@B(g6z(E24#(^g;Mu*J}})#<Sw;fmN05dWHG1`U!E*+
z?0ubaTcUv54+b~G4@@6>PF&>Hp7*dXvE-zL+jAz-0~<IFXEh`>i2EHnA*e6#Z33uK
zGDDfunbqLJ+nFsB9r`0eZ*SbOuK46DJ;B2Pj6H0U2PU)#ZkA}{yx+J(U~5AT%cYi$
zA$A!FC#6IWym0&7GrvZGM^b%S3*(*@hD;J-i3)8gEt~#4iilECR!&Lrl&Cz)J;6&M
zk>RGXlbhTJCFw&Q<zF5>e*3&ZxS?y+s#RTWZEf4{RlUxy`(`1g*tRk0GN&oiVe2+U
z4rif_+TM$vyW4Oco~LT~!AY4%+4YgX#H;K3{kvEMnd%P-{1lwIjpLb@<YGQ0p7j!K
zk;~_{EMzqZ>2eWl>-kc##KYuJfO2xpCY7H@yY1YIj;L29x|;TcG6kz-yL6>YG<Hoo
zChGLuebW){`x0%&RSPev-dy7GCt1SpkVm+ybYe<h+>K2t2lsz-`ZJ41{=f!7w|Afc
zTAzs=hYW&L)DpLZ?#uU|*ul^yp4h_tLQ>#xfI~iif`q2f%(ZTtnfG`s_XuG)d}h*~
zcAd^OJc=Kgj(+lzIC1fbepO<ul#r3pG7lr6Hs#=%sdXwwiAO~B|2^L9+!4*7(jZ*?
z?2O}+MUN)?+pS!?mNk*VT;Rfw2aokX2>7S|wY-_~|3=FH6+bPlDl@AhvPz6hjWq3;
zd5<>bDwzsp96T<kv9&bl$eA6t-^I!4xAFGeKbx|TkE8wW@rulxQyVU7^03ZYmS#Eg
zanD-@+f^-rip;BG5>mAj8?9GPTyys2x1|$1y%(Qq33KyqQgb!)I`%YSw?J3m|L)?c
zPxpx5w5!<u(8;qp*oJYXvq@5FyqZt;eCL@5-l_d#W#D(<XkfYV=<W9Var<g2kA}zB
zZY_N5CU9(a{=S_V7nORxErCqWKnBnzF`c*le&<jt_x;M}vKw4$YybXd{+8!vY4UuQ
R7y|<XgQu&X%Q~loCIDC$U+(|_

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html
new file mode 100644
index 0000000000..e941cd4eaa
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html
@@ -0,0 +1,51 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>About Image</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Images</h2>
+        <p>
+            In Autopsy, an "Image" refers to the "Disk Image". Before an image can be analyzed, it must be added to a <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html">case</a>.
+        </p>
+        <p>Autopsy creates a database for each image that it imports.  This database is a SQLite database and it contains all of the file system metadata from the image. When adding an image, it will take a little bit of time to populate the database. The database is stored in the case directory, but the image will stay in its original location.</p>
+        
+        <h2>Supported Formats</h2>
+        <p>
+            Currently, Autopsy only supports these formats of image:
+            <ul type="circle">
+                <li>Raw Single (For example: *.img, *.dd, etc)</li>
+                <li>Raw Split (For example: *.001, *.002, *.aa, *.ab, etc)</li>
+                <li>EnCase (For example: *.e01, *e02, etc)</li>
+            </ul>
+
+        <h2>Adding an Image</h2>
+        <p>
+            To see how to add image to the current opened case, click <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/addImage.html">here</a>.
+        </p>
+
+        <h2>Removing an Image</h2>
+        <p>
+            You can remove an image in the <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html">Case Properties</a> window.
+        </p>
+
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage-icon.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a36d4714ac9db8a3888ab2610bef2ab0cfbb6b7c
GIT binary patch
literal 1632
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

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage.html
new file mode 100644
index 0000000000..327a299e52
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/addImage.html
@@ -0,0 +1,45 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Adding An Image</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Adding An Image</h2>
+        <p>
+            There are several ways to add an image to the currently opened case:
+            <ul type="circle">
+                <li>Go to "File" and select "Add Image..." </li>
+                <li>Select the <img src="addImage-icon.png" alt="Add Image Icon" /> icon on the toolbar</li>
+            </ul>
+
+        <p>
+            After that, a "Add Image" wizard dialog will show up. Then follow these following steps:</p>
+        <ul>
+            <li>Select "Image Type", then enter the "Image Path" to the image that you want to analyze (you can also use the "Browse" button to browse the location of your image). Also specify the timezone that you want. When everything is completed, press "Next" button.<br><br>
+            &nbsp; &nbsp; <img src="AddImageWizard1_Help.png" alt="Add Image Wizard Panel 1 Help" /> </li>
+            <li>Autopsy needs to analyze the image to populate its database with file system metadata. If you have configured hash databases, you will be given the option of looking up files in the hash database during the ingest.  Press the "Create Database" button to create the database. When the database creation process is done, you can press the "Next" button.<br><br>
+            &nbsp; &nbsp; <img src="AddImageWizard2_Help.png" alt="Add Image Wizard Panel 2 Help" /> </li>
+            <li>After the database is created, the image can be analyzed.  You will be given the option to add another image or start the analysis. <br><br>
+            &nbsp; &nbsp; <img src="AddImageWizard3_Help.png" alt="Add Image Wizard Panel 3 Help" /> </li>
+        </ul>
+        <p>Note that Autopsy will store the path to the image in its configuration file.  If the image moves, then Autopsy will give an error because it can't find the image file.
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html
new file mode 100644
index 0000000000..4ce021926d
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html
@@ -0,0 +1,48 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Case Properties Window</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Case Properties Window</h2>
+        <p>
+            Case Properties Window is the window where you can check some information about the currently opened case (case name, case creation date, case directory, and images in this case.
+            <br><br>
+            In this window, you can also do the following things:
+        <ul>
+            <li>Change/update the case name</li>
+            <li>Delete the current case</li>
+        <li>Remove image(s) from the current case</li>
+            </ul>
+
+        </p>
+        <h2>How to Open Case Properties Window</h2>
+        <p>
+            To open the "Case Properties" window, go to "File" and then select "Case Properties..." <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's an example of the "Case Properties" window: <br>
+            <img src="CasePropertiesHelp.png" alt="Case Properties Help" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html
new file mode 100644
index 0000000000..83243973f6
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html
@@ -0,0 +1,50 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+    <head>
+        <title>About Cases</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Cases</h2>
+        <p>
+            In Autopsy, a "case" is a container concept for a set of <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html">images</a>.  The set of images could be from multiple drives in a single computer or from multiple computers. When you make a case, it will create a directory to hold all of the information.  The directory will contain a configuration file, some databases, and some other information.
+        </p>
+
+        <h2>Creating a Case</h2>
+        <p>
+            Refer to the <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/createNewCase.html">Creating a Case</a> page for more details.
+        </p>
+
+        <h2>Opening a Case</h2>
+        <p>
+            There are three ways to open a case:
+            <ul>
+                <li>Go to "File" and then select "Open Case..."</li>
+                <li>Select the <img src="open-icon.png" alt="Open Case Icon" /> icon on the toolbar</li>
+                <li>Press "Ctrl + O" on the keyboard</li>
+            </ul>
+        <p>
+            After that, a File Chooser dialog will show up. Then select a ".aut" file that you previously created.  It will be in the case folder.
+        </p>
+            
+        <h2>What's Next?</h2>
+        <p>After you create a case, you can <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/addImage.html">add an image</a> to the case. </p>
+        <p>If you want to view case details or edit some case information, use the <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/caseProperties.html">Case Properties</a> window.    
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-hs.xml b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-hs.xml
new file mode 100644
index 0000000000..916e9d147e
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-hs.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN" "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
+<helpset version="2.0">
+    <title>Case Help</title>
+    <maps>
+        <homeID>org.sleuthkit.autopsy.casemodule.about</homeID>
+        <mapref location="casemodule-map.xml"/>
+    </maps>
+    <view mergetype="javax.help.AppendMerge">
+        <name>TOC</name>
+        <label>Table of Contents</label>
+        <type>javax.help.TOCView</type>
+        <data>casemodule-toc.xml</data>
+    </view>
+    <view mergetype="javax.help.AppendMerge">
+        <name>Index</name>
+        <label>Index</label>
+        <type>javax.help.IndexView</type>
+        <data>casemodule-idx.xml</data>
+    </view>
+    <view>
+        <name>Search</name>
+        <label>Search</label>
+        <type>javax.help.SearchView</type>
+        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+    </view>
+</helpset>
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-idx.xml b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-idx.xml
new file mode 100644
index 0000000000..7646264f46
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-idx.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 2.0//EN" "http://java.sun.com/products/javahelp/index_2_0.dtd">
+<index version="2.0">
+    <indexitem text="Overview" target="org.sleuthkit.autopsy.casemodule.overview"/>
+    <indexitem text="About Cases" target="org.sleuthkit.autopsy.casemodule.about"/>
+    <indexitem text="Creating a Case" target="org.sleuthkit.autopsy.casemodule.how-to-create-case"/>
+    <indexitem text="About Images" target="org.sleuthkit.autopsy.casemodule.image-about"/>
+    <indexitem text="Adding an Image" target="org.sleuthkit.autopsy.casemodule.add-image"/>
+    <indexitem text="Case Properties Window" target="org.sleuthkit.autopsy.casemodule.caseproperties"/>
+    <indexitem text="Hash Database Management" target="org.sleuthkit.autopsy.casemodule.hashdbmgmt"/>
+</index>
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-map.xml b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-map.xml
new file mode 100644
index 0000000000..4a55d337ed
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-map.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN" "http://java.sun.com/products/javahelp/map_2_0.dtd">
+<map version="2.0">
+    <mapID target="org.sleuthkit.autopsy.casemodule.overview" url="overview.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.about" url="casemodule-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.how-to-create-case" url="createNewCase.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.image-about" url="aboutImage.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.add-image" url="addImage.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.caseproperties" url="caseProperties.html"/>
+    <mapID target="org.sleuthkit.autopsy.casemodule.hashdbmgmt" url="hashDbMgmt.html"/>
+</map>
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-toc.xml b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-toc.xml
new file mode 100644
index 0000000000..7c5be4fe0f
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/casemodule-toc.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN" "http://java.sun.com/products/javahelp/toc_2_0.dtd">
+<toc version="2.0">
+    <tocitem text="Overview" target="org.sleuthkit.autopsy.casemodule.overview"/>
+    <tocitem text="Case Management">
+       <tocitem text="Case">
+            <tocitem text="About Cases" target="org.sleuthkit.autopsy.casemodule.about"/>
+            <tocitem text="Creating a Case" target="org.sleuthkit.autopsy.casemodule.how-to-create-case"/>
+       </tocitem>
+       <tocitem text="Image">
+            <tocitem text="About Images" target="org.sleuthkit.autopsy.casemodule.image-about"/>
+            <tocitem text="Adding an Image" target="org.sleuthkit.autopsy.casemodule.add-image"/>
+       </tocitem>
+       <tocitem text="Case Properties Window" target="org.sleuthkit.autopsy.casemodule.caseproperties"/>
+       <tocitem text="Hash Database Management Window" target="org.sleuthkit.autopsy.casemodule.hashdbmgmt"/>
+    </tocitem>
+</toc>
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/createNewCase.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/createNewCase.html
new file mode 100644
index 0000000000..5c0eac8426
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/createNewCase.html
@@ -0,0 +1,43 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Creating A Case</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Creating a Case</h2>
+        <p>
+            There are several ways to create a new case:
+            <ul type="circle">
+                <li>Go to "File" and select "New Case..." </li>
+                <li>Select the <img src="new-icon.png" alt="New Case Icon" /> icon on the toolbar</li>
+                <li>Press "Ctrl + N" on the keyboard</li>
+            </ul>
+    </p>
+    
+    <p>The "New Case" wizard dialog will open and you will need to enter the case name and base directory.  Each case will have its own directory and the path of the directory is created by combining the "base directory" with the "case name". If the directory already exists, you will need to either delete the existing directory or choose a different combination of names.
+    </p>
+    <h2>Example:</h2>
+        <p>
+            Here's an example of the "New Case" wizard dialog: <br>
+            <img src="NewCaseWizardHelp.png" alt="New Case Wizard Help" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/hashDbMgmt.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/hashDbMgmt.html
new file mode 100644
index 0000000000..aa613a88aa
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/hashDbMgmt.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Hash Database Management</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Hash Database Management Window</h2>
+        <p>
+	The Hash Database Management window is where you can set and update your hash database information. Hash databases are used to identify files that are 'known'. 
+	<ul>
+	<li>Known good files are those that can be safely ignored.  This set of files frequently includes standard OS and application files. </li>
+	<li>Known bad files are those that should raise awareness.  This set will vary depending on the type of investigation, but common examples include contraband images and malware.</li>
+	</ul>
+        </p>
+
+	<p>Autopsy allows for a single known bad hash database to be set and the <a href="http://www.nsrl.nist.gov">NIST NSRL</a>.  Before they can be used, an index of them must exist.  
+	The index can be directly copied in or it can be created within Autopsy.  When you select the database from within this window, it will tell you if the index needs to be created. Autopsy 
+	uses the hash database management system from The Sleuth Kit. You can manually create an index using the 'hfind' command line tool.</p>
+
+	<p>Note that the NSRL contains hashes of 'known files' that may be good or bad depending on your perspective and investigation type. For example, the existence of a piece of financial software
+	may be interesting to your investigation and that software could be in the NSRL. Therefore, Autopsy treats files that are found in the NSRL as simplyi 'known' and does not specify good or bad. </p>
+
+	<p>To use the NSRL, you must concatenate all of the NSRLFile.txt files together. You can use 'cat' on a Unix system or from within Cygwin to do this.</p>
+
+        <p>The 'known bad' hash database can be in the hashkeeper, md5sum, or NSRL format.</p>
+        
+	<p>Autopsy uses hash databases when the image is added to the case.  Each file is hashed and looked up in the configured databases.  If the file is found in the NSRL, then it will be marked as 
+	'known' in the case database.  If it is found in the known bad hash database, it will be marked as 'known bad' in the case database. </p>
+
+	<p>You can see the lookup results in a couple of places.  In the <a href="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html">File Search</a> data explorer, there is an option to choose the 'known status'. From here, you can do a search to see all 'known bad' files. 
+	From here, you can also choose to ignore all 'known' files that were found in the NSRL. You can also see the status of the file in a column when the file is listed. </p>
+        
+	<p>Currently, you cannot reprocess a disk image with a new hash database after it has been added to a case.</p>
+
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/new-icon.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/new-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..14206340e177dc0d06327438ca11fcff38ef706f
GIT binary patch
literal 1363
zcmeAS@N?(olHy`uVBq!ia0y~yV2}i14rT@hhR^1ufeZ``Ea{HEjtmSN`?>!lvNA9*
zGX(gAxH2#>u(7dma&mHWbBl<Gh>D6zOG_IY8=D%Nnwy(jT3T9JSlQXxF_bYdR538r
zFsR3=dpLXe`}>Fbh6V-(hJ}Ttq@-kIWaQ=L<>%)Y6%{cwFfg<;Fmy98^e`~=GjKL>
za(8mecFQs>WMEjtz_5maVFLrhUIxW(MbmCmvpzG16ATPz7#LnKFuY}8_|Fj16H>6f
zprxf{(xgdq=gwWbeC?VwYu2t^yJgFk?OV6+*}Z4ao;@AMJLa63v-s5FWv7>IyR+@^
z;lrm+oqF~0)z`0I|9$=U`}gmke}4Y||DRzLjD`TA5J+gOuV-LjWGD&p3;sW{0YmV2
zc2x!j2F?PH$YKTtzQZ8Qcszea3aBJ0ag8Vm&QB{TPb^Ah2uRG#E79|F4N)jF)-%<!
zFt=`qWnf^~;pyTSq7j_@qo3R0!SuxEEzEk#GlDkArMYu!Y?ziJ(C*ck8gbVq;lPm&
zcOE6yX^Dl6rzN~AJ3JDm7A7Spwd~-E<@eaULQ+psu{i4#$K#^Lg$<3oW!pVpzw}C;
zSXf>*_3HKT14_x-i`T4Mzkb!B{)fTUvb6>QhbL^j+;(C`(g}-<j8iXPf6mfO<TkIY
zt#zHjJ>e0%#DYDmv}z0_UFI+?zIMs$f{5HAkCzNH6n0n&ENnLY`@k=hq3%p@x~bz5
QV^C`GboFyt=akR{00HmLxc~qF

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/open-icon.png b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/open-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..d16e51b68287b10e230b6f6a25efe30e7b7b1dee
GIT binary patch
literal 1051
zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuL8A9=bshE&X%JJmNQBvqts
z{`=qW_7<l{Sxqflpdg~bYZ4;DvA|5JajxNvRWFZ47+#bxUsuxF>6p5-FtMrLaMy$x
z8CMc+yl^uyRALlunxrvx$}Rcd)^B+(&)m8H_|YvVr(BTy;Jfe1J^kl<-dlcuvM0Ro
z_XP*-gjYvW8U637Rk~^JJCSlDJ6dP9Hq&KepI>(8L)q7|L?!%mdGNQqKazdk%dHny
zmF0%JB~|^})3nv$N71sW%Cc`y?KRZzQ|!_@uNl7b-#n43ZFP^Mg9;MDuVgUpjW&A~
zUSFrZR=Rgxp2(6{p^cZgxUx=`>fTs*km;A)t(@0a5<GI+JD8>@Y*bJ@(x@;`LG{87
zi`%mt?%#T$5)jc~Sl4hn&-t@k!Ga?0BMvMr4kr)qH*@*$+vXP^`>Qh!s=6H7Of%GY
zzt=IXEH#}xXW8Qv{W%LNA_bWm8^oOr+kOgsQhZW#;@5;S)1`l!7>+gAvj*-fJHPtd
zg>Nq+7d?>oIO4&y!7<07c}k;^hv2$6-ipVikpdSCMc5szx3V(al0WWo!dHDR!zG48
z+s=rV<=Jl4P<X)Kxak%5l_nPfu?03vOA~v1r#cvLt-AM3zxDm`GiRsHJatxBG~IJ`
zWZ2dpDwDYxS4AnzTasj4dfG*4{>GU?^3UF<Y<cP!R$e0Hrnva=^cx?Zmw!=hzj;r0
z!D`kkI;VHFaCk60QVcwB|8m>nSAu2t{~Bb!W!bjv<Dw2<?Qp}rnfk}i)t}<tKgTg-
zPrxR@4bKj0h0J}OP?WGKA??7a=C>0+w_bl_yC#0~T+8|yCok>aV!CG8{?+2wcT8EV
zc`f(;dG}?LKYl#Qr*q)rw3@c3QkLNvN8&g3C0U$#R>I%D`&VHP?}6mG?3M2?xjx%d
zn6@oXO`2El9pi&*<r4dOo-dKSermE2Ctvwj<JY|(9^XhWSyo<@^?|u4uG7P$_hdtk
z_u)kiY`g#QwWKag$;q*GE<assaqQXbh2b+a;?fe{6^n3PzvQy0kk`Ujbo1%TKpwxH
z>l(@wl|PH*v`-0Lb7h&Dr}`#^2gkY8O*D8M*92a#<@s>^fa$zl``NGOHvLTa8Qhgv
zqp;}0wT4u+8yA16IIiJ*oS#|1B&2pogOSzI^4XV<FDJ3aoIJOw{=ecqv$n6RzRB}0
zyz}Xeb?dUeT1N5Z@k!y&e3dTxh}yfEtSJavd?j+9{mkWay7%pw_$I99-@LXh|6ac6
zycTl)-PV*zxm(oa9WHuot7&|AD1XkMtd__6=Xl*0zS+ULZ+6oB$pMr7ZRSt8ynoy2
z8)ssTOm6DN|KH%oCs*W>{g1)yPy8oW6K3}*kAjSjPI+y_IEQiGvPY{K{;(hVHpTpl
Ts_}LP1_lOCS3j3^P6<r_1XTK~

literal 0
HcmV?d00001

diff --git a/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/overview.html b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/overview.html
new file mode 100644
index 0000000000..3b3716d90f
--- /dev/null
+++ b/Case/javahelp/org/sleuthkit/autopsy/casemodule/docs/overview.html
@@ -0,0 +1,45 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Overview</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Overview</h2>
+        <p>
+            Autopsy allows you to conduct a digital forensic investigation.  It is a graphical interface to The Sleuth Kit and other open source tools. This page outlines the basic concepts of the program. The remainder of the help guide is organized around these concepts.
+        </p>
+
+        <p>All data is organized around the concept of a <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/casemodule-about.html">case</a>.  A case can have one or more disk <a href="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/aboutImage.html">images</a> loaded into it.</p>
+
+        <p>The main window has three major areas:
+        <ul>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html">Data Explorers</a> (area 4 in figure below): This area is where you go find major analysis functionality.  It allows you to start finding the relevant files.</li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html">Result Viewers</a> (area 5 in figure below): This area is where the files and directories that were found from the explorer window can be viewed. There are different formatting options for the files.</li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/datacontent-about.html">Content Viewers</a> (area 6 in figure below): This area is where file content can be viewed after they are selected from the Result Viewer area.</li>
+        </ul>
+        </p>
+        <p>The main take away from this should be that analysis techniques can be found on the left-hand side, the results are always listed in the upper right, and the file contents are displayed in the lower left.
+
+        <p>
+            <img src="Autopsy_overview.png" alt="Autopsy Overview Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/Case/manifest.mf b/Case/manifest.mf
new file mode 100644
index 0000000000..9398c0dfec
--- /dev/null
+++ b/Case/manifest.mf
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.casemodule/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/casemodule/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/casemodule/Bundle.properties
+OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help
+
diff --git a/Case/nbproject/build-impl.xml b/Case/nbproject/build-impl.xml
new file mode 100644
index 0000000000..974323e28a
--- /dev/null
+++ b/Case/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.casemodule-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/Case/nbproject/genfiles.properties b/Case/nbproject/genfiles.properties
new file mode 100644
index 0000000000..df5eed5cb5
--- /dev/null
+++ b/Case/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=163956d6
+build.xml.script.CRC32=601bc2ba
+build.xml.stylesheet.CRC32=a56c6a5b@1.46.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=163956d6
+nbproject/build-impl.xml.script.CRC32=65e93a36
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.46.2
diff --git a/Case/nbproject/platform.properties b/Case/nbproject/platform.properties
new file mode 100644
index 0000000000..66c6f5bea1
--- /dev/null
+++ b/Case/nbproject/platform.properties
@@ -0,0 +1,17 @@
+cluster.path=\
+    ${nbplatform.active.dir}/platform
+disabled.modules=\
+    org.jdesktop.layout,\
+    org.netbeans.api.visual,\
+    org.netbeans.core.execution,\
+    org.netbeans.core.multiview,\
+    org.netbeans.libs.jsr223,\
+    org.netbeans.modules.autoupdate.services,\
+    org.netbeans.modules.autoupdate.ui,\
+    org.netbeans.modules.core.kit,\
+    org.netbeans.modules.favorites,\
+    org.openide.compat,\
+    org.openide.execution,\
+    org.openide.options,\
+    org.openide.util.enumerations
+nbplatform.active=default
diff --git a/Case/nbproject/project.properties b/Case/nbproject/project.properties
new file mode 100644
index 0000000000..08a83eb5cc
--- /dev/null
+++ b/Case/nbproject/project.properties
@@ -0,0 +1,4 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+javahelp.hs=casemodule-hs.xml
+spec.version.base=0.0
diff --git a/Case/nbproject/project.xml b/Case/nbproject/project.xml
new file mode 100644
index 0000000000..f27f490015
--- /dev/null
+++ b/Case/nbproject/project.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.casemodule</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.jdesktop.beansbinding</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.11.1.121</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.settings</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.26.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.15.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.filesystems</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.47.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.text</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.30.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <test-dependencies>
+                <test-type>
+                    <name>unit</name>
+                    <test-dependency>
+                        <code-name-base>org.netbeans.libs.junit4</code-name-base>
+                        <compile-dependency/>
+                    </test-dependency>
+                </test-type>
+            </test-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.casemodule</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/Case/nbproject/suite.properties b/Case/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/Case/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageAction.java
new file mode 100644
index 0000000000..5ecd791292
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageAction.java
@@ -0,0 +1,304 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.awt.Dialog;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.SwingUtilities;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.DialogDisplayer;
+import org.openide.WizardDescriptor;
+import org.openide.util.ChangeSupport;
+import org.openide.util.HelpCtx;
+import org.openide.util.NbBundle;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess;
+
+/**
+ * The action to add an image to the current Case. This action should be disabled
+ * on creation and it will be enabled on new case creation or case opened.
+ *
+ * @author jantonius
+ */
+// TODO: need annotation because there's a "Lookup.getDefault().lookup(AddImageAction.class)"
+// used in AddImageWizardPanel1 (among other places). It really shouldn't be done like that.
+@ServiceProvider(service = AddImageAction.class)
+public final class AddImageAction extends CallableSystemAction implements Presenter.Toolbar {
+
+    // Keys into the WizardDescriptor properties that pass information between stages of the wizard
+    // <TYPE>: <DESCRIPTION>
+    // String: time zone that the image is from
+    static final String TIMEZONE_PROP = "timeZone";
+    // String[]: task to clean up the database file if wizard errors/is cancelled after it is created
+    static final String IMGPATHS_PROP = "imgPaths";
+    // CleanupTask: task to clean up the database file if wizard errors/is cancelled after it is created
+    static final String IMAGECLEANUPTASK_PROP = "finalFileCleanup";
+    // int: the next availble id for a new image
+    static final String IMAGEID_PROP = "imageId";
+    // AddImageProcess: the next availble id for a new image
+    static final String PROCESS_PROP = "process";
+
+
+    private WizardDescriptor wizardDescriptor;
+    private WizardDescriptor.Iterator<WizardDescriptor> iterator;
+    private Dialog dialog;
+    private JButton toolbarButton = new JButton();
+
+    /**
+     * The constructor for AddImageAction class
+     */
+    public AddImageAction() {
+        putValue(Action.NAME, NbBundle.getMessage(AddImageAction.class, "CTL_AddImage")); // set the action Name
+
+        // set the action for the toolbar button
+        toolbarButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                AddImageAction.this.actionPerformed(e);
+            }
+        });
+
+        this.setEnabled(false); // disable this action class
+    }
+
+    /**
+     * Pop-up the "Add Image" wizard panel.
+     * 
+     * @param e
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(AddImageAction.class);
+
+        iterator = new AddImageWizardIterator(this);
+        wizardDescriptor = new WizardDescriptor(iterator);
+        wizardDescriptor.setTitle("Add Image");
+        wizardDescriptor.putProperty(NAME, e);
+
+
+        if (dialog != null) {
+            dialog.setVisible(false); // hide the old one
+        }
+        dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
+        dialog.setVisible(true);
+        dialog.toFront();
+
+        boolean cancelled = wizardDescriptor.getValue() != WizardDescriptor.FINISH_OPTION;
+        // @@@ Why don't we commit and revert in the same general area????
+        if (!cancelled) {
+            // commit anything
+            try {
+                commitImage(wizardDescriptor);
+            } catch (Exception ex) {
+                // Log error/display warning
+                Logger logger = Logger.getLogger(AddImageAction.class.getName());
+                logger.log(Level.SEVERE, "Error adding image to case.", ex);
+            }
+        }
+        
+        // Do any cleanup that needs to happen (potentially: stopping the
+        //add-image process, reverting an image)
+        runCleanupTasks();
+    }
+
+    /**
+     * Commit the finished AddImageProcess, and cancel the CleanupTask that
+     * would have reverted it.
+     * @param settings property set to get AddImageProcess and CleanupTask from
+     * @throws Exception if commit or adding the image to the case failed
+     */
+    private void commitImage(WizardDescriptor settings) throws Exception {
+        
+        String[] imgPaths = (String[]) settings.getProperty(AddImageAction.IMGPATHS_PROP);
+        String timezone = settings.getProperty(AddImageAction.TIMEZONE_PROP).toString();
+        
+        AddImageProcess process = (AddImageProcess) settings.getProperty(PROCESS_PROP);
+        
+        try {
+            long imageId = process.commit();
+            Case.getCurrentCase().addImage(imgPaths, imageId, timezone);
+        } finally {
+            // Can't bail and revert image add after commit, so disable image cleanup
+            // task
+            CleanupTask cleanupImage = (CleanupTask) settings.getProperty(IMAGECLEANUPTASK_PROP);
+            cleanupImage.disable();
+        }
+    }
+
+    /**
+     * Closes the current dialog and wizard, and opens a new one. Used in the
+     * "Add another image" action on the last panel
+     */
+    public void restart() {
+        // Simulate clicking finish for the current dialog
+        wizardDescriptor.setValue(WizardDescriptor.FINISH_OPTION);
+        dialog.setVisible(false);
+
+
+        // let the previous call to AddImageAction.actionPerformed() finish up
+        // after the wizard, this will run when its it's done
+        SwingUtilities.invokeLater(new Runnable() {
+
+            @Override
+            public void run() {
+                actionPerformed(null);
+            }
+        });
+    }
+
+    /**
+     * This method does nothing. Use the "actionPerformed(ActionEvent e)" instead of this method.
+     */
+    @Override
+    public void performAction() {
+    }
+
+    /**
+     * Gets the name of this action. This may be presented as an item in a menu.
+     *
+     * @return actionName
+     */
+    @Override
+    public String getName() {
+        return NbBundle.getMessage(AddImageAction.class, "CTL_AddImage");
+    }
+
+    /**
+     * Gets the HelpCtx associated with implementing object
+     *
+     * @return HelpCtx or HelpCtx.DEFAULT_HELP
+     */
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+
+    /**
+     * Returns the toolbar component of this action
+     * 
+     * @return component  the toolbar button
+     */
+    @Override
+    public Component getToolbarPresenter() {
+        ImageIcon icon = new ImageIcon(getClass().getResource("addImage-icon.png"));
+        toolbarButton.setIcon(icon);
+        return toolbarButton;
+    }
+
+    /**
+     * Set this action to be enabled/disabled
+     *
+     * @param value  whether to enable this action or not
+     */
+    @Override
+    public void setEnabled(boolean value) {
+        super.setEnabled(value);
+        toolbarButton.setEnabled(value);
+    }
+
+    /**
+     * Set the focus to the button of the given name on this wizard dialog.
+     *
+     * Note: the name of the buttons that available are "Next >", "< Back",
+     * "Cancel", and "Finish". If you change the name of any of those buttons,
+     * use the latest name instead.
+     *
+     * @param buttonText  the text of the button
+     */
+    public void requestFocusButton(String buttonText) {
+        // get all buttons on this wizard panel
+        Object[] wizardButtons = wizardDescriptor.getOptions();
+        for (int i = 0; i < wizardButtons.length; i++) {
+            JButton tempButton = (JButton) wizardButtons[i];
+            if (tempButton.getText().equals(buttonText)) {
+                tempButton.setDefaultCapable(true);
+                tempButton.requestFocus();
+            }
+        }
+    }
+    
+    /**
+     * Run and clear any cleanup tasks for wizard closing that might be
+     * registered. This should be run even when the wizard exits cleanly, so
+     * that no cleanup actions remain the next time the wizard is run.
+     */
+    private void runCleanupTasks() {
+        cleanupSupport.fireChange();
+    }
+    
+    ChangeSupport cleanupSupport = new ChangeSupport(this);
+
+    /**
+     * Instances of this class implement the cleanup() method to run cleanup
+     * code when the wizard exits.
+     * 
+     * After enable() has been called on an instance it will run once after the
+     * wizard closes (on both a cancel and a normal finish).
+     * 
+     * If disable() is called before the wizard exits, the task will not run.
+     */
+    abstract class CleanupTask implements ChangeListener {
+
+        @Override
+        public void stateChanged(ChangeEvent e) {
+            // fired by AddImageAction.runCleanupTasks() after the wizard closes 
+            try {
+                cleanup();
+            } catch (Exception ex) {
+                Logger logger = Logger.getLogger(this.getClass().getName());
+                logger.log(Level.WARNING, "Error cleaning up from wizard.", ex);
+            } finally {
+                disable(); // cleanup tasks should only run once.
+            }
+        }
+
+        /**
+         * Add task to the enabled list to run when the wizard closes.
+         */
+        public void enable() {
+            cleanupSupport.addChangeListener(this);
+        }
+
+        /**
+         * Performs cleanup action when called
+         * @throws Exception 
+         */
+        abstract void cleanup() throws Exception;
+
+        /**
+         * Remove task from the enabled list.
+         */
+        public void disable() {
+            cleanupSupport.removeChangeListener(this);
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.form b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.form
new file mode 100644
index 0000000000..fad3b1db95
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.form
@@ -0,0 +1,205 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <NonVisualComponents>
+    <Component class="javax.swing.ButtonGroup" name="buttonGroup1">
+    </Component>
+  </NonVisualComponents>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="imgTypeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="10" pref="10" max="10" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="rawSplit" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="rawSingle" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="encase" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Component id="multipleSelectLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="imgPathLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                      <Component id="imgPathTextField" pref="415" max="32767" attributes="1"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="imgPathBrowserButton" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="imgInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="timeZoneLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
+                      <Component id="timeZoneComboBox" min="-2" pref="315" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="imgInfoLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
+              <Component id="imgTypeLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="rawSingle" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="rawSplit" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="encase" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="imgPathLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="imgPathTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="imgPathBrowserButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="multipleSelectLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Component id="timeZoneLabel" min="-2" max="-2" attributes="0"/>
+                  <Component id="timeZoneComboBox" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace pref="26" max="32767" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JRadioButton" name="rawSingle">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.rawSingle.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="requestFocusEnabled" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rawSingleActionPerformed"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="10"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JRadioButton" name="rawSplit">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.rawSplit.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="requestFocusEnabled" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rawSplitActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgTypeLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.imgTypeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JRadioButton" name="encase">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.encase.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="requestFocusEnabled" type="boolean" value="false"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="encaseActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgPathLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.imgPathLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="multipleSelectLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.multipleSelectLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="imgPathTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.imgPathTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="10"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JButton" name="imgPathBrowserButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.imgPathBrowserButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="imgPathBrowserButtonActionPerformed"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.imgPathBrowserButton.setDefaultCapable(true);&#xd;&#xa;this.imgPathBrowserButton.requestFocus();"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgInfoLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.imgInfoLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+          <Color blue="33" green="0" red="ff" type="rgb"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JComboBox" name="timeZoneComboBox">
+      <Properties>
+        <Property name="maximumRowCount" type="int" value="30"/>
+        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+          <StringArray count="0"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="timeZoneLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel1.timeZoneLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.java
new file mode 100644
index 0000000000..8d95761848
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel1.java
@@ -0,0 +1,493 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.io.File;
+import java.util.Calendar;
+import java.util.SimpleTimeZone;
+import java.util.TimeZone;
+import javax.swing.event.DocumentEvent;
+import javax.swing.filechooser.FileFilter;
+import javax.swing.JFileChooser;
+import javax.swing.JPanel;
+import javax.swing.event.DocumentListener;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+
+/**
+ * The "Add Image" wizard panel 1. This class is used to design the "form" of
+ * the panel 1 for "Add Image" wizard panel.
+ *
+ * @author jantonius
+ */
+final class AddImageVisualPanel1 extends JPanel implements DocumentListener {
+
+    private JFileChooser fc = new JFileChooser();
+    private FileFilter filter;
+    private final String[] imgExt = {".img", ".dd"};
+    private final String imgDesc = "Raw Images (*.img, *.dd)";
+    private GeneralFilter imgFilter = new GeneralFilter(imgExt, imgDesc, false);
+    private final String[] splitExt = {".*\\.[0-9][0-9][0-9]", ".*\\.[a-z][a-z]"};
+    private final String splitDesc = "Split Part (*.001, *.002, etc)";
+    private GeneralFilter splitFilter = new GeneralFilter(splitExt, splitDesc, true);
+    private final String[] encasExt = {".*\\.e[0-9][0-9]", ".*\\.e[a-z][a-z]"};
+    private final String encaseDesc = "Encase Images (*.e01, *.eAA)";
+    private GeneralFilter encaseFilter = new GeneralFilter(encasExt, encaseDesc, true);
+    private boolean multi = false;
+    private AddImageWizardPanel1 wizPanel;
+
+    /**
+     * Creates new form AddImageVisualPanel1
+     * @param wizPanel corresponding WizardPanel to handle logic of wizard step
+     */
+    AddImageVisualPanel1(AddImageWizardPanel1 wizPanel) {
+        initComponents();
+        this.wizPanel = wizPanel;
+        fc.setDragEnabled(multi);
+        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
+        fc.setMultiSelectionEnabled(multi);
+        fc.addChoosableFileFilter(imgFilter);
+        filter = imgFilter;
+        buttonGroup1.add(encase);
+        buttonGroup1.add(rawSingle);
+        buttonGroup1.add(rawSplit);
+        imgPathTextField.getDocument().addDocumentListener(this);
+        imgPathTextField.setText("");
+        jLabel1.setText("");
+        rawSingle.setSelected(true);
+        rawSplit.setSelected(false);
+        encase.setSelected(false);
+        createTimeZoneList();
+    }
+
+    /**
+     * Returns the name of the this panel. This name will be shown on the left
+     * panel of the "Add Image" wizard panel.
+     *
+     * @return name  the name of this panel
+     */
+    @Override
+    public String getName() {
+        return "Enter Image Information";
+    }
+
+    /**
+     * Gets the array of image paths from the Image Path Text Field.
+     *
+     * @return imagePaths  the array of image paths
+     */
+    public String[] getImagePaths() {
+        String[] imgPath = Case.convertImgPath(imgPathTextField.getText());
+        if (Case.checkMultiplePathExist(imgPath)) {
+            return imgPath;
+        } else {
+            return new String[0];
+        }
+    }
+
+    /**
+     * Gets the type of the image that's selected.
+     *
+     * @return imgType  the type of the image that selected
+     */
+    public String getImgType() {
+        if (rawSingle.isSelected()) {
+            return "Raw Single";
+        }
+        if (rawSplit.isSelected()) {
+            return "Raw Split";
+        }
+        if (encase.isSelected()) {
+            return "EnCase";
+        } else {
+            return "Nothing Selected";
+        }
+    }
+
+    /**
+     * Gets the time zone that selected on the drop down list.
+     *
+     * @return timeZone  the time zone that selected
+     */
+    public String getSelectedTimezone() {
+        String tz = timeZoneComboBox.getSelectedItem().toString();
+        return tz.substring(tz.indexOf(")") + 2).trim();
+    }
+
+    // add the timeZone list to the timeZoneComboBox
+    /**
+     * Creates the drop down list for the time zones and then makes the local
+     * machine time zones to be selected.
+     */
+    public void createTimeZoneList() {
+        // load and add all timezone
+        String[] ids = SimpleTimeZone.getAvailableIDs();
+        for (String id : ids) {
+            TimeZone zone = TimeZone.getTimeZone(id);
+            int offset = zone.getRawOffset() / 1000;
+            int hour = offset / 3600;
+            int minutes = (offset % 3600) / 60;
+            String item = String.format("(GMT%+d:%02d) %s", hour, minutes, id);
+
+            /*
+            DateFormat dfm = new SimpleDateFormat("z");
+            dfm.setTimeZone(zone);
+            boolean hasDaylight = zone.useDaylightTime();
+            String first = dfm.format(new Date(2010, 1, 1));
+            String second = dfm.format(new Date(2011, 6, 6));
+            int mid = hour * -1;
+            String result = first + Integer.toString(mid);
+            if(hasDaylight){
+            result = result + second;
+            }
+            timeZoneComboBox.addItem(item + " (" + result + ")");
+             */
+            timeZoneComboBox.addItem(item);
+        }
+        // get the current timezone
+        TimeZone thisTimeZone = Calendar.getInstance().getTimeZone();
+        int thisOffset = thisTimeZone.getRawOffset() / 1000;
+        int thisHour = thisOffset / 3600;
+        int thisMinutes = (thisOffset % 3600) / 60;
+        String formatted = String.format("(GMT%+d:%02d) %s", thisHour, thisMinutes, thisTimeZone.getID());
+
+        // set the selected timezone
+        timeZoneComboBox.setSelectedItem(formatted);
+    }
+
+    /** 
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        buttonGroup1 = new javax.swing.ButtonGroup();
+        rawSingle = new javax.swing.JRadioButton();
+        rawSplit = new javax.swing.JRadioButton();
+        imgTypeLabel = new javax.swing.JLabel();
+        encase = new javax.swing.JRadioButton();
+        imgPathLabel = new javax.swing.JLabel();
+        multipleSelectLabel = new javax.swing.JLabel();
+        imgPathTextField = new javax.swing.JTextField();
+        imgPathBrowserButton = new javax.swing.JButton();
+        this.imgPathBrowserButton.setDefaultCapable(true);
+        this.imgPathBrowserButton.requestFocus();
+        imgInfoLabel = new javax.swing.JLabel();
+        jLabel1 = new javax.swing.JLabel();
+        timeZoneComboBox = new javax.swing.JComboBox();
+        timeZoneLabel = new javax.swing.JLabel();
+
+        org.openide.awt.Mnemonics.setLocalizedText(rawSingle, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.rawSingle.text")); // NOI18N
+        rawSingle.setRequestFocusEnabled(false);
+        rawSingle.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rawSingleActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(rawSplit, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.rawSplit.text")); // NOI18N
+        rawSplit.setRequestFocusEnabled(false);
+        rawSplit.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                rawSplitActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(imgTypeLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.imgTypeLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(encase, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.encase.text")); // NOI18N
+        encase.setRequestFocusEnabled(false);
+        encase.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                encaseActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(imgPathLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.imgPathLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(multipleSelectLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.multipleSelectLabel.text")); // NOI18N
+
+        imgPathTextField.setText(org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.imgPathTextField.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(imgPathBrowserButton, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.imgPathBrowserButton.text")); // NOI18N
+        imgPathBrowserButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                imgPathBrowserButtonActionPerformed(evt);
+            }
+        });
+
+        imgInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
+        org.openide.awt.Mnemonics.setLocalizedText(imgInfoLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.imgInfoLabel.text")); // NOI18N
+
+        jLabel1.setForeground(new java.awt.Color(255, 0, 51));
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.jLabel1.text")); // NOI18N
+
+        timeZoneComboBox.setMaximumRowCount(30);
+
+        org.openide.awt.Mnemonics.setLocalizedText(timeZoneLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel1.class, "AddImageVisualPanel1.timeZoneLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(imgTypeLabel)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(rawSplit)
+                            .addComponent(rawSingle)
+                            .addComponent(encase)))
+                    .addComponent(multipleSelectLabel)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(imgPathLabel)
+                        .addGap(18, 18, 18)
+                        .addComponent(imgPathTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 415, Short.MAX_VALUE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(imgPathBrowserButton))
+                    .addComponent(imgInfoLabel)
+                    .addComponent(jLabel1)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(timeZoneLabel)
+                        .addGap(10, 10, 10)
+                        .addComponent(timeZoneComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 315, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(imgInfoLabel)
+                .addGap(19, 19, 19)
+                .addComponent(imgTypeLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(rawSingle)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(rawSplit)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(encase)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(imgPathLabel)
+                    .addComponent(imgPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(imgPathBrowserButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(multipleSelectLabel)
+                .addGap(18, 18, 18)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(timeZoneLabel)
+                    .addComponent(timeZoneComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
+                .addComponent(jLabel1)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * When the "rawSingle" radio button is selected.
+     *
+     * @param evt  the action event
+     */
+    private void rawSingleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rawSingleActionPerformed
+        rawSingle.setSelected(true);
+        rawSplit.setSelected(false);
+        encase.setSelected(false);
+        multipleSelectLabel.setText("Single Image: Multiple Select Disabled");
+        filter = imgFilter;
+        multi = false;
+        this.updateUI(null);
+}//GEN-LAST:event_rawSingleActionPerformed
+
+    /**
+     * When the "rawSplit" radio button is selected.
+     *
+     * @param evt  the action event
+     */
+    private void rawSplitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rawSplitActionPerformed
+        rawSingle.setSelected(false);
+        rawSplit.setSelected(true);
+        encase.setSelected(false);
+        multipleSelectLabel.setText("Split Image: Multiple Select Enabled. Use Ctrl, Shift, "
+                + "or Drag to select multiple image parts");
+        filter = splitFilter;
+        multi = true;
+        updateUI(null);
+}//GEN-LAST:event_rawSplitActionPerformed
+
+    /**
+     * When the "encase" radio button is selected.
+     *
+     * @param evt  the action event
+     */
+    private void encaseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_encaseActionPerformed
+        rawSingle.setSelected(false);
+        rawSplit.setSelected(false);
+        encase.setSelected(true);
+        multipleSelectLabel.setText("EnCase Image: Multiple Select Enabled. Use Ctrl, Shift, "
+                + "or Drag to select multiple image parts");
+        filter = encaseFilter;
+        multi = true;
+        updateUI(null);
+}//GEN-LAST:event_encaseActionPerformed
+
+    /**
+     * When the "Browse" button is pressed, open the file chooser window to
+     * select the images.
+     *
+     * @param evt  the action event
+     */
+    private void imgPathBrowserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_imgPathBrowserButtonActionPerformed
+        fc.resetChoosableFileFilters();
+        fc.addChoosableFileFilter(filter);
+        fc.setFileFilter(filter);
+        fc.setMultiSelectionEnabled(multi);
+        fc.setDragEnabled(multi);
+
+        // set the current directory of the FileChooser if the ImagePath Field is valid
+        File currentDir = new File(imgPathTextField.getText());
+        if (currentDir.exists()) {
+            fc.setCurrentDirectory(currentDir);
+        }
+
+        int retval = fc.showOpenDialog(this);
+        if (retval == JFileChooser.APPROVE_OPTION) {
+            File[] files = fc.getSelectedFiles();
+            String path = "";
+            if (multi) {
+                for (File file : files) {
+                    path = path + "\"" + file.getPath() + "\" ";
+                }
+                imgPathTextField.setText(path);
+            } else {
+                path = fc.getSelectedFile().getPath();
+                imgPathTextField.setText(path);
+            }
+        }
+}//GEN-LAST:event_imgPathBrowserButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.ButtonGroup buttonGroup1;
+    private javax.swing.JRadioButton encase;
+    private javax.swing.JLabel imgInfoLabel;
+    private javax.swing.JButton imgPathBrowserButton;
+    private javax.swing.JLabel imgPathLabel;
+    private static javax.swing.JTextField imgPathTextField;
+    private javax.swing.JLabel imgTypeLabel;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel multipleSelectLabel;
+    private static javax.swing.JRadioButton rawSingle;
+    private javax.swing.JRadioButton rawSplit;
+    private javax.swing.JComboBox timeZoneComboBox;
+    private javax.swing.JLabel timeZoneLabel;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Gives notification that there was an insert into the document.  The
+     * range given by the DocumentEvent bounds the freshly inserted region.
+     *
+     * @param e the document event
+     */
+    @Override
+    public void insertUpdate(DocumentEvent e) {
+        updateUI(e);
+    }
+
+    /**
+     * Gives notification that a portion of the document has been
+     * removed.  The range is given in terms of what the view last
+     * saw (that is, before updating sticky positions).
+     *
+     * @param e the document event
+     */
+    @Override
+    public void removeUpdate(DocumentEvent e) {
+        updateUI(e);
+    }
+
+    /**
+     * Gives notification that an attribute or set of attributes changed.
+     *
+     * @param e the document event
+     */
+    @Override
+    public void changedUpdate(DocumentEvent e) {
+        updateUI(e);
+    }
+
+    /**
+     * The "listener" that updates the UI of this panel based on the changes of
+     * fields on this panel. This is also the method to check whether all the
+     * fields on this panel are correctly filled and decides whether to enable
+     * the "Next" button or not.
+     * 
+     * @param e  the document event
+     */
+    public void updateUI(DocumentEvent e) {
+        String[] imgPath = Case.convertImgPath(imgPathTextField.getText());
+        boolean isExist = Case.checkMultiplePathExist(imgPath);
+        File imgFile = new File(imgPath[0]);
+
+        // check if the given paths exist and those are paths to image files
+        boolean isImagePath = true;
+        for (int i = 0; i < imgPath.length; i++) {
+            File tempImgFile = new File(imgPath[i]);
+            isImagePath = isImagePath && tempImgFile.exists() && !tempImgFile.isDirectory()
+                    && (imgFilter.accept(tempImgFile) || splitFilter.accept(tempImgFile)
+                    || encaseFilter.accept(tempImgFile));
+        }
+
+
+        if (isImagePath) {
+            Case currentCase = Case.getCurrentCase();
+            File dbFile = new File(currentCase.getCaseDirectory() + File.separator + imgFile.getName() + ".db");
+
+            if (dbFile.exists()) {
+                String dbExist = "This database already exists. Do you want to overwrite the database?";
+                NotifyDescriptor d = new NotifyDescriptor.Confirmation(dbExist, "Warning: Overwrite Database", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+                d.setValue(NotifyDescriptor.NO_OPTION);
+
+                isExist = false;
+
+                Object res = DialogDisplayer.getDefault().notify(d);
+                if (res != null && res == DialogDescriptor.YES_OPTION) {
+                    isExist = dbFile.delete();
+                    if (!isExist) {
+                        jLabel1.setText("*Database for this image is already created and it can't be deleted because it's being used.");
+                    }
+                }
+                if (res != null && res == DialogDescriptor.NO_OPTION) {
+                    jLabel1.setText("*Database for this image exist. Either delete it or select another image.");
+                }
+            }
+        } else {
+            isExist = false;
+        }
+
+        if (isExist) {
+            jLabel1.setText("");
+        }
+
+        this.wizPanel.enableNextButton(isExist);
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.form b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.form
new file mode 100644
index 0000000000..ddac189bc6
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.form
@@ -0,0 +1,122 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="crDbLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="1" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
+                              <Component id="crDbButton" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace min="189" pref="189" max="189" attributes="0"/>
+                          </Group>
+                          <Component id="jLabel5" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="crDbProgressBar" alignment="0" pref="292" max="32767" attributes="1"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="progressLabel" pref="272" max="32767" attributes="0"/>
+                  </Group>
+                  <Component id="jLabel1" alignment="0" min="-2" pref="552" max="-2" attributes="1"/>
+                  <Component id="lookupFilesCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="crDbLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="lookupFilesCheckBox" min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace min="-2" pref="80" max="-2" attributes="0"/>
+                      <Component id="progressLabel" min="-2" pref="12" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="crDbButton" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
+                      <Component id="jLabel5" min="-2" pref="14" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="crDbProgressBar" min="-2" pref="24" max="-2" attributes="1"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JProgressBar" name="crDbProgressBar">
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel5">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.jLabel5.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="crDbLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.crDbLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="progressLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.progressLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="crDbButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.crDbButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="crDbButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="lookupFilesCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel2.lookupFilesCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.java
new file mode 100644
index 0000000000..8897c88e22
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel2.java
@@ -0,0 +1,181 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Color;
+import javax.swing.JPanel;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JProgressBar;
+
+/**
+ * The "Add Image" wizard panel 2. Provides checkbox to enable indexing, button
+ * to start process, and progress bar.
+ */
+final class AddImageVisualPanel2 extends JPanel {
+
+    /** Creates new form AddImageVisualPanel2 */
+    AddImageVisualPanel2() {
+        initComponents();
+    }
+
+    /**
+     * Returns the name of the this panel. This name will be shown on the left
+     * panel of the "Add Image" wizard panel.
+     *
+     * @return name  the name of this panel
+     */
+    @Override
+    public String getName() {
+        return "Create Database";
+    }
+
+    public JButton getCrDbButton() {
+        return this.crDbButton;
+    }
+
+    public JProgressBar getCrDbProgressBar() {
+        return this.crDbProgressBar;
+    }
+
+    public JLabel getProgressLabel() {
+        return this.progressLabel;
+    }
+    
+    public JCheckBox getLookupFilesCheckbox() {
+        return this.lookupFilesCheckBox;
+    }
+
+    /**
+     * Changes the progress bar text and color.
+     *
+     * @param text   the text to be shown
+     * @param value  the current value of the progress bar
+     * @param color  the color of the progress bar text
+     */
+    public void changeProgressBarTextAndColor(String text, int value, Color color) {
+        progressLabel.setText(text);
+        progressLabel.setForeground(color);
+        crDbProgressBar.setValue(value);
+    }
+
+    /** 
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always 
+     * regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        crDbProgressBar = new javax.swing.JProgressBar();
+        jLabel5 = new javax.swing.JLabel();
+        crDbLabel = new javax.swing.JLabel();
+        progressLabel = new javax.swing.JLabel();
+        crDbButton = new javax.swing.JButton();
+        jLabel1 = new javax.swing.JLabel();
+        lookupFilesCheckBox = new javax.swing.JCheckBox();
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel5, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.jLabel5.text")); // NOI18N
+
+        crDbLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
+        org.openide.awt.Mnemonics.setLocalizedText(crDbLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.crDbLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(progressLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.progressLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(crDbButton, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.crDbButton.text")); // NOI18N
+        crDbButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                crDbButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.jLabel1.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lookupFilesCheckBox, org.openide.util.NbBundle.getMessage(AddImageVisualPanel2.class, "AddImageVisualPanel2.lookupFilesCheckBox.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(crDbLabel)
+                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addGroup(layout.createSequentialGroup()
+                                        .addComponent(crDbButton)
+                                        .addGap(189, 189, 189))
+                                    .addComponent(jLabel5)
+                                    .addComponent(crDbProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(progressLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE))
+                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 552, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addContainerGap())
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(lookupFilesCheckBox)
+                        .addContainerGap(407, Short.MAX_VALUE))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(crDbLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(lookupFilesCheckBox)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(80, 80, 80)
+                        .addComponent(progressLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 12, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(crDbButton)
+                        .addGap(30, 30, 30)
+                        .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(crDbProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * When the "Create Database" button is press. It starts the database
+     * creation process, disables the "Create Database" and "Back" button, and
+     * sets the progress bar text.
+     *
+     * @param evt  the action event
+     */
+    private void crDbButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_crDbButtonActionPerformed
+    }//GEN-LAST:event_crDbButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton crDbButton;
+    private javax.swing.JLabel crDbLabel;
+    private javax.swing.JProgressBar crDbProgressBar;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel5;
+    private javax.swing.JCheckBox lookupFilesCheckBox;
+    private javax.swing.JLabel progressLabel;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.form b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.form
new file mode 100644
index 0000000000..0cb69a29ae
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.form
@@ -0,0 +1,73 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="addImgButton" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="crDbLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabel1" alignment="0" min="-2" pref="549" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="crDbLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
+              <Component id="addImgButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="54" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JButton" name="addImgButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel3.addImgButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="addImgButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="crDbLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel3.crDbLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="AddImageVisualPanel3.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.java
new file mode 100644
index 0000000000..5357543353
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageVisualPanel3.java
@@ -0,0 +1,114 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import javax.swing.JPanel;
+import org.openide.util.Lookup;
+
+/**
+ * The "Add Image" wizard panel 3. This class is used to design the "form" of
+ * the panel 3 for "Add Image" wizard panel.
+ *
+ * @author jantonius
+ */
+final class AddImageVisualPanel3 extends JPanel {
+
+    /** Creates new form AddImageVisualPanel3 */
+    AddImageVisualPanel3() {
+        initComponents();
+    }
+
+    /**
+     * Returns the name of the this panel. This name will be shown on the left
+     * panel of the "Add Image" wizard panel.
+     *
+     * @return name  the name of this panel
+     */
+    @Override
+    public String getName() {
+        return "Done";
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        addImgButton = new javax.swing.JButton();
+        crDbLabel = new javax.swing.JLabel();
+        jLabel1 = new javax.swing.JLabel();
+
+        org.openide.awt.Mnemonics.setLocalizedText(addImgButton, org.openide.util.NbBundle.getMessage(AddImageVisualPanel3.class, "AddImageVisualPanel3.addImgButton.text")); // NOI18N
+        addImgButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                addImgButtonActionPerformed(evt);
+            }
+        });
+
+        crDbLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
+        org.openide.awt.Mnemonics.setLocalizedText(crDbLabel, org.openide.util.NbBundle.getMessage(AddImageVisualPanel3.class, "AddImageVisualPanel3.crDbLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(AddImageVisualPanel3.class, "AddImageVisualPanel3.jLabel1.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(addImgButton)
+                    .addComponent(crDbLabel)
+                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 549, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(crDbLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jLabel1)
+                .addGap(18, 18, 18)
+                .addComponent(addImgButton)
+                .addContainerGap(54, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * 
+     *
+     * @param evt  the action event
+     */
+    private void addImgButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addImgButtonActionPerformed
+        // restart the wizard
+        AddImageAction act = Lookup.getDefault().lookup(AddImageAction.class);
+        act.restart();
+    }//GEN-LAST:event_addImgButtonActionPerformed
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton addImgButton;
+    private javax.swing.JLabel crDbLabel;
+    private javax.swing.JLabel jLabel1;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java
new file mode 100644
index 0000000000..c571a43787
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardIterator.java
@@ -0,0 +1,166 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.NoSuchElementException;
+import javax.swing.JComponent;
+import javax.swing.event.ChangeListener;
+import org.openide.WizardDescriptor;
+
+/**
+ * The iterator class for the "Add Image" wizard panel. This class is used to
+ * iterate on the sequence of panels of the "Add Image" wizard panel.
+ */
+class AddImageWizardIterator implements WizardDescriptor.Iterator<WizardDescriptor> {
+
+    private int index = 0;
+    private List<WizardDescriptor.Panel<WizardDescriptor>> panels;
+    private AddImageAction action;
+
+    AddImageWizardIterator(AddImageAction action) {
+        this.action = action;
+    }
+
+    /**
+     * Initialize panels representing individual wizard's steps and sets
+     * various properties for them influencing wizard appearance.
+     */
+    private List<WizardDescriptor.Panel<WizardDescriptor>> getPanels() {
+        if (panels == null) {
+            panels = new ArrayList<WizardDescriptor.Panel<WizardDescriptor>>();
+            panels.add(new AddImageWizardPanel1());
+            panels.add(new AddImageWizardPanel2(action));
+            panels.add(new AddImageWizardPanel3());
+
+            String[] steps = new String[panels.size()];
+            for (int i = 0; i < panels.size(); i++) {
+                Component c = panels.get(i).getComponent();
+                // Default step name to component name of panel.
+                steps[i] = c.getName();
+                if (c instanceof JComponent) { // assume Swing components
+                    JComponent jc = (JComponent) c;
+                    // Sets step number of a component
+                    // TODO if using org.openide.dialogs >= 7.8, can use WizardDescriptor.PROP_*:
+                    jc.putClientProperty("WizardPanel_contentSelectedIndex", new Integer(i));
+                    // Sets steps names for a panel
+                    jc.putClientProperty("WizardPanel_contentData", steps);
+                    // Turn on subtitle creation on each step
+                    jc.putClientProperty("WizardPanel_autoWizardStyle", Boolean.TRUE);
+                    // Show steps on the left side with the image on the background
+                    jc.putClientProperty("WizardPanel_contentDisplayed", Boolean.TRUE);
+                    // Turn on numbering of all steps
+                    jc.putClientProperty("WizardPanel_contentNumbered", Boolean.TRUE);
+                }
+            }
+        }
+        return panels;
+    }
+
+    /**
+     * Returns the index of the current panel.
+     * Note: 0 = panel 1, 1 = panel 2, etc
+     *
+     * @return index  the current panel index
+     */
+    public int getIndex() {
+        return index;
+    }
+
+    /**
+     * Gets the current panel.
+     *
+     * @return panel  the current panel
+     */
+    @Override
+    public WizardDescriptor.Panel<WizardDescriptor> current() {
+        if (panels != null) {
+            return panels.get(index);
+        } else {
+            return getPanels().get(index);
+        }
+    }
+
+    /**
+     * Gets the name of the current panel.
+     *
+     * @return name  the name of the current panel
+     */
+    @Override
+    public String name() {
+        return "Step " + Integer.toString(index + 1) + " of " + getPanels().size();
+    }
+
+    /**
+     * Tests whether there is a next panel.
+     * 
+     * @return boolean  true if it has next panel, false if not
+     */
+    @Override
+    public boolean hasNext() {
+        return index < getPanels().size() - 1;
+    }
+
+    /**
+     * Tests whether there is a previous panel.
+     *
+     * @return boolean  true if it has previous panel, false if not
+     */
+    @Override
+    // disable the previous button on all panels
+    public boolean hasPrevious() {
+        return index > 0;
+    }
+
+    /**
+     * Moves to the next panel. I.e. increment its index, need not actually
+     * change any GUI itself.
+     */
+    @Override
+    public void nextPanel() {
+        if (!hasNext()) {
+            throw new NoSuchElementException();
+        }
+        index++;
+    }
+
+    /**
+     * Moves to the previous panel. I.e. decrement its index, need not actually
+     * change any GUI itself.
+     */
+    @Override
+    public void previousPanel() {
+        if (!hasPrevious()) {
+            throw new NoSuchElementException();
+        }
+        index--;
+    }
+
+    // If nothing unusual changes in the middle of the wizard, simply:
+    @Override
+    public void addChangeListener(ChangeListener l) {
+    }
+
+    @Override
+    public void removeChangeListener(ChangeListener l) {
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel1.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel1.java
new file mode 100644
index 0000000000..71b2d619ac
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel1.java
@@ -0,0 +1,189 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.WizardDescriptor;
+import org.openide.util.HelpCtx;
+import org.openide.util.Lookup;
+
+/**
+ * The "Add Image" wizard panel1 handling the logic of selecting image file(s)
+ * to add to Case, and pick the time zone.
+ */
+class AddImageWizardPanel1 implements WizardDescriptor.Panel<WizardDescriptor>, PropertyChangeListener {
+
+    /**
+     * The visual component that displays this panel. If you need to access the
+     * component from this class, just use getComponent().
+     */
+    private AddImageVisualPanel1 component;
+    private boolean isNextEnable = false;
+
+    /**
+     * Get the visual component for the panel. In this template, the component
+     * is kept separate. This can be more efficient: if the wizard is created
+     * but never displayed, or not all panels are displayed, it is better to
+     * create only those which really need to be visible.
+     *
+     * @return component  the UI component of this wizard panel
+     */
+    @Override
+    public AddImageVisualPanel1 getComponent() {
+        if (component == null) {
+            component = new AddImageVisualPanel1(this);
+        }
+        component.addPropertyChangeListener(this);
+        return component;
+    }
+
+    /**
+     * Help for this panel. When the panel is active, this is used as the help
+     * for the wizard dialog.
+     *
+     * @return HelpCtx.DEFAULT_HELP  the help for this panel
+     */
+    @Override
+    public HelpCtx getHelp() {
+        // Show no Help button for this panel:
+        return HelpCtx.DEFAULT_HELP;
+        // If you have context help:
+        // return new HelpCtx(SampleWizardPanel1.class);
+    }
+
+    /**
+     * Tests whether the panel is finished and it is safe to proceed to the next
+     * one. If the panel is valid, the "Next" button will be enabled.
+     *
+     * @return boolean  true if all the fields are correctly filled, false otherwise
+     */
+    @Override
+    public boolean isValid() {
+
+        // set the focus to the next button of the wizard dialog if it's enabled
+        if(isNextEnable){
+            Lookup.getDefault().lookup(AddImageAction.class).requestFocusButton("Next >");
+        }
+
+        return isNextEnable;
+    }
+
+    /**
+     * Enable the "Next" button and fireChangeEvent to update the GUI
+     *
+     * @param isEnabled  true if next button can be enabled, false otherwise
+     */
+    public void enableNextButton(boolean isEnabled){
+        isNextEnable = isEnabled;
+        fireChangeEvent();
+    }
+
+    private final Set<ChangeListener> listeners = new HashSet<ChangeListener>(1); // or can use ChangeSupport in NB 6.0
+
+    /**
+     * Adds a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to add
+     */
+    @Override
+    public final void addChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.add(l);
+        }
+    }
+
+    /**
+     * Removes a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to move
+     */
+    @Override
+    public final void removeChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.remove(l);
+        }
+    }
+
+    /**
+     * This method is auto-generated. It seems that this method is used to listen
+     * to any change in this wizard panel.
+     */
+    protected final void fireChangeEvent() {
+        Iterator<ChangeListener> it;
+        synchronized (listeners) {
+            it = new HashSet<ChangeListener>(listeners).iterator();
+        }
+        ChangeEvent ev = new ChangeEvent(this);
+        while (it.hasNext()) {
+            it.next().stateChanged(ev);
+        }
+    }
+     
+
+    // You can use a settings object to keep track of state. Normally the
+    // settings object will be the WizardDescriptor, so you can use
+    // WizardDescriptor.getProperty & putProperty to store information entered
+    // by the user.
+
+    /**
+     * Provides the wizard panel with the current data--either the default data
+     * or already-modified settings, if the user used the previous and/or next
+     * buttons. This method can be called multiple times on one instance of
+     * WizardDescriptor.Panel.
+     *s
+     * @param settings  the setting to be read from
+     */
+    @Override
+    public void readSettings(WizardDescriptor settings) {
+    }
+
+    /**
+     * Provides the wizard panel with the opportunity to update the settings
+     * with its current customized state. Rather than updating its settings
+     * with every change in the GUI, it should collect them, and then only save
+     * them when requested to by this method. This method can be called multiple
+     * times on one instance of WizardDescriptor.Panel.
+     *
+     * @param settings  the setting to be stored to
+     */
+    @Override
+    public void storeSettings(WizardDescriptor settings) {
+        settings.putProperty(AddImageAction.IMGPATHS_PROP, getComponent().getImagePaths());
+        settings.putProperty(AddImageAction.TIMEZONE_PROP, getComponent().getSelectedTimezone()); // store the timezone
+    }
+
+
+    /**
+     * The "listener" for any property change in this panel. Any property changes
+     * will invoke the "fireChangeEvent()" method.
+     *
+     * @param evt  the property change event
+     */
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        fireChangeEvent();
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel2.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel2.java
new file mode 100644
index 0000000000..478d5edaee
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel2.java
@@ -0,0 +1,379 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JCheckBox;
+import javax.swing.JProgressBar;
+import javax.swing.SwingUtilities;
+import javax.swing.SwingWorker;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.WizardDescriptor;
+import org.openide.util.HelpCtx;
+import org.openide.util.Lookup;
+import org.sleuthkit.autopsy.hashdatabase.HashDbSettings;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.SleuthkitCase;
+import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * The "Add Image" wizard panel2. Handles processing the image in a worker
+ * thread, and any errors that may occur during the add process.
+ */
+class AddImageWizardPanel2 implements WizardDescriptor.Panel<WizardDescriptor> {
+
+    // the paths of the image files to be added
+    private String[] imgPaths;
+    // the time zone where the image is added
+    private String timeZone;
+    
+    // paths to any set hash lookup databases (can be null)
+    private String NSRLPath, knownBadPath;
+
+    // task that will clean up the created database file if the wizard is cancelled before it finishes
+    private AddImageAction.CleanupTask cleanupImage; // initialized to null in readSettings()
+
+    // flag to control the availiablity of next action
+    private boolean imgAdded; // initalized to false in readSettings()
+
+    private AddImageProcess process;
+    private AddImgTask addImageTask; 
+
+    /**
+     * The visual component that displays this panel. If you need to access the
+     * component from this class, just use getComponent().
+     */
+    private AddImageVisualPanel2 component;
+    private AddImageAction action;
+
+    AddImageWizardPanel2(AddImageAction action) {
+        this.action = action;
+    }
+
+    /**
+     * Get the visual component for the panel. In this template, the component
+     * is kept separate. This can be more efficient: if the wizard is created
+     * but never displayed, or not all panels are displayed, it is better to
+     * create only those which really need to be visible.
+     *
+     * @return component  the UI component of this wizard panel
+     */
+    @Override
+    public AddImageVisualPanel2 getComponent() {
+        if (component == null) {
+            component = new AddImageVisualPanel2();
+            component.getCrDbButton().addActionListener(new CrDbButtonListener());
+        }
+        return component;
+    }
+
+    /**
+     * Help for this panel. When the panel is active, this is used as the help
+     * for the wizard dialog.
+     *
+     * @return HelpCtx.DEFAULT_HELP  the help for this panel
+     */
+    @Override
+    public HelpCtx getHelp() {
+        // Show no Help button for this panel:
+        return HelpCtx.DEFAULT_HELP;
+    }
+
+    /**
+     * Tests whether the panel is finished and it is safe to proceed to the next
+     * one. If the panel is valid, the "Next" button will be enabled.
+     *
+     * @return boolean  true if can proceed to the next one, false otherwise
+     */
+    @Override
+    public boolean isValid() {
+        // set the focus to the next button of the wizard dialog if it's enabled
+        if (imgAdded) {
+            Lookup.getDefault().lookup(AddImageAction.class).requestFocusButton("Next >");
+        }
+
+        return imgAdded;
+    }
+
+    class CrDbButtonListener implements ActionListener {
+
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            startAddImage();
+        }
+    }
+
+    /**
+     * Creates the database and adds the image to the XML configuration file.
+     *
+     */
+    private void startAddImage() {
+        component.getCrDbButton().setEnabled(false);
+        component.getCrDbProgressBar().setIndeterminate(true);
+        component.changeProgressBarTextAndColor("*Adding the image may take some time for large images.", 0, Color.black);
+
+        addImageTask = new AddImgTask();
+        addImageTask.execute();
+    }
+
+    /**
+     * Sets the isDbCreated variable in this class and also invoke 
+     * fireChangeEvent() method.
+     *
+     * @param created  whether the database already created or not
+     */
+    private void setDbCreated(Boolean created) {
+        imgAdded = created;
+        fireChangeEvent();
+    }
+    private final Set<ChangeListener> listeners = new HashSet<ChangeListener>(1); // or can use ChangeSupport in NB 6.0
+
+    /**
+     * Adds a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to add
+     */
+    @Override
+    public final void addChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.add(l);
+        }
+    }
+
+    /**
+     * Removes a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to move
+     */
+    @Override
+    public final void removeChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.remove(l);
+        }
+    }
+
+    /**
+     * This method is auto-generated. It seems that this method is used to listen
+     * to any change in this wizard panel.
+     */
+    protected final void fireChangeEvent() {
+        Iterator<ChangeListener> it;
+        synchronized (listeners) {
+            it = new HashSet<ChangeListener>(listeners).iterator();
+        }
+        ChangeEvent ev = new ChangeEvent(this);
+        while (it.hasNext()) {
+            it.next().stateChanged(ev);
+        }
+    }
+
+
+    /**
+     * Load the image locations from the WizardDescriptor settings object, and
+     * the
+     *
+     * @param settings  the setting to be read from
+     */
+    @Override
+    public void readSettings(WizardDescriptor settings) {
+        cleanupImage = null;
+        imgAdded = false;
+        imgPaths = (String[]) settings.getProperty(AddImageAction.IMGPATHS_PROP);
+        timeZone = settings.getProperty(AddImageAction.TIMEZONE_PROP).toString();
+
+        // If the user went back after the image was processed, it will be replaced so its cleanup task should be executed & removed
+        AddImageAction.CleanupTask oldImageCleanup = (AddImageAction.CleanupTask) settings.getProperty(AddImageAction.IMAGECLEANUPTASK_PROP);
+        if (oldImageCleanup != null) {
+            try {
+                oldImageCleanup.cleanup();
+            } catch (Exception ex) {
+                Logger logger = Logger.getLogger(AddImageWizardPanel2.class.getName());
+                logger.log(Level.WARNING, "Error removing previously added image", ex);
+            } finally {
+                oldImageCleanup.disable();
+            }
+        }
+
+        component.changeProgressBarTextAndColor("", 0, Color.black);
+        component.getCrDbButton().setEnabled(true);
+        
+        
+        // Load hash database settings
+        this.NSRLPath = null;
+        this.knownBadPath = null;
+        
+        try {
+            HashDbSettings hashDbs = Autopsy.getHashDbSettings();
+            this.NSRLPath = hashDbs.getNSRLDatabasePath();
+            this.knownBadPath = hashDbs.getKnownBadDatabasePath();
+        } catch (IOException ex) {
+            Log.get(AddImageWizardPanel2.class).log(Level.WARNING, "Couldn't get hash database settings.", ex);
+        }
+        JCheckBox lookupFilesCheckbox = component.getLookupFilesCheckbox();
+        lookupFilesCheckbox.setSelected(false);
+        lookupFilesCheckbox.setEnabled(this.NSRLPath != null || this.knownBadPath != null);
+    }
+
+    /**
+     *
+     * @param settings  the setting to be stored to
+     */
+    @Override
+    public void storeSettings(WizardDescriptor settings) {
+        
+        // Store process so it can be committed if wizard finishes
+        settings.putProperty(AddImageAction.PROCESS_PROP, process);
+        
+        // Need to make the cleanup accessible to the finished wizard so it can
+        // be cancelled if all goes well, and availble if we return to this
+        // panel so the the previously added image can be reverted
+        settings.putProperty(AddImageAction.IMAGECLEANUPTASK_PROP, cleanupImage);
+    }
+
+    /**
+     * Thread that will make the JNI call to ingest the image. 
+     */
+    private class AddImgTask extends SwingWorker<Integer, Integer> {
+        private JProgressBar progressBar;
+        private JCheckBox lookupFilesCheckbox;
+        private Case currentCase;
+
+        // true if the process was requested to stop
+        private boolean interrupted = false;
+
+        protected AddImgTask() {
+            this.progressBar = getComponent().getCrDbProgressBar();
+            this.lookupFilesCheckbox = getComponent().getLookupFilesCheckbox();
+            currentCase = Case.getCurrentCase();
+        }
+
+        /**
+         * Starts the addImage process, but does not commit the results. 
+         * 
+         * @return
+         * @throws Exception 
+         */
+        @Override
+        protected Integer doInBackground() throws Exception {
+            this.setProgress(0);
+            
+            // Add a cleanup task to interupt the backgroud process if the
+            // wizard exits while the background process is running.
+            AddImageAction.CleanupTask cancelledWhileRunning = action.new CleanupTask() {
+                @Override
+                void cleanup() throws Exception {
+                    addImageTask.interrupt();
+                }
+            };
+            
+            SleuthkitCase skCase = currentCase.getSleuthkitCase();
+            skCase.clearLookupDatabases();
+            
+            if (lookupFilesCheckbox.isSelected()) {
+                if (NSRLPath != null) {
+                    skCase.setNSRLDatabase(NSRLPath);
+                }
+                
+                if (knownBadPath != null) {
+                    skCase.setKnownBadDatabase(knownBadPath);
+                }
+            }
+
+            try {
+                process = currentCase.makeAddImageProcess(Case.convertTimeZone(timeZone));
+                cancelledWhileRunning.enable();
+                process.run(imgPaths);
+            } catch (TskException ex) {
+                throw ex;
+            } finally {
+                // process is over, doesn't need to be dealt with if cancel happens
+                cancelledWhileRunning.disable();
+            }
+            this.setProgress(100);
+            return 0;
+        }
+
+
+
+        /**
+         * 
+         * (called by EventDispatch Thread after doInBackground finishes)
+         */
+        @Override
+        protected void done() {
+            progressBar.setIndeterminate(false);
+
+            // attempt actions that might fail and force the process to stop
+            try {
+                // get() will throw any expetions that were thrown in the background task
+                get();
+                if (interrupted) {
+                    process.revert();
+                    return;
+                }
+                
+                // When everything happens without an error:
+                
+                // the add-image process needs to be reverted if the wizard doesn't finish
+                cleanupImage = action.new CleanupTask() {
+                    @Override
+                    void cleanup() throws Exception {
+                        process.revert();
+                    }
+                };
+                cleanupImage.enable();
+
+                getComponent().changeProgressBarTextAndColor("*Image added.", 100, Color.black); // complete progress bar
+                
+                // Get attention for the process finish
+                java.awt.Toolkit.getDefaultToolkit().beep(); //BEEP!
+                SwingUtilities.getWindowAncestor(getComponent()).toFront();
+                
+                setDbCreated(true);
+
+            } catch (Exception ex) {
+                getComponent().changeProgressBarTextAndColor("*Failed to add image.", 0, Color.black); // set error message
+
+                // Log error/display warning
+                Logger logger = Logger.getLogger(AddImgTask.class.getName());
+                logger.log(Level.SEVERE, "Error adding image to case", ex);
+            }
+        }
+
+        void interrupt() throws Exception {
+            interrupted = true;
+            try {
+                process.stop();
+            } catch (TskException ex) {
+                throw new Exception("Error stopping add-image process.", ex);
+            }
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel3.java b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel3.java
new file mode 100644
index 0000000000..f999115e44
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/AddImageWizardPanel3.java
@@ -0,0 +1,157 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import javax.swing.event.ChangeListener;
+import org.openide.WizardDescriptor;
+import org.openide.util.HelpCtx;
+
+/**
+ * The "Add Image" wizard panel3. No major functionality, just presents the
+ * options to finish/cancel image-add or to add another image.
+ */
+class AddImageWizardPanel3 implements WizardDescriptor.Panel<WizardDescriptor> {
+
+    /**
+     * The visual component that displays this panel. If you need to access the
+     * component from this class, just use getComponent().
+     */
+    private Component component;
+
+    /**
+     * Get the visual component for the panel. In this template, the component
+     * is kept separate. This can be more efficient: if the wizard is created
+     * but never displayed, or not all panels are displayed, it is better to
+     * create only those which really need to be visible.
+     *
+     * @return component  the UI component of this wizard panel
+     */
+    @Override
+    public Component getComponent() {
+        if (component == null) {
+            component = new AddImageVisualPanel3();
+        }
+        return component;
+    }
+
+    /**
+     * Help for this panel. When the panel is active, this is used as the help
+     * for the wizard dialog.
+     *
+     * @return HelpCtx.DEFAULT_HELP  the help for this panel
+     */
+    @Override
+    public HelpCtx getHelp() {
+        // Show no Help button for this panel:
+        return HelpCtx.DEFAULT_HELP;
+        // If you have context help:
+        // return new HelpCtx(SampleWizardPanel1.class);
+    }
+
+    /**
+     * Tests whether the panel is finished. If the panel is valid, the "Finish"
+     * button will be enabled.
+     *
+     * @return true  the finish button should be always enabled at this point
+     */
+    @Override
+    public boolean isValid() {
+        // If it is always OK to press Next or Finish, then:
+        return true;
+        // If it depends on some condition (form filled out...), then:
+        // return someCondition();
+        // and when this condition changes (last form field filled in...) then:
+        // fireChangeEvent();
+        // and uncomment the complicated stuff below.
+    }
+
+    /**
+     * Adds a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to add
+     */
+    @Override
+    public final void addChangeListener(ChangeListener l) {
+    }
+
+    /**
+     * Removes a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to move
+     */
+    @Override
+    public final void removeChangeListener(ChangeListener l) {
+    }
+    
+    /*
+    private final Set<ChangeListener> listeners = new HashSet<ChangeListener>(1); // or can use ChangeSupport in NB 6.0
+    public final void addChangeListener(ChangeListener l) {
+    synchronized (listeners) {
+    listeners.add(l);
+    }
+    }
+    public final void removeChangeListener(ChangeListener l) {
+    synchronized (listeners) {
+    listeners.remove(l);
+    }
+    }
+    protected final void fireChangeEvent() {
+    Iterator<ChangeListener> it;
+    synchronized (listeners) {
+    it = new HashSet<ChangeListener>(listeners).iterator();
+    }
+    ChangeEvent ev = new ChangeEvent(this);
+    while (it.hasNext()) {
+    it.next().stateChanged(ev);
+    }
+    }
+     */
+
+    // You can use a settings object to keep track of state. Normally the
+    // settings object will be the WizardDescriptor, so you can use
+    // WizardDescriptor.getProperty & putProperty to store information entered
+    // by the user.
+
+    /**
+     * Provides the wizard panel with the current data--either the default data
+     * or already-modified settings, if the user used the previous and/or next
+     * buttons. This method can be called multiple times on one instance of
+     * WizardDescriptor.Panel.
+     *
+     * @param settings  the setting to be read from
+     */
+    @Override
+    public void readSettings(WizardDescriptor settings) {
+    }
+
+    /**
+     * Provides the wizard panel with the opportunity to update the settings
+     * with its current customized state. Rather than updating its settings
+     * with every change in the GUI, it should collect them, and then only save
+     * them when requested to by this method. This method can be called multiple
+     * times on one instance of WizardDescriptor.Panel.
+     *
+     * @param settings  the setting to be stored to
+     */
+    @Override
+    public void storeSettings(WizardDescriptor settings) {
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/Autopsy.java b/Case/src/org/sleuthkit/autopsy/casemodule/Autopsy.java
new file mode 100644
index 0000000000..95bc01e3e4
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/Autopsy.java
@@ -0,0 +1,70 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.io.File;
+import java.io.IOException;
+import org.sleuthkit.autopsy.hashdatabase.HashDbSettings;
+import org.sleuthkit.datamodel.SleuthkitJNI;
+
+/**
+ * Class to consolidate application-wide settings.
+ */
+public class Autopsy {
+    private final static String propFilePath = System.getProperty("netbeans.user") + File.separator + "autopsy.properties";
+    private static boolean verboseLogging = false;
+    
+    /**
+     * Gets the property file where the user properties such as Recent Cases
+     * and selected Hash Databases are stored.
+     * @return A new file handle
+     */
+    public static File getPropertyFile() {
+        return new File(propFilePath);
+    }
+    
+    /**
+     * Get the hash database settings as read from the property file.
+     * @return A new hash database settings object.
+     * @throws IOException if the property file can't be found
+     */
+    public static HashDbSettings getHashDbSettings() throws IOException {
+        return new HashDbSettings(getPropertyFile());
+    }
+
+    /**
+     * Activate verbose logging for Sleuth Kit
+     */
+    public static void startVerboseLogging() {
+        verboseLogging = true;
+        String logPath = System.getProperty("netbeans.user") + File.separator + "sleuthkit.txt";
+        
+        SleuthkitJNI.startVerboseLogging(logPath);
+    }
+    
+    /**
+     * Checks if verbose logging has been enabled.
+     * @return true if verbose logging has been enabled.
+     */
+    public static boolean verboseLoggingIsSet() {
+        return verboseLogging;
+    }
+    
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/Autopsy_logo.gif b/Case/src/org/sleuthkit/autopsy/casemodule/Autopsy_logo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..42cc5033142f00d0f3f5af368ed447588e95c491
GIT binary patch
literal 7442
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

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/Bundle.properties b/Case/src/org/sleuthkit/autopsy/casemodule/Bundle.properties
new file mode 100644
index 0000000000..d7d06b1e08
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/Bundle.properties
@@ -0,0 +1,115 @@
+CTL_AddImage=Add Image...
+CTL_CaseAction=Case
+CTL_CaseCloseAct=Close Case
+CTL_CaseNewAction=New Case...
+CTL_CaseOpenActionOld=Open Case(old)...
+CTL_CasePropertiesAction=Case Properties...
+CTL_CaseTopComponent=Case Window
+CTL_NewCaseAct=New Case(Old)...
+CTL_OpenAction=Open Case...
+CTL_RecentCases=Recent Cases
+CTL_CaseDeleteAction=Delete Case
+CTL_SaveCaseAction=Save Case
+CTL_testAction=test
+CTL_testTopComponent=test Window
+HINT_CaseTopComponent=This is a Case window
+HINT_testTopComponent=This is a test window
+Menu/File/org-sleuthkit-autopsy-casemodule-CaseCloseAct.shadow=
+Menu/File/org-sleuthkit-autopsy-casemodule-OpenAction.shadow=Open Case
+OpenIDE-Module-Name=Case
+CaseVisualPanel1.jLabel1.text=Name
+CaseVisualPanel1.jLabel2.text=Image Path:
+CaseVisualPanel1.jLabel3.text=Database Path:
+CaseTopComponent.jLabel1.text=Name
+CaseVisualPanel1.NameField.text=
+CaseVisualPanel1.ImgPath.text=
+CaseVisualPanel1.DbPath.text=
+CaseTopComponent.jLabel2.text=Image Path
+CaseTopComponent.jLabel3.text=DB Path
+CaseVisualPanel1.ImgPathBrowserButton.text=Browse
+CaseVisualPanel1.DbPathBrowserButton.text=Browse
+NewCaseVisualPanel1.jLabel1.text=Name
+NewCaseVisualPanel1.jTextField1.text=
+NewCaseVisualPanel1.jLabel2.text=Image Type:
+NewCaseVisualPanel1.jRadioButton1.text=Raw Single .img .dd
+NewCaseVisualPanel1.jRadioButton2.text=Raw Split .001 .002 etc
+NewCaseVisualPanel1.jRadioButton3.text=Encase .e01
+NewCaseVisualPanel1.nameLabel.text_1=Name
+NewCaseVisualPanel1.NameField.text_1=
+NewCaseVisualPanel1.TypeLabel.text_1=Image Type:
+NewCaseVisualPanel1.rawSingleRadio.text_1=Raw Single .img .dd
+NewCaseVisualPanel1.rawSplitRadio.text_1=Raw Split .001 .002 etc
+NewCaseVisualPanel1.encaseRadio.text_1=EnCase .e01
+NewCaseVisualPanel2.jLabel1.text=Image Path:
+NewCaseVisualPanel2.jLabel2.text=DataBase Path:
+NewCaseVisualPanel2.descriptionText.text=variable text
+NewCaseVisualPanel2.ImgBrowserButton.text=Browse
+NewCaseVisualPanel2.DcBrowserButton.text=Browse
+NewCaseVisualPanel2.ImagePathField.text=
+NewCaseVisualPanel2.DbPathField.text=
+CaseVisualPanel1.jLabel4.text=Image Type:
+CaseVisualPanel1.rawSingle.text=Raw Single .img .dd
+CaseVisualPanel1.rawSplit.text=Raw Split .001 .002 etc
+CaseVisualPanel1.encase.text=EnCase .e01 .e02 etc
+CaseVisualPanel1.multipleSelectLabel.text=Single Image: Multiple Select Disabled
+CaseVisualPanel1.jLabel5.text=If a database has not already been loaded / created for the chosen image use this button: (could take a few minutes)
+CaseVisualPanel1.ProgressLabel.text=
+CaseVisualPanel1.createDbButton.text=Create Database
+NewCaseVisualPanel1.jLabel1.text_1=Enter New Case Information:
+NewCaseVisualPanel1.caseNameLabel.text_1=Case Name:
+NewCaseVisualPanel1.caseDirLabel.text=Base Directory:
+NewCaseVisualPanel1.caseDirBrowseButton.text=Browse
+NewCaseVisualPanel1.caseNameTextField.text_1=
+NewCaseVisualPanel1.jLabel2.text_1=Case data will be stored in the following directory:
+NewCaseVisualPanel1.caseParentDirTextField.text=
+NewCaseVisualPanel1.caseDirTextField.text_1=
+CasePropertiesForm.caseDirLabel.text=Case Directory:
+CasePropertiesForm.crDateLabel.text=Created Date:
+CasePropertiesForm.caseNameLabel.text=Case Name:
+CasePropertiesForm.crDateTextField.text=
+CasePropertiesForm.caseNameTextField.text=
+CasePropertiesForm.updateCaseNameButton.text=Update
+CasePropertiesForm.casePropLabel.text=Case Information
+CasePropertiesForm.genInfoLabel.text=General Information
+CasePropertiesForm.imgInfoLabel.text=Images Information
+CasePropertiesForm.OKButton.text=OK
+CasePropertiesForm.deleteCaseButton.text=Delete Case
+CueBannerPanel.autopsyLogo.text=
+CueBannerPanel.createNewLabel.text=Create New Case
+CueBannerPanel.autopsyLabel.text=Autopsy
+CueBannerPanel.welcomeLabel.text=Welcome to
+CueBannerPanel.openLabel.text=Open Existing Case
+CueBannerPanel.startupCheckBox.text=Don't show on startup again
+CueBannerPanel.closeButton.text=Close
+CueBannerPanel.openRecentLabel.text=Open Recent Case
+CueBannerPanel.newCaseButton.text=
+CueBannerPanel.openCaseButton.text=
+CueBannerPanel.openRecentButton.text=
+OpenRecentCasePanel.cancelButton.text=Cancel
+OpenRecentCasePanel.jLabel1.text=Recent Cases
+AddImageVisualPanel1.imgInfoLabel.text=Enter Disk Image Information:
+AddImageVisualPanel2.crDbLabel.text=Adding Image
+AddImageVisualPanel2.jLabel5.text=Processing Image and Adding to Database :
+AddImageVisualPanel2.crDbButton.text=Process Image
+AddImageVisualPanel2.progressLabel.text=
+AddImageVisualPanel2.jLabel1.text=<html> We will now analyze the disk image to extract volume and file system data and populate a local database. This may <br>take a while on large images. </html>
+AddImageVisualPanel3.addImgButton.text=Add Another Image
+AddImageVisualPanel3.crDbLabel.text=Finish or Add More Images
+AddImageVisualPanel3.jLabel1.text=Image successfully processed and added to the case. You can add another image or return to the case.
+AddImageVisualPanel1.jLabel1.text=
+AddImageVisualPanel1.timeZoneLabel.text=Please select your timezone:
+AddImageVisualPanel1.rawSingle.text=Raw Single (*.img, *.dd, etc)
+AddImageVisualPanel1.rawSplit.text=Raw Split (*.001, *.002, *.aa, *.ab, etc)
+AddImageVisualPanel1.imgTypeLabel.text=Image Type:
+AddImageVisualPanel1.multipleSelectLabel.text=Single Image: Multiple Select Disabled
+AddImageVisualPanel1.imgPathTextField.text=
+AddImageVisualPanel1.encase.text=EnCase (*.e01, *.e02, etc)
+AddImageVisualPanel1.imgPathLabel.text=Image Path:
+AddImageVisualPanel1.imgPathBrowserButton.text=Browse
+NewJPanel.jLabel1.text=
+NewJPanel.jLabel2.text=NSRL Index
+NewJPanel.jLabel5.text=The NSRL index is used to idenify "known" files.
+NewJPanel.jFormattedTextField1.text=jFormattedTextField1
+NewJPanel.jButton1.text=Rename
+NewJPanel.jLabel4.text=Database:
+AddImageVisualPanel2.lookupFilesCheckBox.text=Lookup files in hash databases
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/ButtonColumn.java b/Case/src/org/sleuthkit/autopsy/casemodule/ButtonColumn.java
new file mode 100644
index 0000000000..24f67b48f4
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/ButtonColumn.java
@@ -0,0 +1,232 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+/**
+ * @author jantonius
+ *
+ * Taken from: http://tips4java.wordpress.com/2009/07/12/table-button-column/
+ * Note: everything is the same, except I edited the buttonName
+ */
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.table.*;
+
+/**
+ *  The ButtonColumn class provides a renderer and an editor that looks like a
+ *  JButton. The renderer and editor will then be used for a specified column
+ *  in the table. The TableModel will contain the String to be displayed on
+ *  the button.
+ *
+ *  The button can be invoked by a mouse click or by pressing the space bar
+ *  when the cell has focus. Optionally a mnemonic can be set to invoke the
+ *  button. When the button is invoked the provided Action is invoked. The
+ *  source of the Action will be the table. The action command will contain
+ *  the model row number of the button that was clicked.
+ *
+ */
+class ButtonColumn extends AbstractCellEditor
+	implements TableCellRenderer, TableCellEditor, ActionListener, MouseListener
+{
+	private JTable table;
+	private Action action;
+	private int mnemonic;
+	private Border originalBorder;
+	private Border focusBorder;
+
+	private JButton renderButton;
+	private JButton editButton;
+	private String text;
+	private boolean isButtonColumnEditor;
+
+        String buttonName;
+        
+
+	/**
+	 *  Create the ButtonColumn to be used as a renderer and editor. The
+	 *  renderer and editor will automatically be installed on the TableColumn
+	 *  of the specified column.
+	 *
+	 *  @param table the table containing the button renderer/editor
+	 *  @param action the Action to be invoked when the button is invoked
+         *  @param column the column to which the button renderer/editor is added
+         *  @param buttonName  text displayed on the button
+	 */
+	ButtonColumn(JTable table, Action action, int column, String buttonName)
+	{
+		this.table = table;
+		this.action = action;
+                this.buttonName = buttonName;
+
+		renderButton = new JButton();
+		editButton = new JButton();
+		editButton.setFocusPainted( false );
+		editButton.addActionListener( this );
+		originalBorder = editButton.getBorder();
+		setFocusBorder( new LineBorder(Color.BLUE) );
+
+		TableColumnModel columnModel = table.getColumnModel();
+		columnModel.getColumn(column).setCellRenderer( this );
+		columnModel.getColumn(column).setCellEditor( this );
+		table.addMouseListener( this );
+	}
+
+
+	/**
+	 *  Get foreground color of the button when the cell has focus
+	 *
+	 *  @return the foreground color
+	 */
+	public Border getFocusBorder()
+	{
+		return focusBorder;
+	}
+
+	/**
+	 *  The foreground color of the button when the cell has focus
+	 *
+	 *  @param focusBorder the foreground color
+	 */
+	public void setFocusBorder(Border focusBorder)
+	{
+		this.focusBorder = focusBorder;
+		editButton.setBorder( focusBorder );
+	}
+
+	public int getMnemonic()
+	{
+		return mnemonic;
+	}
+
+	/**
+	 *  The mnemonic to activate the button when the cell has focus
+	 *
+	 *  @param mnemonic the mnemonic
+	 */
+	public void setMnemonic(int mnemonic)
+	{
+		this.mnemonic = mnemonic;
+		renderButton.setMnemonic(mnemonic);
+		editButton.setMnemonic(mnemonic);
+	}
+
+	@Override
+	public Component getTableCellEditorComponent(
+		JTable table, Object value, boolean isSelected, int row, int column)
+	{
+		text = (value == null) ? "" : value.toString();
+		editButton.setText( text );
+		return editButton;
+	}
+
+	@Override
+	public Object getCellEditorValue()
+	{
+		return text;
+	}
+
+//
+//  Implement TableCellRenderer interface
+//
+    @Override
+	public Component getTableCellRendererComponent(
+		JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
+	{
+		if (isSelected)
+		{
+			renderButton.setForeground(table.getSelectionForeground());
+	 		renderButton.setBackground(table.getSelectionBackground());
+		}
+		else
+		{
+			renderButton.setForeground(table.getForeground());
+			renderButton.setBackground(UIManager.getColor("Button.background"));
+		}
+
+		if (hasFocus)
+		{
+			renderButton.setBorder( focusBorder );
+		}
+		else
+		{
+			renderButton.setBorder( originalBorder );
+		}
+
+		//renderButton.setText( (value == null) ? "" : value.toString() );
+                renderButton.setText(buttonName);
+		return renderButton;
+	}
+
+//
+//  Implement ActionListener interface
+//
+    /*
+     *	The button has been pressed. Stop editing and invoke the custom Action
+     */
+    @Override
+	public void actionPerformed(ActionEvent e)
+	{
+		int row = table.convertRowIndexToModel( table.getEditingRow() );
+		fireEditingStopped();
+
+		//  Invoke the Action
+
+		ActionEvent event = new ActionEvent(
+			table,
+			ActionEvent.ACTION_PERFORMED,
+			"" + row);
+		action.actionPerformed(event);
+	}
+
+//
+//  Implement MouseListener interface
+//
+    /*
+     *  When the mouse is pressed the editor is invoked. If you then then drag
+     *  the mouse to another cell before releasing it, the editor is still
+     *  active. Make sure editing is stopped when the mouse is released.
+     */
+    @Override
+    public void mousePressed(MouseEvent e)
+    {
+    	if (table.isEditing()
+		&&  table.getCellEditor() == this)
+			isButtonColumnEditor = true;
+    }
+
+    @Override
+    public void mouseReleased(MouseEvent e)
+    {
+    	if (isButtonColumnEditor
+    	&&  table.isEditing())
+    		table.getCellEditor().stopCellEditing();
+
+		isButtonColumnEditor = false;
+    }
+
+    @Override
+    public void mouseClicked(MouseEvent e) {}
+    @Override
+    public void mouseEntered(MouseEvent e) {}
+    @Override
+    public void mouseExited(MouseEvent e) {}
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/Case.java b/Case/src/org/sleuthkit/autopsy/casemodule/Case.java
new file mode 100644
index 0000000000..7ebf16e6e0
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/Case.java
@@ -0,0 +1,852 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Frame;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.TimeZone;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.util.Lookup;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.SystemAction;
+import org.openide.windows.WindowManager;
+import org.sleuthkit.autopsy.corecomponentinterfaces.CoreComponentControl;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.*;
+import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess;
+
+/**
+ * Class to store the case information
+ */
+public class Case {
+    // change the CTL_MainWindow_Title in Bundle.properties as well if you change this value
+    private static final String autopsyVer = "3.0.0b1"; // current version of autopsy. Changed it when the version is changed
+    private static final String appName = "Autopsy " + autopsyVer;
+
+    /**
+     * Property name that indicates the name of the current case has changed.
+     * Fired with the case is renamed, and when the current case is
+     * opened/closed/changed. The value is a String: the name of the case.
+     * The empty string ("") is used for no open case.
+     */
+    public static final String CASE_NAME = "caseName";
+    /**
+     * Property name that indicates a new image has been added to the current
+     * case. The new value is the newly-added instance of Image, and the old
+     * value is always null.
+     */
+    public static final String CASE_ADD_IMAGE = "addImages";
+    /**
+     * Property name that indicates an image has been removed from the current
+     * case. The "old value" is the (int) image ID of the image that was
+     * removed, the new value is the instance of the Image.
+     */
+    public static final String CASE_DEL_IMAGE = "removeImages";
+    /**
+     * Property name that indicates the currently open case has changed.
+     * The new value is the instance of the opened Case, or null if there is no
+     * open case.
+     * The old value is the instance of the closed Case, or null if there was no
+     * open case.
+     */
+    public static final String CASE_CURRENT_CASE = "currentCase";
+    /**
+     * Name for the property that determines whether to show the dialog at
+     * startup
+     */
+    static final String propStartup = "LBL_StartupDialog";
+    private static Properties properties = new Properties();
+
+    // pcs is initialized in CaseListener constructor
+    private static PropertyChangeSupport pcs;
+    private static PropertyChangeListener caseListener = new CaseListener();
+
+    
+    private String name;
+    private String configFilePath;
+    private XMLCaseManagement xmlcm;
+    private SleuthkitCase db;
+
+
+
+    // Track the current case (only set with changeCase() method)
+    private static Case currentCase = null;
+
+    /**
+     * Constructor for the Case class
+     */
+    private Case(String name, String configFilePath, XMLCaseManagement xmlcm, SleuthkitCase db) {
+        this.name = name;
+        this.configFilePath = configFilePath;
+        this.xmlcm = xmlcm;
+        this.db = db;
+    }
+
+    /**
+     * Gets the currently opened case, if there is one.
+     *
+     * @return the current open case
+     * @throws IllegalStateException if there is no case open.
+     */
+    public static Case getCurrentCase() {
+        if (currentCase != null) {
+            return currentCase;
+        } else {
+            throw new IllegalStateException("Can't get the current case; there is no case open!");
+        }
+    }
+
+
+
+    /**
+     * Updates the current case to the given case and fires off
+     * the appropriate property-change
+     * @param newCase the new current case
+     */
+    private static void changeCase(Case newCase) {
+
+        Case oldCase = Case.currentCase;
+        Case.currentCase = null;
+
+        String oldCaseName = oldCase != null ? oldCase.name : "";
+        pcs.firePropertyChange(CASE_CURRENT_CASE, oldCase, null);
+        pcs.firePropertyChange(CASE_NAME, oldCaseName, "");
+
+        if (newCase != null) {
+            currentCase = newCase;
+
+            pcs.firePropertyChange(CASE_CURRENT_CASE, null, currentCase);
+            //TODO: This will fire off a bunch of stuff in CaseListener.propertyChange()
+            // that should probably be migrated into here
+            
+            pcs.firePropertyChange(CASE_NAME, "", currentCase.name);
+            RecentCases.getInstance().addRecentCase(currentCase.name, currentCase.configFilePath); // update the recent cases
+        }
+    }
+
+    
+    
+    AddImageProcess makeAddImageProcess(String timezone) {
+        return this.db.makeAddImageProcess(timezone);
+    }
+    
+    /**
+     * Creates a new case (create the XML config file and the directory)
+     * 
+     * @param caseDir  the base directory where the configuration file is saved
+     * @param caseName  the name of case
+     */
+    static void create(String caseDir, String caseName) throws Exception {
+        Log.get(Case.class).log(Level.INFO, "Creating new case.\ncaseDir: {0}\ncaseName: {1}", new Object[] {caseDir, caseName});
+
+        String configFilePath = caseDir + File.separator + caseName + ".aut";
+        
+        XMLCaseManagement xmlcm = new XMLCaseManagement();
+        xmlcm.create(caseDir, caseName); // create a new XML config file
+        xmlcm.writeFile();
+        
+        String dbPath = caseDir + File.separator + "autopsy.db";
+        SleuthkitCase db = SleuthkitCase.newCase(dbPath);
+
+        Case newCase = new Case(caseName, configFilePath, xmlcm, db);
+        
+        changeCase(newCase);
+    }
+
+    /**
+     * Opens the existing case (open the XML config file)
+     *
+     * @param configFilePath  the path of the configuration file that's opened
+     * @throws Exception
+     */
+     static void open(String configFilePath) throws Exception {
+        Log.get(Case.class).log(Level.INFO, "Opening case.\nconfigFilePath: {0}", configFilePath);
+
+        try {
+            XMLCaseManagement xmlcm = new XMLCaseManagement();
+
+            xmlcm.open(configFilePath); // open and load the config file to the document handler in the XML class
+            xmlcm.writeFile(); // write any changes to the config file
+
+            String caseName =  xmlcm.getCaseName();
+            // if the caseName is "", case / config file can't be opened
+            if (caseName.equals("")) {
+                throw new Exception("Case name is blank.");
+            }
+            
+            String caseDir = xmlcm.getCaseDirectory();
+            String dbPath = caseDir + File.separator + "autopsy.db";
+            SleuthkitCase db = SleuthkitCase.openCase(dbPath);
+            
+            Case openedCase = new Case(caseName, configFilePath, xmlcm, db);
+            
+            changeCase(openedCase);
+
+        } catch (Exception ex) {
+            // close the previous case if there's any
+            CaseCloseAction closeCase = SystemAction.get(CaseCloseAction.class);
+            closeCase.actionPerformed(null);
+            throw ex;
+        }
+    }
+
+    /**
+     * Adds the image to the current case after it has been added to the DB
+     *
+     * @param imgPaths  the paths of the image that being added
+     * @param imgId  the ID of the image that being added
+     * @param timeZone  the timeZone of the image where it's added
+     */
+    void addImage(String[] imgPaths, long imgId, String timeZone) throws Exception {
+        Log.get(this.getClass()).log(Level.INFO, "Adding image to Case.  imgPaths: {0}  ID: {1} TimeZone: {2}", new Object[]{Arrays.toString(imgPaths), imgId, timeZone});
+
+        try {
+            xmlcm.addImage(imgPaths, imgId, timeZone); // add the image to the document handler in the XML class and to the config file
+            xmlcm.writeFile(); // write any changes to the config file
+            Image newImage = db.getImageById(imgId);
+            pcs.firePropertyChange(CASE_ADD_IMAGE, null, newImage); // the new value is the instance of the image
+        } catch (Exception ex) {
+            // throw an error here
+            throw ex;
+        }
+    }
+    
+    /**
+     * Get the underlying SleuthkitCase instance from the Sleuth Kit bindings
+     * library.
+     * @return
+     */
+    public SleuthkitCase getSleuthkitCase() {
+        return this.db;
+    }
+
+    /**
+     * Closes this case. This methods close the xml and clear all the fields.
+     */
+    void closeCase() throws Exception {
+        changeCase(null);
+
+        try {
+            this.xmlcm.close(); // close the xmlcm
+            this.db.close();
+        } catch (Exception e) {
+            throw new Exception("Error while trying to close the current case.", e);
+        }
+    }
+
+    /**
+     * Delete this case. This methods delete all folders and files of this case.
+     */
+    boolean deleteCase(File caseDir) {
+        Log.get(this.getClass()).log(Level.FINE, "Deleting case.\ncaseDir: {0}", caseDir);
+        
+        try {
+            
+            xmlcm.close(); // close the xmlcm
+            boolean result = deleteCaseDirectory(caseDir); // delete the directory
+            
+            RecentCases.getInstance().removeRecentCase(this.name, this.configFilePath); // remove it from the recent case
+            Case.changeCase(null);
+            return result;
+        } catch (Exception ex) {
+            // TODO: change to using exceptions instead of return value.
+            // throw an error here
+            Logger logger = Logger.getLogger(Case.class.getName());
+            logger.log(Level.SEVERE, "Error deleting the current case.", ex);
+            return false;
+        }
+    }
+
+    /**
+     * Updates the case name.
+     *
+     * @param oldCaseName  the old case name that wants to be updated
+     * @param oldPath  the old path that wants to be updated
+     * @param newCaseName  the new case name
+     * @param newPath  the new path
+     */
+    void updateCaseName(String oldCaseName, String oldPath, String newCaseName, String newPath) throws Exception {
+        try {
+            xmlcm.setCaseName(newCaseName); // set the case
+            name = newCaseName; // change the local value
+            RecentCases.getInstance().updateRecentCase(oldCaseName, oldPath, newCaseName, newPath); // update the recent case
+
+            pcs.firePropertyChange(CASE_NAME, oldCaseName, newCaseName);
+        } catch (Exception e) {
+            throw new Exception("Error while trying to update the case name.", e);
+        }
+    }
+
+// Not dealing with removing images for now.
+//    /**
+//     * Removes the image from this case
+//     *
+//     * @param givenID    the ID of the image to be removed
+//     * @param givenPath  the path of the image to be removed
+//     */
+//    void removeImage(int givenID, String givenPath) throws Exception {
+//        Log.get(this.getClass()).log(Level.FINE, "Removing image.\ngivenID: {0}\ngivenPath: {1}", new Object[] {givenID, givenPath});
+//        
+//        String[] tempPaths = xmlcm.getImageSet(givenID);
+//        String tempDb = xmlcm.getImageSetDbPath(givenID);
+//
+//        if (tempPaths[0].equals(givenPath)) {
+//            xmlcm.removeImageSet(givenID); // make the changes in the config file
+//            try {
+//                xmlcm.writeFile();
+//            } catch (Exception ex) {
+//                throw new Exception("Error while trying to remove the image from this case.", ex);
+//            }
+//
+//            Image img = imageIdToData.get(givenID).image; // save the image that we want to delete temporarily
+//
+//            imageIdToData.remove(givenID);
+//
+//            pcs.firePropertyChange(CASE_DEL_IMAGE, givenID, img); // the old value is the image ID that removed, the new value is the instance of the image
+//
+//            img.getSleuthkit().closeConnection(); // to make sure that we close the connection
+//
+//            // need to remove the database as well??
+//            File database = new File(tempDb);
+//            boolean test = database.delete(); // delete the database of the image that we remove
+//            if (!test) {
+//                database.deleteOnExit(); // delete on exit if the delete is not successful
+//            }
+//        } else {
+//            // throw an error here
+//            Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "Couldn't remove image.", new Exception("Couldn't find the image in this case."));
+//        }
+//    }
+    
+
+    /**
+     * Checks whether there is a current case open.
+     *
+     * @return True if a case is open.
+     */
+    public static boolean existsCurrentCase() {
+        return currentCase != null;
+    }
+
+    /**
+     * Uses the given path to store it as the configuration file path
+     *
+     * @param givenPath  the given config file path
+     */
+    private void setConfigFilePath(String givenPath) {
+        configFilePath = givenPath;
+    }
+
+    /**
+     *  Get the config file path in the given path
+     *
+     * @return configFilePath  the path of the configuration file
+     */
+    String getConfigFilePath() {
+        return configFilePath;
+    }
+
+    /**
+     * Returns the current version of Autopsy
+     * @return autopsyVer
+     */
+    public static String getAutopsyVersion() {
+        return autopsyVer;
+    }
+
+    /**
+     * Gets the application name
+     * @return appName
+     */
+    public static String getAppName() {
+        return appName;
+    }
+
+    /**
+     * Gets the case name
+     * @return name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Gets the case directory path
+     * @return caseDirectoryPath
+     */
+    public String getCaseDirectory() {
+        if (xmlcm == null) {
+            return "";
+        } else {
+            return xmlcm.getCaseDirectory();
+        }
+    }
+
+    /**
+     * Gets the full path to the temp directory of this case
+     * @return tempDirectoryPath
+     */
+    public String getTempDirectory() {
+        if (xmlcm == null) {
+            return "";
+        } else {
+            return xmlcm.getTempDir();
+        }
+    }
+
+    /**
+     * get the created date of this case
+     * @return case creation date
+     */
+    public String getCreatedDate() {
+        if (xmlcm == null) {
+            return "";
+        } else {
+            return xmlcm.getCreatedDate();
+        }
+    }
+
+
+    /**
+     * get the PropertyChangeSupport of this class
+     * @return PropertyChangeSupport
+     */
+    public static PropertyChangeSupport getPropertyChangeSupport() {
+        return pcs;
+    }
+    
+    
+    String[] getImagePaths(int imgID) {
+        return xmlcm.getImageSet(imgID);
+    }
+    
+    /**
+     * get all the image id in this case
+     * @return imageIDs
+     */
+    public int[] getImageIDs() {
+        if (xmlcm == null) {
+            return new int[0];
+        } else {
+            return xmlcm.getImageIDs();
+        }
+    }
+
+    /**
+     * Count the root objects.
+     * @return The number of total root objects in this case.
+     */
+    public int getRootObjectsCount() {
+        return getRootObjects().size();
+    }
+    
+    /**
+     * Get the data model Content objects in the root of this case's hierarchy.
+     * @return a list of the root objects
+     */
+    public List<Content> getRootObjects() {
+        try {
+            return db.getRootObjects();
+        } catch (TskException ex) {
+            throw new RuntimeException("Error getting root objects.", ex);
+        }
+    }
+
+    /**
+     * Gets the time zone(s) of the image(s) in this case. 
+     *
+     * @return time zones  the set of time zones
+     */
+    public Set<TimeZone> getTimeZone() {
+        if (xmlcm == null) {
+            return new HashSet<TimeZone>();
+        } else {
+            return xmlcm.getTimeZone();
+        }
+    }
+
+    public static synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
+        pcs.addPropertyChangeListener(listener);
+    }
+
+    public static synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
+        pcs.removePropertyChangeListener(listener);
+    }
+
+    /**
+     * convert the image Path to array string
+     * @param imgPath   the image path
+     * @return imgPath  the converted image path
+     */
+    public static String[] convertImgPath(String imgPath) {
+        String[] result;
+        String unsplitPaths = imgPath;
+        int count = 0;
+
+        for (int i = 0; i < unsplitPaths.length(); i++) {
+            if (unsplitPaths.charAt(i) == '\"') {
+                count++;
+            }
+        }
+
+        if (count != 0) {
+            result = new String[count / 2];
+            int start = 0;
+            int current = 0;
+            for (int i = 0; i < count / 2; i++) {
+                while (unsplitPaths.charAt(current) != '\"') {
+                    current++;
+                }
+                start = current;
+                current++;
+                while (unsplitPaths.charAt(current) != '\"') {
+                    current++;
+                }
+                result[i] = unsplitPaths.substring(start + 1, current);
+                current++;
+            }
+        } else {
+            result = new String[1];
+            result[0] = unsplitPaths;
+        }
+
+        return result;
+    }
+
+    /**
+     * Check if all the images from the given image path exist.
+     * @param imgPaths  the image paths
+     * @return isExist  whether the multiple paths exist
+     */
+    public static boolean checkMultiplePathExist(String[] imgPaths) {
+        boolean result = false;
+        int totalLength = imgPaths.length;
+        if (totalLength > 0) {
+            result = true;
+            for (int i = 0; i < totalLength; i++) {
+                if (new File(imgPaths[i]).exists()) {
+                    result = result && true;
+                } else {
+                    result = result && false;
+                }
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Convert the Java timezone ID to the "formatted" string that can be
+     * accepted by the C/C++ code.
+     * Example: "America/New_York" converted to "EST5EDT", etc
+     *
+     * @param timezoneID
+     * @return
+     */
+    public static String convertTimeZone(String timezoneID) {
+        String result = "";
+
+        TimeZone zone = TimeZone.getTimeZone(timezoneID);
+        int offset = zone.getRawOffset() / 1000;
+        int hour = offset / 3600;
+
+        DateFormat dfm = new SimpleDateFormat("z");
+        dfm.setTimeZone(zone);
+        boolean hasDaylight = zone.useDaylightTime();
+        String first = dfm.format(new Date(2010, 1, 1)).substring(0, 3); // make it only 3 letters code
+        String second = dfm.format(new Date(2011, 6, 6)).substring(0, 3); // make it only 3 letters code
+        int mid = hour * -1;
+        result = first + Integer.toString(mid);
+        if (hasDaylight) {
+            result = result + second;
+        }
+
+        return result;
+    }
+
+    /* The methods below are used to manage the case directories (creating, checking, deleting, etc) */
+    /**
+     * to create the case directory
+     * @param caseDir   the case directory path
+     * @param caseName  the case name
+     * @return boolean  whether the case directory is successfully created or not
+     */
+    static boolean createCaseDirectory(String caseDir, String caseName) {
+        boolean result = false;
+
+        try {
+            result = (new File(caseDir)).mkdirs(); // create root case Directory
+
+            // create the folders inside the case directory
+            result = result && (new File(caseDir + File.separator + XMLCaseManagement.EXPORT_FOLDER_RELPATH)).mkdir()
+                    && (new File(caseDir + File.separator + XMLCaseManagement.LOG_FOLDER_RELPATH)).mkdir()
+                    && (new File(caseDir + File.separator + XMLCaseManagement.TEMP_FOLDER_RELPATH)).mkdir();
+
+            return result;
+        } catch (Exception e) {
+            // TODO: change to use execptions instead of return values for error handling
+            return false;
+        }
+    }
+
+    /**
+     * delete the given case directory
+     * @param casePath  the case path
+     * @return boolean  whether the case directory is successfully deleted or not
+     */
+    static boolean deleteCaseDirectory(File casePath) {
+        if (casePath.exists()) {
+            File[] files = casePath.listFiles();
+            for (int i = 0; i < files.length; i++) {
+                if (files[i].isDirectory()) {
+                    deleteCaseDirectory(files[i]);
+                } else {
+                    files[i].delete();
+                }
+            }
+        }
+        return (casePath.delete());
+    }
+
+    /**
+     * Invoke the creation of startup dialog window.
+     */
+    static public void invokeStartupDialog() {
+        boolean showDialog = true;
+        String propFilePath = RecentCases.getPropertiesFilePath();
+
+        // before showing the startup dialog, check if it has been disabled or not by the user
+        try {
+            // try to load the property from the properties file in the home directory
+            InputStream inputStream = new FileInputStream(propFilePath);
+            //InputStream inputStream = getClass().getResourceAsStream("Case.properties"); // old variable (can be deleted if no longer needed)
+            properties.load(inputStream);
+
+            String temp = properties.getProperty(propStartup);
+            if (temp != null) {
+                showDialog = !temp.equals("false");
+            } else {
+                // if it's null, we have to write the properties
+
+                // update the properties
+                properties.setProperty(propStartup, "true");
+
+                // write the properties file
+                try {
+                    properties.store(new FileOutputStream(new File(RecentCases.getPropertiesFilePath())), "");
+                } catch (Exception ex) {
+                    Logger.getLogger(Case.class.getName()).log(Level.WARNING, "Error: Could not update the properties file.", ex);
+                }
+            }
+        } catch (Exception ex) {
+            // if cannot load it, we create a new properties file without any data inside it
+            properties.setProperty(propStartup, "true");
+
+            try {
+                // create the directory and property file to store it
+                File output = new File(propFilePath);
+
+                // if the properties file doesn't exist, we create a new one.
+                if (!output.exists()) {
+                    File parent = new File(output.getParent());
+                    if (!parent.exists()) {
+                        parent.mkdirs(); // create the parent directory if it doesn't exist
+                    }
+                    output.createNewFile(); // create the properties file
+                    FileOutputStream fos = new FileOutputStream(output);
+                    properties.store(fos, "");
+                } // if the output exist, we just add the properties
+                else {
+                    properties.setProperty(propStartup, "true");
+
+                    // write the properties file
+                    try {
+                        properties.store(new FileOutputStream(new File(RecentCases.getPropertiesFilePath())), "");
+                    } catch (Exception ex3) {
+                        Logger.getLogger(Case.class.getName()).log(Level.WARNING, "Error: Could not update the properties file.", ex3);
+                    }
+                }
+            } catch (Exception ex2) {
+                Logger.getLogger(Case.class.getName()).log(Level.WARNING, "Error: Could not create the property file.", ex2);
+            }
+        }
+
+        if (showDialog) {
+            StartupWindow.getInstance().display();
+        }
+    }
+
+
+
+    /**
+     * Call if there are no images in the case. Displays
+     * a dialog offering to add one.
+     */
+    private void noRootObjectsNotification() throws TskException {
+        NotifyDescriptor nd = new NotifyDescriptor(
+                "This case contains no images. Would you like to add one?",
+                "No images in case", NotifyDescriptor.YES_NO_OPTION,
+                NotifyDescriptor.INFORMATION_MESSAGE,
+                null,
+                NotifyDescriptor.YES_OPTION);
+        if (DialogDisplayer.getDefault().notify(nd) == NotifyDescriptor.YES_OPTION) {
+            Lookup.getDefault().lookup(AddImageAction.class).actionPerformed(null);
+        }
+    }
+
+    /**
+     * Get the properties.
+     *
+     * @return properties
+     */
+    public Properties getProperties() {
+        return properties;
+    }
+
+    /**
+     * Checks if a String is a valid case name
+     * @param caseName the candidate String
+     * @return true if the candidate String is a valid case name
+     */
+    static public boolean isValidName(String caseName) {
+        return !(caseName.contains("\\") || caseName.contains("/") || caseName.contains(":")
+                    || caseName.contains("*") || caseName.contains("?") || caseName.contains("\"")
+                    || caseName.contains("<") || caseName.contains(">") || caseName.contains("|"));
+    }
+    
+    static private void clearTempFolder() {
+        File tempFolder = new File(currentCase.getTempDirectory());
+        if (tempFolder.isDirectory()) {
+            File[] files = tempFolder.listFiles();
+            if (files.length > 0) {
+                for (int i = 0; i < files.length; i++) {
+                    if (files[i].isDirectory()) {
+                        deleteCaseDirectory(files[i]);
+                    } else {
+                        files[i].delete();
+                    }
+                }
+            }
+        }
+    }
+
+    private static class CaseListener implements PropertyChangeListener {
+
+        CaseListener() {
+            pcs = new PropertyChangeSupport(this);
+            pcs.addPropertyChangeListener(this);
+        }
+
+        @Override
+        public void propertyChange(PropertyChangeEvent evt) {
+            String changed = evt.getPropertyName();
+            Object oldValue = evt.getOldValue();
+            Object newValue = evt.getNewValue();
+
+
+            if (changed.equals(Case.CASE_CURRENT_CASE)) {
+                try {
+                    if (newValue != null) { // new case is open
+                        Case newCase = (Case) newValue;
+
+                        // clear the temp folder when the case is created / opened
+                        Case.clearTempFolder();
+
+                        // enable these menus
+                        CallableSystemAction.get(AddImageAction.class).setEnabled(true);
+                        CallableSystemAction.get(CaseCloseAction.class).setEnabled(true);
+                        CallableSystemAction.get(CasePropertiesAction.class).setEnabled(true);
+                        CallableSystemAction.get(CaseDeleteAction.class).setEnabled(true); // Delete Case menu
+
+                        if (newCase.getRootObjectsCount() > 0) {
+                            // open all top components
+                            CoreComponentControl.openCoreWindows();
+                        } else {
+                            // close all top components
+                            CoreComponentControl.closeCoreWindows();
+                            // notify user
+                            newCase.noRootObjectsNotification();
+                        }
+                    } else { // case is closed
+                        // disable these menus
+                        CallableSystemAction.get(AddImageAction.class).setEnabled(false); // Add Image menu
+                        CallableSystemAction.get(CaseCloseAction.class).setEnabled(false); // Case Close menu
+                        CallableSystemAction.get(CasePropertiesAction.class).setEnabled(false); // Case Properties menu
+                        CallableSystemAction.get(CaseDeleteAction.class).setEnabled(false); // Delete Case menu
+
+                        // close all top components
+                        CoreComponentControl.closeCoreWindows();
+
+                        Frame f = WindowManager.getDefault().getMainWindow();
+                        f.setTitle(Case.getAppName()); // set the window name to just application name
+                    }
+                } catch (TskException ex) {
+                    Log.get(CaseListener.class).log(Level.WARNING, "Error handling change in current case.", ex);
+                }
+            }
+
+
+            // changed in the case name
+            if (changed.equals(Case.CASE_NAME)) {
+                String oldCaseName = oldValue.toString();
+                String newCaseName = newValue.toString();
+
+                // update case name
+                if (!newCaseName.equals("")) {
+                    Frame f = WindowManager.getDefault().getMainWindow();
+                    f.setTitle(newCaseName + " - " + Case.getAppName()); // set the window name to the new value
+                }
+            }
+
+            // if the image is added to the case
+            if (changed.equals(Case.CASE_ADD_IMAGE)) {
+                // open all top components
+                CoreComponentControl.openCoreWindows();
+            }
+
+            // if the image is removed from the case
+            if (changed.equals(Case.CASE_DEL_IMAGE)) {
+                // no more image left in this case
+                if (currentCase.getRootObjectsCount() == 0) {
+                    // close all top components
+                    CoreComponentControl.closeCoreWindows();
+                }
+
+            }
+
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java
new file mode 100644
index 0000000000..fdfa3be36b
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java
@@ -0,0 +1,132 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import org.openide.util.HelpCtx;
+import org.openide.util.NbBundle;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The action to close the current Case. This class should be disabled on
+ * creation and it will be enabled on new case creation or case opened.
+ */
+public final class CaseCloseAction extends CallableSystemAction implements Presenter.Toolbar{
+
+    JButton toolbarButton = new JButton();
+
+    /**
+     * The constructor for this class
+     */
+    public CaseCloseAction() {
+        putValue("iconBase", "org/sleuthkit/autopsy/images/close-icon.png"); // put the icon
+        putValue(Action.NAME, NbBundle.getMessage(CaseCloseAction.class, "CTL_CaseCloseAct")); // put the action Name
+
+        // set action of the toolbar button
+        toolbarButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                CaseCloseAction.this.actionPerformed(e);
+            }
+        });
+
+        this.setEnabled(false);
+    }
+
+    /**
+     * Closes the current opened case.
+     *
+     * @param e  the action event for this method
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        if (Case.existsCurrentCase() == false)
+            return;
+        
+        Case result = Case.getCurrentCase();
+        try {
+            result.closeCase();
+        } catch (Exception ex) {
+            Logger.getLogger(CaseCloseAction.class.getName()).log(Level.SEVERE, "Error closing case.", ex);
+        }
+    }
+
+    /**
+     * This method does nothing. Use the "actionPerformed(ActionEvent e)" instead of this method.
+     */
+    @Override
+    public void performAction() {
+    }
+
+    /**
+     * Gets the name of this action. This may be presented as an item in a menu.
+     *
+     * @return actionName
+     */
+    @Override
+    public String getName() {
+        return NbBundle.getMessage(CaseCloseAction.class, "CTL_CaseCloseAct");
+    }
+
+    /**
+     * Gets the HelpCtx associated with implementing object
+     * 
+     * @return HelpCtx or HelpCtx.DEFAULT_HELP
+     */
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP; 
+    }
+
+    /**
+     * Returns the toolbar component of this action
+     *
+     * @return component  the toolbar button
+     */
+    @Override
+    public Component getToolbarPresenter() {
+        ImageIcon icon = new ImageIcon(getClass().getResource("close-icon.png"));
+        toolbarButton.setIcon(icon);
+        return toolbarButton;
+    }
+
+    /**
+     * Set this action to be enabled/disabled
+     *
+     * @param value  whether to enable this action or not
+     */
+    @Override
+    public void setEnabled(boolean value){
+        super.setEnabled(value);
+        toolbarButton.setEnabled(value);
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CaseConfigFileInterface.java b/Case/src/org/sleuthkit/autopsy/casemodule/CaseConfigFileInterface.java
new file mode 100644
index 0000000000..3e94393e0d
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CaseConfigFileInterface.java
@@ -0,0 +1,42 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+/**
+ * NOTE: NOTHING ACTUALLY USES THIS
+ * 
+ * The interface for the classes that edit the case configuration file
+ */
+//TODO: check that this can just be deleted.
+interface CaseConfigFileInterface {
+    public void open(String conFilePath) throws Exception;  // opens the confiuation store (XML, DB...)
+    public void writeFile() throws Exception;            // writes out the configuration to store
+    public void close() throws Exception;                   // close and clear the document handler
+    public int[] getImageIDs() throws Exception;            // returns a list of image IDs and names
+    public int getNextImageID() throws Exception;           // returns the next free ID to be assigned to new image, and increments the internal counter
+
+    // all the get and set methods
+    public String getCaseName() throws Exception; // get the case name
+    public void setCaseName(String caseName) throws Exception; // set the case name
+
+    // public void getXXX(); // methods to get the case attributes
+    // public void setXXX(); // methods to set the case attributes
+
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CaseDeleteAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/CaseDeleteAction.java
new file mode 100644
index 0000000000..523b6c6249
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CaseDeleteAction.java
@@ -0,0 +1,117 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.util.HelpCtx;
+import org.openide.util.NbBundle;
+import org.openide.util.actions.CallableSystemAction;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The action to delete the current Case. This class should be disabled on
+ * creation and it will be enabled on new case creation or case opened.
+ */
+public final class CaseDeleteAction extends CallableSystemAction {
+
+    private JPanel caller; // for error handling
+
+    /**
+     * The constructor for this class
+     */
+    public CaseDeleteAction() {
+        putValue(Action.NAME, NbBundle.getMessage(CaseDeleteAction.class, "CTL_CaseDeleteAction")); // put the action Name
+        this.setEnabled(false);
+    }
+
+    /**
+     * Deletes the current opened case.
+     * @param e
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        Case currentCase = Case.getCurrentCase();
+        File configFile = new File(currentCase.getConfigFilePath());
+        File caseFolder = new File(configFile.getParent());
+        String caseName = currentCase.getName();
+        if(!caseFolder.exists()){
+            // throw an error
+            Logger logger = Logger.getLogger(CaseDeleteAction.class.getName());
+            logger.log(Level.WARNING, "Couldn't delete case.", new Exception("The case directory doesn't exist."));
+        }
+        else{
+            // show the confirmation first to close the current case and open the "New Case" wizard panel
+            String closeCurrentCase = "Are you sure want to close and delete this case? \n     Case Name: " + caseName + "\n     Case Directory: "+ caseFolder.getPath();
+            NotifyDescriptor d = new NotifyDescriptor.Confirmation(closeCurrentCase, "Warning: Closing the Current Case", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+            d.setValue(NotifyDescriptor.NO_OPTION);
+
+            Object res = DialogDisplayer.getDefault().notify(d);
+            if(res != null && res == DialogDescriptor.YES_OPTION){
+                boolean success = Case.getCurrentCase().deleteCase(caseFolder); // delete the current case
+
+                // show notification whether the case has been deleted or it failed to delete...
+                if(!success){
+                    JOptionPane.showMessageDialog(caller, "The delete action can't be fully completed because the folder or file in it is open by another program.\n \nClose the folder and file and try again or you can delete the case manually.", "Error: Folder In Use", JOptionPane.ERROR_MESSAGE); // throw an error
+                }
+                else{
+                    CasePropertiesAction.closeCasePropertiesWindow(); // because the "Delete Case" button is in the "CaseProperties" window, we have to close that window when we delete the case.
+                    JOptionPane.showMessageDialog(caller, "Case " + caseName + " has been deleted.");
+                }
+            }
+        }
+    }
+
+    /**
+     * This method does nothing. Use the "actionPerformed(ActionEvent e)" instead of this method.
+     */
+    @Override
+    public void performAction() {
+        // Note: I use the actionPerformed above instead of this method
+    }
+
+    /**
+     * Gets the name of this action. This may be presented as an item in a menu.
+     * @return actionName
+     */
+    @Override
+    public String getName() {
+        return NbBundle.getMessage(CaseDeleteAction.class, "CTL_CaseDeleteAction");
+    }
+
+    /**
+     * Gets the HelpCtx associated with implementing object
+     * @return HelpCtx or HelpCtx.DEFAULT_HELP
+     */
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CaseNewAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/CaseNewAction.java
new file mode 100644
index 0000000000..89d51ea2a8
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CaseNewAction.java
@@ -0,0 +1,48 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import org.openide.util.actions.SystemAction;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The action to create a new case. This action class is always enabled.
+ *
+ * @author jantonius
+ */
+@ServiceProvider(service = CaseNewAction.class)
+public final class CaseNewAction implements ActionListener {
+
+    private NewCaseWizardAction wizard = SystemAction.get(NewCaseWizardAction.class);
+
+    /**
+     * Calls the "New Case" wizard panel action.
+     * @param e
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        wizard.performAction();
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
new file mode 100644
index 0000000000..48ebfeb639
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java
@@ -0,0 +1,86 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The action to open a existing case. This class is always enabled.
+ *
+ * @author jantonius
+ */
+@ServiceProvider(service = CaseOpenAction.class)
+public final class CaseOpenAction implements ActionListener {
+
+    JFileChooser fc = new JFileChooser();
+    GeneralFilter autFilter = new GeneralFilter(new String[]{".aut"}, "AUTOPSY File (*.aut)", false);
+
+    /** The constructor */
+    public CaseOpenAction() {
+        fc.setDragEnabled(false);
+        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
+        fc.setMultiSelectionEnabled(false);
+        fc.addChoosableFileFilter(autFilter);
+    }
+
+    /**
+     * Pop-up the File Chooser to open the existing case (.aut file)
+     * 
+     * @param e  the action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+
+        int retval = fc.showOpenDialog((Component) e.getSource());
+        if (retval == JFileChooser.APPROVE_OPTION) {
+            String path = fc.getSelectedFile().getPath();
+
+            // check if the file exists
+            if (!new File(path).exists()) {
+                JOptionPane.showMessageDialog(null, "Error: File doesn't exist.", "Error", JOptionPane.ERROR_MESSAGE);
+                this.actionPerformed(e); // show the dialog box again
+            } else {
+                // try to close Startup window if there's one
+                try {
+                    StartupWindow.getInstance().close();
+                } catch (Exception ex) {
+                    // no need to show the error message to the user.
+                    // TODO: But maybe put the error message in the log in the future.
+                }
+                try {
+                    Case.open(path); // open the case
+                } catch (Exception ex) {
+                    Logger.getLogger(CaseOpenAction.class.getName()).log(Level.SEVERE, "Error opening case.", ex);
+                }
+            }
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesAction.java
new file mode 100644
index 0000000000..6a5235e7e9
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesAction.java
@@ -0,0 +1,139 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.logging.Level;
+import javax.swing.Action;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import org.openide.util.HelpCtx;
+import org.openide.util.NbBundle;
+import org.openide.util.actions.CallableSystemAction;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The action to pop up the Case Properties Form window. By using this form,
+ * user can update the case properties (for example: updates the case name and
+ * removes the image from the current case)
+ *
+ * @author jantonius
+ */
+public final class CasePropertiesAction extends CallableSystemAction {
+
+    private static JDialog popUpWindow;
+
+    /**
+     * The CasePropertiesAction constructor
+     */
+    CasePropertiesAction() {
+        putValue(Action.NAME, NbBundle.getMessage(CasePropertiesAction.class, "CTL_CasePropertiesAction")); // put the action Name
+        this.setEnabled(false);
+    }
+
+    /**
+     * Pop-up the Case Properties Form window where user can change the case
+     * properties (example: update case name and remove the image from the case)
+     */
+    @Override
+    public void performAction() {
+        Log.noteAction(this.getClass());
+        
+        try {
+            // create the popUp window for it
+            String title = "Case Properties";
+            final JFrame frame = new JFrame(title);
+            popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
+
+
+            // get the information that needed
+            Case currentCase = Case.getCurrentCase();
+            String caseName = currentCase.getName();
+            String crDate = currentCase.getCreatedDate();
+            String caseDir = currentCase.getCaseDirectory();
+            int totalImage = currentCase.getRootObjectsCount();
+
+            // put the image paths information into hashmap
+            HashMap<Integer, String[]> imgPaths = new HashMap<Integer, String[]>();
+            int[] imgIDs = currentCase.getImageIDs();
+
+            for (int i = 0; i < totalImage; i++) {
+                int imgID = imgIDs[i];
+                String[] imagePaths = currentCase.getImagePaths(imgID);
+                if (imagePaths != null) {
+                    imgPaths.put(imgID, imagePaths);
+                }
+            }
+
+            // create the case properties form
+            CasePropertiesForm cpf = new CasePropertiesForm(currentCase, crDate, caseDir, imgPaths);
+
+            // add the command to close the window to the button on the Case Properties form / panel
+            cpf.setOKButtonActionListener(new ActionListener() {
+
+                @Override
+                public void actionPerformed(ActionEvent e) {
+                    popUpWindow.dispose();
+                }
+            });
+
+            // add the case properties form / panel to the popup window
+            popUpWindow.add(cpf);
+            popUpWindow.pack();
+            popUpWindow.setResizable(false);
+
+            // set the location of the popUp Window on the center of the screen
+            Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+            double w = popUpWindow.getSize().getWidth();
+            double h = popUpWindow.getSize().getHeight();
+            popUpWindow.setLocation((int) ((screenDimension.getWidth() - w) / 2), (int) ((screenDimension.getHeight() - h) / 2));
+
+            popUpWindow.setVisible(true);
+        } catch (Exception ex) {
+            Log.get(CasePropertiesAction.class).log(Level.WARNING, "Error displaying Case Properties window.", ex);
+        }
+    }
+
+    /**
+     * Gets the name of this action. This may be presented as an item in a menu.
+     * @return actionName
+     */
+    @Override
+    public String getName() {
+        return NbBundle.getMessage(CasePropertiesAction.class, "CTL_CasePropertiesAction");
+    }
+
+    /**
+     * Gets the HelpCtx associated with implementing object
+     * @return HelpCtx or HelpCtx.DEFAULT_HELP
+     */
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+
+    static void closeCasePropertiesWindow() {
+        popUpWindow.dispose();
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.form b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.form
new file mode 100644
index 0000000000..a37c13a2ba
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.form
@@ -0,0 +1,254 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <NonVisualComponents>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextArea" name="jTextArea1">
+          <Properties>
+            <Property name="columns" type="int" value="20"/>
+            <Property name="rows" type="int" value="5"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </NonVisualComponents>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="casePropLabel" pref="440" max="32767" attributes="0"/>
+                          <Component id="genInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="caseDirLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="crDateLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="caseNameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace type="separate" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jScrollPane2" pref="246" max="32767" attributes="0"/>
+                                  <Component id="caseNameTextField" alignment="0" pref="246" max="32767" attributes="1"/>
+                                  <Component id="crDateTextField" alignment="0" pref="246" max="32767" attributes="1"/>
+                              </Group>
+                              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                  <Component id="updateCaseNameButton" max="32767" attributes="1"/>
+                                  <Component id="deleteCaseButton" alignment="0" max="32767" attributes="1"/>
+                              </Group>
+                          </Group>
+                          <Component id="imgInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="imagesTableScrollPane" alignment="0" pref="440" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="-2" pref="191" max="-2" attributes="0"/>
+                      <Component id="OKButton" min="-2" pref="78" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="casePropLabel" min="-2" pref="33" max="-2" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Component id="genInfoLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="caseNameLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="caseNameTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="updateCaseNameButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="crDateLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="crDateTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="caseDirLabel" min="-2" max="-2" attributes="0"/>
+                          <Component id="jScrollPane2" min="-2" pref="40" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="-2" pref="39" max="-2" attributes="0"/>
+                      <Component id="imgInfoLabel" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="deleteCaseButton" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="imagesTableScrollPane" min="-2" pref="170" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="OKButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="17" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="casePropLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="24" style="1"/>
+        </Property>
+        <Property name="horizontalAlignment" type="int" value="0"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.casePropLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="caseNameLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.caseNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="crDateLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.crDateLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="caseDirLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.caseDirLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="crDateTextField">
+      <Properties>
+        <Property name="editable" type="boolean" value="false"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.crDateTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="caseNameTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.caseNameTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="updateCaseNameButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.updateCaseNameButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="updateCaseNameButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="genInfoLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.genInfoLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgInfoLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.imgInfoLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="OKButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.OKButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JScrollPane" name="imagesTableScrollPane">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTable" name="imagesTable">
+          <Properties>
+            <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
+              <Table columnCount="2" rowCount="0">
+                <Column editable="false" title="Path" type="java.lang.Object"/>
+                <Column editable="true" title="Remove" type="java.lang.Object"/>
+              </Table>
+            </Property>
+            <Property name="showHorizontalLines" type="boolean" value="false"/>
+            <Property name="showVerticalLines" type="boolean" value="false"/>
+            <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
+              <TableHeader reorderingAllowed="false" resizingAllowed="true"/>
+            </Property>
+            <Property name="updateSelectionOnSort" type="boolean" value="false"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane2">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextArea" name="caseDirTextArea">
+          <Properties>
+            <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+              <Color blue="f0" green="f0" red="f0" type="rgb"/>
+            </Property>
+            <Property name="columns" type="int" value="20"/>
+            <Property name="editable" type="boolean" value="false"/>
+            <Property name="rows" type="int" value="1"/>
+            <Property name="requestFocusEnabled" type="boolean" value="false"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JButton" name="deleteCaseButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.deleteCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteCaseButtonActionPerformed"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.java b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.java
new file mode 100644
index 0000000000..44c5dbc8b0
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CasePropertiesForm.java
@@ -0,0 +1,399 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * CasePropertiesForm.java
+ *
+ * Created on Mar 14, 2011, 1:48:20 PM
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.table.DefaultTableModel;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.util.actions.CallableSystemAction;
+
+/**
+ * The form where user can change / update the properties of the current case.
+ *
+ * @author jantonius
+ */
+class CasePropertiesForm extends javax.swing.JPanel{
+
+    Case current = null;
+    private static JPanel caller;    // panel for error
+    
+    // Shrink a path to fit in targetLength (if necessary), by replaceing part
+    // of the path with "...". Ex: "C:\Users\bob\...\folder\other\Image.img"
+    private String shrinkPath(String path, int targetLength) {
+        if(path.length() > targetLength){
+            String fill = "...";
+            
+            int partsLength = targetLength - fill.length();
+            
+            String front = path.substring(0, partsLength/4);
+            int frontSep = front.lastIndexOf(File.separatorChar);
+            if (frontSep != -1) {
+                front = front.substring(0, frontSep+1);
+            }
+            
+            String back = path.substring(partsLength*3/4);
+            int backSep = back.indexOf(File.separatorChar);
+            if (backSep != -1) {
+                back = back.substring(backSep);
+            }
+            return back + fill + front;
+        } else {
+            return path;
+        }
+    }
+    
+    
+    /** Creates new form CasePropertiesForm */
+    CasePropertiesForm(Case currentCase, String crDate, String caseDir, Map<Integer,String[]> imgPaths) {
+        initComponents();
+        caseNameTextField.setText(currentCase.getName());
+        crDateTextField.setText(crDate);
+        caseDirTextArea.setText(caseDir);
+
+        current = currentCase;
+
+        int totalImages = imgPaths.size();
+       
+        // create the headers and add all the rows
+        String[] headers = {"Path"};
+        String[][] rows = new String[totalImages][];
+        
+        int i = 0;
+        for(int key : imgPaths.keySet()){
+            String path = imgPaths.get(key)[0];
+            String shortenPath = shrinkPath(path, 70);
+            rows[i++] = new String[]{shortenPath};
+        }
+
+        // create the table inside with the imgPaths information
+        DefaultTableModel model = new DefaultTableModel(rows, headers)
+        {
+            @Override
+            // make the cells in the FileContentTable "read only"
+            public boolean isCellEditable(int row, int column){
+                return false;
+                //return column == lastColumn; // make the last column (Remove button), only the editable
+            }
+        };
+        imagesTable.setModel(model);
+        
+//        // set the size of the remove column
+//        TableColumn removeCol = imagesTable.getColumnModel().getColumn(lastColumn);
+//        removeCol.setPreferredWidth(75);
+//        removeCol.setMaxWidth(75);
+//        removeCol.setMinWidth(75);
+//        removeCol.setResizable(false);
+
+//        // create the delete action to remove the image from the current case
+//        Action delete = new AbstractAction()
+//        {
+//            @Override
+//            public void actionPerformed(ActionEvent e)
+//            {
+//                // get the image path
+//                JTable table = (JTable)e.getSource();
+//                int modelRow = Integer.valueOf(e.getActionCommand());
+//                String removeColumn = table.getValueAt(modelRow, lastColumn).toString();
+//                // get the image ID
+//                int selectedID = Integer.parseInt(removeColumn.substring(0, removeColumn.indexOf('|')));
+//                String imagePath = removeColumn.substring(removeColumn.indexOf('|') + 1);
+//
+//                // throw the confirmation first
+//                String confMsg = "Are you sure want to remove image \"" + imagePath + "\" from this case?";
+//                NotifyDescriptor d = new NotifyDescriptor.Confirmation(confMsg, "Create directory", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+//                d.setValue(NotifyDescriptor.NO_OPTION);
+//
+//                Object res = DialogDisplayer.getDefault().notify(d);
+//                // if user select "Yes"
+//                if(res != null && res == DialogDescriptor.YES_OPTION){
+//                    // remove the image in the case class and in the xml config file
+//                    try {
+//                        current.removeImage(selectedID, imagePath);
+//                    } catch (Exception ex) {
+//                        Logger.getLogger(CasePropertiesForm.class.getName()).log(Level.WARNING, "Error: couldn't remove image.", ex);
+//                    }
+//                    // remove the row of the image path
+//                    ((DefaultTableModel)table.getModel()).removeRow(modelRow);
+//                }
+//            }
+//        };
+//
+//        ButtonColumn buttonColumn = new ButtonColumn(imagesTable, delete, 1, "Remove");
+//        buttonColumn.setMnemonic(KeyEvent.VK_D);
+    }
+
+    /** This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jScrollPane1 = new javax.swing.JScrollPane();
+        jTextArea1 = new javax.swing.JTextArea();
+        casePropLabel = new javax.swing.JLabel();
+        caseNameLabel = new javax.swing.JLabel();
+        crDateLabel = new javax.swing.JLabel();
+        caseDirLabel = new javax.swing.JLabel();
+        crDateTextField = new javax.swing.JTextField();
+        caseNameTextField = new javax.swing.JTextField();
+        updateCaseNameButton = new javax.swing.JButton();
+        genInfoLabel = new javax.swing.JLabel();
+        imgInfoLabel = new javax.swing.JLabel();
+        OKButton = new javax.swing.JButton();
+        imagesTableScrollPane = new javax.swing.JScrollPane();
+        imagesTable = new javax.swing.JTable();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        caseDirTextArea = new javax.swing.JTextArea();
+        deleteCaseButton = new javax.swing.JButton();
+
+        jTextArea1.setColumns(20);
+        jTextArea1.setRows(5);
+        jScrollPane1.setViewportView(jTextArea1);
+
+        casePropLabel.setFont(new java.awt.Font("Tahoma", 1, 24));
+        casePropLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+        casePropLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.casePropLabel.text")); // NOI18N
+
+        caseNameLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.caseNameLabel.text")); // NOI18N
+
+        crDateLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.crDateLabel.text")); // NOI18N
+
+        caseDirLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.caseDirLabel.text")); // NOI18N
+
+        crDateTextField.setEditable(false);
+        crDateTextField.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.crDateTextField.text")); // NOI18N
+
+        caseNameTextField.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.caseNameTextField.text")); // NOI18N
+
+        updateCaseNameButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.updateCaseNameButton.text")); // NOI18N
+        updateCaseNameButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                updateCaseNameButtonActionPerformed(evt);
+            }
+        });
+
+        genInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
+        genInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.genInfoLabel.text")); // NOI18N
+
+        imgInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
+        imgInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.imgInfoLabel.text")); // NOI18N
+
+        OKButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.OKButton.text")); // NOI18N
+
+        imagesTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+
+            },
+            new String [] {
+                "Path", "Remove"
+            }
+        ) {
+            boolean[] canEdit = new boolean [] {
+                false, true
+            };
+
+            public boolean isCellEditable(int rowIndex, int columnIndex) {
+                return canEdit [columnIndex];
+            }
+        });
+        imagesTable.setShowHorizontalLines(false);
+        imagesTable.setShowVerticalLines(false);
+        imagesTable.getTableHeader().setReorderingAllowed(false);
+        imagesTable.setUpdateSelectionOnSort(false);
+        imagesTableScrollPane.setViewportView(imagesTable);
+
+        caseDirTextArea.setBackground(new java.awt.Color(240, 240, 240));
+        caseDirTextArea.setColumns(20);
+        caseDirTextArea.setEditable(false);
+        caseDirTextArea.setRows(1);
+        caseDirTextArea.setRequestFocusEnabled(false);
+        jScrollPane2.setViewportView(caseDirTextArea);
+
+        deleteCaseButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.deleteCaseButton.text")); // NOI18N
+        deleteCaseButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                deleteCaseButtonActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(casePropLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
+                            .addComponent(genInfoLabel)
+                            .addGroup(layout.createSequentialGroup()
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(caseDirLabel)
+                                    .addComponent(crDateLabel)
+                                    .addComponent(caseNameLabel))
+                                .addGap(18, 18, 18)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                                    .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
+                                    .addComponent(caseNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
+                                    .addComponent(crDateTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                                    .addComponent(updateCaseNameButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                                    .addComponent(deleteCaseButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                            .addComponent(imgInfoLabel)
+                            .addComponent(imagesTableScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(191, 191, 191)
+                        .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(casePropLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(18, 18, 18)
+                .addComponent(genInfoLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(caseNameLabel)
+                    .addComponent(caseNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(updateCaseNameButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(crDateLabel)
+                    .addComponent(crDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(caseDirLabel)
+                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(39, 39, 39)
+                        .addComponent(imgInfoLabel))
+                    .addComponent(deleteCaseButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(imagesTableScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(OKButton)
+                .addContainerGap(17, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * Updates the case name.
+     *
+     * @param evt  The action event
+     */
+    private void updateCaseNameButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_updateCaseNameButtonActionPerformed
+        String oldCaseName = Case.getCurrentCase().getName();
+        String newCaseName = caseNameTextField.getText();
+        //String oldPath = caseDirTextArea.getText() + File.separator + oldCaseName + ".aut";
+        //String newPath = caseDirTextArea.getText() + File.separator + newCaseName + ".aut";
+
+        // check if the old and new case name is not equal
+        if(!oldCaseName.equals(newCaseName)){
+
+            // check if the case name is empty
+            if(newCaseName.trim().equals("")){
+                JOptionPane.showMessageDialog(caller, "The caseName cannot be empty.", "Error", JOptionPane.ERROR_MESSAGE);
+            }
+            else{
+                // check if case Name contain one of this following symbol:
+                //  \ / : * ? " < > |
+                if(newCaseName.contains("\\") || newCaseName.contains("/") || newCaseName.contains(":") ||
+                   newCaseName.contains("*") || newCaseName.contains("?") || newCaseName.contains("\"") ||
+                   newCaseName.contains("<") || newCaseName.contains(">") || newCaseName.contains("|")){
+                    String errorMsg = "The Case Name cannot contain any of this following symbol: \\ / : * ? \" < > |";
+                    JOptionPane.showMessageDialog(caller, errorMsg, "Error", JOptionPane.ERROR_MESSAGE);
+                }
+                else{
+                    // ask for the confirmation first
+                    String confMsg = "Are you sure want to update the case name from \"" + oldCaseName + "\" to \"" + newCaseName + "\"?";
+                    NotifyDescriptor d = new NotifyDescriptor.Confirmation(confMsg, "Create directory", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+                    d.setValue(NotifyDescriptor.NO_OPTION);
+
+                    Object res = DialogDisplayer.getDefault().notify(d);
+                    if(res != null && res == DialogDescriptor.YES_OPTION){
+                        // if user select "Yes"
+                        String oldPath = current.getConfigFilePath();
+                        try {
+                            current.updateCaseName(oldCaseName, oldPath , newCaseName, oldPath);
+                        } catch (Exception ex) {
+                            Logger.getLogger(CasePropertiesForm.class.getName()).log(Level.WARNING, "Error: problem updating case name.", ex);
+                        }
+                    }
+                }
+            }
+        }
+    }//GEN-LAST:event_updateCaseNameButtonActionPerformed
+
+    private void deleteCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteCaseButtonActionPerformed
+        CallableSystemAction.get(CaseDeleteAction.class).actionPerformed(evt);
+    }//GEN-LAST:event_deleteCaseButtonActionPerformed
+
+
+    /**
+     * Sets the listener for the OK button
+     *
+     * @param e  The action listener
+     */
+    public void setOKButtonActionListener(ActionListener e){
+        OKButton.addActionListener(e);
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton OKButton;
+    private javax.swing.JLabel caseDirLabel;
+    private javax.swing.JTextArea caseDirTextArea;
+    private javax.swing.JLabel caseNameLabel;
+    private javax.swing.JTextField caseNameTextField;
+    private javax.swing.JLabel casePropLabel;
+    private javax.swing.JLabel crDateLabel;
+    private javax.swing.JTextField crDateTextField;
+    private javax.swing.JButton deleteCaseButton;
+    private javax.swing.JLabel genInfoLabel;
+    private javax.swing.JTable imagesTable;
+    private javax.swing.JScrollPane imagesTableScrollPane;
+    private javax.swing.JLabel imgInfoLabel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JTextArea jTextArea1;
+    private javax.swing.JButton updateCaseNameButton;
+    // End of variables declaration//GEN-END:variables
+
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.form b/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.form
new file mode 100644
index 0000000000..99dabefd58
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.form
@@ -0,0 +1,299 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="startupCheckBox" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace pref="345" max="32767" attributes="0"/>
+                      <Component id="closeButton" min="-2" pref="73" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="logoPanel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="editorPanel" max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="editorPanel" max="32767" attributes="0"/>
+                  <Component id="logoPanel" alignment="0" max="32767" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Component id="closeButton" alignment="1" min="-2" max="-2" attributes="0"/>
+                  <Component id="startupCheckBox" alignment="1" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JCheckBox" name="startupCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.startupCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="closeButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.closeButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="closeButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JPanel" name="logoPanel">
+      <Properties>
+        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+          <Color blue="ff" green="ff" red="ff" type="rgb"/>
+        </Property>
+      </Properties>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace pref="13" max="32767" attributes="0"/>
+                  <Component id="autopsyLogo" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace min="-2" pref="55" max="-2" attributes="0"/>
+                  <Component id="autopsyLogo" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace pref="131" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="autopsyLogo">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/Autopsy_logo.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.autopsyLogo.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.autopsyLogo.setText(&quot;&quot;);"/>
+          </AuxValues>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JPanel" name="editorPanel">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Component id="welcomeLabel" min="-2" max="-2" attributes="0"/>
+                      <Component id="autopsyLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                      <Group type="102" alignment="0" attributes="0">
+                          <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="1" attributes="0">
+                              <Component id="openCaseButton" alignment="1" min="-2" max="-2" attributes="1"/>
+                              <Component id="newCaseButton" alignment="1" min="-2" max="-2" attributes="1"/>
+                              <Component id="openRecentButton" alignment="1" min="-2" pref="70" max="-2" attributes="1"/>
+                          </Group>
+                          <EmptySpace type="separate" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="openLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="createNewLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="openRecentLabel" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                  </Group>
+                  <EmptySpace pref="124" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="welcomeLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="autopsyLabel" min="-2" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" alignment="0" attributes="0">
+                          <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
+                          <Component id="newCaseButton" min="-2" pref="68" max="-2" attributes="0"/>
+                          <EmptySpace type="separate" max="-2" attributes="0"/>
+                          <Component id="openCaseButton" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace type="separate" max="-2" attributes="0"/>
+                          <Component id="openRecentButton" min="-2" pref="67" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="1">
+                          <EmptySpace min="-2" pref="41" max="-2" attributes="0"/>
+                          <Component id="createNewLabel" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="72" max="-2" attributes="0"/>
+                          <Component id="openLabel" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace pref="70" max="32767" attributes="0"/>
+                          <Component id="openRecentLabel" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="45" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="welcomeLabel">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="18" style="1"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.welcomeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="autopsyLabel">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="32" style="1"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.autopsyLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.autopsyLabel.setText(Case.getAppName());"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JButton" name="newCaseButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/new-icon.png"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.newCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection code="null" type="code"/>
+            </Property>
+            <Property name="borderPainted" type="boolean" value="false"/>
+            <Property name="contentAreaFilled" type="boolean" value="false"/>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[70, 70]"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="newCaseButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="openCaseButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/open-icon.png"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection code="null" type="code"/>
+            </Property>
+            <Property name="borderPainted" type="boolean" value="false"/>
+            <Property name="contentAreaFilled" type="boolean" value="false"/>
+            <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
+              <Insets value="[1, 1, 1, 1]"/>
+            </Property>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[70, 70]"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openCaseButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="openRecentButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/open-recent-icon.png"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openRecentButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection code="null" type="code"/>
+            </Property>
+            <Property name="borderPainted" type="boolean" value="false"/>
+            <Property name="contentAreaFilled" type="boolean" value="false"/>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[70, 70]"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openRecentButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JLabel" name="createNewLabel">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="13" style="0"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.createNewLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="openLabel">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="13" style="0"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="openRecentLabel">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="13" style="0"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openRecentLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java b/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java
new file mode 100644
index 0000000000..4672933f19
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java
@@ -0,0 +1,333 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import org.openide.util.Lookup;
+
+/**
+ *
+ * @author jantonius
+ */
+public class CueBannerPanel extends javax.swing.JPanel {
+
+    final private static String title = "Open Recent Case";
+    final private static JFrame frame = new JFrame(title);
+    final static JDialog recentCasesWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
+
+    // for error handling
+    private static JPanel caller = new JPanel();
+    private String className = this.getClass().toString();
+
+    /** Creates new form CueBannerPanel */
+    public CueBannerPanel() {
+        initComponents();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        startupCheckBox = new javax.swing.JCheckBox();
+        closeButton = new javax.swing.JButton();
+        logoPanel = new javax.swing.JPanel();
+        autopsyLogo = new javax.swing.JLabel();
+        this.autopsyLogo.setText("");
+        editorPanel = new javax.swing.JPanel();
+        welcomeLabel = new javax.swing.JLabel();
+        autopsyLabel = new javax.swing.JLabel();
+        this.autopsyLabel.setText(Case.getAppName());
+        newCaseButton = new javax.swing.JButton();
+        openCaseButton = new javax.swing.JButton();
+        openRecentButton = new javax.swing.JButton();
+        createNewLabel = new javax.swing.JLabel();
+        openLabel = new javax.swing.JLabel();
+        openRecentLabel = new javax.swing.JLabel();
+
+        startupCheckBox.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.startupCheckBox.text")); // NOI18N
+
+        closeButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.closeButton.text")); // NOI18N
+        closeButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                closeButtonActionPerformed(evt);
+            }
+        });
+
+        logoPanel.setBackground(new java.awt.Color(255, 255, 255));
+
+        autopsyLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/Autopsy_logo.gif"))); // NOI18N
+        autopsyLogo.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLogo.text")); // NOI18N
+
+        javax.swing.GroupLayout logoPanelLayout = new javax.swing.GroupLayout(logoPanel);
+        logoPanel.setLayout(logoPanelLayout);
+        logoPanelLayout.setHorizontalGroup(
+            logoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(logoPanelLayout.createSequentialGroup()
+                .addContainerGap(13, Short.MAX_VALUE)
+                .addComponent(autopsyLogo)
+                .addContainerGap())
+        );
+        logoPanelLayout.setVerticalGroup(
+            logoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(logoPanelLayout.createSequentialGroup()
+                .addGap(55, 55, 55)
+                .addComponent(autopsyLogo)
+                .addContainerGap(131, Short.MAX_VALUE))
+        );
+
+        welcomeLabel.setFont(new java.awt.Font("Tahoma", 1, 18));
+        welcomeLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.welcomeLabel.text")); // NOI18N
+
+        autopsyLabel.setFont(new java.awt.Font("Tahoma", 1, 32)); // NOI18N
+        autopsyLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLabel.text")); // NOI18N
+
+        newCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/new-icon.png"))); // NOI18N
+        newCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.newCaseButton.text")); // NOI18N
+        newCaseButton.setBorder(null);
+        newCaseButton.setBorderPainted(false);
+        newCaseButton.setContentAreaFilled(false);
+        newCaseButton.setPreferredSize(new java.awt.Dimension(70, 70));
+        newCaseButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                newCaseButtonActionPerformed(evt);
+            }
+        });
+
+        openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/open-icon.png"))); // NOI18N
+        openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
+        openCaseButton.setBorder(null);
+        openCaseButton.setBorderPainted(false);
+        openCaseButton.setContentAreaFilled(false);
+        openCaseButton.setMargin(new java.awt.Insets(1, 1, 1, 1));
+        openCaseButton.setPreferredSize(new java.awt.Dimension(70, 70));
+        openCaseButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                openCaseButtonActionPerformed(evt);
+            }
+        });
+
+        openRecentButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/open-recent-icon.png"))); // NOI18N
+        openRecentButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentButton.text")); // NOI18N
+        openRecentButton.setBorder(null);
+        openRecentButton.setBorderPainted(false);
+        openRecentButton.setContentAreaFilled(false);
+        openRecentButton.setPreferredSize(new java.awt.Dimension(70, 70));
+        openRecentButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                openRecentButtonActionPerformed(evt);
+            }
+        });
+
+        createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13));
+        createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
+
+        openLabel.setFont(new java.awt.Font("Tahoma", 0, 13));
+        openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
+
+        openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13));
+        openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel);
+        editorPanel.setLayout(editorPanelLayout);
+        editorPanelLayout.setHorizontalGroup(
+            editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(editorPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(welcomeLabel)
+                    .addComponent(autopsyLabel)
+                    .addGroup(editorPanelLayout.createSequentialGroup()
+                        .addGap(19, 19, 19)
+                        .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                            .addComponent(openCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(newCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(openRecentButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGap(18, 18, 18)
+                        .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(openLabel)
+                            .addComponent(createNewLabel)
+                            .addComponent(openRecentLabel))))
+                .addContainerGap(124, Short.MAX_VALUE))
+        );
+        editorPanelLayout.setVerticalGroup(
+            editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(editorPanelLayout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(welcomeLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(autopsyLabel)
+                .addGroup(editorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(editorPanelLayout.createSequentialGroup()
+                        .addGap(18, 18, 18)
+                        .addComponent(newCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(openCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(18, 18, 18)
+                        .addComponent(openRecentButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(17, 17, 17))
+                    .addGroup(editorPanelLayout.createSequentialGroup()
+                        .addGap(41, 41, 41)
+                        .addComponent(createNewLabel)
+                        .addGap(72, 72, 72)
+                        .addComponent(openLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 70, Short.MAX_VALUE)
+                        .addComponent(openRecentLabel)
+                        .addGap(45, 45, 45))))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(startupCheckBox)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 345, Short.MAX_VALUE)
+                        .addComponent(closeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(logoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(editorPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(editorPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(logoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addGap(20, 20, 20)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(closeButton)
+                    .addComponent(startupCheckBox))
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void newCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newCaseButtonActionPerformed
+        Lookup.getDefault().lookup(CaseNewAction.class).actionPerformed(evt);
+    }//GEN-LAST:event_newCaseButtonActionPerformed
+
+    private void openCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openCaseButtonActionPerformed
+        Lookup.getDefault().lookup(CaseOpenAction.class).actionPerformed(evt);
+    }//GEN-LAST:event_openCaseButtonActionPerformed
+
+    private void openRecentButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openRecentButtonActionPerformed
+
+        // open the recent cases dialog
+        Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+
+        // set the popUp window / JFrame
+        recentCasesWindow.setSize(750, 400);
+
+        int w = recentCasesWindow.getSize().width;
+        int h = recentCasesWindow.getSize().height;
+
+        // set the location of the popUp Window on the center of the screen
+        recentCasesWindow.setLocation((screenDimension.width - w)/2, (screenDimension.height - h)/2);
+
+        OpenRecentCasePanel welcomeWindow = new OpenRecentCasePanel();
+
+        // add the command to close the window to the button on the Volume Detail Panel
+        welcomeWindow.setCloseButtonActionListener( new ActionListener(){
+            @Override
+            public void actionPerformed(ActionEvent e){
+                recentCasesWindow.dispose();
+            }
+        });
+
+        recentCasesWindow.add(welcomeWindow);
+        recentCasesWindow.pack();
+        recentCasesWindow.setResizable(false);
+        recentCasesWindow.setVisible(true);
+    }//GEN-LAST:event_openRecentButtonActionPerformed
+
+    private void closeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
+        if(this.startupCheckBox.isSelected()){
+            
+            Case current = Case.getCurrentCase();
+            Properties properties = current.getProperties();
+
+            // update the properties
+            properties.setProperty(current.propStartup, "false");
+
+            // write the properties file
+            try{
+                properties.store(new FileOutputStream(new File(RecentCases.getPropertiesFilePath())), "");
+            }
+            catch(Exception ex){
+                Logger.getLogger(this.className).log(Level.WARNING, "Error: Could not update the properties file.", ex);
+            }
+        }
+    }//GEN-LAST:event_closeButtonActionPerformed
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel autopsyLabel;
+    private javax.swing.JLabel autopsyLogo;
+    private javax.swing.JButton closeButton;
+    private javax.swing.JLabel createNewLabel;
+    private javax.swing.JPanel editorPanel;
+    private javax.swing.JPanel logoPanel;
+    private javax.swing.JButton newCaseButton;
+    private javax.swing.JButton openCaseButton;
+    private javax.swing.JLabel openLabel;
+    private javax.swing.JButton openRecentButton;
+    private javax.swing.JLabel openRecentLabel;
+    private javax.swing.JCheckBox startupCheckBox;
+    private javax.swing.JLabel welcomeLabel;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Sets the Close button action listener.
+     *
+     * @param e  the action listener
+     */
+    public void setCloseButtonActionListener(ActionListener e){
+        closeButton.addActionListener(e);
+    }
+
+    /**
+     * Close the open recent cases window.
+     */
+    public static void closeOpenRecentCasesWindow(){
+        //startupWindow.setVisible(false);
+        recentCasesWindow.dispose();
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/GeneralFilter.java b/Case/src/org/sleuthkit/autopsy/casemodule/GeneralFilter.java
new file mode 100644
index 0000000000..390a09beb6
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/GeneralFilter.java
@@ -0,0 +1,84 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.io.File;
+import java.util.regex.Pattern;
+import javax.swing.filechooser.FileFilter;
+
+/**
+ * FileFilter helper class. Matches files based on extension
+ */
+public class GeneralFilter extends FileFilter{
+
+    String[] ext;
+    String desc;
+    boolean isMultiple; // whether the filter can accept multiple files.
+
+    public GeneralFilter(String[] ext, String desc, boolean isMultiple){
+        this.ext = ext;
+        this.desc = desc;
+        this.isMultiple = isMultiple;
+    }
+
+    /**
+     * Checks whether the given file is accepted by this filter.
+     *
+     * @param f         the given file
+     * @return boolean  return true if accepted, false otherwise
+     */
+    @Override
+    public boolean accept(File f) {
+        if(f.isDirectory()){
+            return true;
+        }
+        else{
+            Boolean result = false;
+            String name = f.getName().toLowerCase();
+
+            if(isMultiple){
+                for(int i = 0; i < ext.length; i++){
+                    String regex = ext[i];
+                    if (Pattern.matches(regex, name)){
+                        result = result || true;
+                    }
+                }
+            }
+            else{
+                for(int i = 0; i < ext.length; i++){
+                    if (name.endsWith(ext[i]))
+                        result = result || true;
+                }
+            }
+            return result;
+        }
+    }
+
+    /**
+     * Returns the description of this file filter
+     *
+     * @return desc  return the description
+     */
+    @Override
+    public String getDescription() {
+        return desc;
+    }
+
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.form b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.form
new file mode 100644
index 0000000000..1fb4b5286f
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.form
@@ -0,0 +1,136 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="1" max="-2" attributes="0">
+                          <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Component id="caseDirLabel" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                              <Component id="caseParentDirTextField" min="-2" pref="296" max="-2" attributes="0"/>
+                          </Group>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Component id="caseNameLabel" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
+                              <Component id="caseNameTextField" min="-2" pref="296" max="-2" attributes="0"/>
+                          </Group>
+                          <Component id="caseDirTextField" alignment="0" min="-2" pref="380" max="-2" attributes="1"/>
+                      </Group>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="caseDirBrowseButton" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="caseNameLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="caseNameTextField" alignment="3" min="-2" pref="20" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="caseDirLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="caseParentDirTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="caseDirBrowseButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="caseDirTextField" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="32" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.jLabel1.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="caseNameLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseNameLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="caseDirLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseDirLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="caseNameTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseNameTextField.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="caseParentDirTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseParentDirTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="caseDirBrowseButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseDirBrowseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="caseDirBrowseButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel2">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.jLabel2.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="caseDirTextField">
+      <Properties>
+        <Property name="editable" type="boolean" value="false"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseDirTextField.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.java b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.java
new file mode 100644
index 0000000000..111f331134
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseVisualPanel1.java
@@ -0,0 +1,251 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.io.File;
+import javax.swing.JFileChooser;
+import javax.swing.JPanel;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+
+/**
+ * The wizard panel for the new case creation.
+ *
+ * @author jantonius
+ */
+final class NewCaseVisualPanel1 extends JPanel implements DocumentListener{
+
+    private JFileChooser fc = new JFileChooser();
+    private NewCaseWizardPanel1 wizPanel;
+
+    NewCaseVisualPanel1(NewCaseWizardPanel1 wizPanel) {
+        initComponents();
+                this.wizPanel = wizPanel;
+        caseNameTextField.getDocument().addDocumentListener(this);
+        caseParentDirTextField.getDocument().addDocumentListener(this);
+    }
+
+    /**
+     * Returns the name of the this panel. This name will be shown on the left
+     * panel of the "New Case" wizard panel.
+     *
+     * @return name  the name of this panel
+     */
+    @Override
+    public String getName() {
+        return "Case Info";
+    }
+
+    /**
+     * Gets the case name that the user types on the case name text field.
+     *
+     * @return caseName  the case name from the case name text field
+     */
+    public String getCaseName(){
+        return this.caseNameTextField.getText();
+    }
+
+    /**
+     * Gets the base directory that the user typed on the base directory text field.
+     *
+     * @return baseDirectory  the base directory from the case dir text field
+     */
+    public String getCaseParentDir(){
+        return this.caseParentDirTextField.getText();
+    }
+
+    /** This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jLabel1 = new javax.swing.JLabel();
+        caseNameLabel = new javax.swing.JLabel();
+        caseDirLabel = new javax.swing.JLabel();
+        caseNameTextField = new javax.swing.JTextField();
+        caseParentDirTextField = new javax.swing.JTextField();
+        caseDirBrowseButton = new javax.swing.JButton();
+        jLabel2 = new javax.swing.JLabel();
+        caseDirTextField = new javax.swing.JTextField();
+
+        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14));
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel1.text_1")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(caseNameLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseNameLabel.text_1")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(caseDirLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseDirLabel.text")); // NOI18N
+
+        caseNameTextField.setText(org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseNameTextField.text_1")); // NOI18N
+
+        caseParentDirTextField.setText(org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseParentDirTextField.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(caseDirBrowseButton, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseDirBrowseButton.text")); // NOI18N
+        caseDirBrowseButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                caseDirBrowseButtonActionPerformed(evt);
+            }
+        });
+
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel2.text_1")); // NOI18N
+
+        caseDirTextField.setEditable(false);
+        caseDirTextField.setText(org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseDirTextField.text_1")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(jLabel2)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
+                            .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                                .addComponent(caseDirLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(caseParentDirTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
+                                .addComponent(caseNameLabel)
+                                .addGap(26, 26, 26)
+                                .addComponent(caseNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE))
+                            .addComponent(caseDirTextField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(caseDirBrowseButton)))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(31, 31, 31)
+                .addComponent(jLabel1)
+                .addGap(18, 18, 18)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(caseNameLabel)
+                    .addComponent(caseNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(caseDirLabel)
+                    .addComponent(caseParentDirTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(caseDirBrowseButton))
+                .addGap(18, 18, 18)
+                .addComponent(jLabel2)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(caseDirTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(32, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * The action when the Browse button is pressed. The browse button will pop
+     * up the file chooser window to choose where the user wants to save the 
+     * case directory.
+     *
+     * @param evt  the action event
+     */
+    private void caseDirBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caseDirBrowseButtonActionPerformed
+        // show the directory chooser where the case directory will be created
+        fc.setDragEnabled(false);
+        if(!caseParentDirTextField.getText().trim().equals("")){
+            fc.setSelectedFile(new File(caseParentDirTextField.getText()));
+        }
+        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+        //fc.setSelectedFile(new File("C:\\Program Files\\"));
+        //disableTextField(fc); // disable all the text field on the file chooser
+
+        int returnValue = fc.showSaveDialog((Component)evt.getSource());
+        if(returnValue == JFileChooser.APPROVE_OPTION){
+            String path = fc.getSelectedFile().getPath();
+            caseParentDirTextField.setText(path); // put the path to the textfield
+         }
+    }//GEN-LAST:event_caseDirBrowseButtonActionPerformed
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton caseDirBrowseButton;
+    private javax.swing.JLabel caseDirLabel;
+    private javax.swing.JTextField caseDirTextField;
+    private javax.swing.JLabel caseNameLabel;
+    private javax.swing.JTextField caseNameTextField;
+    private javax.swing.JTextField caseParentDirTextField;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Gives notification that there was an insert into the document.  The
+     * range given by the DocumentEvent bounds the freshly inserted region.
+     *
+     * @param e  the document event
+     */
+    @Override
+    public void insertUpdate(DocumentEvent e) {
+        this.wizPanel.fireChangeEvent();
+        updateUI(e);
+    }
+
+    /**
+     * Gives notification that a portion of the document has been
+     * removed.  The range is given in terms of what the view last
+     * saw (that is, before updating sticky positions).
+     *
+     * @param e  the document event
+     */
+    @Override
+    public void removeUpdate(DocumentEvent e) {
+        this.wizPanel.fireChangeEvent();
+        updateUI(e);
+    }
+
+    /**
+     * Gives notification that an attribute or set of attributes changed.
+     *
+     * @param e  the document event
+     */
+    @Override
+    public void changedUpdate(DocumentEvent e) {
+        this.wizPanel.fireChangeEvent();
+        updateUI(e);
+    }
+
+    /**
+     * The "listener" that listens when the fields in this form are updated.
+     * This method is used to determine when to enable / disable the "Finish" button.
+     *
+     * @param e  the document event
+     */
+    public void updateUI(DocumentEvent e) {
+
+        String caseName = this.caseNameTextField.getText();
+        String caseDir = this.caseParentDirTextField.getText();
+
+        if(!caseName.equals("") && !caseDir.equals("")){
+            caseDirTextField.setText( caseDir + File.separator + caseName);
+            wizPanel.setIsFinish(true);
+        }
+        else{
+            caseDirTextField.setText("");
+            wizPanel.setIsFinish(false);
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java
new file mode 100644
index 0000000000..8e07f6fbd2
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java
@@ -0,0 +1,157 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Component;
+import java.awt.Dialog;
+import java.text.MessageFormat;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JComponent;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.WizardDescriptor;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.SystemAction;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * Action to open the New Case wizard.
+ */
+public final class NewCaseWizardAction extends CallableSystemAction {
+
+    private WizardDescriptor.Panel[] panels;
+
+    @Override
+    public void performAction() {
+        Log.noteAction(this.getClass());
+
+
+        // there's a case open
+        if (Case.existsCurrentCase()) {
+            // show the confirmation first to close the current case and open the "New Case" wizard panel
+            String closeCurrentCase = "Do you want to save and close this case and proceed with the new case creation?";
+            NotifyDescriptor d = new NotifyDescriptor.Confirmation(closeCurrentCase, "Warning: Closing the Current Case", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+            d.setValue(NotifyDescriptor.NO_OPTION);
+
+            Object res = DialogDisplayer.getDefault().notify(d);
+            if (res != null && res == DialogDescriptor.YES_OPTION) {
+                try {
+                    Case.getCurrentCase().closeCase(); // close the current case
+                    newCaseAction(); // start the new case creation process
+                } catch (Exception ex) {
+                    Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.SEVERE, "Error closing case.", ex);
+                }
+            }
+        } else {
+            newCaseAction();
+        }
+    }
+
+    /**
+     * The method to perform new case creation
+     */
+    private void newCaseAction() {
+        WizardDescriptor wizardDescriptor = new WizardDescriptor(getPanels());
+        // {0} will be replaced by WizardDesriptor.Panel.getComponent().getName()
+        wizardDescriptor.setTitleFormat(new MessageFormat("{0}"));
+        wizardDescriptor.setTitle("New Case Information");
+        Dialog dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
+        dialog.setVisible(true);
+        dialog.toFront();
+
+
+        boolean finished = wizardDescriptor.getValue() == WizardDescriptor.FINISH_OPTION; // check if it finishes (it's not cancelled)
+        boolean isCancelled = wizardDescriptor.getValue() == WizardDescriptor.CANCEL_OPTION; // check if the "Cancel" button is pressed
+
+        // if the finish button is pressed (not cancelled)
+        if (finished) {
+            // nothing to do, the Add Image dialog will pop up on its own because we've just opened a case with no images
+        }
+
+        // if Cancel button is pressed
+        if (isCancelled) {
+            // if there's case opened, close the case
+            if (Case.existsCurrentCase()) {
+                // close the previous case if there's any
+                CaseCloseAction closeCase = SystemAction.get(CaseCloseAction.class);
+                closeCase.actionPerformed(null);
+            }
+        }
+        panels = null; // reset the panel
+    }
+
+    /**
+     * Initialize panels representing individual wizard's steps and sets
+     * various properties for them influencing wizard appearance.
+     */
+    private WizardDescriptor.Panel[] getPanels() {
+        if (panels == null) {
+            panels = new WizardDescriptor.Panel[]{
+                        new NewCaseWizardPanel1()
+                    };
+            String[] steps = new String[panels.length];
+            for (int i = 0; i < panels.length; i++) {
+                Component c = panels[i].getComponent();
+                // Default step name to component name of panel. Mainly useful
+                // for getting the name of the target chooser to appear in the
+                // list of steps.
+                steps[i] = c.getName();
+                if (c instanceof JComponent) { // assume Swing components
+                    JComponent jc = (JComponent) c;
+                    // Sets step number of a component
+                    // TODO if using org.openide.dialogs >= 7.8, can use WizardDescriptor.PROP_*:
+                    jc.putClientProperty("WizardPanel_contentSelectedIndex", new Integer(i));
+                    // Sets steps names for a panel
+                    jc.putClientProperty("WizardPanel_contentData", steps);
+                    // Turn on subtitle creation on each step
+                    jc.putClientProperty("WizardPanel_autoWizardStyle", Boolean.TRUE);
+                    // Show steps on the left side with the image on the background
+                    jc.putClientProperty("WizardPanel_contentDisplayed", Boolean.TRUE);
+                    // Turn on numbering of all steps
+                    jc.putClientProperty("WizardPanel_contentNumbered", Boolean.TRUE);
+                }
+            }
+        }
+        return panels;
+    }
+
+    @Override
+    public String getName() {
+        return "New Case Wizard";
+    }
+
+    @Override
+    public String iconResource() {
+        return null;
+    }
+
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+
+    @Override
+    protected boolean asynchronous() {
+        return false;
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardPanel1.java b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardPanel1.java
new file mode 100644
index 0000000000..b28724dabe
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardPanel1.java
@@ -0,0 +1,278 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.WizardDescriptor;
+import org.openide.WizardValidationException;
+import org.openide.util.HelpCtx;
+
+/**
+ * The "New Case" wizard panel with a component on it. This class represents 
+ * data of wizard step. It defers creation and initialization of UI component
+ * of wizard panel into getComponent() method.
+ *
+ * @author jantonius
+ */
+class NewCaseWizardPanel1 implements WizardDescriptor.ValidatingPanel<WizardDescriptor> {
+
+    /**
+     * The visual component that displays this panel. If you need to access the
+     * component from this class, just use getComponent().
+     */
+    private NewCaseVisualPanel1 component;
+    private Boolean isFinish = false;
+
+    /**
+     * Get the visual component for the panel. In this template, the component
+     * is kept separate. This can be more efficient: if the wizard is created
+     * but never displayed, or not all panels are displayed, it is better to
+     * create only those which really need to be visible.
+     *
+     * @return component  the UI component of this wizard panel
+     */
+    @Override
+    public NewCaseVisualPanel1 getComponent() {
+        if (component == null) {
+            component = new NewCaseVisualPanel1(this);
+        }
+        return component;
+    }
+
+    /**
+     * Help for this panel. When the panel is active, this is used as the help
+     * for the wizard dialog.
+     * 
+     * @return HelpCtx.DEFAULT_HELP  the help for this panel
+     */
+    @Override
+    public HelpCtx getHelp() {
+        // Show no Help button for this panel:
+        return HelpCtx.DEFAULT_HELP;
+        // If you have context help:
+        // return new HelpCtx(SampleWizardPanel1.class);
+    }
+
+    /**
+     * Tests whether the panel is finished. If the panel is valid, the "Finish"
+     * button will be enabled.
+     *
+     * @return boolean  true if all the fields are correctly filled, false otherwise
+     */
+    @Override
+    public boolean isValid() {
+        // If it is always OK to press Next or Finish, then:
+        return isFinish;
+        // If it depends on some condition (form filled out...), then:
+        // return someCondition();
+        // and when this condition changes (last form field filled in...) then:
+        // fireChangeEvent();
+        // and uncomment the complicated stuff below.
+    }
+    private final Set<ChangeListener> listeners = new HashSet<ChangeListener>(1); // or can use ChangeSupport in NB 6.0
+
+    /**
+     * Adds a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to add
+     */
+    @Override
+    public final void addChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.add(l);
+        }
+    }
+
+    /**
+     * Removes a listener to changes of the panel's validity.
+     *
+     * @param l  the change listener to move
+     */
+    @Override
+    public final void removeChangeListener(ChangeListener l) {
+        synchronized (listeners) {
+            listeners.remove(l);
+        }
+    }
+
+    /**
+     * This method is auto-generated. It seems that this method is used to listen
+     * to any change in this wizard panel.
+     */
+    protected final void fireChangeEvent() {
+        Iterator<ChangeListener> it;
+        synchronized (listeners) {
+            it = new HashSet<ChangeListener>(listeners).iterator();
+        }
+        ChangeEvent ev = new ChangeEvent(this);
+        while (it.hasNext()) {
+            it.next().stateChanged(ev);
+        }
+    }
+
+    /**
+     * Sets the isFinish variable in this class. isFinish variable is used to
+     * determine whether the Finish button should be disabled or not.
+     *
+     * @param isFinish  the given parameter (boolean)
+     */
+    public void setIsFinish(Boolean isFinish) {
+        this.isFinish = isFinish;
+        fireChangeEvent();
+    }
+
+    // You can use a settings object to keep track of state. Normally the
+    // settings object will be the WizardDescriptor, so you can use
+    // WizardDescriptor.getProperty & putProperty to store information entered
+    // by the user.
+    /**
+     * Provides the wizard panel with the current data--either the default data
+     * or already-modified settings, if the user used the previous and/or next
+     * buttons. This method can be called multiple times on one instance of
+     * WizardDescriptor.Panel.
+     * 
+     * @param settings  the setting to be read from
+     */
+    @Override
+    public void readSettings(WizardDescriptor settings) {
+    }
+
+    /**
+     * Provides the wizard panel with the opportunity to update the settings 
+     * with its current customized state. Rather than updating its settings
+     * with every change in the GUI, it should collect them, and then only save
+     * them when requested to by this method. This method can be called multiple
+     * times on one instance of WizardDescriptor.Panel.
+     *
+     * @param settings  the setting to be stored to
+     */
+    @Override
+    public void storeSettings(WizardDescriptor settings) {
+        settings.putProperty("caseName", getComponent().getCaseName());
+        settings.putProperty("caseParentDir", getComponent().getCaseParentDir());
+    }
+
+    @Override
+    public void validate() throws WizardValidationException {
+        String caseName = getComponent().getCaseName();
+        String caseParentDir = getComponent().getCaseParentDir();
+        String caseDirPath = caseParentDir + File.separator + caseName;
+
+        // check if case Name contain one of this following symbol:
+        //  \ / : * ? " < > |
+        if (!Case.isValidName(caseName)) {
+            String errorMsg = "The Case Name cannot contain any of this following symbol: \\ / : * ? \" < > |";
+            validationError(errorMsg);
+        } else {
+            // check if the directory exist
+            if (new File(caseDirPath).exists()) {
+                // throw a warning to enter new data or delete the existing directory
+                String errorMsg = "Case directory '" + caseDirPath + "' already exists.";
+                validationError(errorMsg);
+            } else {
+                // check if the "base" directory path is absolute
+                File baseDir = new File(caseParentDir);
+                if (baseDir.isAbsolute()) {
+                    // when the base directory doesn't exist
+                    if (!baseDir.exists()) {
+                        // get confirmation to create directory
+                        String confMsg = "The base directory \'" + caseParentDir + "\' doesn't exist. \n \n Do you want to make that directory?";
+                        NotifyDescriptor d2 = new NotifyDescriptor.Confirmation(confMsg, "Create directory", NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE);
+                        d2.setValue(NotifyDescriptor.NO_OPTION);
+
+                        Object res2 = DialogDisplayer.getDefault().notify(d2);
+                        if (res2 != null && res2 == DialogDescriptor.YES_OPTION) {
+                            // if user say yes
+                            try {
+                                createDirectory(caseDirPath, caseName);
+                            } catch (Exception ex) {
+                                String errorMsg = "Error: Couldn't create directory.";
+                                Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, errorMsg, ex);
+                                validationError(errorMsg);
+                            }
+                        }
+                        if (res2 != null && res2 == DialogDescriptor.NO_OPTION) {
+                            // if user say no
+                            validationError("Prevented from creating base directory.");
+                        }
+                    } else {
+                        try {
+                            createDirectory(caseDirPath, caseName);
+                        } catch (Exception ex) {
+                            String errorMsg = "Error: Couldn't create directory.";
+                            Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, errorMsg, ex);
+                            validationError(errorMsg);
+                        }
+                    }
+                } else {
+                    // throw a notification
+                    String errorMsg = "ERROR: The Base Directory that you entered is not valid.\nPlease enter a valid Base Directory.";
+                    validationError(errorMsg);
+                }
+            }
+        }
+    }
+
+
+    private void validationError(String errorMsg) throws WizardValidationException {
+        throw new WizardValidationException(this.getComponent(), errorMsg, null);
+    }
+
+        /*
+     * create the directory and create a new case
+     */
+    private void createDirectory(final String caseDirPath, final String caseName) throws Exception {
+        // try to create the directory with the case name in the choosen parent directory
+        boolean success = Case.createCaseDirectory(caseDirPath, caseName);
+
+        // check if the directory is successfully created
+        if (!success) {
+
+            // delete the folder if we already created the folder and the error shows up
+            if (new File(caseDirPath).exists()) {
+                Case.deleteCaseDirectory(new File(caseDirPath));
+            }
+
+            String errorMsg = "ERROR: Could not create the case directory. \nPlease enter a valid Case Name and Directory.";
+            validationError(errorMsg);
+        } // the new case directory is successfully created
+        else {
+            // try to close Startup window if there's one
+            try {
+                StartupWindow.getInstance().close();
+            } catch (Exception ex) {
+                Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.INFO, "Startup window didn't close as expected.", ex);
+
+            }
+
+            Case.create(caseDirPath, caseName); // create a new Case
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.form b/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.form
new file mode 100644
index 0000000000..217feeb9bf
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.form
@@ -0,0 +1,99 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" attributes="0">
+                          <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="292" max="-2" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <Component id="imagesTableScrollPane" pref="470" max="32767" attributes="0"/>
+                          <EmptySpace max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" alignment="1" attributes="0">
+                      <Component id="cancelButton" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="imagesTableScrollPane" min="-2" pref="170" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="cancelButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="OpenRecentCasePanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="cancelButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="OpenRecentCasePanel.cancelButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JScrollPane" name="imagesTableScrollPane">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTable" name="imagesTable">
+          <Properties>
+            <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
+              <Table columnCount="3" rowCount="0">
+                <Column editable="false" title="Case Name" type="java.lang.Object"/>
+                <Column editable="false" title="Path" type="java.lang.Object"/>
+                <Column editable="true" title="Open" type="java.lang.Object"/>
+              </Table>
+            </Property>
+            <Property name="showHorizontalLines" type="boolean" value="false"/>
+            <Property name="showVerticalLines" type="boolean" value="false"/>
+            <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
+              <TableHeader reorderingAllowed="false" resizingAllowed="true"/>
+            </Property>
+            <Property name="updateSelectionOnSort" type="boolean" value="false"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java b/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
new file mode 100644
index 0000000000..4f0fc0903f
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java
@@ -0,0 +1,213 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+
+/**
+ * Panel show from the splash dialog that shows recent cases and allows them
+ * to be opened.
+ */
+class OpenRecentCasePanel extends javax.swing.JPanel {
+
+    static String[] caseName;
+    static String[] casePaths;
+    
+    OpenRecentCasePanel() {
+        initComponents();
+
+        caseName = RecentCases.getInstance().getRecentCaseNames();
+        casePaths = RecentCases.getInstance().getRecentCasePaths();
+        int totalRecentCases = RecentCases.getInstance().getTotalRecentCases();
+
+        // create the headers and add all the rows
+        String[] headers = {"Case Name", "Path", "Open"};
+        String[][] rows = new String[totalRecentCases][];
+        final int lastColumn = headers.length - 1;
+
+        for(int i = 0; i < totalRecentCases; i++){
+            String path = casePaths[i];
+            String shortenPath = path;
+            if(path.length() > 50){
+                shortenPath = shortenPath.substring(0, 10 + shortenPath.substring(10).indexOf(File.separator) + 1) + "..." +
+                        shortenPath.substring((shortenPath.length() - 20) + shortenPath.substring(shortenPath.length() - 20).indexOf(File.separator));
+            }
+            String[] thisRow = {caseName[i], shortenPath, path};
+            rows[i] = thisRow;
+            //model.insertRow(i, row);
+        }
+
+        // create the table inside with the imgPaths information
+        DefaultTableModel model = new DefaultTableModel(rows, headers)
+        {
+            @Override
+            // make the cells in the FileContentTable "read only"
+            public boolean isCellEditable(int row, int column){
+                return column == lastColumn; // make the last column (Remove button), only the editable
+            }
+        };
+        imagesTable.setModel(model);
+
+        // set the size of the remove column
+        TableColumn removeCol = imagesTable.getColumnModel().getColumn(lastColumn);
+        removeCol.setPreferredWidth(75);
+        removeCol.setMaxWidth(75);
+        removeCol.setMinWidth(75);
+        removeCol.setResizable(false);
+
+        // create the delete action to remove the image from the current case
+        Action open = new AbstractAction()
+        {
+            @Override
+            public void actionPerformed(ActionEvent e)
+            {
+                // get the image path
+                JTable table = (JTable)e.getSource();
+                int modelRow = Integer.valueOf(e.getActionCommand());
+                String removeColumn = table.getValueAt(modelRow, lastColumn).toString();
+
+                // try to close Startup and openRecentCase window if they exist
+                try{
+                    StartupWindow.getInstance().close();
+                    CueBannerPanel.closeOpenRecentCasesWindow();
+                }
+                catch(Exception ex){
+                    // no need to show the error message to the user.
+                    //TODO: But maybe put the error message in the log in the future.
+                }
+
+                // Open the recent cases
+                try {
+                    Case.open(removeColumn); // open the case
+                } catch (Exception ex) {
+                    Logger.getLogger(OpenRecentCasePanel.class.getName()).log(Level.WARNING, "Error: couldn't open case.", ex);
+                }
+            }
+        };
+
+        ButtonColumn buttonColumn = new ButtonColumn(imagesTable, open, lastColumn, "Open");
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jLabel1 = new javax.swing.JLabel();
+        cancelButton = new javax.swing.JButton();
+        imagesTableScrollPane = new javax.swing.JScrollPane();
+        imagesTable = new javax.swing.JTable();
+
+        jLabel1.setText(org.openide.util.NbBundle.getMessage(OpenRecentCasePanel.class, "OpenRecentCasePanel.jLabel1.text")); // NOI18N
+
+        cancelButton.setText(org.openide.util.NbBundle.getMessage(OpenRecentCasePanel.class, "OpenRecentCasePanel.cancelButton.text")); // NOI18N
+        cancelButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                cancelButtonActionPerformed(evt);
+            }
+        });
+
+        imagesTable.setModel(new javax.swing.table.DefaultTableModel(
+            new Object [][] {
+
+            },
+            new String [] {
+                "Case Name", "Path", "Open"
+            }
+        ) {
+            boolean[] canEdit = new boolean [] {
+                false, false, true
+            };
+
+            public boolean isCellEditable(int rowIndex, int columnIndex) {
+                return canEdit [columnIndex];
+            }
+        });
+        imagesTable.setShowHorizontalLines(false);
+        imagesTable.setShowVerticalLines(false);
+        imagesTable.getTableHeader().setReorderingAllowed(false);
+        imagesTable.setUpdateSelectionOnSort(false);
+        imagesTableScrollPane.setViewportView(imagesTable);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                        .addGroup(layout.createSequentialGroup()
+                            .addComponent(jLabel1)
+                            .addGap(292, 292, 292))
+                        .addGroup(layout.createSequentialGroup()
+                            .addComponent(imagesTableScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
+                            .addContainerGap()))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addComponent(cancelButton)
+                        .addContainerGap())))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(imagesTableScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(cancelButton)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
+        // TODO add your handling code here:
+    }//GEN-LAST:event_cancelButtonActionPerformed
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton cancelButton;
+    private javax.swing.JTable imagesTable;
+    private javax.swing.JScrollPane imagesTableScrollPane;
+    private javax.swing.JLabel jLabel1;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Sets the Close button action listener.
+     *
+     * @param e  the action listener
+     */
+    public void setCloseButtonActionListener(ActionListener e){
+        this.cancelButton.addActionListener(e);
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/RecentCases.java b/Case/src/org/sleuthkit/autopsy/casemodule/RecentCases.java
new file mode 100644
index 0000000000..f91a9e8f96
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/RecentCases.java
@@ -0,0 +1,442 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Deque;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JMenuItem;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+import org.sleuthkit.autopsy.logging.Log;
+import org.openide.filesystems.FileUtil;
+
+/**
+ * The action in this class is to clear the list of "Recent Cases".
+ * The constructor is called when the autopsy is running.
+ * All the method to create and modify the properties file are within this class
+ */
+public final class RecentCases extends CallableSystemAction implements Presenter.Menu {
+
+    static final int LENGTH = 5;
+    static final String NAME_PROP_KEY = "LBL_RecentCase_Name";
+    static final String PATH_PROP_KEY = "LBL_RecentCase_Path";
+    static final RecentCase BLANK_RECENTCASE = new RecentCase("", "");
+    // get the path of the case.properties file in the user directory
+    private final static String propFilePath = System.getProperty("netbeans.user") + File.separator + "autopsy.properties";
+
+    private final static RecentCases INSTANCE = new RecentCases();
+
+    private Properties properties;
+    private Deque<RecentCase> recentCases; // newest case is last case
+
+
+    /**
+     * Gets the instance of the RecentCases singleton.
+     *
+     * 
+     * @return INSTANCE  the RecentCases singleton
+     */
+    static public RecentCases getInstance() {
+        return INSTANCE;
+    }
+
+    static private Properties makeDefaults() {
+        Properties temp = new Properties();
+        for (int i = 0; i < LENGTH; i++) {
+            temp.setProperty(nameKey(i), "");
+            temp.setProperty(pathKey(i), "");
+        }
+
+        return temp;
+    }
+
+    /** the constructor */
+    private RecentCases() {
+        properties = new Properties(makeDefaults());
+        try {
+            // try to load all the recent cases from the properties file in the home directory
+            InputStream inputStream = new FileInputStream(propFilePath);
+            properties.load(inputStream);
+        } catch (Exception ignore) {
+            // if cannot load it, we create a new properties file without any data inside it
+            try {
+                // create the directory and property file to store it
+                File output = new File(propFilePath);
+                if (!output.exists()) {
+                    File parent = new File(output.getParent());
+                    if (!parent.exists()) {
+                        parent.mkdirs();
+                    }
+                    output.createNewFile();
+                    FileOutputStream fos = new FileOutputStream(output);
+                    properties.store(fos, "");
+                } else {
+                    // if the property file already exist, throw an error that says cannot load that file
+                    Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not load the property file.", new Exception("The properties file already exist and can't load that file."));
+                }
+            } catch (IOException ex2) {
+                Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not create the property file.", ex2);
+            }
+        }
+
+
+        // Load recentCases from properties
+        recentCases = new LinkedList<RecentCase>();
+
+        for (int i = 0; i < LENGTH; i++) {
+            final RecentCase rc = new RecentCase(getName(i), getPath(i));
+            if (!rc.equals(BLANK_RECENTCASE)) {
+                recentCases.add(rc);
+            }
+        }
+    }
+
+    private static void validateCaseIndex(int i) {
+        if (i < 0 || i >= LENGTH) {
+            throw new IllegalArgumentException("Recent case index " + i + " is out of range.");
+        }
+    }
+
+    private static String nameKey(int i) {
+        validateCaseIndex(i);
+        return NAME_PROP_KEY + Integer.toString(i + 1);
+    }
+
+    private static String pathKey(int i) {
+        validateCaseIndex(i);
+        return PATH_PROP_KEY + Integer.toString(i + 1);
+    }
+
+    private String getName(int i) {
+        return properties.getProperty(nameKey(i));
+    }
+
+    private String getPath(int i) {
+        return properties.getProperty(pathKey(i));
+    }
+
+    private void setName(int i, String name) {
+        properties.setProperty(nameKey(i), name);
+    }
+
+    private void setPath(int i, String path) {
+        properties.setProperty(pathKey(i), path);
+    }
+
+    private void setRecentCase(int i, RecentCase rc) {
+        setName(i, rc.name);
+        setPath(i, rc.path);
+    }
+
+    private static final class RecentCase {
+
+        String name, path;
+        
+        /**
+         * @param name The case name or "" if a blank placeholder case
+         * @param path A normalized path (via FileUtil.normalizePath(path)) or "" if a blank placeholder case
+         */
+        private RecentCase(String name, String path) {
+            this.name = name;
+            this.path = path;
+        }
+        
+        /**
+         * Used when creating RecentCases with external data. The path must be 
+         * normalized so that duplicate cases always have the same path.
+         * @param name The case name.
+         * @param unsafePath The (potentially un-normalized) case path.
+         * @return The created RecentCase.s
+         */
+        static RecentCase createSafe(String name, String unsafePath) {
+            return new RecentCase(name, FileUtil.normalizePath(unsafePath));
+        }
+
+        // netbeans autogenerated hashCode
+        @Override
+        public int hashCode() {
+            int hash = 7;
+            hash = 13 * hash + (this.name != null ? this.name.hashCode() : 0);
+            hash = 13 * hash + (this.path != null ? this.path.hashCode() : 0);
+            return hash;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null) {
+                return false;
+            }
+            if (getClass() != obj.getClass()) {
+                return false;
+            }
+            final RecentCase other = (RecentCase) obj;
+            if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) {
+                return false;
+            }
+            if ((this.path == null) ? (other.path != null) : !this.path.equals(other.path)) {
+                return false;
+            }
+            return true;
+        }
+    }
+
+    private void storeProperties() throws IOException {
+        properties.store(new FileOutputStream(new File(propFilePath)), "");
+    }
+
+    private void storeRecentCases() throws IOException {
+        int i = 0;
+
+        // store however many recent cases exist
+        for (RecentCase rc : recentCases) {
+            setRecentCase(i, rc);
+            i++;
+        }
+
+        // set the rest to blanks
+        while (i < LENGTH) {
+            setRecentCase(i, BLANK_RECENTCASE);
+            i++;
+        }
+
+        storeProperties();
+    }
+
+    /**
+     * Gets a menu item that can present this action in a JMenu.
+     *
+     * @return menuItem  the representation menu item for this action
+     */
+    @Override
+    public JMenuItem getMenuPresenter() {
+        return new UpdateRecentCases();
+    }
+
+    /**
+     * This action is used to clear all the recent cases menu options.
+     *
+     * @param e  the action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        UpdateRecentCases.hasRecentCase = false;
+
+        recentCases.clear();
+
+        try {
+            // clear the properties file
+            storeRecentCases();
+        } catch (Exception ex) {
+            Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not clear the properties file.", ex);
+        }
+    }
+
+    private void addRecentCase(RecentCase rc) {
+        // remove the case if it's already in the list
+        recentCases.remove(rc);
+                
+        // make space if it's needed
+        if (recentCases.size() == LENGTH) recentCases.remove();
+
+        recentCases.add(rc);
+    }
+
+    /**
+     * Adds a recent case to the top of the list. If the case is already in the
+     * list, it will be removed before the new entry is added. 
+     *
+     * @param name  the name of the recent case to be added
+     * @param unsafePath  the (potentially un-normalized) path of the case
+     * config file
+     */
+    public void addRecentCase(String name, String unsafePath) {
+        RecentCase rc = RecentCase.createSafe(name, unsafePath);
+
+        addRecentCase(rc);
+
+        this.getMenuPresenter().setVisible(true); // invoke the contructor again
+
+        try {
+            storeRecentCases();
+        } catch (Exception ex) {
+            Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not update the properties file.", ex);
+        }
+    }
+
+    /**
+     * This method is used to update the name and path of a RecentCase.
+     *
+     * @param oldName  the old recent case name
+     * @param oldPath  the old recent case config file path
+     * @param newName  the new recent case name
+     * @param newPath  the new recent case config file path
+     * @throws Exception
+     */
+    public void updateRecentCase(String oldName, String oldPath, String newName, String newPath) throws Exception {
+        RecentCase oldRc = RecentCase.createSafe(oldName, oldPath);
+        RecentCase newRc = RecentCase.createSafe(newName, newPath);
+
+        // remove all instances of the old recent case
+        recentCases.removeAll(Arrays.asList(oldRc));
+
+        addRecentCase(newRc);
+
+        this.getMenuPresenter().setVisible(true); // invoke the contructor again
+
+        try {
+            storeRecentCases();
+        } catch (Exception ex) {
+            Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not update the properties file.", ex);
+        }
+    }
+
+    /**
+     * Gets the total number of recent cases
+     *
+     * @return total  total number of recent cases
+     */
+    public int getTotalRecentCases() {
+        return recentCases.size();
+    }
+
+    /**
+     * This method is used to remove the selected name and path of the RecentCase
+     *
+     * @param name  the case name to be removed from the recent case
+     * @param path  the config file path to be removed from the recent case
+     */
+    public void removeRecentCase(String name, String path) {
+        RecentCase rc = RecentCase.createSafe(name, path);
+
+        // remove all instances of the old recent case
+        recentCases.removeAll(Arrays.asList(rc));
+
+
+        this.getMenuPresenter().setVisible(true); // invoke the contructor again
+
+        // write the properties file
+        try {
+            storeRecentCases();
+        } catch (Exception ex) {
+            Logger.getLogger(RecentCases.class.getName()).log(Level.WARNING, "Error: Could not update the properties file.", ex);
+        }
+    }
+
+    /**
+     * Gets the recent case names.
+     *
+     * @return caseNames An array String[LENGTH], newest case first, with any
+     * extra spots filled with ""
+     */
+    public String[] getRecentCaseNames() {
+        String[] caseNames = new String[LENGTH];
+
+        Iterator<RecentCase> mostRecentFirst = recentCases.descendingIterator();
+        int i = 0;
+        while (mostRecentFirst.hasNext()) {
+            caseNames[i] = mostRecentFirst.next().name;
+            i++;
+        }
+
+        while (i < caseNames.length) {
+            caseNames[i] = "";
+            i++;
+        }
+
+        return caseNames;
+    }
+
+    /**
+     * Gets the recent case paths.
+     *
+     * @return casePaths An array String[LENGTH], newest case first, with any
+     * extra spots filled with ""
+     */
+    public String[] getRecentCasePaths() {
+        String[] casePaths = new String[LENGTH];
+
+        Iterator<RecentCase> mostRecentFirst = recentCases.descendingIterator();
+        int i = 0;
+        while (mostRecentFirst.hasNext()) {
+            casePaths[i] = mostRecentFirst.next().path;
+            i++;
+        }
+
+        while (i < casePaths.length) {
+            casePaths[i] = "";
+            i++;
+        }
+
+        return casePaths;
+    }
+
+
+    // TODO: really shouldn't be done like this; need one common properties tracker
+    /**
+     * Gets the properties file paths.
+     *
+     * @return propertyPath
+     */
+    public static String getPropertiesFilePath() {
+        return propFilePath;
+    }
+
+    /**
+     * This method does nothing. Use the actionPerformed instead of this method.
+     */
+    @Override
+    public void performAction() {
+    }
+
+    /**
+     * Gets the name of this action. This may be presented as an item in a menu.
+     *
+     * @return actionName
+     */
+    @Override
+    public String getName() {
+        //return NbBundle.getMessage(RecentCases.class, "CTL_RecentCases");
+        return "Clear Recent Cases";
+    }
+
+    /**
+     * Gets the HelpCtx associated with implementing object
+     *
+     * @return HelpCtx or HelpCtx.DEFAULT_HELP
+     */
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/RecentItems.java b/Case/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
new file mode 100644
index 0000000000..8b944350dc
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/RecentItems.java
@@ -0,0 +1,70 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * This class is used to add the action to the recent case menu item. When the
+ * the recent case menu is pressed, it should open that selected case.
+ */
+class RecentItems implements ActionListener {
+
+    String caseName;
+    String casePath;
+    private JPanel caller; // for error handling
+
+    /** the constructor */
+    public RecentItems(String caseName, String casePath){
+        this.caseName = caseName;
+        this.casePath = casePath;
+    }
+
+    /**
+     * Opens the recent case.
+     *
+     * @param e  the action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+        
+        // check if the file exists
+        if(caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())){
+            // throw an error here
+            JOptionPane.showMessageDialog(caller, "Error: Case doesn't exist.", "Error", JOptionPane.ERROR_MESSAGE);
+            RecentCases.getInstance().removeRecentCase(caseName, casePath); // remove the recent case if it doesn't exist anymore
+        }
+        else {
+            try {
+                Case.open(casePath); // open the case
+            } catch (Exception ex) {
+                Logger.getLogger(RecentItems.class.getName()).log(Level.WARNING, "Error: Couldn't open recent case.", ex);
+            }
+        }
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java b/Case/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java
new file mode 100644
index 0000000000..86f29c703b
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java
@@ -0,0 +1,97 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+
+/**
+ * Displays 
+ */
+public final class StartupWindow extends JDialog {
+
+    private static StartupWindow instance;
+    private static final String TITLE = "Welcome";
+    private static Dimension DIMENSIONS = new Dimension(750, 400);
+
+    private StartupWindow(JFrame frame, String title, boolean isModal) {
+        super(frame, title, isModal);
+    }
+
+    /**
+     * Get the startup window
+     * @return the startup window singleton
+     */
+    public static synchronized StartupWindow getInstance() {
+        if (StartupWindow.instance == null) {
+            JFrame frame = new JFrame(TITLE);
+            boolean isModal = true;
+            StartupWindow.instance = new StartupWindow(frame, TITLE, isModal);
+        }
+
+
+        return instance;
+    }
+
+    /**
+     * Shows the startup window.
+     */
+    public void display() {
+
+        Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+
+        // set the popUp window / JFrame
+        setSize(DIMENSIONS);
+        int w = this.getSize().width;
+        int h = this.getSize().height;
+
+        // set the location of the popUp Window on the center of the screen
+        setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2);
+
+        CueBannerPanel welcomeWindow = new CueBannerPanel();
+
+        // add the command to close the window to the button on the Volume Detail Panel
+        welcomeWindow.setCloseButtonActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                close();
+            }
+        });
+
+        add(welcomeWindow);
+        pack();
+        setResizable(false);
+        setVisible(true);
+
+    }
+
+    /**
+     * Closes the startup window.
+     */
+    public void close() {
+        this.dispose();
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/UpdateRecentCases.java b/Case/src/org/sleuthkit/autopsy/casemodule/UpdateRecentCases.java
new file mode 100644
index 0000000000..7e219fd5c0
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/UpdateRecentCases.java
@@ -0,0 +1,94 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import javax.swing.JComponent;
+import javax.swing.JMenuItem;
+import javax.swing.JSeparator;
+import org.openide.awt.DynamicMenuContent;
+import org.openide.util.actions.SystemAction;
+
+/**
+ * This class is used to change / update the list of recent cases dynamically.
+ */
+public class UpdateRecentCases extends JMenuItem implements DynamicMenuContent {
+
+    int length;
+    static boolean hasRecentCase = false;
+
+    /** the constructor */
+    UpdateRecentCases(){
+        length = RecentCases.LENGTH;
+    }
+
+    /**
+     * Creates main menu/popup menu items. Null values will be later replaced by
+     * JSeparators. This method is called for popups and for menus. It's called
+     * each time a popup menu is constructed and just once for the main menu.
+     * Main menu updates happen through the synchMenuPresenters() method.
+     *
+     * @return
+     */
+    @Override
+    public JComponent[] getMenuPresenters() {
+        String[] caseName = RecentCases.getInstance().getRecentCaseNames();
+        String[] casePath = RecentCases.getInstance().getRecentCasePaths();
+        JComponent[] comps = new JComponent[length + 2]; // + 2 for separator and clear menu
+
+        // if it has the recent menus, add them to the component list
+        for (int i = 0; i < length; i++) {
+            if((!caseName[i].equals(""))){
+                JMenuItem menuItem = new JMenuItem(caseName[i]);
+                menuItem.setActionCommand(caseName[i].toUpperCase());
+                menuItem.addActionListener(new RecentItems(caseName[i], casePath[i]));
+                comps[i] = menuItem;
+                hasRecentCase = hasRecentCase || true;
+            }
+        }
+
+        // if it has recent case, create clear menu
+        if(hasRecentCase){
+            comps[length] = new JSeparator();
+            JMenuItem clearMenu = new JMenuItem("Clear Recent Cases");
+            clearMenu.addActionListener(SystemAction.get(RecentCases.class));
+            comps[length+1] = clearMenu;
+        }
+        // otherwise, just create a disabled empty menu
+        else{
+            comps = new JComponent[1];
+            JMenuItem emptyMenu = new JMenuItem("-Empty-");
+            emptyMenu.addActionListener(new RecentItems("", ""));
+            comps[0] = emptyMenu;
+            comps[0].setEnabled(false);
+        }
+        return comps;
+    }
+
+    /**
+     * Updates main menu presenters. This method is called only by the main menu processing.
+     *
+     * @param jcs    the previously used menu items returned by previous call to getMenuPresenters() or synchMenuPresenters()
+     * @return menu  a new set of items to show in menu. Can be either an updated old set of instances or a completely new one.
+     */
+    @Override
+    public JComponent[] synchMenuPresenters(JComponent[] jcs) {
+        return getMenuPresenters();
+    }
+}
\ No newline at end of file
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java b/Case/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java
new file mode 100644
index 0000000000..3b8e85a215
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/XMLCaseManagement.java
@@ -0,0 +1,802 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.io.*;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.TimeZone;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.xml.parsers.*;
+import javax.xml.transform.*;
+import javax.xml.transform.dom.*;
+import javax.xml.transform.stream.*;
+import org.w3c.dom.*;
+
+/**
+ *
+ * This class is used to create, access, and modify the XML configuration file,
+ * where we store the information about the case and image(s). This class uses
+ * the document handler to store the information about the case. The document
+ * handler will be created / opened when the case configuration file is created/
+ * opened.
+ *
+ * @author jantonius
+ */
+public class XMLCaseManagement implements CaseConfigFileInterface{
+    final static String TOP_ROOT_NAME = "AutopsyCase";
+    final static String CASE_ROOT_NAME = "Case";
+
+    // general metadata about the case file
+    final static String NAME = "Name";
+    final static String CREATED_DATE_NAME = "CreatedDate";
+    final static String MODIFIED_DATE_NAME = "ModifiedDate";
+    final static String SCHEMA_VERSION_NAME = "SchemaVersion";
+    final static String AUTOPSY_CRVERSION_NAME = "AutopsyCreatedVersion";
+    final static String AUTOPSY_MVERSION_NAME = "AutopsySavedVersion";
+
+    // disk image paths
+    final static String IMAGES_NAME = "Images";
+    final static String IMG_SET_NAME = "ImgSet";
+    final static String IMG_PATH_NAME = "ImgPath";
+    final static String IMG_DB_NAME = "ImgDb";
+    final static String NEXT_ID_NAME = "NextID";
+
+    // image attribute
+    final static String IMG_SET_COUNT = "count";
+    final static String IMG_SET_ID = "id";
+    final static String IMG_PATH_ID = "idx";
+    final static String TIMEZONE = "timezone";
+
+    // folders inside case directory
+    final static String LOG_FOLDER_NAME = "LogFolder";
+    final static String LOG_FOLDER_RELPATH = "Log";
+    final static String TEMP_FOLDER_NAME = "TempFolder";
+    final static String TEMP_FOLDER_RELPATH = "Temp";
+    final static String EXPORT_FOLDER_NAME = "ExportFolder";
+    final static String EXPORT_FOLDER_RELPATH = "Export";
+
+    // folders attribute
+    final static String RELATIVE_NAME = "Relative";	// relevant path info
+
+    // folder attr values
+    final static String RELATIVE_TRUE = "true";     // if it's a relative path
+    final static String RELATIVE_FALSE = "false";   // if it's not a relative path
+
+    // the document
+    private Document doc;
+
+    // general info
+    private DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss (z)");
+    private String caseDirPath;     // case directory path
+    private String caseName;        // case name
+    private String schemaVersion = "1.0";
+    private String autopsySavedVersion;
+    
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** The constructor */
+    XMLCaseManagement() throws Exception {
+        String autopsyVer = Case.getAutopsyVersion();
+//        System.setProperty("netbeans.buildnumber", autopsyVer); // set the current autopsy version // moved to CoreComponents installer
+        autopsySavedVersion = System.getProperty("netbeans.buildnumber");
+    }
+
+    /**
+     * Sets the case directory path of the case directory on the local variable
+     *
+     * @param givenPath  the new path to be stored as case directory path
+     */
+    private void setCaseDirPath(String givenPath){
+        caseDirPath = givenPath; // change this to change the xml file if needed
+    }
+
+    /**
+     * Sets the case Name on the XML configuration file
+     *
+     * @param givenCaseName  the new case name to be set
+     */
+    @Override
+    public void setCaseName(String givenCaseName) throws Exception {
+        // change this to change the xml file if needed
+        Element nameElement = (Element) getCaseElement().getElementsByTagName(NAME).item(0);
+        nameElement.setTextContent(givenCaseName);
+        doc.normalize();
+
+        // edit the modified data
+        String newDate = dateFormat.format(new Date());
+        Element rootEl = getRootElement();
+        rootEl.getElementsByTagName(MODIFIED_DATE_NAME).item(0).setTextContent(newDate);
+
+        try {
+            writeFile();
+        } catch (Exception ex) {
+            throw new Exception("Cannot update the case name in the XML config file.", ex);
+        }
+    }
+    
+    /**
+     * Sets the case name internally (on local variable in this class)
+     * 
+     * @param givenCaseName  the new case name
+     */
+    private void setName(String givenCaseName){
+        caseName = givenCaseName; // change this to change the xml file if needed
+    }
+    
+    /**
+     * Gets the case Name from the document handler
+     *
+     * @return caseName  the case name from the document handler
+     */
+    @Override
+    public String getCaseName(){
+        if(doc == null){
+            return "";
+        }
+        else{
+            Element nameElement = (Element) getCaseElement().getElementsByTagName(NAME).item(0);
+            String result = nameElement.getTextContent();
+            return result;
+        }
+    }
+
+    /**
+     * Gets the case directory path that's stored in this class
+     *
+     * @return caseDirPath  the case directory path
+     */
+    public String getCaseDirectory(){
+        if(doc == null){
+            return "";
+        }
+        else{
+            return caseDirPath;
+        }
+        // Note: change this to get the case name from the xml file if needed
+    }
+
+    /**
+     * Gets the Root Element from the document handler
+     *
+     * @return rootElement  the root element on the document handler
+     */
+    private Element getRootElement(){
+        if(doc != null){
+            return doc.getDocumentElement();
+        }
+        else{
+            return null; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the created Date from the document handler
+     *
+     * @return createdDate  the creation date of this case
+     */
+    protected String getCreatedDate(){
+        if(doc != null){
+            Element crDateElement = (Element) getRootElement().getElementsByTagName(CREATED_DATE_NAME).item(0);
+            return crDateElement.getTextContent();
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the Modified Date from the document handler
+     *
+     * @return modifiedDate  the modification date of this case
+     */
+    protected String getModifiedDate(){
+        if(doc != null){
+            Element mDateElement = (Element) getRootElement().getElementsByTagName(MODIFIED_DATE_NAME).item(0);
+            return mDateElement.getTextContent();
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the Autopsy Created Version from the document handler
+     *
+     * @return createdVersion  the version of autopsy when this case was created
+     */
+    protected String getCreatedVersion(){
+        if(doc != null){
+            Element crVerElement = (Element) getRootElement().getElementsByTagName(AUTOPSY_CRVERSION_NAME).item(0);
+            return crVerElement.getTextContent();
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the Autopsy Saved Version from the document handler
+     *
+     * @return savedVersion  the latest version of autopsy when this case is saved
+     */
+    protected String getSavedVersion(){
+        if(doc != null){
+            Element mVerElement = (Element) getRootElement().getElementsByTagName(AUTOPSY_MVERSION_NAME).item(0);
+            return mVerElement.getTextContent();
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the Schema Version from the document handler
+     *
+     * @return schemaVersion  the schema version of this XML configuration file
+     */
+    protected String getSchemaVersion(){
+        if(doc != null){
+            Element schemaVerElement = (Element) getRootElement().getElementsByTagName(SCHEMA_VERSION_NAME).item(0);
+            return schemaVerElement.getTextContent();
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the Case Element from the document handler
+     *
+     * @return caseElement  the "Case" element
+     */
+    private Element getCaseElement(){
+        if(doc != null){
+            return (Element) doc.getElementsByTagName(CASE_ROOT_NAME).item(0);
+        }
+        else{
+            return null; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the full path to the log directory
+     *
+     * @return logDir  the full path of the "Log" directory
+     */
+    protected String getLogDir(){
+        if(doc != null){
+            Element logElement = (Element)getCaseElement().getElementsByTagName(LOG_FOLDER_NAME).item(0);
+            if(logElement.getAttribute(RELATIVE_NAME).equals(RELATIVE_TRUE)){
+                return caseDirPath + File.separator + logElement.getTextContent();
+            }
+            else{
+                return logElement.getTextContent();
+            }
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the full path to the temp directory
+     *
+     * @return tempDir  the full path of the "Temp" directory
+     */
+    protected String getTempDir(){
+        if(doc != null){
+            Element tempElement = (Element)getCaseElement().getElementsByTagName(TEMP_FOLDER_NAME).item(0);
+            if(tempElement.getAttribute(RELATIVE_NAME).equals(RELATIVE_TRUE)){
+                return caseDirPath + File.separator + tempElement.getTextContent();
+            }
+            else{
+                return tempElement.getTextContent();
+            }
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets the full path to the Export directory
+     *
+     * @return exportDir  the full path of the "Export" directory
+     */
+    protected String getExportDir(){
+        if(doc != null){
+            Element exportElement = (Element)getCaseElement().getElementsByTagName(EXPORT_FOLDER_NAME).item(0);
+            if(exportElement.getAttribute(RELATIVE_NAME).equals(RELATIVE_TRUE)){
+                return caseDirPath + File.separator + exportElement.getTextContent();
+            }
+            else{
+                return exportElement.getTextContent();
+            }
+        }
+        else{
+            return ""; // should throw error or exception
+        }
+    }
+
+    /**
+     * Gets image Element from the document handler
+     *
+     * @return imageElement  the "Image" element
+     */
+    private Element getImagesElement(){
+        if(doc != null){
+            return (Element) doc.getElementsByTagName(IMAGES_NAME).item(0);
+        }
+        else{
+            return null; // should throw error or exception
+        }
+    }
+
+    /**
+     * Looks up for the Image Set Element in the document handler with the given
+     * image ID.
+     *
+     * @param id        the image ID
+     * @return element  the "ImageSet" element
+     */
+    protected Element getImageSetElement(int id){
+        if(doc != null){
+            Element result = null;
+            int totalImageSet = getImageSetCount();
+            
+            for(int i = 0; i < totalImageSet; i++){
+                Element imageSetElement = (Element)getImagesElement().getElementsByTagName(IMG_SET_NAME).item(i);
+                int imgSetID = Integer.parseInt(imageSetElement.getAttribute(IMG_SET_ID));
+                if(id == imgSetID){
+                    result = imageSetElement;
+                }
+            }
+            return result;
+        }
+        else{
+            return null; //TODO: should throw error or exception
+        }
+    }
+
+    /**
+     * Sets the ImgDb entry for corresponding image set in the document handler
+     *
+     * @param id    the image ID
+     * @param path  the image path
+     */
+    protected void setImageSetDbPath(int id, String path){
+        Element imgDbElement = (Element) getImageSetElement(id).getElementsByTagName(IMG_DB_NAME).item(0);
+        imgDbElement.setTextContent(path);
+        imgDbElement.setAttribute(RELATIVE_NAME, RELATIVE_TRUE); // depends on the path (relative or not)
+        
+        // if need to write the XML file immidiately, uncomment the code below
+        // writeFile();
+    }
+
+    /**
+     * Returns number of image sets in this case
+     *
+     * @return imageSetCount  total number of imageSet in this case
+     */
+    protected int getImageSetCount(){
+        return getImagesElement().getElementsByTagName(IMG_SET_NAME).getLength();
+    }
+
+    /**
+     * Returns a set of image paths of the given image ID in this case
+     *
+     * @param id           the image ID
+     * @return imagePaths  the image paths of the given imageID
+     */
+    protected String[] getImageSet(int id){
+        Element imgSetElement = getImageSetElement(id);
+        int totalImagePaths = imgSetElement.getElementsByTagName(IMG_PATH_NAME).getLength(); // or use the attribute count
+        String[] result = new String[totalImagePaths];
+
+        for(int i = 0; i < totalImagePaths; i++){
+            Element imgPathElement = (Element) imgSetElement.getElementsByTagName(IMG_PATH_NAME).item(i);
+            if(imgPathElement.getAttribute(RELATIVE_NAME).equals(RELATIVE_TRUE)){
+                result[i] = caseDirPath + File.separator + imgPathElement.getTextContent();
+            }
+            else{
+                result[i] = imgPathElement.getTextContent();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Returns absolute path of image database of the given image ID.
+     *
+     * @param id       the image ID
+     * @return dbPath  the database path of the given image
+     */
+    protected String getImageSetDbPath(int id){
+        Element imgDbElement = (Element) getImageSetElement(id).getElementsByTagName(IMG_DB_NAME).item(0);
+        if(imgDbElement.getAttribute(RELATIVE_NAME).equals(RELATIVE_TRUE)){
+            return caseDirPath + File.separator + imgDbElement.getTextContent();
+        }
+        else{
+            return imgDbElement.getTextContent();
+        }
+    }
+
+    /**
+     * Gets the next free image ID and and increments the internal counter
+     *
+     * @return imageID  the next free image ID
+     */
+    @Override
+    public int getNextImageID(){
+        Element imgElement = getImagesElement();
+        if(imgElement == null){
+            return -1; // which indicates the error
+        }
+        else{
+            String nextID = imgElement.getAttribute(NEXT_ID_NAME);
+            int result = Integer.parseInt(nextID);
+
+            // increment the nextID
+            int incNextID = result + 1;
+            getImagesElement().setAttribute(NEXT_ID_NAME, Integer.toString(incNextID));
+
+            // write the change to the config file immediately
+            try{ 
+                writeFile();
+            }
+            catch(Exception ex){
+                // TODO: throw exception further up
+                Logger logger = Logger.getLogger(this.className);
+                logger.log(Level.WARNING, "Error while trying to write the new NextID to the config file.", ex);
+            }
+            
+            return result;
+        }
+    }
+
+    /**
+     * Returns an array of all image ID values in this case.
+     *
+     * @return imageIDs  array of all image IDs in this case
+     */
+    @Override
+    public int[] getImageIDs() {
+        int totalImageSet = getImageSetCount();
+        int[] result = new int[totalImageSet];
+
+        Element imgElement = getImagesElement();
+        for(int i = 0; i < totalImageSet; i++){
+            Element imgSetElement = (Element)imgElement.getElementsByTagName(IMG_SET_NAME).item(i);
+            result[i] = Integer.parseInt(imgSetElement.getAttribute(IMG_SET_ID));
+        }
+
+        return result;
+    }
+
+    /**
+     * Returns the HashSet of all timezone values of all images in this case.
+     *
+     * @return imageIDs  the HashSet of all timezone values
+     */
+    public HashSet<TimeZone> getTimeZone() {
+        HashSet<TimeZone> result = new HashSet<TimeZone>();
+
+        int totalImageSet = getImageSetCount();
+        Element imgElement = getImagesElement();
+        for(int i = 0; i < totalImageSet; i++){
+            Element imgSetElement = (Element)imgElement.getElementsByTagName(IMG_SET_NAME).item(i);
+            result.add(TimeZone.getTimeZone(imgSetElement.getAttribute(TIMEZONE)));
+        }
+
+        return result;
+    }
+
+    /**
+     * Removes the imageSet of the given image ID.
+     *
+     * @param imgID  the image ID of the image that going to be removed
+     */
+    public void removeImageSet(int imgID) {
+            Element imgElement = getImagesElement();
+            Element selectedElement = getImageSetElement(imgID);
+            imgElement.removeChild(selectedElement); // remove the imagesetElement
+            doc.normalize();
+
+            // edit the modified data
+            String newDate = dateFormat.format(new Date());
+            Element rootEl = getRootElement();
+            rootEl.getElementsByTagName(MODIFIED_DATE_NAME).item(0).setTextContent(newDate);
+    }
+
+    /**
+     * Initialize the basic values for a new case management file.
+     * Note: this is the schema version 1.0
+     *
+     * @param parentPath  the name of the parent of the case directory.
+     * @param caseName    the name of the config file to be located in the case directory
+     */
+    protected void create(String dirPath, String caseName) throws Exception {
+        clear(); // clear the previous data
+
+        // set the case Name and Directory and the parent directory
+        setCaseDirPath(dirPath);
+        setName(caseName);
+        DocumentBuilder docBuilder;
+        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+
+        // throw an error here
+        try {
+             docBuilder = docFactory.newDocumentBuilder();
+        } catch (Exception ex) {
+            clear();
+            throw ex;
+        }
+
+        doc = docBuilder.newDocument();
+        Element rootElement = doc.createElement(TOP_ROOT_NAME); // <AutopsyCase> ... </AutopsyCase>
+        doc.appendChild(rootElement);
+
+        Element crDateElement = doc.createElement(CREATED_DATE_NAME); // <CreatedDate> ... </CreatedDate>
+        crDateElement.appendChild(doc.createTextNode(dateFormat.format(new Date())));
+        rootElement.appendChild(crDateElement);
+
+        Element mDateElement = doc.createElement(MODIFIED_DATE_NAME); // <ModifedDate> ... </ModifedDate>
+        mDateElement.appendChild(doc.createTextNode(dateFormat.format(new Date())));
+        rootElement.appendChild(mDateElement);
+
+        Element autVerElement = doc.createElement(AUTOPSY_CRVERSION_NAME); // <AutopsyVersion> ... </AutopsyVersion>
+        autVerElement.appendChild(doc.createTextNode(autopsySavedVersion));
+        rootElement.appendChild(autVerElement);
+
+        Element autSavedVerElement = doc.createElement(AUTOPSY_MVERSION_NAME); // <AutopsySavedVersion> ... </AutopsySavedVersion>
+        autSavedVerElement.appendChild(doc.createTextNode(autopsySavedVersion));
+        rootElement.appendChild(autSavedVerElement);
+
+        Element schVerElement = doc.createElement(SCHEMA_VERSION_NAME); // <SchemaVersion> ... </SchemaVersion>
+        schVerElement.appendChild(doc.createTextNode(schemaVersion));
+        rootElement.appendChild(schVerElement);
+
+        Element caseElement = doc.createElement(CASE_ROOT_NAME); // <Case> ... </Case>
+        rootElement.appendChild(caseElement);
+
+        Element nameElement = doc.createElement(NAME); // <Name> ... </Name>
+        nameElement.appendChild(doc.createTextNode(caseName));
+        caseElement.appendChild(nameElement);
+
+        Element exportElement = doc.createElement(EXPORT_FOLDER_NAME); // <ExportFolder> ... </ExportFolder>
+        exportElement.appendChild(doc.createTextNode(EXPORT_FOLDER_RELPATH));
+        exportElement.setAttribute(RELATIVE_NAME, "true");
+        caseElement.appendChild(exportElement);
+
+        Element logElement = doc.createElement(LOG_FOLDER_NAME); // <LogFolder> ... </LogFolder>
+        logElement.appendChild(doc.createTextNode(LOG_FOLDER_RELPATH));
+        logElement.setAttribute(RELATIVE_NAME, "true");
+        caseElement.appendChild(logElement);
+
+        Element tempElement = doc.createElement(TEMP_FOLDER_NAME); // <TempFolder> ... </TempFolder>
+        tempElement.appendChild(doc.createTextNode(TEMP_FOLDER_RELPATH));
+        tempElement.setAttribute(RELATIVE_NAME, "true");
+        caseElement.appendChild(tempElement);
+
+        // create the new images
+        Element imagesElement = doc.createElement(IMAGES_NAME); // <Images> ... </Images>
+        imagesElement.setAttribute(NEXT_ID_NAME, Integer.toString(0)); // add nextID to 0
+        rootElement.appendChild(imagesElement);
+
+        // write more code if needed ...
+    }
+
+    /**
+     * Writes the case management file to disk (from document handler to .aut file)
+     *
+     */
+    @Override
+    public void writeFile() throws Exception {
+        if (doc == null || caseName.equals("")) {
+            throw new Exception("No set case to write management file for.");
+        }
+
+        // Prepare the DOM document for writing
+        Source source = new DOMSource(doc);
+
+        // Prepare the data for the output file
+        StringWriter sw = new StringWriter();
+        Result result = new StreamResult(sw);
+
+        // Write the DOM document to the file
+        Transformer xformer;// = TransformerFactory.newInstance().newTransformer();
+        TransformerFactory tfactory = TransformerFactory.newInstance();
+
+        try {
+            xformer = tfactory.newTransformer();
+        } catch (Exception ex) {
+            throw ex;
+        }
+
+        //Setup indenting to "pretty print"
+        xformer.setOutputProperty(OutputKeys.INDENT, "yes");
+        xformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
+
+        try {
+            xformer.transform(source, result);
+        } catch (TransformerException ex) {
+            throw ex;
+        }
+
+        // preparing the output file
+        String xmlString = sw.toString();
+        File file = new File(caseDirPath + File.separator + caseName + ".aut");
+
+        // write the file
+        try {
+            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
+            bw.write(xmlString);
+            bw.flush();
+            bw.close();
+        } catch (Exception ex) {
+            throw ex;
+        }
+    }
+
+    /**
+     * Opens the configuration file and load the document handler
+     * Note: this is for the schema version 1.0
+     *
+     * @param conFilePath  the path of the XML case configuration file path
+     */
+    @Override
+    public void open(String conFilePath) throws Exception{
+        clear();
+        File file = new File(conFilePath);
+        
+        try{
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            DocumentBuilder db = dbf.newDocumentBuilder();
+            doc = db.parse(file);
+            doc.getDocumentElement().normalize();
+
+            Element rootEl = doc.getDocumentElement();
+            String rootName = rootEl.getNodeName();
+
+            // check if it's the autopsy case, if not, throws an error
+            if(!rootName.equals(TOP_ROOT_NAME)){
+                // throw an error ...
+                clear();
+                JOptionPane.showMessageDialog(caller, "Error: This is not an Autopsy config file (\"" + file.getName() + "\").\n \nDetail: \nCannot open a non-Autopsy config file (at " + className + ").", "Error", JOptionPane.ERROR_MESSAGE);
+            }
+            else{
+                /* Autopsy Created Version */
+                String createdVersion = getCreatedVersion(); // get the created version
+
+                // check if it has the same autopsy version as the current one
+                if(!createdVersion.equals(autopsySavedVersion)){
+                    // if not the same version, update the saved version in the xml to the current version
+                    getRootElement().getElementsByTagName(AUTOPSY_MVERSION_NAME).item(0).setTextContent(autopsySavedVersion);
+                }
+
+                /* Schema Version */
+                String schemaVer = getSchemaVersion();
+                // check if it has the same schema version as the current one
+                if(!schemaVer.equals(schemaVersion)){
+                    // do something here if not the same version
+                    // ... @Override
+                }
+
+                // set the case Directory and Name
+                setCaseDirPath(file.getParent());
+                String fullFileName = file.getName();
+                String fileName = fullFileName.substring(0, fullFileName.indexOf(".")); // remove the extension
+                setName(fileName);
+            }
+        }
+        catch(Exception e){
+            throw e;
+            // throw an error here
+            //JOptionPane.showMessageDialog(caller, "Error: This file is not supported (\"" + file.getName() + "\").\n \nDetail: \n" + e.getMessage() + " (at " + className + ")." , "Error", JOptionPane.ERROR_MESSAGE);
+        }
+    }
+
+    /**
+     * When user wants to close the case. This method writes any changes to the
+     * XML case configuration file, closes it and the document handler, and
+     * clears all the local variables / fields.
+     *
+     */
+    @Override
+    public void close() throws Exception {
+        try {
+            writeFile(); // write any changes to xml
+        } catch (Exception ex) {
+            throw new Exception("Error: error while trying to close XML config file.", ex);
+        }
+
+        clear();
+    }
+
+    /**
+     * Clear the internal structures / variables
+     */
+    private void clear() {
+        doc = null;
+        caseDirPath = "";
+        caseName = "";
+    }
+
+    /**
+     * Adds the image to the current document handler.
+     *
+     * @param images     the paths of the images that want to be added
+     * @param currentID  the ID of the image that want to be added
+     * @param timeZone   the timeZone where the image is added
+     */
+    protected void addImage(String[] images, long currentID, String timeZone) throws Exception {
+
+        String dbName = "image-" + currentID + ".db";
+
+        if (doc == null) {
+            throw new Exception("No case open.");
+        } else {
+            Element rootEl = getRootElement();
+
+            int imgCount = images.length; // how many given images to add to the config file
+            Element imagesElement = getImagesElement();
+
+            //int currentID = Integer.parseInt(imagesElement.getAttribute(NEXT_ID_NAME));
+
+            // add the latest image set
+            Element imgSetElement = doc.createElement(IMG_SET_NAME); // <ImgSet> ... </ImgSet>
+            imgSetElement.setAttribute(IMG_SET_COUNT, Integer.toString(imgCount));
+            imgSetElement.setAttribute(IMG_SET_ID, Long.toString(currentID));
+            imgSetElement.setAttribute(TIMEZONE, timeZone);
+            imagesElement.appendChild(imgSetElement);
+
+            // add all the image Path
+            for (int i = 0; i < imgCount; i++) {
+                Element imgPathElement = doc.createElement(IMG_PATH_NAME); // <ImgPath> ... </ImgPath>
+                imgPathElement.setAttribute(IMG_PATH_ID, Integer.toString(i));
+                imgPathElement.setAttribute(RELATIVE_NAME, "false");
+                imgPathElement.appendChild(doc.createTextNode(images[i]));
+                imgSetElement.appendChild(imgPathElement);
+            }
+
+            // add the database
+            Element imgDbElement = doc.createElement(IMG_DB_NAME); // <ImgDb> ... </ImgDb>
+            imgDbElement.setAttribute(RELATIVE_NAME, "true");
+            imgDbElement.appendChild(doc.createTextNode(dbName));
+            //imgDbElement.appendChild(doc.createTextNode("image-" + currentID + ".db"));
+            imgSetElement.appendChild(imgDbElement);
+
+            // edit the modified data
+            String newDate = dateFormat.format(new Date());
+            rootEl.getElementsByTagName(MODIFIED_DATE_NAME).item(0).setTextContent(newDate);
+        }
+
+//            JOptionPane.showMessageDialog(caller, "Error while trying to add the image to XML config file.\n \nDetail: \n" + e.getMessage() + " (at " + className + ").", "Error", JOptionPane.ERROR_MESSAGE);
+
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/addImage-icon.png b/Case/src/org/sleuthkit/autopsy/casemodule/addImage-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a36d4714ac9db8a3888ab2610bef2ab0cfbb6b7c
GIT binary patch
literal 1632
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

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/casemodule-helpset.xml b/Case/src/org/sleuthkit/autopsy/casemodule/casemodule-helpset.xml
new file mode 100644
index 0000000000..cf939eae2e
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/casemodule-helpset.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpsetref PUBLIC "-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN" "http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
+<helpsetref url="nbdocs:/org/sleuthkit/autopsy/casemodule/docs/casemodule-hs.xml"/>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/close-icon.png b/Case/src/org/sleuthkit/autopsy/casemodule/close-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b46fafe588f4b3e296cdfc9b08ff596b9745df
GIT binary patch
literal 1069
zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuL8zj(ShhE&{|8W!s#5-##D
zZTj7bcatKwEc>%`npi+Le{aK9fuKvPGBdVn9@(aLY=(yC<YhA?<iA|~k&?7v-<GEb
z+y5=`RP@cr=nhyZ=oGx5mhr4tmao8ywYvf(627Hhdw=du;`=<a26fAs#^#%!TR*RP
zK5w(sHGQel<}K4#p8WbR!&Gy*+((A|y$pLk*-TKc`=D=7&pu;I1LM9r-@RYAFsNSP
z-g;nRKg0RkRskn&{IyY$SahZO%)@lyA8Z@y*mqTwbXAqxGW_1oaDU##fPw<$3Ho-6
z7PH7kZPIfx4b)+huK99~`MIvkjGKx3{%w*vuv^rj++DBcs%1mD-O~$`<acaadLv4%
zK$)**S4)IM#=}5=vxZYn32%xR&cAtf{A5O#tFE`op+cW&r`f(UCcfI}s&j_vstxCI
z#tqw=r<d$0v~WEBv2<HU$v%~X2iE-Fb3k3K?s4T}t_uOnAKv<&QrJ9Gt5G1|lXK7Q
z?aH_A&wqAff4RPpdA?HN^@pW_X~OFIYh9!_T{v+4wVuQC=~jK)J)ReuYg_U2@*Rqf
z>T*AO)}XrjZSmffoaf8Rl?`osJ(87mnmT&KSLiUXl~{NC&01^5aDTa4ZH1+X_th)W
zF+IK|^Md2vP1wDs$HTijw|&>H8?NW(cKiE2WONiVHZDt8w3??VQ2wy)v1m<(8vV+I
zKNDNdds%(mvY5a1!=0(xAHu`ePf^XB#rJa8z9KPM>BIkje>>Ra@}_)ZtLu7p6PNsG
z4z31=wQP@<FL9o-@=9bwPU73IvAZ`3<@EJGwl8{U)$a5ou<D<-CSzQ3nC&DL<HMZ{
zno@FY^IcX8sUF;1TAF!Iv0k5{FYtd0^MuWl8DzBnX#}Yjsd_kZPo1@XO81;I6NR0H
z_A}|se!@H}k+VTTpLKa?>ut_epOwnG-B(uLl2uUO{6<go$P|S)7Y&;4KHK(E+<wDS
zi#s18$|lBzwu-yEKMYigPdeNBL~BmOnJ4pSNzD)zE?dp@{LyOR1J7$}-Y{L+f8P7!
z%$@@i+FRegy>aJS+U@Q))2!c!DMsInWxN^t-P+2a{L_+L^^}72$b)tZ`kr-IX|4Nr
z;&rSl<DyS{Ius86s=6a)9xn7s^<(NAz2ppz&6jps|4@@@`ki_E;tJz6i+T?CEj@L*
zx%lhdzE3R88+e#krC3+1+?w2<>2T%4dmjeH_j^tip0$2=etM*ivZ<BP(Zv=O9;t?B
zr4LjGlsR2%4L;LaET?fpIk?}uw7kK3-`!Y4CtG)`cZ~9v{)CopyLD>M5336`9gUwl
z87`Sil?%45y!)g~<VWAL%vUkX7H^$ar#ffpe>K5!kqPpJKN{}ZJl3f-JiNc?^<3X;
jOeg+)Tls&R4P$0^j?3h~TlO$8Ffe$!`njxgN@xNA)D!!&

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml b/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml
new file mode 100644
index 0000000000..13aca85875
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/layer.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <attr name="Menu\File\Separator2.instance_hidden\position" intvalue="100"/>
+    <attr name="Menu\File\Separator3.instance_hidden\position" intvalue="200"/>
+    <attr name="Menu\File\Separator4.instance_hidden\position" intvalue="400"/>
+    <attr name="Menu\File\org-netbeans-modules-print-action-PageSetupAction.shadow_hidden\position" intvalue="300"/>
+    <attr name="Menu\File\org-netbeans-modules-print-action-PrintAction.shadow_hidden\position" intvalue="500"/>
+    <attr name="Toolbars\File\org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance\iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.gif"/>
+    <folder name="Actions">
+        <folder name="File">
+            <file name="org-sleuthkit-autopsy-casemodule-AddImageAction.instance">
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance">
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseNewAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseNewAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseNewAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseOpenActionOld.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenActionOld"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseOpenActionOld"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance">
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-NewCaseAct.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.NewCaseAct"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAct"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-NewCaseAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.NewCaseAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_NewCaseAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_OpenAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseSaveAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_SaveCaseAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-RecentCases.instance">
+            </file>
+        </folder>
+        <folder name="Tools">
+            <file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance"></file>
+            <file name="org-sleuthkit-autopsy-hashdatabase-HashDbMgmtAction.instance">
+            </file>
+        </folder>
+        <folder name="View">
+            <file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance">
+            </file>
+        </folder>
+        <folder name="Window">
+            <file name="org-sleuthkit-autopsy-casemodule-testAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.casemodule.testTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_testAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-filebrowser-FileBrowserAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.FileBrowserTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_FileBrowserAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>
+            <file name="org-netbeans-core-windows-actions-GlobalPropertiesAction.instance_hidden"/>
+            <file name="org-sleuthkit-autopsy-filebrowser-ChangeViewAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.filebrowser.ChangeViewAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_ChangeViewAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-filebrowser-DetailWindowAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.filebrowser.DetailWindowTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filebrowser.Bundle#CTL_DetailWindowAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>
+        </folder>
+    </folder>
+    <folder name="Menu">
+        <folder name="File">
+            <file name="org-sleuthkit-autopsy-casemodule-CaseNewAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseNewAction.instance"/>
+                <attr name="position" intvalue="1212"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance"/>
+                <attr name="position" intvalue="1225"/>
+            </file>
+            <folder name="Open Recent Case">
+                <attr name="position" intvalue="1262"/>
+                <file name="org-sleuthkit-autopsy-casemodule-RecentCasesAction.shadow">
+                    <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-RecentCases.instance"/>
+                </file>
+            </folder>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseCloseAct.shadow">
+                <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance"/>
+                <attr name="position" intvalue="1300"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorBefore.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="1318"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-AddImage.shadow">
+                <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-AddImageAction.instance"/>
+                <attr name="position" intvalue="1336"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-AddImage-separatorAfter.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="1354"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction-separatorBefore.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="1340"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CasePropertiesAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CasePropertiesAction.instance"/>
+                <attr name="position" intvalue="1345"/>
+            </file>
+
+            <file name="Separator2.instance_hidden"/>
+            <file name="Separator3.instance_hidden"/>
+            <file name="Separator4.instance_hidden"/>
+            <file name="org-netbeans-modules-print-action-PageSetupAction.shadow_hidden">
+                <attr name="position" intvalue="200"/>
+            </file>
+            <file name="org-netbeans-modules-print-action-PrintAction.shadow_hidden">
+                <attr name="position" intvalue="300"/>
+            </file>
+            <file name="org-openide-actions-SaveAction.shadow_hidden"/>
+            <file name="org-openide-actions-SaveAllAction.shadow_hidden"/>
+            <file name="org-openide-actions-SaveAsAction.shadow_hidden"/>
+        </folder>
+        <file name="GoTo_hidden"/>
+        <folder name="Help">
+            <file name="org-netbeans-modules-autoupdate-ui-actions-CheckForUpdatesAction.shadow_hidden"/>
+        </folder>
+        <folder name="Tools">
+            <file name="org-sleuthkit-autopsy-hashdatabase-HashDatabaseSettingsAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/Tools/org-sleuthkit-autopsy-hashdatabase-HashDbMgmtAction.instance"/>
+                <attr name="position" intvalue="1000"/>
+            </file>
+            <file name="SeparatorAfterHashDatabaseSettings.instance">
+	        <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+	        <attr name="position" intvalue="1001"/>
+            </file>
+            <file name="Separator1.instance_hidden"/>
+            <file name="Separator3.instance_hidden"/>
+            <file name="org-netbeans-modules-autoupdate-ui-actions-PluginManagerAction.shadow_hidden"/>
+            <file name="org-netbeans-modules-favorites-templates-TemplatesAction.shadow_hidden"/>
+            <file name="org-netbeans-modules-options-OptionsWindowAction.shadow_hidden"/>
+            <file name="org-openide-actions-ToolsAction.shadow_hidden"/>
+        </folder>
+        <folder name="View">
+            <file name="org-netbeans-core-actions-HTMLViewAction.shadow_hidden"/>
+            <file name="org-netbeans-core-actions-LogAction.shadow_hidden"/>
+            <file name="org-netbeans-core-windows-actions-ToolbarsListAction.instance_hidden"/>
+        </folder>
+        <folder name="Window">
+            <file name="CloneDocumentAction.shadow_hidden"/>
+            <file name="CloseAllButThisAction.shadow_hidden"/>
+            <file name="CloseAllDocumentsAction.shadow_hidden"/>
+            <file name="DocumentsAction.shadow_hidden"/>
+            <file name="FileBrowserAction.shadow"/>
+            <file name="FileBrowserAction.shadow_hidden"/>
+            <file name="Output_hidden"/>
+            <file name="ProgressListAction.shadow_hidden"/>
+            <file name="SwitchToRecentDocumentAction.shadow_hidden"/>
+            <file name="ViewFavoritesTabAction.shadow_hidden"/>
+            <file name="org-netbeans-core-windows-actions-ResetWindowsAction.shadow_hidden"/>
+            <file name="testAction.shadow_hidden"/>
+        </folder>
+    </folder>
+    <folder name="Services">
+        <folder name="JavaHelp">
+            <file name="casemodule-helpset.xml" url="casemodule-helpset.xml">
+                <attr name="position" intvalue="3075"/>
+            </file>
+        </folder>
+    </folder>
+    <folder name="Shortcuts">
+        <file name="D-N.shadow">
+            <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseNewAction.instance"/>
+        </file>
+        <file name="D-O.shadow">
+            <attr name="originalFile" stringvalue="Actions/File/org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance"/>
+        </file>
+    </folder>
+    <folder name="Toolbars">
+        <folder name="File">
+            <file name="org-sleuthkit-autopsy-casemodule-NewCaseAct.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseNewAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseNewAction"/>
+                <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/new-icon.png"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+                <attr name="position" intvalue="150"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseSaveAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_SaveCaseAction"/>
+                <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/save-icon.png"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+                <attr name="position" intvalue="300"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseOpenAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseOpenAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_OpenAction"/>
+                <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/open-icon.png"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+                <attr name="position" intvalue="200"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseCloseAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.CaseCloseAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_CaseCloseAct"/>
+                <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/close-icon.png"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+                <attr name="position" intvalue="400"/>
+            </file>
+            <file name="sep1.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JToolBar$Separator"/>
+                <attr name="position" intvalue="500"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-AddImageAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.casemodule.AddImageAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.casemodule.Bundle#CTL_AddImage"/>
+                <attr name="iconBase" stringvalue="org/sleuthkit/autopsy/images/addImage-icon.png"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+                <attr name="position" intvalue="550"/>
+            </file>
+            <file name="org-openide-actions-SaveAllAction.shadow_hidden">
+                <attr name="position" intvalue="100"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-casemodule-CaseSaveAction.instance_hidden"/>
+        </folder>
+        <file name="UndoRedo_hidden"/>
+    </folder>
+    <folder name="Windows2">
+        <folder name="Components"/>
+        <folder name="Modes">
+            <folder name="editor"/>
+            <folder name="output"/>
+        </folder>
+    </folder>
+</filesystem>
diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/new-icon.png b/Case/src/org/sleuthkit/autopsy/casemodule/new-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..02566d35affba3384958dc9d7e56bc3ef53dce31
GIT binary patch
literal 4021
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

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/open-icon.png b/Case/src/org/sleuthkit/autopsy/casemodule/open-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..073b95b0869464686de1e0ad3296bafb026bc470
GIT binary patch
literal 4143
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

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/open-recent-icon.png b/Case/src/org/sleuthkit/autopsy/casemodule/open-recent-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee3664a9357bf277f16938e6c6f003b557d34650
GIT binary patch
literal 4526
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
YV^>MnMpLaS1_lNOPgg&ebxsLQ0Hdsu=Kufz

literal 0
HcmV?d00001

diff --git a/Case/src/org/sleuthkit/autopsy/casemodule/package.html b/Case/src/org/sleuthkit/autopsy/casemodule/package.html
new file mode 100644
index 0000000000..4d7d55f36f
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/casemodule/package.html
@@ -0,0 +1,10 @@
+<body>
+    <p>A case contains one or more disk images and is the highest-level unit of an investigation.  All data in a case will be stored in a single database and configuration file. A case must be open before analysis can occur. You will use a {@link org.sleuthkit.autopsy.casemodule.Case#Case Case} object to get access to the data being analyzed.</p>
+
+    <p>Case settings are stored in an XML file.  See the {@link org.sleuthkit.autopsy.casemodule.XMLCaseManagement#XMLCaseManagement() XMLCaseManagement} class for more details.</p>
+    
+    <p>Currently, only one case can be opened at a time.  To determine the open case, use the static {@link org.sleuthkit.autopsy.casemodule.Case#getCurrentCase() Case.getCurrentCase()} method.  Once you have the object for the currently open case, {@link org.sleuthkit.autopsy.casemodule.Case#getRootObjects() Case.getRootObjects()} will return the top-level Sleuth Kit Content modules. You can then get their children to go down the tree of data types. </p>
+    
+    <p>To receive an event when cases are opened, closed, or changed, use the {@link org.sleuthkit.autopsy.casemodule.Case#addPropertyChangeListener(PropertyChangeListener) addPropertyChangeListener} method to register your class as a PropertyChangeListener.  THis is most commonly required when developing a new {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer#DataExplorer() DataExplorer} module that needs to get data about the currently opened case. </p>
+</body>
+
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties b/Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties
new file mode 100644
index 0000000000..4e1a794753
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/Bundle.properties
@@ -0,0 +1,2 @@
+HashDatabaseManagementPanel.okayButton.text=Okay
+HashDbPanel.fileSelectButton.text=Select...\n
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java
new file mode 100644
index 0000000000..3a70ad8180
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDb.java
@@ -0,0 +1,179 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+import java.io.File;
+import java.util.logging.Level;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.SleuthkitJNI;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * HashDb is based on the path to a database, and has methods to check the 
+ * status of database and index files, and create indexes.  One of these 
+ * is created for every open hash database. 
+ */
+class HashDb {
+
+    // Suffix added to the end of a database name to get its index file
+    private static final String INDEX_SUFFIX = "-md5.idx";
+    /**
+     * Path to database (database and/or index may not actually exist)
+     */
+    String databasePath;
+
+    /**
+     * New {@link HashDb} for database at given path
+     * @param databasePath Path of database this instance represents (database
+     * and/or index may not actually exist)
+     */
+    HashDb(String databasePath) {
+        this.databasePath = databasePath;
+    }
+
+    /**
+     * Checks if the database exists.
+     * @return true if a file exists at the database path, else false
+     */
+    boolean databaseExists() {
+        return databaseFile().exists();
+    }
+
+    /**
+     * Checks if Sleuth Kit can open the index for the database path.
+     * @return true if the index was found and opened successfully, else false
+     */
+    boolean indexExists() {
+        try {
+            return hasIndex(databasePath);
+        } catch (TskException ex) {
+            Log.get(this.getClass()).log(Level.WARNING, "Error checking if index exists.", ex);
+            return false;
+        }
+    }
+
+    /**
+     * Gets the database file.
+     * @return a File initialized with the database path
+     */
+    File databaseFile() {
+        return new File(databasePath);
+    }
+
+    /**
+     * Gets the index file
+     * @return a File initialized with an index path derived from the database
+     * path
+     */
+    File indexFile() {
+        return new File(toIndexPath(databasePath));
+    }
+
+    /**
+     * Checks if the index file is older than the database file
+     * @return true if there is are files at the index path and the database
+     * path, and the index file has an older modified-time than the database
+     * file, else false
+     */
+    boolean isOutdated() {
+        File i = indexFile();
+        File db = databaseFile();
+
+        return i.exists() && db.exists() && isOlderThan(i, db);
+    }
+
+    /**
+     * Returns the status of the HashDb as determined from indexExists(),
+     * databaseExists(), and isOutdated()
+     * @return IndexStatus enum according to their definitions
+     */
+    IndexStatus status() {
+        boolean i = this.indexExists();
+        boolean db = this.databaseExists();
+
+        if (i) {
+            if (db) {
+                return this.isOutdated() ? IndexStatus.INDEX_OUTDATED : IndexStatus.INDEX_CURRENT;
+            } else {
+                return IndexStatus.NO_DB;
+            }
+        } else {
+            return db ? IndexStatus.NO_INDEX : IndexStatus.NONE;
+        }
+    }
+
+    /**
+     * Tries to index the database (overwrites any existing index)
+     * @throws TskException if an error occurs in the SleuthKit bindings 
+     */
+    void createIndex() throws TskException {
+        SleuthkitJNI.createLookupIndex(databasePath);
+        //TODO: error checking
+    }
+
+    /**
+     * Checks if one file is older than an other
+     * @param a first file
+     * @param b second file
+     * @return true if the first file's last modified data is before the second
+     * file's last modified date
+     */
+    private static boolean isOlderThan(File a, File b) {
+        return a.lastModified() < b.lastModified();
+    }
+
+    /**
+     * Determines if a path points to an index by checking the suffix
+     * @param path
+     * @return true if index
+     */
+    static boolean isIndexPath(String path) {
+        return path.endsWith(INDEX_SUFFIX);
+    }
+
+    /**
+     * Derives database path from an image path by removing the suffix.
+     * @param indexPath
+     * @return 
+     */
+    static String toDatabasePath(String indexPath) {
+        return indexPath.substring(0, indexPath.lastIndexOf(INDEX_SUFFIX));
+    }
+
+    /**
+     * Derives image path from an database path by appending the suffix.
+     * @param databasePath
+     * @return 
+     */
+    static String toIndexPath(String databasePath) {
+        return databasePath.concat(INDEX_SUFFIX);
+    }
+
+    /**
+     * Calls Sleuth Kit method via JNI to determine whether there is an
+     * index for the given path
+     * @param databasePath path Path for the database the index is of
+     * (database doesn't have to actually exist)'
+     * @return true if index exists
+     * @throws TskException if  there is an error in the JNI call 
+     */
+    static boolean hasIndex(String databasePath) throws TskException {
+        return SleuthkitJNI.lookupIndexExists(databasePath);
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java
new file mode 100644
index 0000000000..757dea2f5e
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtAction.java
@@ -0,0 +1,106 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.util.logging.Level;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.sleuthkit.autopsy.casemodule.Autopsy;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The HashDbMgmtAction opens the HashDbMgmtPanel in a dialog, and saves the
+ * settings of the panel if the Apply button is clicked.
+ * @author pmartel
+ */
+class HashDbMgmtAction extends CallableSystemAction {
+
+    private static final String ACTION_NAME = "Hash Database Management";
+
+    @Override
+    public void performAction() {
+        Log.noteAction(this.getClass());
+
+        try {
+            // Load settings from the property file
+            HashDbSettings hashDatabaseSettings = new HashDbSettings(Autopsy.getPropertyFile());
+
+            // create the popUp window for it
+            final JFrame frame = new JFrame(ACTION_NAME);
+            final JDialog popUpWindow = new JDialog(frame, ACTION_NAME, true); // to make the popUp Window to be modal
+
+            // initialize panel with loaded settings
+            final HashDbMgmtPanel panel = new HashDbMgmtPanel(hashDatabaseSettings);
+
+            // set action for the "Apply" button
+            panel.setApplyButtonActionListener(new ActionListener() {
+
+                @Override
+                public void actionPerformed(ActionEvent e) {
+                    if (panel.indexesExist()) {
+                        try {
+                            panel.saveSettings();
+                        } catch (IOException ex) {
+                            Log.get(HashDbMgmtAction.class).log(Level.WARNING, "Couldn't save hash database settings.", ex);
+                        }
+                        popUpWindow.dispose();
+                    } else {
+                        NotifyDescriptor d = new NotifyDescriptor.Message("All selected databases must have indexes.", NotifyDescriptor.INFORMATION_MESSAGE);
+                        DialogDisplayer.getDefault().notify(d);
+                    }
+                }
+            });
+
+            // add the panel to the popup window
+            popUpWindow.add(panel);
+            popUpWindow.pack();
+            popUpWindow.setResizable(false);
+
+            // set the location of the popUp Window on the center of the screen
+            Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+            double w = popUpWindow.getSize().getWidth();
+            double h = popUpWindow.getSize().getHeight();
+            popUpWindow.setLocation((int) ((screenDimension.getWidth() - w) / 2), (int) ((screenDimension.getHeight() - h) / 2));
+
+            // display the window
+            popUpWindow.setVisible(true);
+        } catch (Exception ex) {
+            Log.get(HashDbMgmtAction.class).log(Level.WARNING, "Error displaying " + ACTION_NAME + " window.", ex);
+        }
+    }
+
+    @Override
+    public String getName() {
+        return ACTION_NAME;
+    }
+
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java
new file mode 100644
index 0000000000..09d619dbd6
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbMgmtPanel.java
@@ -0,0 +1,131 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.border.EmptyBorder;
+
+/**
+ * Panel for displaying and editing the Hash Database settings.
+ * @author pmartel
+ */
+class HashDbMgmtPanel extends javax.swing.JPanel {
+
+    private HashDbSettings settings;
+    // text of panel for each database
+    private static final String INTRO_TEXT1 = "Hash lookups are conducted when an image is added to a case.";
+    private static final String INTRO_TEXT2 = "Lookup results can be found using the File Search feature.";
+    private static final String NSRL_NAME = "NIST NSRL Database";
+    private static final String NSRL_DESC = "Hashes that are known good and bad.";
+    private static final String KNOWN_BAD_NAME = "Known Bad Database";
+    private static final String KNOWN_BAD_DESC = "Hashes that are known bad.";
+    private JLabel introText1;
+    private JLabel introText2;
+    private HashDbPanel NSRLPanel;
+    private HashDbPanel knownBadPanel;
+    private JButton applyButton;
+
+    /**
+     * 
+     * @param settings Settings to initialize the panel state from.
+     */
+    HashDbMgmtPanel(HashDbSettings settings) {
+        this.settings = settings;
+
+        initComponents();
+    }
+
+    /**
+     * Sets a listener for the Apply button
+     * @param e  The action listener
+     */
+    void setApplyButtonActionListener(ActionListener e) {
+        this.applyButton.addActionListener(e);
+    }
+
+    /**
+     * Checks if indexes exist for all defined databases
+     * @return true if Sleuth Kit can open the indexes of all databases
+     * than have been selected
+     */
+    boolean indexesExist() {
+        HashDb nsrl = this.NSRLPanel.db;
+        HashDb knownBad = this.knownBadPanel.db;
+
+        if (nsrl != null && !nsrl.indexExists()) {
+            return false;
+        }
+        if (knownBad != null && !knownBad.indexExists()) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Modifies the given settings object to match the current panel state, and
+     * then persists it to its backing file.
+     * @throws IOException if there is an error saving the settings to a file
+     */
+    void saveSettings() throws IOException {
+        this.settings.setNSRLDatabase(this.NSRLPanel.db);
+        this.settings.setKnownBadDatabase(this.knownBadPanel.db);
+        this.settings.save();
+    }
+
+    /**
+     * Initializes all the panel components
+     */
+    private void initComponents() {
+
+        NSRLPanel = new HashDbPanel(this.settings.getNSRLDatabase(), HashDbMgmtPanel.NSRL_NAME, HashDbMgmtPanel.NSRL_DESC);
+        knownBadPanel = new HashDbPanel(this.settings.getKnownBadDatabase(), HashDbMgmtPanel.KNOWN_BAD_NAME, HashDbMgmtPanel.KNOWN_BAD_DESC);
+
+        applyButton = new JButton();
+        applyButton.setText("OK");
+        applyButton.setAlignmentX(Component.CENTER_ALIGNMENT);
+
+        introText1 = new JLabel();
+        introText1.setText(INTRO_TEXT1);
+        introText1.setBorder(new EmptyBorder(10, 10, 5, 10));
+        introText1.setAlignmentX(Component.CENTER_ALIGNMENT);
+        introText1.setMaximumSize(NSRLPanel.getMaximumSize());
+
+        introText2 = new JLabel();
+        introText2.setText(INTRO_TEXT2);
+        introText2.setBorder(new EmptyBorder(0, 10, 0, 10));
+        introText2.setAlignmentX(Component.CENTER_ALIGNMENT);
+        introText2.setMaximumSize(NSRLPanel.getMaximumSize());
+
+        BoxLayout layout = new BoxLayout(this, BoxLayout.Y_AXIS);
+        this.setLayout(layout);
+        this.add(introText1);
+        this.add(introText2);
+        this.add(NSRLPanel);
+        this.add(knownBadPanel);
+        this.add(applyButton);
+        this.add(Box.createRigidArea(new Dimension(0, 10)));
+    }
+}
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form
new file mode 100644
index 0000000000..ea8d74107d
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.form
@@ -0,0 +1,129 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="databaseNameLabel" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" max="-2" attributes="0">
+                      <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
+                              <Component id="indexButton" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
+                              <Component id="indexStatusLabel" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Component id="databasePathField" min="-2" pref="329" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" max="-2" attributes="0"/>
+                              <Component id="fileSelectButton" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <Component id="databaseDetailsLabel" alignment="0" max="32767" attributes="1"/>
+                      </Group>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Component id="databaseNameLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="databaseDetailsLabel" min="-2" pref="14" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="databasePathField" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="fileSelectButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="indexButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="indexStatusLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="32767" attributes="1"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="databaseNameLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="databaseNameLabel" property="font" relativeSize="true" size="2"/>
+          </FontInfo>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="databaseName()" type="code"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="databasePathField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="path()" type="code"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="databasePathFieldActionPerformed"/>
+        <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="databasePathFieldFocusLost"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="indexButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="indexOrReindex()" type="code"/>
+        </Property>
+        <Property name="enabled" type="boolean" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="indexable()" type="code"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="indexButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="indexStatusLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="indexStatus()" type="code"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="databaseDetailsLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="databaseDetails()" type="code"/>
+        </Property>
+        <Property name="verticalAlignment" type="int" value="1"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="fileSelectButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/hashdatabase/Bundle.properties" key="HashDbPanel.fileSelectButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="fileSelectButtonActionPerformed"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java
new file mode 100644
index 0000000000..49f934d9d4
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbPanel.java
@@ -0,0 +1,300 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * HashDbPanel.java
+ *
+ * Created on Oct 11, 2011, 2:44:56 PM
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+import java.awt.Cursor;
+import java.io.File;
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JFileChooser;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * Panel for selecting a hash database.
+ * @author pmartel
+ */
+class HashDbPanel extends javax.swing.JPanel {
+
+    /**
+     * Current hash database backing the panel (can be null).
+     */
+    HashDb db;
+    /**
+     * Name to title this database panel.
+     */
+    String databaseName;
+    /**
+     * Details of this database slot.
+     */
+    String databaseDetails;
+    private JFileChooser fc = new JFileChooser();
+
+    /**
+     * Create a panel from a current setting and description strings.
+     * @param db current hash database (can be null)
+     * @param databaseName name to title this database panel
+     * @param databaseDetails details of this database
+     */
+    HashDbPanel(HashDb db, String databaseName, String databaseDetails) {
+        this.db = db; // nullable
+        this.databaseDetails = databaseDetails;
+        this.databaseName = databaseName;
+
+        fc.setDragEnabled(false);
+        fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
+        fc.setMultiSelectionEnabled(false);
+
+        this.initComponents();
+        this.refresh();
+    }
+
+    /**
+     * Gets the string for the (re)index button.
+     * @return "Reindex" if the database and index exist, otherwise "Index"
+     */
+    private String indexOrReindex() {
+        return (this.db != null) && this.db.databaseExists() && this.db.indexExists() ? "Reindex" : "Index";
+    }
+
+    private String databaseName() {
+        return this.databaseName;
+    }
+
+    private String databaseDetails() {
+        return this.databaseDetails;
+    }
+
+    /**
+     * @return Path to database to display in panel
+     */
+    private String path() {
+        return (this.db != null) ? this.db.databasePath : "";
+    }
+
+    /**
+     * Short description of the index/db state (if there is one)
+     * @return 
+     */
+    private String indexStatus() {
+        return (this.db != null) ? db.status().message() : "";
+    }
+
+    /**
+     * Check if an index can be created.
+     * @return true if the database exists
+     */
+    private boolean indexable() {
+        return (this.db != null) && db.databaseExists();
+    }
+
+    private boolean invalid() {
+        return (this.db != null) && this.db.status().equals(IndexStatus.NONE);
+    }
+
+    /**
+     * Updates the state of all panel elements.
+     */
+    private void refresh() {
+        this.databasePathField.setText(this.path());
+        this.indexButton.setEnabled(this.indexable());
+        this.indexButton.setText(this.indexOrReindex());
+        this.indexStatusLabel.setText(this.indexStatus());
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        databaseNameLabel = new javax.swing.JLabel();
+        databasePathField = new javax.swing.JFormattedTextField();
+        indexButton = new javax.swing.JButton();
+        indexStatusLabel = new javax.swing.JLabel();
+        databaseDetailsLabel = new javax.swing.JLabel();
+        fileSelectButton = new javax.swing.JButton();
+
+        databaseNameLabel.setFont(databaseNameLabel.getFont().deriveFont(databaseNameLabel.getFont().getStyle() | java.awt.Font.BOLD, databaseNameLabel.getFont().getSize()+2));
+        databaseNameLabel.setText(databaseName());
+
+        databasePathField.setText(path());
+        databasePathField.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                databasePathFieldActionPerformed(evt);
+            }
+        });
+        databasePathField.addFocusListener(new java.awt.event.FocusAdapter() {
+            public void focusLost(java.awt.event.FocusEvent evt) {
+                databasePathFieldFocusLost(evt);
+            }
+        });
+
+        indexButton.setText(indexOrReindex());
+        indexButton.setEnabled(indexable());
+        indexButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                indexButtonActionPerformed(evt);
+            }
+        });
+
+        indexStatusLabel.setText(indexStatus());
+
+        databaseDetailsLabel.setText(databaseDetails());
+        databaseDetailsLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);
+
+        fileSelectButton.setText(org.openide.util.NbBundle.getMessage(HashDbPanel.class, "HashDbPanel.fileSelectButton.text")); // NOI18N
+        fileSelectButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                fileSelectButtonActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(databaseNameLabel)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(10, 10, 10)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(indexButton)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(indexStatusLabel))
+                            .addGroup(layout.createSequentialGroup()
+                                .addComponent(databasePathField, javax.swing.GroupLayout.PREFERRED_SIZE, 329, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(fileSelectButton))
+                            .addComponent(databaseDetailsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(databaseNameLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(databaseDetailsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(databasePathField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(fileSelectButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(indexButton)
+                    .addComponent(indexStatusLabel))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void indexButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_indexButtonActionPerformed
+        if (this.db != null) {
+            try {
+                // change the cursor to "waiting cursor"
+                this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                try {
+                    this.db.createIndex();
+                } finally {
+                    this.setCursor(null);
+                }
+            } catch (TskException ex) {
+                Log.get(this.getClass()).log(Level.WARNING, "Couldn't create index.", ex);
+            }
+        }
+
+        this.refresh();
+    }//GEN-LAST:event_indexButtonActionPerformed
+
+    private void databasePathFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_databasePathFieldActionPerformed
+        // if field becomes editable: add handler
+    }//GEN-LAST:event_databasePathFieldActionPerformed
+
+    private void fileSelectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fileSelectButtonActionPerformed
+
+        int retval = fc.showOpenDialog(this);
+
+        if (retval == JFileChooser.APPROVE_OPTION) {
+            File f = fc.getSelectedFile();
+            try {
+                String filePath = f.getCanonicalPath();
+
+                if (HashDb.isIndexPath(filePath)) {
+                    filePath = HashDb.toDatabasePath(filePath);
+                }
+
+                this.db = new HashDb(filePath);
+
+
+            } catch (IOException ex) {
+                Logger.getLogger(HashDbPanel.class.getName()).log(Level.WARNING, "Couldn't get selected file path.", ex);
+                return;
+            }
+        }
+
+        this.refresh();
+    }//GEN-LAST:event_fileSelectButtonActionPerformed
+
+    private void databasePathFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_databasePathFieldFocusLost
+
+        String path = databasePathField.getText().trim();
+
+        if (path.isEmpty()) {
+            this.db = null;
+        } else {
+            File f = new File(path);
+            try {
+                String filePath = f.getCanonicalPath();
+
+                if (HashDb.isIndexPath(filePath)) {
+                    filePath = HashDb.toDatabasePath(filePath);
+                }
+
+                this.db = new HashDb(filePath);
+
+            } catch (IOException ex) {
+                Logger.getLogger(HashDbPanel.class.getName()).log(Level.WARNING, "Couldn't get selected file path.", ex);
+                return;
+            }
+        }
+
+        this.refresh();
+    }//GEN-LAST:event_databasePathFieldFocusLost
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel databaseDetailsLabel;
+    private javax.swing.JLabel databaseNameLabel;
+    private javax.swing.JFormattedTextField databasePathField;
+    private javax.swing.JButton fileSelectButton;
+    private javax.swing.JButton indexButton;
+    private javax.swing.JLabel indexStatusLabel;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java
new file mode 100644
index 0000000000..370e039451
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/HashDbSettings.java
@@ -0,0 +1,166 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Properties;
+
+/**
+ * Loads and stores Hash Database settings from/to a property file
+ * @author pmartel
+ */
+public class HashDbSettings {
+
+    private static final String PROP_PREFIX = "HASHDB";
+    private static final String NSRL_PROP = "NSRL";
+    private static final String KNOWN_BAD_PROP = "KNOWN_BAD";
+    private File propertyFile;
+    private HashDb NSRLDatabase, knownBadDatabase;
+
+    /**
+     * @param propertyFile file to load settings from
+     * @throws IOException if there's an error loading the property file
+     * @throws FileNotFoundException if the property file can't be found
+     */
+    public HashDbSettings(File propertyFile) throws IOException, FileNotFoundException {
+        this.propertyFile = propertyFile;
+
+        Properties temp = new Properties();
+        InputStream loadStream = new FileInputStream(propertyFile);
+        temp.load(loadStream);
+        loadStream.close();
+
+        String NSRL = getNSRL(temp);
+        String knownBad = getKnownBad(temp);
+
+        if (!NSRL.equals("")) {
+            this.NSRLDatabase = new HashDb(NSRL);
+        }
+
+        if (!knownBad.equals("")) {
+            this.knownBadDatabase = new HashDb(knownBad);
+        }
+    }
+
+    /**
+     * Writes settings to the property file
+     * @throws IOException if there's an error loading or writing to the
+     * property file
+     * @throws FileNotFoundException if the property file can't be found
+     */
+    void save() throws IOException, FileNotFoundException {
+        Properties temp = new Properties();
+        InputStream loadStream = new FileInputStream(propertyFile);
+        temp.load(loadStream);
+        loadStream.close();
+
+        setNSRL(temp, this.NSRLDatabase != null ? this.NSRLDatabase.databasePath : "");
+        setKnownBad(temp, this.knownBadDatabase != null ? this.knownBadDatabase.databasePath : "");
+
+        String comments = "";
+        OutputStream storeStream = new FileOutputStream(propertyFile);
+        temp.store(storeStream, comments);
+        storeStream.close();
+    }
+
+    /**
+     * Returns the path the the selected NSRL hash database, or null if there is
+     * none selected.
+     * @return path or null
+     */
+    public String getNSRLDatabasePath() {
+        return this.NSRLDatabase != null ? this.NSRLDatabase.databasePath : null;
+    }
+
+    /**
+     * Returns the path the the selected Known Bad hash database, or null if
+     * there is none selected.
+     * @return path or null
+     */
+    public String getKnownBadDatabasePath() {
+        return this.knownBadDatabase != null ? this.knownBadDatabase.databasePath : null;
+    }
+
+    /**
+     * Gets NSRL database if there is one
+     * @return database (can be null)
+     */
+    HashDb getNSRLDatabase() {
+        return this.NSRLDatabase;
+    }
+
+    /**
+     * Gets known bad database if there is one
+     * @return database (can be null)
+     */
+    HashDb getKnownBadDatabase() {
+        return this.knownBadDatabase;
+    }
+
+    /**
+     * Set NSRL database 
+     * @param nsrl database, or null to clear
+     */
+    void setNSRLDatabase(HashDb nsrl) {
+        this.NSRLDatabase = nsrl;
+    }
+
+    /**
+     * Set known bad database 
+     * @param knownBad known bad database, or null to clear
+     */
+    void setKnownBadDatabase(HashDb knownBad) {
+        this.knownBadDatabase = knownBad;
+    }
+
+    // helper functions:
+    private static void setNSRL(Properties props, String databasePath) {
+        setProp(props, NSRL_PROP, databasePath);
+    }
+
+    private static void setKnownBad(Properties props, String databasePath) {
+        setProp(props, KNOWN_BAD_PROP, databasePath);
+    }
+
+    private static String getNSRL(Properties props) {
+        return getProp(props, NSRL_PROP);
+    }
+
+    private static String getKnownBad(Properties props) {
+        return getProp(props, KNOWN_BAD_PROP);
+    }
+
+    private static void setProp(Properties props, String propName, String propValue) {
+        props.setProperty(fullProp(propName), propValue);
+    }
+
+    private static String getProp(Properties props, String propName) {
+        return props.getProperty(fullProp(propName), "");
+    }
+
+    private static String fullProp(String propName) {
+        return PROP_PREFIX + "_" + propName;
+    }
+}
\ No newline at end of file
diff --git a/Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java b/Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java
new file mode 100644
index 0000000000..479f73834c
--- /dev/null
+++ b/Case/src/org/sleuthkit/autopsy/hashdatabase/IndexStatus.java
@@ -0,0 +1,65 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.hashdatabase;
+
+/**
+ * The status of a HashDb as determined from its indexExists(),
+ * databaseExists(), and isOutdated() methods
+ * @author pmartel
+ */
+enum IndexStatus {
+
+    /**
+     * The index and database both exist, and the index is older.
+     */
+    INDEX_OUTDATED("Index is older than database."),
+    /**
+     * The index and database both exist, and the index is not older.
+     */
+    INDEX_CURRENT("Database has index."),
+    /**
+     * The index exists but the database does not.
+     */
+    NO_DB("Index does not have database."),
+    /**
+     * The database exists but the index does not.
+     */
+    NO_INDEX("Database does not have index."),
+    /**
+     * Neither the index nor the database exists.
+     */
+    NONE("No index or database.");
+    
+    private String message;
+
+    /**
+     * @param message Short description of the state represented
+     */
+    private IndexStatus(String message) {
+        this.message = message;
+    }
+
+    /**
+     * Get status message
+     * @return a short description of the state represented
+     */
+    String message() {
+        return this.message;
+    }
+}
diff --git a/Case/test/unit/src/org/sleuthkit/autopsy/casemodule/RecentCasesTest.java b/Case/test/unit/src/org/sleuthkit/autopsy/casemodule/RecentCasesTest.java
new file mode 100644
index 0000000000..f56a7bec6b
--- /dev/null
+++ b/Case/test/unit/src/org/sleuthkit/autopsy/casemodule/RecentCasesTest.java
@@ -0,0 +1,280 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.casemodule;
+
+import java.awt.event.ActionEvent;
+import javax.swing.JMenuItem;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class RecentCasesTest {
+    RecentCases instance;
+
+    public RecentCasesTest() {
+        instance = RecentCases.getInstance();
+    }
+
+    @BeforeClass
+    public static void setUpClass() throws Exception {
+    }
+
+    @AfterClass
+    public static void tearDownClass() throws Exception {
+    }
+
+    @Before
+    public void setUp() {
+        instance.actionPerformed(null);
+    }
+
+    @After
+    public void tearDown() {
+    }
+
+    /**
+     * Test of getInstance method, of class RecentCases.
+     */
+    @Test
+    public void testGetInstance() {
+        System.out.println("getInstance");
+        RecentCases expResult = RecentCases.getInstance();
+        RecentCases result = RecentCases.getInstance();
+        assertEquals(expResult, result);
+        assertNotNull(result);
+    }
+
+    /**
+     * Test of getMenuPresenter method, of class RecentCases.
+     */
+    @Test
+    public void testGetMenuPresenter() {
+        System.out.println("getMenuPresenter");
+        JMenuItem result = instance.getMenuPresenter();
+        assertNotNull(result);
+    }
+
+    /**
+     * Test of actionPerformed method, of class RecentCases.
+     */
+    @Test
+    public void testActionPerformed() {
+        System.out.println("actionPerformed");
+        ActionEvent e = null;
+        instance.addRecentCase("test", "test");
+        instance.actionPerformed(e);
+        assertEquals(instance.getTotalRecentCases(), 0);
+
+    }
+
+    /**
+     * Test of addRecentCase method, of class RecentCases.
+     */
+    @Test
+    public void testAddRecentCase() {
+        System.out.println("addRecentCase");
+        String name = "name";
+        String path = "C:\\path";
+        instance.addRecentCase(name, path);
+        instance.addRecentCase(name, path);
+        assertEquals(name, instance.getRecentCaseNames()[0]);
+        assertEquals(path, instance.getRecentCasePaths()[0]);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+
+    /**
+     * Test of updateRecentCase method, of class RecentCases.
+     */
+    @Test
+    public void testUpdateRecentCase() throws Exception {
+        System.out.println("updateRecentCase");
+        String oldName = "oldName";
+        String oldPath = "C:\\oldPath";
+        String newName = "newName";
+        String newPath = "C:\\newPath";
+        instance.addRecentCase(oldName, oldPath);
+        instance.updateRecentCase(oldName, oldPath, newName, newPath);
+        assertEquals(newName, instance.getRecentCaseNames()[0]);
+        assertEquals(newPath, instance.getRecentCasePaths()[0]);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+
+    /**
+     * Test of getTotalRecentCases method, of class RecentCases.
+     */
+    @Test
+    public void testGetTotalRecentCases() {
+        System.out.println("getTotalRecentCases");
+        int expResult = 0;
+        int result = instance.getTotalRecentCases();
+        assertEquals(expResult, result);
+        instance.addRecentCase("name", "path");
+        result = instance.getTotalRecentCases();
+        expResult = 1;
+        assertEquals(expResult, result);
+    }
+
+    /**
+     * Test of removeRecentCase method, of class RecentCases.
+     */
+    @Test
+    public void testRemoveRecentCase() {
+        System.out.println("removeRecentCase");
+        String name = "name";
+        String path = "path";
+        String name1 = "name1";
+        String path1 = "path1";
+        instance.addRecentCase(name, path);
+        instance.addRecentCase(name1, path1);
+        instance.removeRecentCase(name, path);
+        assertEquals(1, instance.getTotalRecentCases());
+        instance.removeRecentCase(name, path);
+        assertEquals(1, instance.getTotalRecentCases());
+        instance.removeRecentCase(name1, path1);
+        assertEquals(0, instance.getTotalRecentCases());
+    }
+
+    /**
+     * Test of getRecentCaseNames method, of class RecentCases.
+     */
+    @Test
+    public void testGetRecentCaseNames() {
+        System.out.println("getRecentCaseNames");
+        String[] expResult = {"","","","",""};
+        String[] result = instance.getRecentCaseNames();
+        assertArrayEquals(expResult, result);
+        String name = "name";
+        String path = "C:\\path";
+        String name1 = "name1";
+        String path1 = "C:\\path1";
+        instance.addRecentCase(name, path);
+        instance.addRecentCase(name1, path1);
+        String[] expResult1 = {name1,name,"","",""};
+        String[] result1 = instance.getRecentCaseNames();
+        assertArrayEquals(expResult1, result1);
+    }
+
+    /**
+     * Test of getRecentCasePaths method, of class RecentCases.
+     */
+    @Test
+    public void testGetRecentCasePaths() {
+        System.out.println("getRecentCasePaths");
+        String[] expResult = {"","","","",""};
+        String[] result = instance.getRecentCasePaths();
+        assertArrayEquals(expResult, result);
+        String name = "name";
+        String path = "C:\\path";
+        String name1 = "name1";
+        String path1 = "C:\\path1";
+        instance.addRecentCase(name, path);
+        instance.addRecentCase(name1, path1);
+        String[] expResult1 = {path1, path,"","",""};
+        String[] result1 = instance.getRecentCasePaths();
+        assertArrayEquals(expResult1, result1);
+    }
+
+    /**
+     * Test of getName method, of class RecentCases.
+     */
+    @Test
+    public void testGetName() {
+        System.out.println("getName");
+        String result = instance.getName();
+        assertNotNull(result);
+    }    
+    
+    
+    
+    /**
+     * Regression tests for TSK-227
+     * Make sure that paths are normalized, so that different representations of
+     * the same path don't result in duplicates.
+     */
+    @Test
+    public void testNormalizePathAddRecentCase1() {
+        System.out.println("normalizePathAddRecentCase1");
+        String name = "name";
+        String path = "C:\\biig-case\\biig-case.aut";
+        String oddPath = "c:\\\\biig-case\\biig-case.aut";
+        instance.addRecentCase(name, path);
+        instance.addRecentCase(name, oddPath);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+    @Test
+    public void testNormalizePathAddRecentCase2() {
+        System.out.println("normalizePathAddRecentCase2");
+        String name = "name";
+        String path = "C:\\biig-case\\biig-case.aut";
+        String oddPath = "c:\\\\biig-case\\biig-case.aut";
+        instance.addRecentCase(name, oddPath);
+        instance.addRecentCase(name, path);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+    @Test
+    public void testNormalizePathUpdateRecentCase1() throws Exception {
+        System.out.println("normalizePathUpdateRecentCase1");
+        String oldName = "oldName";
+        String oldPath = "C:\\biig-case\\biig-case.aut";
+        String oddOldPath = "c:\\\\biig-case\\biig-case.aut";
+        String newName = "newName";
+        String newPath = "newPath";
+        instance.addRecentCase(oldName, oldPath);
+        instance.updateRecentCase(oldName, oddOldPath, newName, newPath);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+    @Test
+    public void testNormalizePathUpdateRecentCase2() throws Exception {
+        System.out.println("normalizePathUpdateRecentCase2");
+        String oldName = "oldName";
+        String oldPath = "C:\\biig-case\\biig-case.aut";
+        String oddOldPath = "c:\\\\biig-case\\biig-case.aut";
+        String newName = "newName";
+        String newPath = "newPath";
+        instance.addRecentCase(oldName, oddOldPath);
+        instance.updateRecentCase(oldName, oldPath, newName, newPath);
+        assertEquals(1, instance.getTotalRecentCases());
+    }
+    @Test
+    public void testNormalizePathRemoveRecentCase1() {
+        System.out.println("normalizePathRemoveRecentCase1");
+        String name = "name";
+        String path = "C:\\biig-case\\biig-case.aut";
+        String oddPath = "c:\\\\biig-case\\biig-case.aut";
+        instance.addRecentCase(name, path);
+        instance.removeRecentCase(name, oddPath);
+        assertEquals(0, instance.getTotalRecentCases());
+    }
+    @Test
+    public void testNormalizePathRemoveRecentCase2() {
+        System.out.println("normalizePathRemoveRecentCase2");
+        String name = "name";
+        String path = "C:\\biig-case\\biig-case.aut";
+        String oddPath = "c:\\\\biig-case\\biig-case.aut";
+        instance.addRecentCase(name, oddPath);
+        instance.removeRecentCase(name, path);
+        assertEquals(0, instance.getTotalRecentCases());
+    }
+    
+
+}
\ No newline at end of file
diff --git a/CoreComponentInterfaces/build.xml b/CoreComponentInterfaces/build.xml
new file mode 100644
index 0000000000..34bf86be8d
--- /dev/null
+++ b/CoreComponentInterfaces/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.corecomponentinterfaces" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.corecomponentinterfaces.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/CoreComponentInterfaces/manifest.mf b/CoreComponentInterfaces/manifest.mf
new file mode 100644
index 0000000000..514519f60e
--- /dev/null
+++ b/CoreComponentInterfaces/manifest.mf
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.corecomponentinterfaces/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties
+OpenIDE-Module-Requires: org.openide.windows.WindowManager
+
diff --git a/CoreComponentInterfaces/nbproject/build-impl.xml b/CoreComponentInterfaces/nbproject/build-impl.xml
new file mode 100644
index 0000000000..dc08b8cc9c
--- /dev/null
+++ b/CoreComponentInterfaces/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.corecomponentinterfaces-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/CoreComponentInterfaces/nbproject/genfiles.properties b/CoreComponentInterfaces/nbproject/genfiles.properties
new file mode 100644
index 0000000000..614b3b3cd2
--- /dev/null
+++ b/CoreComponentInterfaces/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=70bb94aa
+build.xml.script.CRC32=c5094f8f
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=70bb94aa
+nbproject/build-impl.xml.script.CRC32=23300e1b
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/CoreComponentInterfaces/nbproject/project.properties b/CoreComponentInterfaces/nbproject/project.properties
new file mode 100644
index 0000000000..c51692cafc
--- /dev/null
+++ b/CoreComponentInterfaces/nbproject/project.properties
@@ -0,0 +1,3 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+spec.version.base=0.0
diff --git a/CoreComponentInterfaces/nbproject/project.xml b/CoreComponentInterfaces/nbproject/project.xml
new file mode 100644
index 0000000000..3276c14db8
--- /dev/null
+++ b/CoreComponentInterfaces/nbproject/project.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.settings</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.26.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.explorer</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.28.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.corecomponentinterfaces</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/CoreComponentInterfaces/nbproject/suite.properties b/CoreComponentInterfaces/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/CoreComponentInterfaces/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties
new file mode 100644
index 0000000000..1468238a77
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle.properties
@@ -0,0 +1 @@
+OpenIDE-Module-Name=CoreComponentInterfaces
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/CoreComponentControl.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/CoreComponentControl.java
new file mode 100644
index 0000000000..79892763e0
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/CoreComponentControl.java
@@ -0,0 +1,75 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import java.util.Collection;
+import java.util.Iterator;
+import org.openide.util.Lookup;
+import org.openide.windows.Mode;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
+
+/**
+ * Responsible for opening and closing the core windows when a case is opened and closed.
+ *
+ * @author jantonius
+ */
+public class CoreComponentControl {
+
+    /**
+     * Opens all TopComponent windows that are needed ({@link DataExplorer}, {@link DataResult}, and
+     * {@link DataContent})
+     */
+    public static void openCoreWindows() {
+        // TODO: there has to be a better way to do this.
+
+        // find the data explorer top components
+        Collection<? extends DataExplorer> dataExplorers = Lookup.getDefault().lookupAll(DataExplorer.class);
+        for (DataExplorer de : dataExplorers) {
+            TopComponent explorerWin = de.getTopComponent();
+            Mode m = WindowManager.getDefault().findMode("explorer");
+            m.dockInto(explorerWin); // redock into the explorer mode
+            explorerWin.open(); // open that top component
+        }
+
+        // find the data content top component
+        DataContent dc = Lookup.getDefault().lookup(DataContent.class);
+        TopComponent contentWin = dc.getTopComponent();
+        Mode m = WindowManager.getDefault().findMode("output");
+        m.dockInto(contentWin); // redock into the output mode
+        contentWin.open(); // open that top component
+    }
+
+    /**
+     * Closes all TopComponent windows that needed ({@link DataExplorer}, {@link DataResult}, and
+     * {@link DataContent})
+     */
+    public static void closeCoreWindows() {
+        WindowManager wm = WindowManager.getDefault();
+        Iterator<Mode> iter = (Iterator<Mode>) wm.getModes().iterator();
+
+        while (iter.hasNext()) {
+            Mode mode = iter.next();
+            for (TopComponent tc : mode.getTopComponents()) {
+                tc.close();
+            }
+        }
+    }
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContent.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContent.java
new file mode 100644
index 0000000000..ee8e1c78fb
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContent.java
@@ -0,0 +1,44 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import java.beans.PropertyChangeListener;
+import org.openide.windows.TopComponent;
+
+/**
+ * The interface for the "bottom right component" window.
+ *
+ * @author jantonius
+ */
+public interface DataContent extends PropertyChangeListener {
+
+    /**
+     * Sets the "selected" node in this class
+     * @param selectedNode node to use
+     */
+    public void setNode(ContentNode selectedNode);
+
+    /**
+     * Get the TopComponent that is used when displaying this DataContent
+     * @return TopComponent for this DataContent
+     */
+    public TopComponent getTopComponent();
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContentViewer.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContentViewer.java
new file mode 100644
index 0000000000..bb91673725
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataContentViewer.java
@@ -0,0 +1,63 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import java.awt.Component;
+
+/**
+ * Responsible for a tab in the {@link DataContent} component. Displays the
+ * contents of the node passed to {@link setNode(ContentNode)}.
+ */
+public interface DataContentViewer {
+    /**
+     * Sets the node to display in the viewer. When called with null, must
+     * clear all references to previous nodes.
+     */
+    public void setNode(ContentNode selectedNode);
+    
+    /**
+     * Returns the title of this viewer. 
+     */
+    public String getTitle();
+
+    /**
+     * Get new DataContentViewer instance.
+     */
+    public DataContentViewer getInstance();
+    
+    /**
+     * Get Component to display this DataContentViewer
+     */
+    public Component getComponent();
+
+    /**
+     * Resets the component in this viewer.
+     */
+    public void resetComponent();
+
+    /**
+     * Checks whether the given node is supported by the viewer
+     * @param node Node to check for support
+     * @return True if supported, else false
+     */
+    public boolean isSupported(ContentNode node);
+
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataExplorer.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataExplorer.java
new file mode 100644
index 0000000000..0b0cdffcf1
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataExplorer.java
@@ -0,0 +1,39 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import java.beans.PropertyChangeListener;
+import org.openide.windows.TopComponent;
+
+/**
+ * The interface for the "top left component" window.
+ *
+ * @author jantonius
+ */
+public interface DataExplorer extends PropertyChangeListener {
+
+    /**
+     * Gets the TopComponent for rendering this DateExplorer
+     * 
+     * @return the DataExplorer's TopComponent
+     */
+    public TopComponent getTopComponent();
+
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResult.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResult.java
new file mode 100644
index 0000000000..743666df89
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResult.java
@@ -0,0 +1,55 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+
+/**
+ * The interface for the "top right component" window.
+ *
+ * @author jantonius
+ */
+public interface DataResult {
+
+    /**
+     * Sets the "selected" node in this class.
+     */
+    public void setNode(ContentNode selectedNode);
+
+    /**
+     * Gets the unique TopComponent ID of this class.
+     *
+     * @return preferredID  the unique ID
+     */
+    public String getPreferredID();
+
+    /**
+     * Sets the title of this TopComponent
+     * 
+     * @param title  the given title (String)
+     */
+    public void setTitle(String title);
+
+    /**
+     * Checks if this is the main (uncloseable) instance of DataResult
+     *
+     * @return true if it is the main instance, otherwise false
+     */
+    public boolean isMain();
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResultViewer.java b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResultViewer.java
new file mode 100644
index 0000000000..6ef241e890
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/DataResultViewer.java
@@ -0,0 +1,64 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.corecomponentinterfaces;
+
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import java.awt.Component;
+
+/**
+ * Interface for the different viewers that show a set of nodes in the DataResult area. 
+ * AbstractDataResultViewer has default implementations for the action handlers. 
+ * 
+ * @author jantonius
+ */
+public interface DataResultViewer {
+    /**
+     * Set the root node to display in this viewer. When called with null, must
+     * clear all references to previous nodes.
+     */
+    public void setNode(ContentNode selectedNode);
+
+    /**
+     * Gets the title of this viewer
+     */
+    public String getTitle();
+
+    /**
+     * Get a new instance of DataResultViewer
+     */
+    public DataResultViewer getInstance();
+    
+    /**
+     * Get Component to display this DataResultViewer
+     */
+    public Component getComponent();
+
+    /**
+     * Resets the viewer.
+     */
+    public void resetComponent();
+
+    /**
+     * Frees the objects that have been allocated by this viewer, in
+     * preparation for permanently disposing of it.
+     */
+    public void clearComponent();
+}
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml
new file mode 100644
index 0000000000..83b7d8df3b
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/layer.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+</filesystem>
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/package.html b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/package.html
new file mode 100644
index 0000000000..a43d19c45f
--- /dev/null
+++ b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/corecomponentinterfaces/package.html
@@ -0,0 +1,106 @@
+<body>
+<p>This package contains the interface classes that define the core components in Autopsy.  These components are used in the difference zones of the GUI.</p>
+
+<h2>Autopsy Zones</h2>
+
+<p>There are three major zones in the Autopsy UI. The left hand side has the {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer DataExplorer} zone. This area is where you can search for and explore data. It has all of the analysis smarts. An example of a DataExplorer is the directory tree that shows the hierarchy of directories (and hides the files from view).</p>
+
+<p>The DataExplorer area identifies a subset of the data to show the user and passes the data to the {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataResult DataResult}s area in the upper right. In the previous example, the contents of a specific folder would be passed to this area and displayed in a table or thumbnail form.</p>
+
+<p>When a file or object is selected in the DataResult, it is passed to the {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataContent DataContent} zone in the lower right. This is where file content can be viewed in hex form, strings, etc. </p>
+
+
+<h2>Data Flow</h2>
+<h3>Creating Nodes in DataExplorer</h3>
+
+<p>Data flows between the areas inside of a NetBeans node. The DataExplorer modules create the NetBeans nodes. They query the SQLite database or do whatever they want to identify the set of files that are of interest. They create the NetBeans nodes based on Sleuthkit data model objects. See the org.sleuthkit.autopsy.datamodel package for more details on this. </p>
+
+<h3>Getting Nodes to DataResult</h3>
+
+<p>Each DataExplorer TopComponent is responsible for creating its own DataResult TopComponent to display its results. It can choose to re-use the same TopComponent for multiple searches (as DirectoryTree does) or it can choose to make a new one each time (as FileSearch does). The setNode() method on the DataResult object is used to set the root node to display. A dummy root node must be created as the parent if a parent does not already exist. </p>
+
+<p>The DataExplorer is responsible for setting the double-click and right-click actions associated with the node.  The default single click action is to pass data to DataContent.  To override this, you must create a new DataResultViewer instance that overrides the propertyChange() method. The DataExplorer adds actions to wrapping the node in a FilterNode variant. The FilterNode then defines the actions for the node by overriding the getPreferredAction() and getActions() methods.  As an example, org.sleuthkit.autopsy.directorytree.DataResultFilterNode and org.sleuthkit.autopsy.directorytree.DataResultFilterChildren wraps the nodes that are passed over by the DirectoryTree DataExplorer.</p>
+
+DataResult can send data back to its DataExplorer by making a custom action that looks up it's instance (DataExplorer.getInstance()).
+
+<h3>Getting Nodes to DataContent </h3>
+<p> A default DataContent viewer is created when a case is opened. To display the contents of a node, it must be passed to a DataContent instance.  The default single-click behavior of the DataResultViewers is to lookup the default DataContent TopComponent and pass the selected node to it.   See {@link org.sleuthkit.autopsy.corecomponents.AbstractDataResultViewer#propertyChange(PropertyChangeEvent) AbstractDataResultViewer.propertyChange()} for details. </p>
+
+<h2>Creating new Functionality</h2>
+
+<h3>Creating a DataExplorer</h3>
+<ol>
+    <li>Create a module from within NetBeans.  It must be dependent on these modules:
+    <ul>
+        <li>Case
+        <li>CoreComponentInterfaces
+        <li>CoreComponents
+        <li>DataModel
+        <li>DialogsAPI (if pop-ups and such are going to be used)
+        <li>Explorer & Property Sheet API
+        <li>Lookup
+        <li>Nodes API
+        <li>Setting API
+        <li>UI Utilities API
+        <li>Utilities API
+        <li>Window System API
+    </ul>
+
+    <li> Create a class that implements {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer DataExplorer}. We have been making the TopComponent class be the one that implements DataExplorer. Register this class as a DataExplorer service provider by specifying "@ServiceProvider(service=DataExplorer.class)" in the class or using layer.xml. 
+    <li>Implement the methods required by the DataExplorer interface. 
+    <li>Register the class to receive property change events from the org.sleuthkit.autopsy.Case module by using its addPropertyChangeListener() method. 
+    <li>Access case data using the org.sleuthkit.autopsy.Case module. 
+    <li>Create Nodes for the data objects using the techniques outlined in the previous section.
+    <li>Wrap the nodes in FilterNodes to define actions as outlined in the previous section. 
+    <li>Send results to DataResults using the techniques outlined in the previous section. 
+</ol>
+
+<h3>Creating a DataResultViewer</h3>
+<p>DataResultTopComponent is the high-level window in the DataResult area.  Each instance of this loads up all instances of DataResultViewers that have been registered with the system. Example viewers include the table and thumbnail views.  If you want to make your own type of viewer, follow the steps below.  Note that the table and thumbnail viewers come with Autopsy by default and can be used by all DataExplorers. </p>
+
+<ol>
+    <li>Create a module from within NetBeans.  It must be dependent on these modules:
+    <ul>
+        <li>Case
+        <li>CoreComponentInterfaces
+        <li>CoreComponents
+        <li>DataModel
+        <li>DialogsAPI (if pop-ups and such are going to be used)
+        <li>Explorer & Property Sheet API
+        <li>Lookup
+        <li>Nodes API
+        <li>Setting API
+        <li>UI Utilities API
+        <li>Utilities API
+        <li>Window System API
+    </ul>
+
+    <li>Make a class that extends {@link org.sleuthkit.autopsy.corecomponents.AbstractDataResultViewer#AbstractDataResultViewer() AbstractDataResultViewer} and is registered as a service provider for the {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer DataResultViewer} class by specifying "@ServiceProvider(service = DataResultViewer.class)" or by using layer.xml.  This class will extend JPanel. </li>
+
+    <li>See the previous sections on default actions.</li>
+</ol>
+
+<h3>Creating a DataContentViewer</h3>
+<p>DataContentTopComponent is the high-level window in the DataContent area.  Each instance of this loads up all instances of DataContentViewers that have been registered with the system. Example viewers include the strings and hexdump views.  If you want to make your own type of viewer, follow the steps below.  Note that the strings, hexdump, and image viewers come with Autopsy by default and can be used by all DataExplorers and DataResults. You only need to make a new DataContentViewer if these viewers do not satisfy your needs.</p>
+
+<ol>
+    <li>Create a module from within NetBeans.  It must be dependent on these modules:
+    <ul>
+        <li>Case
+        <li>CoreComponentInterfaces
+        <li>CoreComponents
+        <li>DataModel
+        <li>DialogsAPI (if pop-ups and such are going to be used)
+        <li>Explorer & Property Sheet API
+        <li>Lookup
+        <li>Nodes API
+        <li>Setting API
+        <li>UI Utilities API
+        <li>Utilities API
+        <li>Window System API
+    </ul>
+
+    <li>Make a class that implements {@link org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer DataContentViewer} and is registered as a service provider for DataContentViewer.class by specifying "@ServiceProvider(service = DataContentViewer.class)" or by using layer.xml.  This class must extend JPanel. </li>
+</ol>
+
+</body>
\ No newline at end of file
diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/Folder-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/Folder-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..77fb7695deb151621129a32a9d1b377851a65359
GIT binary patch
literal 739
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|RG)M`SSr1K(i~W;~w1B87p0L9)a(q9iy!t)x7$D3u`~F*C13
z&(AePq0Cs%RL{cPx*?W<fhpM2#WBRfzje}G|4D%|$N%c@db`N}!0dlb>vp|ZBz>Z$
zwR26=g_@NtqTXkBt+>{myEXE%=~|O#EV_;p=PW!RoUi0v&B!e1D(7Ml{N}bL`_hMx
zU){8`zJ2rk@0;J}JQoppQ$J_jobs1TH|*DJ4G!=78EDBA*4xm^DOywIdDKyF`?>zp
zjbCJ!D6QqVvFf4Jv_q*oIwrgqWN`00bIxSXVIdAyHOp^i`RSfPRuef)62FylK3M(V
z`-$WoXHj=<Bk8#}d;{_lr=NFXy?svmM8&Hjp(+<g=J|nrb1T^E*1i{3)^6kq>dR8I
z%s8}H*V@S-to7~IvOh7ZF1I&|<|YR?COtFSwqw?u19kygB4_rlce1+F_T`iB5{-vC
zAsdXACg^^9_Uhwohwm)z3!2Ve;8m#?m=?8B@QhPC^D^#^=+GO5*A3VFJ^JHDe9R2>
zkNYN1jJ~e)F_!z^Y_X5)b$PTtNT)<>n;;gWdr8kU%<k^dlKVgZh|LR>d=wwGVc(6O
z8&1ZD)~)8al{NE#p@M6HQ{&f}QYz2oCz~_+?A5VSkyz>SrdT-auarxzl-Qhi+6Pne
zH7hNOT6DBp>{o1fR(FDB+P&hROxqVuVh!Ju<#MOjC!r#$Wudz3gOVbhKFy68AxW2(
zv|L)#veUiBW5IftBbPfie717BW2$zcwDV$pe9K2UPMcremNLyoJ^KYdS5Eg}@;l$b
z<GqcIC0%;PgUaKXHUaYwt*%Z_cq1lzVD>K8t1XY4;ys<BemhA1QDc>9e!61noREnN
tlba6K=L&c#9`t$8zU$n)AMro<>sJ}<eBrjZfq{X6!PC{xWt~$(696*oLhk?o

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/addImage-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/addImage-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a36d4714ac9db8a3888ab2610bef2ab0cfbb6b7c
GIT binary patch
literal 1632
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

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/close-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/close-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b46fafe588f4b3e296cdfc9b08ff596b9745df
GIT binary patch
literal 1069
zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuL8zj(ShhE&{|8W!s#5-##D
zZTj7bcatKwEc>%`npi+Le{aK9fuKvPGBdVn9@(aLY=(yC<YhA?<iA|~k&?7v-<GEb
z+y5=`RP@cr=nhyZ=oGx5mhr4tmao8ywYvf(627Hhdw=du;`=<a26fAs#^#%!TR*RP
zK5w(sHGQel<}K4#p8WbR!&Gy*+((A|y$pLk*-TKc`=D=7&pu;I1LM9r-@RYAFsNSP
z-g;nRKg0RkRskn&{IyY$SahZO%)@lyA8Z@y*mqTwbXAqxGW_1oaDU##fPw<$3Ho-6
z7PH7kZPIfx4b)+huK99~`MIvkjGKx3{%w*vuv^rj++DBcs%1mD-O~$`<acaadLv4%
zK$)**S4)IM#=}5=vxZYn32%xR&cAtf{A5O#tFE`op+cW&r`f(UCcfI}s&j_vstxCI
z#tqw=r<d$0v~WEBv2<HU$v%~X2iE-Fb3k3K?s4T}t_uOnAKv<&QrJ9Gt5G1|lXK7Q
z?aH_A&wqAff4RPpdA?HN^@pW_X~OFIYh9!_T{v+4wVuQC=~jK)J)ReuYg_U2@*Rqf
z>T*AO)}XrjZSmffoaf8Rl?`osJ(87mnmT&KSLiUXl~{NC&01^5aDTa4ZH1+X_th)W
zF+IK|^Md2vP1wDs$HTijw|&>H8?NW(cKiE2WONiVHZDt8w3??VQ2wy)v1m<(8vV+I
zKNDNdds%(mvY5a1!=0(xAHu`ePf^XB#rJa8z9KPM>BIkje>>Ra@}_)ZtLu7p6PNsG
z4z31=wQP@<FL9o-@=9bwPU73IvAZ`3<@EJGwl8{U)$a5ou<D<-CSzQ3nC&DL<HMZ{
zno@FY^IcX8sUF;1TAF!Iv0k5{FYtd0^MuWl8DzBnX#}Yjsd_kZPo1@XO81;I6NR0H
z_A}|se!@H}k+VTTpLKa?>ut_epOwnG-B(uLl2uUO{6<go$P|S)7Y&;4KHK(E+<wDS
zi#s18$|lBzwu-yEKMYigPdeNBL~BmOnJ4pSNzD)zE?dp@{LyOR1J7$}-Y{L+f8P7!
z%$@@i+FRegy>aJS+U@Q))2!c!DMsInWxN^t-P+2a{L_+L^^}72$b)tZ`kr-IX|4Nr
z;&rSl<DyS{Ius86s=6a)9xn7s^<(NAz2ppz&6jps|4@@@`ki_E;tJz6i+T?CEj@L*
zx%lhdzE3R88+e#krC3+1+?w2<>2T%4dmjeH_j^tip0$2=etM*ivZ<BP(Zv=O9;t?B
zr4LjGlsR2%4L;LaET?fpIk?}uw7kK3-`!Y4CtG)`cZ~9v{)CopyLD>M5336`9gUwl
z87`Sil?%45y!)g~<VWAL%vUkX7H^$ar#ffpe>K5!kqPpJKN{}ZJl3f-JiNc?^<3X;
jOeg+)Tls&R4P$0^j?3h~TlO$8Ffe$!`njxgN@xNA)D!!&

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon-deleted.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon-deleted.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef172e501b5ff414e7c95d9a96f70e2be2063bfb
GIT binary patch
literal 636
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|RG)M`SSr1K(i~W;~w1B87p0L9)a(q9iy!t)x7$D3u`~F*C13
z&(AePq0Cs%RL{cPx*?W<f$@!}i(`m|fA1vQ{96GcZ7YpRR!o_~qP*md;N8W4T3HlT
zga3K8{b})u+|ytvk(y`g;>G5$O2F%gz!90o9|hgX+&zrR2H$F5XE#Y_-FoH~K268|
zeD%4HoUL*GD??6Qef{;e@Ak0Ocg46`*LS)o?fYf-;Z50Yp?`&Gn<Y;@{p271DRuD^
zTc*&^z_nrZDw9txcw*ZWx1PO9d#abUSa)sA>L>Y3P8=^vW!SgnCU1;5klSv+^ZDog
zCi}$Gn+)ckPn@OJ>9%-3D@Uu{ilzmRo*tD~F1*Zf{9t9(r=a@>40w|FGKCAMMn|*!
z{(a!{=S@#$OYeC9P)5Gm;4gQcQLCX`f3t4J^y$uA6PlSV77L!ZI8l8=mn;7~zvbEz
zyVm8;W3;sYu2599%g5g4%fpi?PLnlxd@naO`7Kwrob@c!AyI#B>fRKt{yVGU62JWZ
zyI{fHJnxc-?&I$93HR>){7_)A<fKU3?f^%})mJCI*q}4-J8Me0_~dr>fC>YNH3=GB
zPD&F`{E{=7?c2$B+Rl>k=DoH+t%H5XAHI3(xPN~=xAU~83l?0=@YoW+X*2WZUsX5P
z>m1&(>(HAwJgXL6Na4C%%EuKk?P-^|_<eVt#m_%i1`4nkPCwmwGbijxW!#w*Bc<bo
pNmg^kf>&PIUSRR3bKNKX!=3Fu(-v<QWME)m@O1TaS?83{1OP-_6dC{k

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/file-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..add0e90646ddd16d3d53fb96f50523586ca2f74a
GIT binary patch
literal 362
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74Lw~PLn>~~y=<G+;vmBQ
z;ifRhYqPqA9UUF>ly)}ezEfPXdE@3S-V?n$=8At{nC*5q)bj{Gj|Ug??qgF+jgzlT
zu#re}__zPN#4+9-)1FtJx9EF+z-R9H^nlQ-%Tpu!*S+3%;J(>oMbAl7mSuA3gxubC
z;QL?m%O>xuQvT~N$dnRry|_A2;(OoYH~)FAl-kZYY|vxsE4*1JyPkE|y4`OdTg~;8
zJ#27$k;c97#>^i@Gq3MWjx3w~{HGB^`|$@A`xs=7>-sbFTVJkasF*jO{aTZO0>>f$
zhF953wV65=bubmm+;3=I$D!aU#3j>ze2R)^R#9YkgU)G<0t*?o1XUJ)Q-;*YI_AHx
zqga={cL)>_;b>A&<!EX;d|AP!an&k~gxlYQ+Y)#0G&k666?<L&SN-G1+@^)^6@F{k
S$}%u8FnGH9xvX<aXaWF&>6(E6

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/folder-icon-deleted.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/folder-icon-deleted.png
new file mode 100644
index 0000000000000000000000000000000000000000..3603190e327ac916f05127dd986307e240568d65
GIT binary patch
literal 759
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^xl_H+M9WMyDr
z;4JWnEM{QfI|Ravq8eTe3=9mCC9V-A!TD(=<%vb93;~Imc_n&&t|1C##(JiD7UtFs
zu?!4MC7v#hAr}6vlVUxB6D5v^PY@R^G2~d(G|AE2G44yLFbiiar>jA9-Z|Z`6L$73
zyO$z3ZI)|Df_#9=LYLrhqdOeWp2ZygbL-^UJ1s3Uw#-SZdUmH>Zu`Hz&sQ9O*24Fv
zLN0FJ^Y3==A5QcLvtQ<Xc9(Ay&(_rjcNVt2S7xohf7WDQ>E#czOjxsPlfK;4Q250#
zF@g6_b810()<d)D3J+?z4yaCgQ1x+ZaC1rHRHvec|F{z8v9<i!Zg624%bw8JEb#}E
zb#BB=n2~>=sN=cZw40(82OoVXRdLgD<@|qS3+J9#ksUj$bk45(G~0zqzhlQKmXo(s
z&b0sWWto<wbMA`bzixxr_8TQ@8T2{6#yj_DinBViUES4?63uZld99X9^VSZ(d#)-0
z%}3jx3v8ak(WIHa(!jN73s*hIpP4^cCcRZFm{Ve{<R|q|zFZ)C4?_{#yDdH%-=fzi
ztm|iczEb4H<>wDK+v&fK=R9k!VziW_GC$$xi8x1rYvLSDhQ)$vvMF54m;%d9m+iB0
zdcWIy<^M+8shTFbb1k<B@xMQKB%xKIKyu5B7kWo?>MalLOHWZ}cpmM#D&fk6{v(bn
zFP!<j_Xo>P*UoujqLDIOjO@Mh=VzR$kYa6I{4{CRfn>cSIk!^-AMBpX``MedM_(kt
zN~0&bMB@FWg~wMlpIg_w*Rs6%KnTY+J9m)+YvY8~cHDo3EpyIF^~_k;wd0=n!Eb8Q
zeIwOAU3>U5`S-*-6B{37t1kLors(&{>}%i_yK|1=lWTad-BQt4mhrfK?8&yZh4mjj
zdm_CLzL+X8#q+kfijeYt?aZUn{2mtzo7#OQxo!}Sc>MYErvIk@SpAnMRJitd2{AA*
OFnGH9xvX<aXaWF#nM&UP

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/hard-drive-icon.jpg b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/hard-drive-icon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f948ab2ac1492f62a0872e50d516b48c018e3fa4
GIT binary patch
literal 822
zcmex=<NpH&0WUXCHwH#VMg|WC4+e(+w;7xnm>3yBhzSCiS(!nAjfI7om7R^99fUbJ
zxj8vFxH#C^xp=v_xOsSZc-T4l_<4EwKx~j9j7&^S%*@Pe%*<>&9PAt*6{O++2N(o7
z7z7vum>HEAm;@P_1sVSzVUTBFU}R+k0|qEyWMXDvWn<^y<l_E+gkh@y0}~@NGZPCl
zD=P~N0|R3%BNH<Niy*6zqM;+3a9|?4QlW@Z<HUs=%1#>(iUwW$pkka<)WpdpCN3c<
zrK+Z`p{ZqJYG!U>Y31zV>gMj@=@lFj8WtWA8I_!pnwFlCnN?g;T2@|BS=HRq+ScCD
z*)?hMl&RCE&zL!D(c&dbmn~nha@D5ITefc7zGLUELx+zXJ$C%W$y1juU%7hi`i+~n
z9zJ^f<mt2LFJ8X-`04YPuiw7^`1uRuFGdDtu&+P_#A9gw5@cXvWMW}qW?={Ui;=0E
zfsu(>kcCyzkWI)jkUg<bSjni7L&Ry~!i@(xm5qZwh$a<X<PuXcd8qmk<TbF*i1Szz
zSw4e%4B@X^3_Q$?3`~N|f(-Tyf93wJ{VKU9{-bkbwtt7b&>p#6zK^54+1pKLS4&q<
zzbPl>sJrLr4Bk~7+Ao_b*C~I?{IPlEkLYhxf8;JX|LDC$#caP>zn=R|s?86LKKXo>
zM+(QKEtxX8+l3U4B(tn5a?5V{@%ZEQW4FwYy_b!sKh*o<ajo9`b+2^U)-L=}7TO%h
zR2e8IdF;cB7pp=y@W~XhpR)MR(0FTq|DNjK9zU2q{89LE_ThW&V^T4jV}7(Bo;*=R
b>6yJ*_znq|9=CX%!xrZQqkpet{C^Vws>UQr

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/new-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/new-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..14206340e177dc0d06327438ca11fcff38ef706f
GIT binary patch
literal 1363
zcmeAS@N?(olHy`uVBq!ia0y~yV2}i14rT@hhR^1ufeZ``Ea{HEjtmSN`?>!lvNA9*
zGX(gAxH2#>u(7dma&mHWbBl<Gh>D6zOG_IY8=D%Nnwy(jT3T9JSlQXxF_bYdR538r
zFsR3=dpLXe`}>Fbh6V-(hJ}Ttq@-kIWaQ=L<>%)Y6%{cwFfg<;Fmy98^e`~=GjKL>
za(8mecFQs>WMEjtz_5maVFLrhUIxW(MbmCmvpzG16ATPz7#LnKFuY}8_|Fj16H>6f
zprxf{(xgdq=gwWbeC?VwYu2t^yJgFk?OV6+*}Z4ao;@AMJLa63v-s5FWv7>IyR+@^
z;lrm+oqF~0)z`0I|9$=U`}gmke}4Y||DRzLjD`TA5J+gOuV-LjWGD&p3;sW{0YmV2
zc2x!j2F?PH$YKTtzQZ8Qcszea3aBJ0ag8Vm&QB{TPb^Ah2uRG#E79|F4N)jF)-%<!
zFt=`qWnf^~;pyTSq7j_@qo3R0!SuxEEzEk#GlDkArMYu!Y?ziJ(C*ck8gbVq;lPm&
zcOE6yX^Dl6rzN~AJ3JDm7A7Spwd~-E<@eaULQ+psu{i4#$K#^Lg$<3oW!pVpzw}C;
zSXf>*_3HKT14_x-i`T4Mzkb!B{)fTUvb6>QhbL^j+;(C`(g}-<j8iXPf6mfO<TkIY
zt#zHjJ>e0%#DYDmv}z0_UFI+?zIMs$f{5HAkCzNH6n0n&ENnLY`@k=hq3%p@x~bz5
QV^C`GboFyt=akR{00HmLxc~qF

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/open-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/open-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..d16e51b68287b10e230b6f6a25efe30e7b7b1dee
GIT binary patch
literal 1051
zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuL8A9=bshE&X%JJmNQBvqts
z{`=qW_7<l{Sxqflpdg~bYZ4;DvA|5JajxNvRWFZ47+#bxUsuxF>6p5-FtMrLaMy$x
z8CMc+yl^uyRALlunxrvx$}Rcd)^B+(&)m8H_|YvVr(BTy;Jfe1J^kl<-dlcuvM0Ro
z_XP*-gjYvW8U637Rk~^JJCSlDJ6dP9Hq&KepI>(8L)q7|L?!%mdGNQqKazdk%dHny
zmF0%JB~|^})3nv$N71sW%Cc`y?KRZzQ|!_@uNl7b-#n43ZFP^Mg9;MDuVgUpjW&A~
zUSFrZR=Rgxp2(6{p^cZgxUx=`>fTs*km;A)t(@0a5<GI+JD8>@Y*bJ@(x@;`LG{87
zi`%mt?%#T$5)jc~Sl4hn&-t@k!Ga?0BMvMr4kr)qH*@*$+vXP^`>Qh!s=6H7Of%GY
zzt=IXEH#}xXW8Qv{W%LNA_bWm8^oOr+kOgsQhZW#;@5;S)1`l!7>+gAvj*-fJHPtd
zg>Nq+7d?>oIO4&y!7<07c}k;^hv2$6-ipVikpdSCMc5szx3V(al0WWo!dHDR!zG48
z+s=rV<=Jl4P<X)Kxak%5l_nPfu?03vOA~v1r#cvLt-AM3zxDm`GiRsHJatxBG~IJ`
zWZ2dpDwDYxS4AnzTasj4dfG*4{>GU?^3UF<Y<cP!R$e0Hrnva=^cx?Zmw!=hzj;r0
z!D`kkI;VHFaCk60QVcwB|8m>nSAu2t{~Bb!W!bjv<Dw2<?Qp}rnfk}i)t}<tKgTg-
zPrxR@4bKj0h0J}OP?WGKA??7a=C>0+w_bl_yC#0~T+8|yCok>aV!CG8{?+2wcT8EV
zc`f(;dG}?LKYl#Qr*q)rw3@c3QkLNvN8&g3C0U$#R>I%D`&VHP?}6mG?3M2?xjx%d
zn6@oXO`2El9pi&*<r4dOo-dKSermE2Ctvwj<JY|(9^XhWSyo<@^?|u4uG7P$_hdtk
z_u)kiY`g#QwWKag$;q*GE<assaqQXbh2b+a;?fe{6^n3PzvQy0kk`Ujbo1%TKpwxH
z>l(@wl|PH*v`-0Lb7h&Dr}`#^2gkY8O*D8M*92a#<@s>^fa$zl``NGOHvLTa8Qhgv
zqp;}0wT4u+8yA16IIiJ*oS#|1B&2pogOSzI^4XV<FDJ3aoIJOw{=ecqv$n6RzRB}0
zyz}Xeb?dUeT1N5Z@k!y&e3dTxh}yfEtSJavd?j+9{mkWay7%pw_$I99-@LXh|6ac6
zycTl)-PV*zxm(oa9WHuot7&|AD1XkMtd__6=Xl*0zS+ULZ+6oB$pMr7ZRSt8ynoy2
z8)ssTOm6DN|KH%oCs*W>{g1)yPy8oW6K3}*kAjSjPI+y_IEQiGvPY{K{;(hVHpTpl
Ts_}LP1_lOCS3j3^P6<r_1XTK~

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/save-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/save-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6595171d4df29c3d0917a743e7a7fe116077b1a
GIT binary patch
literal 1215
zcmeAS@N?(olHy`uVBq!ia0y~yV2}i14mJh`h9fUqlNlHo7>k44ofy`glX=O&z`&C3
z=<CS9u(6-}Pa-P=0|RG)M`SSr1K$x4W}K?cC(XdX65{FN7~<i*HO#wPCRF6#tBd`!
z+|za~-)&qdu(_k-QO1GRcQG8V4)rQ3^)0Y>D0zHJCq~op&JF>VPPU^uF)cSWPbRU1
zr)3&+^a!LaOJ8>R>fL3#m+xBj`ek`u=+_b@r>GByu7AI`s`y=H?e~&QPWFG#7y3&7
zd@wtA&MGm(c%zT;I@u-HJ}S#>la0BP!SGb{>Axc<vc>C<3a9%&e%bC-@ybQoQAKNW
zZ_~sF&lWV^e|O}@t}0&p+HW={t7l2={P5Q7R4<zrx2sK<`G-e~9VAqZU6u7_wza*!
zeL#LM%iT2g`n=e~<?(wsV{6vxPB-8a`eWMlpw(gh<!0ZKw1yMi^IqJ4YMCdX%-Qxq
z*4$Lc)$q+?iQJ?It}E7DxsY)saJ{{SOWYTi{k1B5$93BH=3dlPHe8)!{mJN9fsg+#
zT^YG;7qV=@O5)GGywvd_?9z%Jk5BIV43yiB8)$D0of8#%^c9al<wfDz<NgL*En%94
zQzo`ZyPdSj;@I)B+&bg7*&9iPPm9!lB^?k}zUk3xAY|`jpvIK6a#xSnQX^v*|1Vc9
z3umqKR1p$?Kfy@ksMW8%a=Y%{RIFO`esbc$zY{$k+6LWFT;Lk9YW|U1x84ZYUM!Cg
zpU#&Z`S5D$pC7OI^zLs;h-8z?pHWeE*7?kdkQHmDyUe{`?<*E;+wNlP*UfmxLgR6{
zwd0MKkJkKUURU!ktm^U66RJ`xb!KI{)Kx9{BNY-7lJfP-nOR0h4sOw|7L*nGbRzk*
zk3srO3AwTlK4~dV5B~&oPhW1vZ_+V!CrhaI%rjSW*3T3C8F#I;dv5avuHzH$9@hKl
zqp<SgOUt(!=MzOH&QLvKBy4oNig99|l1fUS$>j6C5<;3^UBcHc53=bza;Bx^9NXtf
zEjfnO)*s5s4f5U{yl;Qt!?#?E-PIC;=kkR04DaP1vc8diop0*AqL2f{pDxX;{4`ZO
zbMnFojJJJ1oSW=BhcE9yf42d*+PS&aqPIFz=WTGYe5NWLy`AmGj!Va9Ze^XMoqEPz
z$+MbA(|yBIO?{O&J7Nw`zn}l`viIyAA5MmEXik;6!)ch(%yoD|i$|@j1*4B><FPHT
zwXV+Ekn+punW-o1rFAP=j^0mV4BP2aHC=t>iJMd1mEJw=4OqS}Dp<q+`jYaK-Zx(e
z`ML!jjd&`1-?QSsRfd{!|0%ZAsU>M1Yv=Ae&6eqqe9zR#b;0K*i4^A-{SPaZcdR?S
z>xF@D^F_%yn$ufT0{ZK_FR->U>Bsj}SRA={AW+8p|Kq=MaTV{=--KV^81ck;Rvy35
zo=qjf>8EygY*q4FDs=7o&$>jx&)wV_qFt{NR;MI<p3Y~t=iS4JlZzkx<oNBprS6Z^
zbo(kk{rUBee>gKemb+J1FZ}KWhuYz(Wr+$-fs2CWvUSQ9aLw-f^2<BR*=)bz>_vZ$
zYb)K6eR%h}{4ww6=2!mB^H*wEBe`?c4<$dN)zc=48N{wQ-~D^v^dd7qd$UtcpG*Gm
Z&JgG;klMG0lYxPO!PC{xWt~$(69B}$HVps(

literal 0
HcmV?d00001

diff --git a/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/vol-icon.png b/CoreComponentInterfaces/src/org/sleuthkit/autopsy/images/vol-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cd23b971a3687894f31ca04c2cbd9179fb2e57f
GIT binary patch
literal 3196
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

literal 0
HcmV?d00001

diff --git a/CoreComponents/build.xml b/CoreComponents/build.xml
new file mode 100644
index 0000000000..da573e2729
--- /dev/null
+++ b/CoreComponents/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.corecomponents" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.corecomponents.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ContentViewer_example.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ContentViewer_example.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6d71c4a06c8d63ae581684547870c27ee934552
GIT binary patch
literal 48659
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

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Hex_Content_Viewer.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Hex_Content_Viewer.png
new file mode 100644
index 0000000000000000000000000000000000000000..1766f03aec6f5386d89c497af4b18eb55648ce3e
GIT binary patch
literal 40655
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
Yt{@@xD^-CV3=9kmp00i_>zopr0QoV3)Bpeg

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Picture_Content_Viewer.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Picture_Content_Viewer.png
new file mode 100644
index 0000000000000000000000000000000000000000..79914b834bc3870967f8ff166a2637c4621426ec
GIT binary patch
literal 49846
zcmeAS@N?(olHy`uVBq!ia0y~yVBWyMz<7XziGhJZBuTiIfq{XsILO_JVcj{ImkbOH
zEa{HEjtmSN`?>!lvNA9*a29w(7BevL9R^{><M}I67#I$Dd%8G=RK&ggTYJIoX6!w7
zzny>LH~rMUDUiQ&QdDra_C`(TBu1eeCHF%TDvTdF_`hY`@aQQx$iw={q2i}z>LGuR
zGd*ItnJEs_7>+CJoJn{R;U*^c>5(iaC-2ikf-hQ6{$g!(v5CxY+OT$d(_X*$yW#b}
ztNp&;{r>mM=Rfc2=DiM&{r>*W-!FG-e_1U*|8vgj{k6Z={h$9ol2JQ>bxnil2BxqB
zToH}ZYYxQP|9CNbPXwCyY6r$g_rKdCD`wO#2o`<O_+#?Fbc6{YZFx(W*d9qozOl<h
zR^I5y$h`4&6VxV<x-|!S!wxvqEbhLqo{wyT0pp|p-`3mLy}qW~orElrz<MsSG5_zi
z{Mv`}|Gm=xHOXF7e9ggM!kcUvlP-MNUUPc;gP%@sU!=#^T|Zr4R=0isr(OEHvg?@t
zl)gN!{>1G666?C3%O79KK9%oe$3G`<?#d6hw|xG#ZbO;lWM02tKVo&nFMs@<{eO|-
z74g0A!nfVp{XH3BePbZwhWGCFzh3YED82vV`F}U<e=k40KmPC4_`|=Vmfg1hz_CMe
z{*0{1mpdZ)W<JP~zQr`5SnEoRUF%fklAYQ-w^U!5GV^i=_1h`Wb>I5=+qyg*f&Qzn
zK6T&YMTAMgW>JO*{~p)>>7VTUNBjQ^`9xn`p76S}^&g)*9{%xX?){&0x7=JPk+gF`
z%be-rzlHx-dFAa~J~vuhf9vg%tP6bqGTS%m*H=FOSjLy%KB>4bKX-RuwQSJWSu-Zy
zbA5MS!zudQeHDIgYkskh8FJ-9y~k(G6EvUf6#r${{@}1LS$!INi}G!DJ07l#x0?5Q
z(FvXVJI@?{b@fDI{glj$_uph+O-IC2%p|6QCi@Rx^y?o?um4&5zW#sp{qOs}|G%XF
z@U!^8-~SWODYCKG{}G;l;Q4X8Z-$dTu5rH8r6{)`-(}~#7}ru&!;cy6+qb2!u2hhV
zC=j}O;nwXPemnjDaI9K$T_nZjpW3>&1#YRTH}gFv>Q~N=x0f`!f1~ndhRe^wc;P2=
z-{p4PixARzGVO=e#9ilS%Y6K&l60^5?CcqLu5zA}U&r({@i==?M*ELR>uTR$<ASB-
z7orwgZ8IhcJ$SJE|3iBf-sH170@n?X$gb#nW7_hH&mw&H^2hr&SIbmv^zzernjzF*
zmMq)5hpS`ed`<!FONkF2aPq&l_$d?ZaOZs%Q^Vo1U@Z}b*CC=^m*n^5+z;EuQ1~IX
z*>2{8^h43Nj$TQBx#LWEky*XaHK~rfQHX3def5Fk_Wuf7Z2#=P|M}kh>hI_OuigLm
z{@*X>|LNFmWPAOZd2-wT<=^+P&$s`5uKdyGQu`myn;m-Wmq;XC@_)F7tLf1xF~+q_
zNrHDK9ke_a<g=o}#(}p+(^*(S?D6+=2LDdvY!NIgd@l0bVwp^nnA(fKpRV)T+&Ol3
zn;qMu(|fP&DTn9D2Q{KUUbx%;3e~TCDg3_Tc>Lea`4x}*_x(J*|55gaWiw+NK2_I!
z6c=^=vu*qSzm@Udo_agnxxxLIDI;)_%<6)sgoA#`j2yMf+Y9v<JKIFfYJ4m7vQ7GX
zFnj3jtH*iTa!wu)=@5MxAf(Dve!_LKe(9871$RCxoLe}dGjO+O$?*xctl3BIESu2D
z^Uj^AP@_ZO=_aj|q*Z&I)y{1%EI0=%lkO<6Ivl8fw))?j{=ZxIU-PxPxGeF6VEW7k
za~`R<qK@021>D6;&N`Pe$9?l#@vQNM+_B$_EEVK-7SyEWC%m-tNO<VEkNNUCRfTuH
z?>Sd}FHPT&e?0y4rpvZ7pXN#hUizE)apxA1a>L3x-6PfocMSG#cWqj~zUf86b#;kH
zp?o$W*QYo=kGB41{-Wy3$|!KD1u87d-53iDcpk7y#Z6wz{8^xXcR|bxDNFx5YLd4S
z^*`5JehfHmZ~d@9{m+x2P4DI+^o2ceVdXpHoTFeDc>Suq^qB_&a=P_9j62iirp&fH
z@MZhzvVubo{eGOxa@?~Jsia&N(dhhHAil7y#sVIF2SDk%U@MnI$NI2*`LiG%tR#PM
zM#Mm1eq^JCHK<UBJ34%|17ngticr{tV_E?X68h^uqZjSQq6Px@&lG)+jE3tEJHYjY
zOQIuI6c#t&jFq<qRNBY>v8zOJ8uP~2pn!tghNG-cP$-jy)ICsZc3k9==*Tbm`1{FP
zWc@rx)-l7)0!f%hF*1Mb)vKGo2PvG^G&J5Q1qTc~DBQFY6!u*_`hN0ua195uMa|()
zbN{}VQF`kZpcp%S?SZe1kM8d;``_?mdhDNj`;kpQ5T#&O|NrZ)k00L8-~X)G@=Iwd
zQvD#SS->Jt|E=eL<C%4;0`oUM*&Mlf<KD%u??-NhTfN{wp~Ij0Ij{F;^Bj4uRcRf6
zAcc8jv=}_(65_ceI?i8@WQ%Ol=RNX!*P=Pm2)S}D8O9^?f1XMI_r3V<^@5K2zwPs?
zr~ljgDfU6!n#y<lf2(*86u-W{_)`l1-RbJ-eOv41?~hOFI3M{rE!Ls!t-$+rq6KZR
zP`y*Y+Q<B8v*>ExBZuyn@BOq+jZ4^HpYKSaxb&N~%hQ-X-psmpW=3O0{L`m*5a~DI
zfrY|9@n7Fh+kcqz{LcaX^R=?uXZ!npyHHzsykvfMnNdzLLr1;5%b!!_y(_xb|J~2m
z{`*Vu{_oXp+%u)i=i7&Dle2l2css@Pc&+%iYu`8g{xtdIue|xGqQXDr8!MEUOQeeK
zou1Ft6m1@^_j+ewp+v{sHQ-bRPI9}0A8;uA`?B2r@BWwf+2cOXdA{cvb8-Cfw_-tw
z;+grY>+Ei3NOo{f;VZelQR`#b4{^m%w@nQ@(i3y;1b&^f(&o>`|NHN!|DF8t{rV&O
zH|;LpTXbyiF;8EU|M&krGryyH@&7aPn#1>XgkmCgIUdjLVwNmBapYYTWBLtf<~qO|
z{=h<^F6@8Z%WuW=ihoakwLap0^o&2B{qL4vkNw;B)c>RT`M%#jR{lOE|Hbxg%BFw&
z=4-JZ)l&Oa&z{ubIp^S)xh_Kb%!Mvb3^gi0^ti84d&yUp|KR0^#Y_jD+%IQr+xd2l
zV@y)V!RZfm6rVj=V=c?JbN}DlflAvIzsG+6>Q%O@H2c*4f72i9hZy`7G}Gi`{>Ymj
zQ1c6xg1@Z*C9m^e-~YY;UtPVV;(BcTr{DMgpTEzSRBgTeAX}>MbPesVwRhUh-q&Bt
z4|<>S=XdRoaJ~=Ue((7F@czOHodVi1$A7G2f7I%bGU?s!wh!%=Ki(;;cpR1G7B|VW
z&vIAbOOIrEePi489hWM9a8G@6YQ=rA{cpH4cKP0_*3a91*7Inh!o6he2R5)mW5+{K
zn*IMN{@>~UuK(*EUK6i-xHjG+eq)i-$?tz6wljtwKihu)?+x4XMCm_!Z%_K2^Y+Q{
zcbfbEZLEIx(=gBakJE8`rjFT)!pR*4{>v|Ga5H6h+RSUd{_y=_w&W8oUnj@^Ul?w;
zy+71V=zo-P{FJ{Bm#EEpouerIFECcrMMqFm^WyVsJ*r(-*p4>xSf@N{+pcL>3(HZv
zgF&ge^l$a2>U|%$_dh@R#dPhJ`1?@|dU<mHKDFNeeC_?uL)G`9u6=mEc5cF5+x*(s
zwyEN^llEWOpWI+!=YIXNmi(sV8HN-8?Oe~Y^&9`y-jAY>g^TW9yLls*Rnojp=-Hl#
zIscj*Y%I@z<TiP0G9e~#dz9z8gZ&{qx^ugah->pPe|$HK0iL`XL@oF_>{r#-|F7Qn
zfP3Hb_s`eo|12)Q`}O%fqr9t2HweA{AX#sa6I^HbXUYBaZ1wv8)&K5@e_?kK`hRHS
z>2>Q~&wh1ay6{=mbzj_@ejOD`+!ZJ6tvFSIzxd%J1A*PX8{wr;+42K|4u5v<|GiuO
z+WzwT@8UHF%lGg8*Y&k)mWK47tLt~aUbp`D>bqr%mhYCYdHerg;#=eQE%tJK;*)Nj
zFJ*ny`OI}e=MI~{i(bc;*B*@jvuvZwiWD8?r8`ak9~FADbWcX1!ePFdH)6FP@SvuH
z`G20M+gGgnzfM~qe$g}gPnUMb{ZgJiUEL^0Vc)~tF8}+meD+Sng0JKM#hw3lA9L8V
z_DTKIyq|~5|4+>=zx(#A!=Bx02PC(_J=4eV=>E^S_kT_;{#zc~_+yS~{x#N=8+;pQ
zi^AeLEFqpthW*I@4>A8^lNId3Pu~7%B=G+Aukt)tVHm-vQ6SNAaMtdKTl(8?e7+TX
z;++qo&<lHTMpS`cZ^3^pg?q-KR_|fi4O}Lfhcg}(l<3IMQ~fX#=GzTSVGq<m_0Gwq
z?~76DogaU78-MJtd@GIK!K&5VU?}ig(FN{ia4oh$nf1Uswnws4r*F<e)HICR8#Xer
zJ?drs`VQ;_n0vl0Z9p%t!wzuetZ8VhNOs(7jcjydt!9G4z3@uQ?J&(?lccp16z)X?
zygvtx2v9`}3O$LA@1b$$)}qvf$G9Xq%*C$k-VBe4H4UOSrZcfUs+~H$ID6E&qoF&R
z7(inxqgf497L1k*pptg9+y!^chF4<vw)8-H{ri&}_WYa~U-f45{F?Xs{0{C!bo%sG
zG&KHbV*2&``8tLQ@yIz%`7IAP1?s<jzZWwtJ?{5y`O5D*=g;_z7)8xl($H9;thjgf
z=YRy+A6!k1`#s79Y}6+FJDpnjZ0r0V2mEgv*!4G+>VYfmumfB%i<sCRd5c`%y|0S3
zk0t4n!Os~HXP)ZUf17N7C$aE*_>%dxuU?%$>b?bDSFdwpWd3;d#hb-36PZ3c=zQ?~
zwqb_F1%sItC4IYd?S8%uFX6N6f!Fu&VTQMpL^%%foBlY(>36IkC8?-D+-Rb+=D$y>
z&+qO=G<4qeFtI(dUc9@%%9CqJr1B#kp|$o)FFaI?OG<ep;mhcvcmDa$`3S?$iWmsQ
zZ)V#2a{1+=j^}?Ke6f(-@77+?p{OT#?5Od+mydq^fi=`(f?0WvT;GzA|0=Up{mHYW
z*5n44s%d&`-b*HMvIX8y+_zHn^z&R$d9#7(I%tGotKPlY<wb{U1Px<$%q!h7FV{C^
z&5MT;Zg-kLot=C+JqMyR?17s`g2Fz*qcz2To495Q{JwUqAeaC61kPow*UCEb{Zv2A
zgfs^a^adYrsCnG=r)qw|jBtxKKJ&}7(sd_&oaFpwLg(w)%9=7zE@#v(NCpj`+*q_f
zPyOG?`k$I}E?rUV`&RH-aM$Ccj`g!s?BwCCu?4{g9Nu&l_=+$HoIkTOEV=NnQQwcS
zz6_z|U+Y%9n{`EOej7BX8do$l-uU{^O5?+u_kZ-J9aQYgPoBpu>({n1O~Fr5_+_Fs
z^T*N^x_0a^vppG^H?BVNP82j&_V38%|Bpavv*yH+IsQ8Q7Dk0tk#jX}I_&v<>ya>Q
z2qr)~L7{BzjlE0^Nf$oY|GaVBS|M&*%XJ^8nEiWaI=rduD31@VfhVF_pwS@1vh@s&
z6&DrPsmEuZ+c_=njH1!CD(fS=*X!Cr2U|8Um373juUp8}Gu`5efVx`W`)4z%7y0S0
z-t1h%ySmr^B&@Y5vcdVysSVYvTJ1Y54;FAu%diU(k3TbU-n!xwN8Y{e^ar<z6Ij<A
zn8U=DbiMbkwgKxSlcl!~U4LqR^`vN@;!(btH)?Y~a>7Oo3Qn}VK42Qc;LwxGF>{5p
za)yNdo*Bwc#ebLW@;Ju!C_AFQ#tRZ(39N4fcJsZ7WAxk2rtt3G*@?>nSMS%`Gj%ba
zTA#_ANVPI--gYqM|LCaJH?Ocucb)u_&CYv%OCdsX186MDH03*&4F8d{H#>H2nwOQ!
z@W{W;`jK9l{xrB(8bnu!7zpeRieYD6_F2Ha-NI_$Ny~Y&Gm?HuJwJ4CUfEl#5TW_a
zumoVq%5!9$^zQJ4l8*VctBNYKFPBSp2VW@ok=0)D-SntBxNzOT6t-Y(L*ot8$5t8w
zGLNjDJya0B-d8ju`w-v9(iIAb<lzm9KKruu49jDgh5xTkw~u3Ge7*Lx;FRaf=FMR9
z?wKeA3Qtu;ct!*qaCq}-V>RnC{bw2b68$1{wpZk-b^V;sdFXiEioEYzkz5dVz~N2Q
z#%k78;>9j%c~(cNF0DJ3#8~)eq3ol(;X?DlJqu8LS|3@*d_A%;>(<sEo1UsY(DMn&
zY5!prE;@fU%+t$2$;Ys4{ehBcogRlj7Va|ne`}7X4QrB3;PduZW$})P1j(n7pim~d
zlaI?MeWrzk+nV<0VoqxRiX0O`8ABG~bGD@Gjjz`o@Zl+x^_=r8e)UF+eN*xnlFphw
ztn64{?fU5_WW4@BZ|DKOkG;CTUKc-F8>yD`#M$<!i!E!kXqis+4MpMW%a{G|ffd19
zL=6OXr@e_|JnQ`D=BH)5b}oOUBxZj9txb+VphcU{4aIx4zKD=C5ZKKZ6VLif;*pua
zb>sC*x8H2#eZj6?U2!DoymL+M>j~%2Kr%%hDD&hOJdB?nygqGa#;hY}#VwZK=zQ0H
z<o^9%&rUj*+6qf|toL5}u@aW(IY6;0Tekjyg!3K|ql+c2tGDN$kQNhgKYSy9)$Q6;
zgd;LQp|$nKUZ(b>j^}$GUgLhNB%rQV_s#n6t7mtwi^AimaT+MQb>G!4s5#+Myy#Kp
z9+nIXH(!H}Lwq0KX?G*ivMeZAR~%4O==;oj{o&Ee+iz+%>|jeeZ&WC&-G3gI%^5)1
zJgY!fWXAkdC10nQv*vS_Wje>OoK4U*1Q}VnLI)93k)TP#Bkx2lo(L>I{!&a`Yu@6-
zHRU`X-(`2f?RAJ|WZsy4?44-DoYW*KLBrp-`aWEGmcf7AAc+}8A!u~?!7QzU6N>Ae
zg+(8D^h7|oqwx^W(jQN%*RO1`(}k6r=248+N6dHqSbzNF`ht$<%cs70Xt8JeOumoC
z>)#yi5OvOJ|4|hpKED-~LcJK7H)<b!C%VA-kH6iwkLUIF?y8*Y&+}@nvszX44Ze@>
zRwFq!7^E2FSe}_Tl-g!E<Y3FX$=|tTiaPjxw~9G;rSfa1B=IP0bKdiN6{37eXunbV
zph~OY#ll_Jv}Zk^w>p|*=7-s@)}?>_7zs(e4Wb{qEo0cftv{gHUJ?7nKv43E^voIG
zHr%`RP`vof{%t>aU}^UXmqp5<tx4axbj}$qyk2l5;ZdbaU$D=Fo}))nxy<}`Z$qvk
zKqK}$+PD}xHl8_eBpB~29=M}!b@6FMHR0mANB;jlm`*vrJOx&*9@9=}|8Xq5@h^8l
zk8{ln({m>kr+J>4+4)xBJ+cFCD3;0YXycOUQuGTHF1*y46|~KSv+z$;!wtTVrfcl&
zRADg#sz}P#ALyFUX=Sy@)ZXy162rb(#k$NJlRL`eqY(uGs5FmpX4QKj5FRWtxlLI>
zJGcFZ)HT`plVEYSs6jUAdh=cFhVN$aZx-(QaAj^oM1+iRpW;2NSwy&9B9XsX|E|RK
z^FF(eP3YwRH$63T64=^Egta`N!Yq*StkK7r{eS&i+osQ`_^2xTLow6BsIVp3`pET-
z|9;GYg*wR7H}*0Wb#M!;FY0)F=7^%MLfx-aVIwu+$Cn-U{62*i*;ZNxGutHsRzEFx
zb7V>n=aB`8x_`6|-*BjreT~RmAYV1!)pltAA$<N{_dUfvAD_b&2hFarc|0(c;p|YB
zeC+@Kk9#?m8t6@2<4NbzIhGcNg}o<C`Y%`g5n%aq<@)#eUIN{+MjL<6LOACFsBoXP
zv6@wlZ)1Z**?S|g<NJ$}|A-0nJUzMlxc@pu8S9j!?^BU#gM|%^H?Agq=X&8=s+yv-
zFPd-0?U;^3EeQ(^ger>qH0ErWq0M;YyxrF7jflWp)8MQY!@h1l)8x$SN&?GGCWvQe
zxjggQw<YqPfsiJzLK)A;ud8kClwoP3E_m+i1NTG&_8b8<T<rgzIsZ&t|NKWoP7B=*
zp+12>=hkb+Z#|%5XW#x~^ZxHo?s;GM32U+z92YG(aYR<XNqQFJ1R19y``;(!+ula;
zMAZ}>oV96R{DN~%PxLY+xHBr4j=Z!juKN2)Mn0K&-(o!>gGPz@F%$M(=KGjl|NgA&
zeAZLTCpEYIUK@Q~?u+-|?+I!9MXy+HX9|08OEW=XUzuywG4&9G?=!D&yU(_KdVEK!
z<lzIA7k(^=&cAQ>;b#25f9LBylzwOyH2JfB-d_u~7-ru3Co}(_e<4t;{?$%dqxgT}
z!Nw!|JZwHLlIxgwpvkoSkfPp`D_=H?H#wJN1te6sZRptC-p*A0$o-rp$Il0^*D2h-
z>(R{k)V`)tJb?Y+;YNvF#b&BO>wK@&xAFhIH(TGo<@60>ckw8_#{$oHo)5}8Z`bO*
zJLc~GkJqb;6_2$oP1iCAxflJ=tMaD2iQ|p}RlALn@@kI#489u{luJxqXkii`^d{!w
zk?%LpZElJ$UB`1IeC-cjo4Cw2kF=L_#b4T<{MdSuv-_v0{qj_Ar`kW-zs@`P@z*?J
zw*UKbdA-s8L_MRz8qVU&PGSPW-JA!lWQ6vAyuNPD53l#@&h@aBU1^Emy2<a#8vd6n
zZU@Kr*F8Grm-4sqSEpUcwG{?uK1?oOfB$4=bl=3Mb8=EHH|Yu3m@lb(Hg$Pw#pn2`
zr;TG3=Is0MCt@LcJYNEzooV#E1-c?T%45{tex2}rp1h8(qO^vHjNZ2+m3ul~MP27V
z+_qhO?$cbZM>?I`mfvXEeBRDg_{nzrPw)KeKgiD4%d#=pcH@(N#M0+WGNicL9-ob#
z7W?*s!=BZTZiS|KFLo<7KYM$@&N|cm>rX^%%iB`1_`3H7wIxg)JNG>G|H`@MdCS4#
z_i=q3amzgu1e+cQ&Z`iVdU0B>ab9!lW_HDWp5Hz`mr64@So|d7(aGKCTYAzf0~b$R
zzVF|sDe|()U+1cHa=V-;5p=x#K#VuRWJcm69-l`}a!*!OO;jsC7pbG$`Nse3G>Je9
zv6x)OYZqh^XC1L=O=I1XVRN9xu353RGjEsN1Pwp+4f=fNBIA5t#qKM=BIlIzY?9k%
zv#6b43ZFh$bZTl;d(zRS+ikmwPfUJPsj40R+WyC`^Lsvr3Y*@@<7fUiu{m3FmZ?qb
z?B^w~pMAPz`+g^=7>L@qmuYEl_vW9+o?kLqA6dm2)4Tl1gQ|!88|4`dXG(BO9m#NV
ze;}rGea#x@6O&R7Ysp8Q*}JlEMu~pxrZ&dn2lrg2b?hmw_E>)2_^HF92_KouSx*1T
zm|)fCdZHso_`d$xdHI`ntTBC(Yby3#Am(;a@lrF9Yu~~jOsv)sWe7U{FypP5d(h6B
z+Y(Pg4lxKAG|xF>d64@_dCruJcSKBX^?y<bdpv(z-$q5#PgiFjWmIMVY?Ue?9_#-x
zDY&J?zthw=`dG1KzVqI1PbMfnoyl@$PW`Ky@tWmt?|p8b+bk_0_Pl9x#ImvvADuW~
zrG@9LIC<ow$>q}NtG4VrH<Qmb<^1N#l;BOD&+;Cz)<0l;x=!-N@#mL>xU~5q*6#|C
zIoeb{Tf%&wXJ3f>hR4gl#Y`?NTK1Y(NMQ1Yo&WQ8s<iLm*POUfx353BjkPacKb9*p
zalg=?uiC~v+}2{z86BVJZO+{gr#!#B?(DOvdo|WOyFU&)CS8?U75+JS;nL$Wk9+w<
zgJY+JXA23(ZxMN?lD1Uw#iz6EUL~B{3g5R~<9o5ON1LmMb83+htFp)1jj^m3Zujy&
zSw8J~^Zb7&lbW=&dNk%3SstH~&87D*Y&UQ6ys6h`J*r|n$djxwlbx|xX7x5#btm!W
z=bHlb1TT9}+`EmR|8bRBjFgJOSwY#;=6af0>uyG6{VuWZeZBtMr<j#{%y;v!@*J7I
z@RjeK=Q>>GKO^i4&#r%RNUACMh3l6254k!bS&w8ses=xD@s>9)tlZCC`?tNUqgo^`
zq5NWf(oGRDA<5M%<6<P;MSAQXa@u{X`DQr1>*!O%1!+E~=lC~&UGz;|{>H0IPVRAe
zM^=}wxoGpTaJyr%i%8XdzK_CT%lIM`Z7(z3eYI!W_sJhx1%lrsx<#A4zvL2@F)8f0
zhWL5=d96-1FC;{EKTvR+ww5tNlKu7mYohvMwN_zMS9i~^(3vt%E!bd2%tMZviEl1@
z>i)@0xzA@fx$4)cBMYmQKQ;gK**vZO<CFiJmp{B=^x94?%uT_r<9)InyH1$%*=dZr
z60yZk>kleFnE&YP;Z*0w`n$WH?yuPTQBKd9k@;ilimJ`uEZIDkSe`aXjGVJGXO2$N
z3{#~`Sxr}@QeJ0X{4qnevd=fyhUH=<?-XI)r&%jB>)-s`|M^7mj?cWF8w(Vloe~f|
zD`?}+SNO-FbJl`6E6UHVaJao8`(S3!vE%!bimmss2iz52A-I2gx|O?`kXD^hkH6kL
z?S03V+H}P|)0)X??k^(oeqC6<$~Up1$<4EWL~9rP^ygjVdFgj{#^b`DYnR`*XOmJj
zop#br?7~r<Elr2Mh@>{1OUzy+aq>_0w5UUKpH4niaHqFmk@LyhQc*wOl*cVu+pqB_
z`n*l^j;1pcFQ}wtHvXH=&Q^S3f7%Cw;2nkgycd12|Mg&fp{9dO-Wt<OJ-OB$Yd7|}
zMx;BR-Db6E>nrCwo7Wv&c6HK;9WQ-(ZpSQH^Y?bFMuNgUSHroPYTQ>3#(C|KOxMdc
zGF*PytNVoMuKlLxu329(F34%x8ZGBK-*n1#$qC_7XLv3cOlLYGUvped^`iY9v*(rP
zJ10+xJiPnt!~=H}7Fz%Pmtw7R%=dQgx#@9l=J>Do>riGXOIs4E+Z9{+$W{EL5VK6T
zZr9)I3AeU*{Epkkoi=svmnY0pvc7YkwfdFs+*9}Sw|-F^d%d?*pP$?TR)NoN?(YiK
zo2<sJVk*UQIlJh?i(=_14v7m4l8<C(L~po#)G&KT7T=yPx2x2JgJcveq_*67aAl$c
zkBFP*7nYL`SFkNLY5N_x=$*};JQ?j}_Nu$qzT9xXVY%?TG#MF{kUR4;BuZa0`~NqZ
zzWm<jdHoB6jut<Zh<=<~vsV6FMB8JJV;-v)9y1N?ZxUN~FvG#+bL;EZY>L15p6Z=?
z?YHjLzlVAv1_JLF%{XT`nN{=IhmhA_KjcRhe`xnT@vQhr)vO(Li<-8de{|?=cu{4~
zJ_()Yf*taIH+5SdIqEyTaWBI%m!HorI8BjP?K;fac)iJVpFv1N(p=4dGjE@NTfLQg
zLsa9@WoPH-<mXQQlV2KW(s}c=U8UD{k-rx|tq404dRM&fZt;VJiw4y(Zyt7rD_z?>
z<7~}0?Z|&t(<798mj70XEsVM6DwjD!PVVMYXaB#49&Y%}dcH@d^2M>L&wC~;t^a%Q
z`}D>8x1M3PNQxJ%OxPziX`1ok{hJydJ)b3?^}8gdFlFz*B@9Wurwr^4Ca3@Z-GBG?
z{pMGz$~_-TEm13eeAvvcZ0d#$$)TCg-KyBzxtdP%|C_GmZu?n1Swf)a>3jR1+<*Rj
zczpk;_tfW8&-FcXdd$@G<>V)?#Ys=69e!LTG1)89I_9zLnmf;CUXQz1`pWixAuG?3
z@;w~irZ?V`@Uxk<?^S2J)y6-EPh2>3^T@%Mg1uiFj?Vhqze7^yT_5XZBPPRtC5G(@
zMlA|LSJ}#Jr#*O?Au-{>zLUp`4|g^{7I>PT@MxcL^`C>6S7pwO%$#}pbo_3KYtMxK
zx9qX~m3rp<#zx^cha^=#+}{6dp=XS*Ro<&$P8P0p9Vfcy*#Am>G2`^vJOz(GiN9mo
zUQA!6a8${b^$Y(r??n&!?f)_coPP1-;_Bo!<%8z#YEtt(+LhV8OWYoYiu+G7e0?iD
zVg0;Pjot60U8>iw+`wk`F=m$b>-oza16?*sL^*Rv|Emi4v&E5Xm+agt73plIiIVp<
zJv5qbcHD@FRsUfjP<(5_y2F9CId?1{u~c0$&=yjdaoT!!JwuY|Y{P@ExA$z}JkrJf
zTG-k8z-qf|4p$kq&NDin%C-F$Bhj^fC%5=!@$L3sw;kBH_2}*Ry-aM6R$s5V@2=C~
z?2;@p{Zf>0y0f=`yT%7?yM&815|IJY^EdZZKmL5W>WgoE)Co7Xr|+&s$7~QTxwJq=
zhgopZ&uc{!Cv-N|`tG*+nD_aJ^2g)ps~<}q74BsFEW>jBU)3#UC$+X>^`CRiI4?f5
z=A3+PrS$wM=ZsXItg`zj$`x<<N-Jpw%dhu+ZM!Z1h#T16xcaoM?uo%i#=3jGb02(2
z+@A1g)6-vkJ1hluMVOqJqhM7ob=c(dhCSa;&VTRR!&j9&u}jEYK6yrA#HW@0e}gL)
z?KyJn!4Hd1o;kbD99*NjnR%5!lm5QI(k>sd?+cX8Dg!mj{_M<_W8?AeGWGku<?xYv
z=Ba9zGgMy2^FLIQRg3AnV)0#_w>^TZd(tuU=1p#$&Go-J=Rf@P<^OBxO1CVB8P{h0
z^RzGx{<^|0P5E9>_w#vNCW7Bi{Z78+Gd<-`VwT2_uO}QI1nN#T-?y1dqT~IVf7aGj
zGZ%K2TV`Ln%401UI$eJ4jNjQ#Prh3BbjXy;N$!0pzrX0nuZ6{4yuUW{|7~A--0I|E
zZDFY=2K=%g51zcRNY4AkoyQSMxz`L%uwR?M_${ljZBk)E(ziS65t~&PG3@myHVAO8
zd87O~ugIX&+kLm*zR2z62iH7(dT-8E)7Hf%F=dku9@+G2;`Rx@n3uZOe>pACusXeS
z*U7Nw^7rRRFFL|h_56B_joR{UDx8U3Qv?LWt0%GLP8N|ah`%E6-FV}szg<f&xN|Uc
z2<LiyXticL73%!zRbt!DM;(hNhJ0Z^&Ssdudal!4yW}0-OT5|-Mg97)<k`h)4_?ur
z>{Fb5uYWIEDf=;PM~%H!#+A=urq^C<`Cz3ck=Coko2<xg|8LvzoeUk`(S@(O7tg-1
zJipfP)+HmcN2U_*+4WdDmnH?B?F`irU0t{7*|r-SZ?Dn&HC4RB+*+8G=SX^xfb|Kt
znIfK(EswO@KRWfa<nIz!(M1N9E_=6E{r;ljRnwr%Sblj|pZ0F)={d(!(-!>H^R3)2
z#JE^}%H@td+>#v+W}nI5`QU7$BkytLH$uDFfB41KZMh_#<R@2M7r5Z{u`1uN{p<V_
zcfW8v{+sjU!@j?dX612Sjz6(Ee&S>a0|xW*n)_aFI%jXNdvt|?m+5%k9EJ_u=Y^)e
zl)CoB-fjPuHdXbI4Lj#+1hib4_x7QA?OVp>G3R2I94MTy;gpsz_oapH89Mt+9A3rS
zm^nUCTfJ58VXQ>XnZWBoo&NpW)|R`L&o$Ea?qX!Cn)C6n|GyZghjv<-oF5NInnxB`
z6-gg2nryRuf)$^WnxsX6IP3en9p4Nxe(2hNo5pb@$KYzohOaMfPl%3>dB<;Z{E4Yj
z_U2E^*J)Z;Ouah2?9bJO+yzN-DawoMqc3O59z4bM`0Tp{py?rvfAjca=k+=9TOD7#
zhw)TJ^TWyW9;Ha;2_8F}_I+oKj%*-*>T;Ho5j8yF)_NzO%l)~2sgFIm+2l-`>}k%o
z2`^tBeQKqlTUK*TuJTM7@As%;o!9#OY%E9CN=ST5NlB`Cq^<Eh;jSpV0PC-lER#a*
z#s3AeZ+B6j`b>D&)#LN_&*}9ztQx^|H@fFQCLgm?`R(9aFZ@cUG?-VED;Wrx+r`8$
zJL`2fmpA3(l_@hPSX^t44^WtA_wJ&*!oLr~_HlaW#iFNde&;_k#6{|L&Bu8&*`lnT
zOkO(SrvIL|?GfF-te?rO?X+w=lX7z=`@gLx_i;8n;xJ&1IV$9Ds(5QMvlN@=A?J0q
zetiC&b9)j6R1SqK(q6;8YJSl=yWN)8!t*p29GN*KBtGtM<d=FWx!4)P#d7Ay9Zy^D
zXUpW#m$dC!@Gyh_vSQlegQ^n?-wV8UTCtvq_wM8QH%hJ?{*fkqN$2~{Qxm@3S)=li
zP4?D3^|;Cnj9=KQLk>9XIUcl|xl-@Tv=?R1RyXlpDi+-oyLI2Or&HS{PFCME=rb!j
zk~+!ohh1RN^R~XX71t||KaEh(6Orimc6gt}UM+R)`Y#ugEgZ=`Cm$$2vimt>`Q_yA
z&B+nm(VsmY{#Yd-?wGaL?Qu(9$c6I!xd%5-a*<qdKyu%)jR%e9>i;Qy!FMur>H4|+
za~^z-u9?8+{{PMWw{c<{(lp&)Iz|3!y>M-@bf$#ee1XXeI?wz6X)ZU>`N^8RZ|2Om
zzoKma9I4=B^;Y;8z5f5MlimBOI%H&a{7WgGQ0t=P@XDy$Jzd1zeGbFV_2ulBFRWfZ
zp}>6c;&mr`zh=lUQw;X?JI#7`&8x=?v|VIe9j095sO59@cdec`ogr0RA#1`-ahK#b
zOLBNjCpdFlJO3?VQ<dH#d0n5qR|{o~?%IVhFYTUm`Se0zuBFNf)6CaQ;M^+e)AOz1
z`lKlbBV=0iMXouDKYk#3chAqV4HtvCEyb@t-)?oEk!R-@XQ>YT*hkp~3|nfS>ZL0r
z)aABxw7Oq-_HPxt&M$XQrJuUS->)=YyPSV==DWAgJ7y%rKT7Uh9<g}8l9owA{G!Af
zTdof8IS!MrC;QEkW)XDjY;*rBl`dX>=%4bZ!Z(3ecDOI!`O>Ob{Yb{K(|*U<POHpH
z;4opR(cu?bm_GM)LWM%@vW;G^#CQLx`PTSfV*Z7lm7RwCwJ$yd`=60B|5hVqwqpOB
zM>=yeZCvK>Ni-~cIJLPTto_K5kDUK@xyH{{n||SpkjI|)o!dnX&eq*F+2YpR$mDkU
zhV-QyHEP*nE*B@WdapF)P~*9G>~R~T=dR|9DGMy_W#6lwxw@kG@qv;lQ`%k2V=jNu
zIwG^_|1IhL>+^z+J#6f94%OflN;{d~@OTe<*wKYfT+5P0uio%KA)W2ICHe71cmA(a
zKkRuZaGtTScHgI-V$%+B*Bq9h$xF)|re_&XSQB}zc>8rREw=wxb_IWbxqRLZHrw6)
zikb-uWm7E{FgUdv-_lyK;OC7aTxx!Kg+^_Qx9+)Syv{S~i%wh&$Il1Hj_hOq_u@vM
zaqsy&%T<DJY`-R+->e|b``~4y%T3d+2gWaRBVREx7uM_TNjVt5Jd9C?%jxe@{Z89E
zGM!!R42!EOMJEV`968>(Epo!lbpaDL?qYM7(Yd(yg`H@(knw_hdc9LpwzCW9m)FVv
zSj=EOr^BhJGLCEhk0X=cOXOQ0vD^Kwg!ACpRPM<Zw+<UdEZW{)xX(rAX0HiT^}9r+
z31Q0)-;6#MWM_Bs`@-#iuJ2jn6*@)d(zLAOUke?C_}3n<eEm_Ved`~eqpN-!6xOoH
zPCazSV9os8Uz6YK`ghcQ+Iw2jIa9;wqanvj>1lrL_5XV3cdy^E;MhiO|6;#(l_s-j
z35QKypKm?CyCHJPynB`_UGv0z_up(b71;mYbiIUsS%%HyS#>sHn{z%Zt&Qdhn^6_A
z|I>5dbQil;p|g)yEwm_A^I|@3shyx;_xzG&_nz8kU-jQAXG_LcUpaLA;uaqN<yW5-
z%EmjgM~SVp$=sAsw1&U9xaFv%ywvX$chl`_*ppf&FXPc}KW&+R`&BV>zre>iCXOq0
zGlLcvUr9N(-EWh^>a$!@jSYN~i@A49;mo*x^xl=(U)4>&d^y2?iktg_?lTw31-3B<
z^bR@JmT5B0dsN`ja6V6SY1x1Anm^X@0)p}Dp9L+dzUo?TQFi0Fo^yK5LGAr%MoE%?
z_Qe0$UBCPI#913ncvj2|U2<dL)jNNh&pv+CArt!T&-Mp@m)o0eJ}A`rX`5Wa3vUBn
zR#OWf`@qQMpQPT&uAOs<W$Cncy&1FOuE=cDU9&O9YpGKA^@q{iTAY7_O<$LNTDje}
z>EUtr{QYxo%#|{+Q@D8jyvNnzcHycd=F~}&7czc+WS4Ya^ZXUZk&iybmm4pZ7T;M^
zwlZ(Qqxm5|Cm+u+7ys4hxQhSf>qA#(J-YVeYXHw**7ZsM|GW}45QyLVtlBDx^Ko<U
z$Laf8*b@I-xo%a+V#0sq%;Faj%UP2<On<B2Tz*G}v$W6pYR7W6xv#^S4AY`wPwYQY
zs%iguG2ao+hBGtf-{155{_*F>-@mQe_y3vn#|uIkYj_f}Chv=`H0u1;Ea39a&z+m&
zOzy7DhB1!9br(aAs{hLA%~Fe0{eJ$!e~U!|um3OAe|i3|wEg$^`UmwXewQZusFwWj
z__yx3kd&sPS494Eul1`%KmM=3e^b6N)928=T05RJ+eY1%Zi5OdTfcVc@3!r_%Hfxr
zWcM6vW?raq&Ry=WUYzgKn#Xyi;z}QVWx6^JE3p<;U(#LoG3(9rb!$w-dT*Pb@;JOO
z^W~b#8-{)CPfk7FXl#>mtgFjkXGhM*NWCW!>?J`qro6{KNJ-5}_<p_6;RfT)89&Wy
z-{$Xoy7hhapS80%B`UhU+^>GD{QvXne>p6{j+L32mamdK1x`I)ICY(2poCSAPu<`3
z`wiWE89GV>Viy`pKYdZSy_s(#V}9JW;@%sl{v|Ecw5WLTYrFW&X?6Yr1(QEzDeUuH
zTKi<@wBOAcJ1-P`Hr8cKR6ciZDd**h^ENtfoAgT8ZO`J*>@5Crn{6(3_-eK!zgumv
zai`<-y;B-z*e-dPw{GHwfXvAmGaF~Vv^;L_TYp>oTA{(NOFJCQ7qIatN=!CNVsx1Q
z!#e-}m*{=f>n3-&>`R-?vA*>AuD0G2M?Q7_3~P#OH#L`e)?Cn)ecO?(#G%yJgr}}o
z{f11}nXeO<^wy<(Jy74{{O8*FKcTjZrq9WDeetRG#9KqpQn8Cy{J#r7yYt=js{Yw+
zV)K_Sj<nu%;)>+kgV|ZV-{mR~EKXCYwLL1`xj|;5w9C|M%1t``i==;@Z0t5M%dupP
zv^)Ia*Yrj6{>%S=ySkxS{$F2pq@-Q(`{$cazFO~ic4o!vc_&q`NtrB@x)jd9^nLce
zvdBLx8s14XwEe$#{*P~8?A8gL%C}{A%nx=A>Ye({H@-X3;6A^)lpklpM`Qk)l?P0O
zvN|muSy)<adRcI|B6*Uh*ixBm=CyD2|Gju^`ctYQ;>CH#-|p}JJ+`>!9{*8h-FzOl
zSLuO|4*W<6xp#^!C2zysH}22cpHBX^B$a*5PN%(RZ)znd*xg>V^RuLLdb3^Iv?m^i
z4eu^VVcgPTxlWSD?;BT4(yZ(YCDRhlmfHo&`TdXHek(#|)}f96XJ^VU-h0>omZ`)&
z!OJ(}vJ>y6yjoM(aXRPhT3h*tv(y#dwebe7wzI$glgVe^QBIi>dHY4`1sje(YCYII
z>)(~cGc`w7s-9+V&zN<ju#Nrc1inK5-m?qOeQ`VTW=E2R@)P${f4(KJe-?f7MNiVa
zt%kSKV`Fx6R9t#Hu`T|8=^e}O>p#4ZaQ69fL@MHe^1JocCALP6SI%boHq>}kelF7P
zwmnlRw`jkF&$Wx{%50?<j1?D3>V*_8=j>1IoAy}kbLov@dx-~gdw)ht1}^fq{U*!c
zcwyT;37;=D_m$WGdz=5~yw}u<kMeAi_0Jlgo3FmGoLT00iOiaBuOD}7J)ggL*5bqh
ztrrHp$sa{^U#(erbI;+)>n{6g^jr{N7LK3Iqmnzx@XhTsvm28Z<i?jpNI!0wHR=AB
ztwx>qOJC34nO<OEpR9dK*=*g`8}DqtOxnq|dCKVxOK1H(dH3|f?w@D8?bq|z#QmzQ
z{cqYc@zVN|+s5Cx9|tb_bos;n=Hw-p*Tw&T#ix~^u&?>i{I3fO@9%d{+;aCt)UKsl
zbiOJj#iga1?EYR?ch@|FH`?E1?hBX9%2&s<ZCv+6tS*_O8y$7;^Q6Go-*=4mZ#_Sa
zReIvz_`SambX#7~U$k0|o!?lk>i&XuxBWNWE<3K@tGZ@NwCDLr2RC*0e3gklIf-ZU
zw7)XDTblQ>ZeC)@yzkJgTqDDefyV1sn#?@#IsH{**uBIbJfg4dj@K-@68ES5bkX<y
z{k5l#=r%X9?#Y|!pe)U6u4KXBz@Tx?@Z74^le7HH8$EBTIq#V8uvyvs$;_Jvo^$dZ
z`E=Ui1;?_ECKl)azkbK>Yj8iSAjx{})vTvC7!I7OI#hA<#BM|B(<W}3JA6HP6eJ=y
z97~e<q8$HKzUIwo`{mCSul;}6CGEYCY5j?4<;lDeHsMME4TlYS*=ML4Sj{p`VV>zI
zsyknH&GD=S%Ez3I*ZSx6ulJa8{<!>=zhdWV)mWd^Jlekhr|*Z(=d<FOs^&AQw(<11
z2K?M=D8u@eXXcMu{=4c@&jekM{fXi;KYG9H@V^6}x!07>&%X8TlIPwppBHQs<2aYq
zu(Un-t=2b=oE6dTj&m<AoIJT{eRf)k{X?y9{_m!Mx^+wc?3ADW&ES^!MT6P1>o_}f
z0_Lec%d>Y8E9J>qwd2d{M4tO~mH{(zrgQYmGUWC5=_Y4geCA}GQgqzq$S;O38xJQa
zuiK-zk>^N;jNnNtsaG~fK4mCwJG61>wFiwWu6rJ5-FT?NSL7kj6tUdXQ6^>QC%g-`
z{~VEd_Tp9<$rqPy?2|Gx@l9&`e5|}=sib<Ecd??E`n`!9vmM30RUS}~IDCOo)wFz>
zl$~$E&Ziz1>yFu(&S!gWw(Qxe`7bY8-P-u{)5@iJ-*zZY(b!byIREkTGOzxvg={=}
z9BVZzCcbm$|D!9=uMxjF%9r7+r>Mi~)T~zbxVxY4i!`V;NXvdv%va`Pvv58Z(3@<+
z6gk1T-c?PlQ>kW}!Iz2u|J>J(u;CBgqxa~lpf=~kjz}vDxeLK1HOWVR=hq4w3uyYz
z%#7>bEdEk}y(ud2y6s#$zOLf_2p*@}?}xYF=o37fJlT7{*`rMU*J~f{lBivydpX*Z
zV~&D=`RsDp?Io(tTl3?Wf8BfhsA-1i{ja~S?|FZ4w_<73ih7-<i^g%qQ+8Q$^?tkK
zWBvTzZtHqu&=Mh2DXu9m5-)C0m{BlihJ~Q9IY*gM>_a1m`j7I{f)B0V;&UUk!A_9D
zp}K#|!s&CDNx$22|4Ceb=Ybu<9rF{*A62*fm~>Tfa_x4<;Pi;j=S#&_ai3UlCq|Cv
z>y#O#*Oblqmmg66c8X`NRZ-Ilh600)KHPsT7cIY&bn&^w&fibYi{^LMHthLx>&p7(
zl%Va73UX5t)y>tt=X_9P+IZ(t=fZV+O!HkbQoA0$-1p7)Z~edbi9W5tdUw}uy32Fd
zQ(L=x#hu*xm(L%*5t`c7$*TI2SGH%CgKloiU3FE_S@!t>vbSxnhN)&sT;XUgaGB5d
zY0}+!7h2B6ygy%RIiI`#A?s?Rsp*{u)SEn-F21?bytgIZ`1`5)@1^_+zxGs2>6o|4
zqjTXeE~Rv~c|Z66zkO6!?ojvT%A=De$<NfBY4huXcTne&1kSnE2SvWNw;xlVZYZ6d
zp_6m?Pr`}0Y%@Q;+-nv0=x%=98}ay$Q%{<Neh%sv=DU}heaE-Uwe0s!)(-hS)j9jv
zB+h!waxk`CHfi57H=`{K6Ijbd3=gtSFSq^jY2Qs5HpMG8Va*@+F@87Req{f-A5!W(
zk^OrY?fn}HDj>bKmKU!{(s1M3=MZ&Pc$UgmU(MdW%{E+SM>3AN2zPtWP&>r1t4*h^
zc*|!Q#eHqR8K<B8^+_m+`P9@Cf0~?Q-aO>rH-B-*jMZ<}w=*`k@lO8eyyNL{8xL(3
z-*a~tDlffgke9SkshnFlT-M=CXNd3O)*qtJSLDsJj4|k(y1J^4?a3;eCbf##XAfS+
zUw+Gxy7Eieg1xuq`P<mOzyDp~Mra!=i;u{P8=Su0JvW+FzAk_Ff0O62S=)7%?O1=)
z_}UiPt&!SMheTMGrm21M+vEDjRra0T=d-=P_cJ7hnDTX<PujweelPXv+m)*y?HAlJ
zyD;G3R@bFRk4~MJF(owS_mLw>|C-&qZC)rzt?vC){K4#;$@2{9#T;L2&KqUlFaI5C
zleZ_rYmZCsp~42KtTdV41uhNoyBr0TO%z;BPNeeh|807ob+O}e{nsUpr;q<=(VP5r
zLB^({sDd5u?EanDF5FT2=&Z}(#lFs8rukmT*dbS8XOnr+V0qo|pTGB8@j97Eb#~hE
zUyg2lELycfH_7$TWu|OBpZv|@tUO1mHCL`at$ypyJvl!aof+L>8w)o3mE1V8bl>Eq
zZJTWDzn?K~NpNM-h%>fRo7%xumZ|o@VLSVZ61Cf(iYBc*EN1q#b!EJc<LWaGC1;oO
zRh^qUMds7tkIr|S>L0OByEo<ZoC|Aa1^2k6&D7Z5eZ1rJoSCw|UpQaztDbf`qW*|W
z%;!;+*tU~PgiV6kx9=-^=Y9P0!j!wQM+;<MP5ZU8)nH!7zm@A%<LVzZitAe6*PLW=
z&a~0w*)IWqk^Pm0FD)0pYU}S(=_?RxR-GUjle*VlDt`&f2T>N|^AoI6<>YeLx_$mC
z-}8=@Z<Ew&myjCOi+g+n@2`KcfrmNpYHsg@;5|h>i+k-1b8hk9`_8o0{^&ZjkL6p!
z^(R~V`4;{4j#rWud-L$nqxk=OemTjtvonA8<W-xoG(vvIykuj(+Ddtc^>z<^8RnVJ
zU(GCaNW#xOd~)=HJ(db{E+yJ3&02F&ZkNsCMTdIRcnouH-FVY|Vyc9(!TGt5Z{$2E
z;#|6`D{SIq`R>k%6~7nT2fTY9x>2~0xA;(?JZrz`zWl5k8obk;vs!1c|1b)_Zur|{
z`uc{(AD>L`-4=Y{Y_jIssarX1su`)3D^fEi-TQy&f41l5iCptj|K6>aDR=5T)Ws-p
z@9MGiq(`3^0y=6|Y&PjW>Kt(V$K<|$SNo2)$RsKFZ8kW)xnxGQ1n=vT?WRvOx0g0G
z3-HRRE$*0ZoB#B(wBd<R{w*)vivOEPJLF2~U0QNXF8-B4+q(H0ik(_#*DVm=<8w2r
z>WBYjUxCY~c}^L}E)K9zoA6AizIC(0yNt-k-%S*ymp2Q?T(EHyI?nlCN%-*|ufIK4
zjykkHG`=?_|4?N8sj2$b;hd8rt#2Ln-?P?zf*7k&&9?_Z?cQ$AR=>9PTo7ox#vrvZ
zzo}W~bBTptgyxJ-zos8!Q|$XLBrJSHG-%BY&W0$JC6{)rwYZ-#t$*h$mXOeVJ8$>&
zT|Q-Irc4$q#0tK<ggO^|NOdo$f1$e3?AZ1CfS(p}4o3`bUA0ttbKI5r^=koPr4&J)
z`IEX?)eGLYPvN(b5B5D?*-`(lasBa&zti@!E|U>m66BHn==zk&|NQy)wy>-6K3?gV
zXz25(jBVM1GqVKvL;9H?Yb=#pEn^yYSDNF_kv~!$`AIAF=NqqC(0SalRCu~&M7=A2
z3)@6*pKMj(85d=3WendfIJ!b|y+~-xB3E{v+^BinEvw$TXUI9J-I%i4@p|}~w-?T&
zyqs^4?)21OzhXktQ^8rw-P7xjIVV4N54~IxZ`!BCu|VSy%K}03r_){Ds~8{IJO6)o
ze5l-$>(BpJz24XAb4+i~yjI;~2TpV*n%!{K)ql0+TF#yKT#fx#^C~Uc+#k#R-So`J
zz0j&_`UUGbGaXtbKTe;xNn6aRxc@Z&-jt=>N1gg_y(+Y_c@m=aykMU#qyI~rNmX;j
zrn>pE94TD2wXm#p9jiwFH~;?KllFgI&GP7^mYVQupVtXVNrrikHXn2>J*vJn_lQsN
zqAvl4v)qjC_uSahF1o65<?$>PQI2ohUHIfOPWZ^4ICsooo}HiYH-l5VVkX62Ubt<#
zZo&UQF`;k2Iy^kco$J&htCxJDJ!6i?;hGhCTR*?do+<MFg6rDkmy6O)FSy3}P_o83
zuBfB&X#L}Fx~8|z&RLN;_w=z-(^xLaUNx$IY#e^Tq2?KD$<>?Me$V&LkAJqk{^j$f
z=S>{-pZ)I1{xNm_2lXr87nG){hp1ohmR<6&qTJ{lleN)DVf#Lw#eWYioGCEFNY>tS
zevER|)Yz^$$FCU|)-Yb4=Io=xu=T{YDU~y?ovBTA?tiz+vhK%==J;YK)sBb4nU6Nx
z6_p=2d*k?;H%oU&W=0(Cl0K5nVRTl&eM-u-Qyw|7<~xfv&(nD>8S-MK>?V;15%O1T
zSl=9TKb3LTC}ZJ_BZ|zao0{6=n$A}}{KaNy|KU&bcXp*YOJ_D1ewSQ#Tuz@O;^3k<
zhLTj#+a_-x-jaX%L`cEdrEF8ul<tj};t$yRWr(V6?-I5<!^?I_deYG&XAf{XX!$(y
zXkVK8y5z-lugQkVm$^>vxhNjfA?G%SO|Si5k=zZDc=Z{g&p&fXK3Ev)_SA9L`}#_$
z_9d5}S3HRA|Ifm=%G+q`_NN!L*^)o*m{qt&e)iJr&kLtNFj8z)S8zLVgi+zx6|uux
z<lfF*pTW-X=t87}jBL`9>BbB8f4l2wT#>dT!lWgy?<rs0Z1!lO`~o}BSrN;1&MB#L
zT=&*rej&W6h~@sy^%>pw|300s&XE?CJ>|gUAMRV#1V1f$-Dz2V>Q02Lu(5Z`;~5Xa
z^Dh7HJ1ix*d4kC-&n&CLAm4V0olH+m6U)yfiZ;IrKXEUHyY5r-nG+FJ3v}(4^iQuo
z`p)uMyxf_lnO*jUe*|X!c(A3U<pjrzM;^z_#W|v1aA&^mdVa0+gSI8Z?1gy`O6+QW
zM~BCCT~z7&d`PI{Cuc?i8_RB&hg;m@g*A%*9!xJ^6gj&=V&fiPt=v;W#>;BV7Pn8f
zm3dxsAo6kGHn|S#nmMVp(-Mv@J9YcemM~v6w)qcVl(arhPy7;IlPa_H^@7I>R)p?W
z+I@Wf0gHf!u5+>93?8YzIxWe3Lhj$L&GTf+H>zF#R$wdAs5mzuBHsSfrsoeMk~Iq!
z?M?K0|4m}e)cGARC00DhT6%>i(oa#Cy>W;B_k}N{%~ji$YpJ*WWmqYpqLH>MQ|SMn
z({Vf6Iv>mS2%Zg9f1bVUQ@nlVu1#M*q@{!Qbn$RM?MvmHE0b3v-u*rGyfFLWxL39J
zr`zUl`j>iMxv)r8*o8~bK*+0juh@;l?iUSQI}b8cos-hvlFaA1*C}!7$%DV79$GBh
z*xpe-@nvSwb-u#+^Y?%L#&RU(RK`BD%fCeLzQ|Z=%sW*tNcz#=)V(pihU-(S+8+i^
zI{ckIng3#`&=ixM0rI;{H*R`0XL&->(T1#jDI%$#-l_%2{nY#x>OSe?9KmS6=c4gD
z;|fmQuJLT2Az`)nv)=;C_Wi}@47bIf2sK_1xq0nD(-=9SD+gw6{L%b=MgP5;Iex-+
z3SD1f>%Z+hswns7!;~4PgLGy+={fgwVV$xYm$KTH#8a*Nzb~?1C>0&moVj)7$sOts
zLN4!G-w?v8d&PmL+hiAm%H~TBYgewge0Zrw=v}S{k&iFTILoZKIY2snxqnx`|D3eV
zL77WWr9Rc=?&%Xac+`3Gj@f*LIX@SR_)L!$3*?&n$tg)ocHW9Srj0d^=2yM=cjK;x
zZ?;?HrL&XooYPrg@ZTio!OD*7<};q}U)uQN&*>MhiaHLybAR{$@`GDDCiMUO<*WAN
z`oC=UgN47-j6>G5{F=jXB;}Enf@r_AaOKVu>V7YG_|84H(sh<UOMkG#yx_zMt^#M(
zo*lcwa$~dIM32n1j+3LRp1u>FD;bql^GL%guTXpbkB{79`=4~Jf19wtY38!zghx_+
z6aCACEH9R_#dOLD8GVTKdl+z~CC}uzc(lvp8T>cS79F->xxSEt(<=G6{Qo5;FBpH?
zpL*YUi|gH2jcB9J>k1s(6&;qRR-W2l_0E{dQ0<Xw`_*gtr_OV%xhs7)h2MOoiEBp2
zG-jzSNBj1EKYC?zr5-zXw|o9RR^?c}i`u@8!Y9>_$(F^%9C{R5Vb#20MuD4x+;h2S
zHvC)ED=l9aC$;dK^Dg;3r&BI{+rvB7v*MXddGi-5upB=<;rWTi3r4*1zr*L5x;LzO
zZgbx%C26Pl35Pv4elwUfym@((=R_=)ber?(!<FKFJ7%sv#@jWu`EB0jW`60I4UFH<
zuMc8m{usKd_TBL&=BRnR^*29%ILQ+6_T}#Po*jEWY;8L+zvf_lOPWUQqQeg2b(>^(
z*e>i@a`aQpqvPDu@Bd%^v2%|54b}d2kp*$D_6DUN(_?q<6wq(}Ak1GI`y|2W9TV4Q
z|62{mpB|E%!o6$Pv*?NaSAF%jbZ_J`=sftnDb^@YKEvWe-p|z^#1)$_um2&uM2yRL
zW7@qt7TnQwuf4vXiC6q;8W**oOYO7njmd(n8zdR{X3n4O`ecE%cA_cg#<W-mriG5j
zC%O9`<36vWw%JU`lIQ(0>AiAOXR*#wGI`?m-Q-XCf3sD3Vj=yO3ULy08u{65>SrIk
z+^KmZ;#AV3or;&|SZuUX>~NJ^dt%M@Mfd;A&`XTHXmt8HTUzFX1$!<w_#88cvT14C
z|M%bS$Bju+o8Mdw?Mn@;U$=73Q_0TsI@O~m&sZKQNY7^FSS-RKn*5jb-knK|(%gZ<
zGirF}@`)8}sG9#}YGhLMUH(t)VSTx=|8JVUf0{krL;J0O{B8NUpTDs^D%P93`rPgH
zdq4i}IFzZVG`V@Ef~s<?Q2GClb{{uApIG~Nk?BYOitQINzikk?=yKG=j#25U?^;;_
z@yXS@9_%z(<LKPxzhq{|{J-m&W|&n={n~nBr&!8k^ZCEn1q*i8*Ku_}X7kEEU9o2S
z{vZBAt=-3qU(epQiqY_vY1PaFYtruB;C%Wo;f3h0eGeC|Z|-rCe<sPjjMs8Ty5#EO
zgGV%cXS^%^`$gvXnwQrfo4vUAL6qx*PQo&|GnIP}HhJn;xSj9qc-wqa*jlYa=6d~u
z`kXX{TZapOJ^Yk%d#}FTw;h}_X3bh6X|~Au%yqTRMhvGnnCr3^FXEliKK1Cr->x6e
zDrmONSkdLtW^v2qYux;$TT~eW1%IAYWb1mUv1h{81M6e$!irtmf3TRDRz2i9FL><3
z{T;vUuLeHas9>#K78SC_W5K!20Vj?d&h3zlpUBQ?c-`SnkK(_T?E4!d52??pP4(|I
z&HAA8B{Cu8G{4P)P19Uumn*sba=-t>O-8TO?Q9>XtmN%of@P@@6B-^bT)m~S;%Vuw
z?z22cc55tKeL_Xb+Ca4`KrbPtW?K5v{rej7E9-Xt=3;slUbo2fVfxRj;eXq?c?13k
z&)UpAFX)Z>4dcdV*?epz$6S5ZOl=9@r1{3AEFr`5;`$H4oL?Lm9$CZ}{TJ)m{x`tN
z>$7&GO={bcKINq67IXSeo6I@Ny=uw);|7;APEE^vKkMw?U5!uwJ!lkHd>+!t$<n{>
zWbu;|5_i`8JYDea#kS=B6JH#&C+}B!d5mRWQLj*in6So&Gppa}{j7iC@a41P<cPY&
z&o8Z9ww_b;a5+{r`-Jw{>6=}uE&Lq9mdRGUcp9+g-v3{w#r!2j`@{tos!jLcGh9{v
zXzh{X+|O^<Oj;kwb@m7EInOzZ)IL0!>6Yj5;L_~oD=gifhDl2P_BRh7$$O|EEv#b^
zCiQ$pU6<qQGY8uJ&hs6TIHr26HtBgr$m5L{npQqr&UJqM#!t$<-VFt3z9yxvd49E#
zXGwKZ;TKo+eS9+)IG^#+sy1vq*L2oTazZ(0+})^>x5ml0CcTWW{wzJ|$J?E1VvP}h
z15fgBRv0w=ZpnzK_wr5Me$QdgvV-?eo3TCGJLSsK=byLNe|0_*uXiN=P~jh`?VZs|
zXW4!|XmWSZ%is_0PBCFxnDt`KO_2-o;jgrXDw=!~-1i(_F7%^If|<$i@5_0va(~yQ
zDzFvl<}|#RcqMm*a%A!8iqx$aekl4LWV<+FFMs{<y%{%uu4K8UAFW)`!Y8dVRpI(C
zozB%qUQ9N>Vf*p%n+?J8^1Ht^XO_KvbJvr>qkz{s{6+s$r66~O)z4MJR1AHRWTXPT
zcR8^!gq}LjwB*s3ssBX|C>+;2Cx6ME-~M0N1Htlc=A|w%mgO%jRn{_2NpLYavRo!9
zCg5Uo&y<<hu2)9zA6b!qR`SBDoofG%t<67t^ytC#$~QR|mak;s?obV_Pf9geV!EH@
zg}_9fT`i@V!Y{La9jSZtK-bVvF21`lamF4e<>w_GkB-~_Fn#G2IQMyBsqPUL{jMs_
z=W)JAV`qQNZU3?Gcks7I*Nfi2em!4&X~z;hm%bfyE>)aSU^HB4GxLc3Pw}{l4aSGq
zRKv1%EN^GND5EI6nfHpiP|lgD2jVa0ugm$k=jKn)O!9xDU5jLzdL7t~-2W87k?}(`
z{v^v~Q*G`kKPQ{6<=<9$UphaZ=}5|>7ZD1_7<^)C-i6nw&eHvI{Nv;k-KH%GwUanL
zcJ5!a-_cm>MDVUHYwI7jRxF6tSmXS8`;FOlkHgm-XZ!P{$@%zvfez1mZ_H*yWNuxz
zUdE{N>4{6HkLV<y;C~TjDI)J45GG|Sw%wg+{t0{I^{KWoUWY9LookNq3EXsvliYjp
z%hhRu@kjQZjg$Y%a<uAAwg0n6Vy|ARxg2&)cgZO?>G9WnI`i*`tus&V5L(aD?Y_K0
zCt#Xd=8hYOx9^iY>at4t#>W>vuZ`7qES<LV_>V`f;{6(GZPwfxI)NJe_hk8}YuG$(
zslU4EQ>luS^!3RLOl2Om$H{4HdDT09uxxq~!1XhS$&iitrPDJ}+v9UfW1s%pX?yRH
z=ci`FGZrn+nuI;4dv3mU+-8AMf^^-r(|1hjUnh5nH%Qd4GPXH>P-_11Yn;=AdctRR
z&-yWO{eR=^T`GO59Q&3$^w`VU^fQ!u+ji$Y`}nQ?>+&9X9`6=D(RoYB4t`fAH5PN>
zBS{f^d>#aI&zidH>(7hp{{^j0k(z(ojp;~%n~U!P{$ontu7+=kdH?g;?+tO>(Ghz>
zJbiV|6a+pSt8Nf-=wZL|%cJw%I>R@Op5C?r?@vuV;j_rI_UMMh+fDs}To(gec4}{L
ziPe46t0dpu_EFu)M9aad^=r*cn|~6g7am}?NjToO$F0lqgoAnfuj>r6ypHet|8n~M
zcs9%E7jt}qH?FLh$oXM!QIkUEl8+}_U(Zxf?GAU*jp+Y8NqH*Ys^dQj6g~*+1-<L~
zeeqoBovPF`(q^+)*9mq=ZaO2b=00EIuw_Q~E<wrZKRvt8iN7uk_&2q4@vC|niQ^0I
zbsXKZXzPPllh280W$E3V{ib8;*PQI5a&@0)ztWb<U8(iqQ=af_r??9S_q3YkG%H`M
z$U5Nj$Ypi+<_oPCS}LCIuXJ59D@^UoOS#9hyZt<w`=99ubIeQ#`x&XfVvfoW35$h>
zX1Ay9`WU#o<+$08X?ABz4(^<A*?JD+kyi~<c6`0F(L3pW%cYC4Ml+QsR=teBaQ#Bn
z+AYpCS4yj%NlSN}-_x*8uX@IT`2u(Jzt@-cAN45_=sEvLsl4-xXFSVWzZj1LF*A;(
zWt`q-wOYiJCxP_}Q`5&tA%0)Gk5j$>Ob(lN<bi;@j++#(_VtASdrs@CvE9k$Kay?o
z)L_-ig`c!9M|8Gw{_W(D6A%1xR6S<4vC(Djx<UoZBd6B>l3Sapw!vtwljH{(<ItF-
zB)bpd^1qog7fx>LJv&djlj-U9{ZrorS)F?qTz|<c@38zQW3>R2qyP4QJsTbB>N{7^
zSpNAeh2?I1Vgk!ugkz3ul{lah9pXO4wkQ1hq;EpS>RjS|*E=n4hfmVD)xxzXbPr2y
z5{vqRu*GXT*7#q#%Ak<ic9<czVg2j(%2xwrm`Ygv1hl=KO%e>X&u4NU%VaTP+Wv3v
z-;L%Qc0N!S=kuF3-O6|ZQ#xa^M0LXHldhRbsY+4zge@v|JYzepe=RV>t0iz=-K;X+
zrSgq4-qyd74KOU&w<l+&L-S;}$K3Onmd$vu`HHVX*aH^XNA3H+`M(UlD{!r$XQp9_
zTHjCpD#?tGi)JRZSFBe1BJ(X-!LB`M$LC6iaz2Y042CBperWUYWi}}P7x{l`T9mGz
zQgW@U^45LxqZfPkusAq--mu-#;I)<a@{g9at#1k)+k%<mS&tk^(%DgY{O^L!Cv_~l
z58d}TFtM}JW#`3{6OQd%WBGUSHbHZZtfuXsZmPRV`DH)b_bKJ3b2qcW&V!sgv(EY4
zVK3eDx%0$UFYZe3E5{j5`EXD9Id#e!d8JsL?Z4mOO9``nm|5%><LWyhj4_C#+QF~E
z+CxR?sZ@>9;XiA{Q{<L~R9(}$b$EeB%nbRxwhQ-4RZg6|MJRiR(0p#yh<2YN3`xI^
z%wSvifa6dg+p$!q9=ZK)e0`Bo#;x-|NgnQ)&1cBQd1lhF?IF>JmxLUTaC;dnog5Kl
zeZ;}p$53!Rs~q?Aon4`w5xvQB5y_G5fvz`;R+WnKKHg>Rv6q{9UPYFLn3v2%KlbQn
z5wFFbDgJxdzAts%-{+kIPb>Q(Bx*#NH_poJz5P;P`Sj)k^ZX5u)ISx~PpzLaBjT@!
zt<;V;S@&m5-etSwxZrz@O=piUmwmK2>bLRz8{h#e(VL6UcZEgIu%4cgcX(>CZbB6Q
z=LZR!tFKsce|izUp!HDjy{E2`{CoH8wE4Ps{jsXNwi3@fztZa56vQNtvpoAI&h`14
z;+=p)Cibsc94+;3$(_|J>8=a15j(`*e<|_lu{o0?^!Gi}%`anU`P$6=n{A@)+OWB<
zl4dgUEepbZj&s%~8x(Hb$R5zanWSgmD)@C;N`USIo+p*J72SJ0CZ<ZK$0<7`{AkQk
zus;*z^I^4Jr%qw-1372DYlpu~GBYxl+w0`3mfE#ptNFS)(G@N>Teh%uRL;66y-Yt^
zX@>lN&P(dAI3L=jwPjc6r25S6>=#Vjv?=WRMdhy{M|4UI4fX1udMQt^GCq}ZXGhAv
zx&AKIMI{~be;H$ssyr@owJC|868khxd|lTJ&fYVYcF*}PW<2nh_~5c)X-3PN6=kcK
zU+V1m=$LHLYsF`Ege56$-_8#rmrSLj<t&f?b*OcC{_pi=d5?V8iQc+uZg04ZCuGcs
zPhR&zp!-BH^9^%-=kDXn{CO3;uJL_5)m<V!Te71(&}aH=&nUao0zR*fKEJa_jZN3j
zXL0BusamEEbNiVuq8qYL9(1{9)oYq@@l;iwWld7`ow+^t3eH&iF>=qFA=n|{ZjdWk
zX{DrZ5gngwRdwtR!`v-ZzTf8ls`7M*vF>I{GTe9~Voj(0LzfRz=NmTmx-zivG2G;I
zl`$4;?lcvQ?krt5BjTsy0sk|imturxP7*nh$bV;XE_<5A(=Q$AbLw?}9Z9V_(6GeU
zrfY{!mf)7e>I^<1+4$Idy;&#H_neGNmYJKWdn2K-XL|4FXU?TYoiiC0Y%o%J=W|r>
zyzM-roxG=ib!~YgU_7aj+xVKw-Kfbs)DEd8EnUR#tDt9igt4R4rE5Z)Lvhd%FFE%U
zE<PrvnOBb39%uBo+4^)Mf1Au}`9@#U7`95=x3~K5{Nnq@^k>aUiMMeovD=KL?r6>J
zm?>U;a}Dc}Vm?Fb#aFbCPEE~O6P<Eb_?SgN4i7hDx$pcitzP>?p8fl#Rh>45j@Y{1
zbbj9D#&u%#dDd@F=Wj6F8=-f^-K>6M!%c~mzDIgb=Q^si3hw`H+FCKq_tC^=&oj)z
z%_>uhg+9Fg_s9E3=by*Ie1<KLivO}Ct(mCZ^H=1`JG<)bKfbL#6`#MKOIOow<Ai?K
zlL6Lcmp1;teQke;sn><JI9~RoJkPx!C%@hqRCDs3;=Cye%u_nQY*ZBHvRsj#s4Xaa
z_X+0%`vr2J6;!{5YRH&Bn8wib@AE{t7Yi*vcdpv>_NwUPg^Tyb_B`y1>|D#SM{wDL
zTm{wktIuVQ_t@9`Sz8#y?aHqlB=*%_s*&@PP_r73?v1?}{O($-WFP%#kZs#1Fmq;P
z#4ADW%|{XspDJg+W_aXGCsW7A8RG7adyWLKZz%5dxg?<4w7$T2F4OT$%?63~<OH{<
z3u;G%^i4Of?)|Z5^$IO!Gl#aT6^lwA9m`zFZIai}C~#h{w_`(5-lUhU-HRlR0*?zE
zR!sYCx!s|@H^KBqSW_<d?72INWS-jnZM5Jm>q%~N=E<L7XLz;SL`SEursvFr&B?E)
z@9XNclyT*|dg8X?y=|g<H&+`A+>iWw{?UsUeh124?7Hx5TI7AhRH0|n_W#dY_b})Z
z|K0oQyVf`P<sGwASXAKk`E|cd#V=`rXGgjeloZ_ZCOW6AsWG}+yJ-HkbjODegp-p4
z^gm8#nPXR|JmYdxmZCthdY011tt`nrCTF(nGdjEelCSNGUpWbvQ$zZ!dL$N{RI^JB
z(muN2mRgbeB^TajGV|4++Z?P)@jAe6F<ZH725+ffVX9~Oia@*emLJa3%1*v|oPReg
zWnPm~&?V>6StW~n+7In1<(_GgSU7p=)=g(tUGsGmSlsT|xMSa}8&_N|JyYb1YAgP-
zvVyZs`@)pg6N0wF;(mT}7Ef;!+4^)AQ&;4q;*&X3cHB$gH}+n^e8i>Zm}}(Kcwu*=
z@EwsCYgF0$TE&-iGTm%=pe@Bd&7wWM>A^oMuh5Vwe@?8v$Wg5R)a=TFez$<yv_qXQ
zdR_%T&itglV}0o??Tb9}?WVJR9yL3}$OX)cJDrtl!Q_87FlWIB^*grSio!Ma9>#4E
zJ~q<@<_aGPemqTj+J#A%uWxYP^Ni~*w3n#*Z1P!|j~jJle@s&N?Xo@S$eJx3!u45;
zHvD3nq`Lj!#%;DUZ^$ls9<Yt|pr)do+`}Ep$xMcuSE<&qz7lNB<Tq}MF!9;rCd{ev
z{JB%|DLFn%MR&VDUDZz#4114H+7`OfEXlHRZNrSW)x7U`uZf(wTPNxlY^g3b|4r`d
z-M#PEEq3N9>a|^=Q}%6c;Sa?Rb1e#jzqr(1IFNk%!W0otop$RspD)XW8!R?foA4>$
zRQDG=yqV=lg!B90@3S}^lr|XN4V+$fL;R!iQD2*g*Rvef{9tSqQQp^KIy2o}NoHq(
zM}J(VY1>2o>t`N`$4dwXPJKV|n1Ui-9yi0@k7hf~7z_8RO<Kw@h4IKmMYdkUET(Tu
z`i?&1i}z-^?r`|8M1n+pU#cz7Jrj=u^H1G5Ja^_TnOzwXs-d%|*jpYq-@mZ#?y-YH
z*V#_<8CFcW>}!ycl&F~;s3~y5BB{{!*H!-uYFGF+-aD(<E^)Pgu3wCWOXs=5^#wbA
zi+rB;rlI9o>p5AYjr*A9{+-75XtVyJ)8`f9%@{Wc@=n(L9KPm>(F3F0<ho4@1A7=R
zfAZKO$7zy&d){OXmg>GVgJS8}hj#xDcYdjVB{54ScK0DGZj}o=)!HS5Gru~Xl;xeS
z{!L3wP4aaxC)1XU8E4IRan;4OO+EMf?#tBuDZYBV9raJHzOVZcw#8We*=yyeH75^7
z`MpyV`8!D_tfOa7A&29|8KJ7T1oRJdwSAlrwt;KY-rU?Pf3m;cek@`Uc*uU%P3~#i
z6iPRx9^jZ$x2gT%8PRW#%<j~0|1!7AD#_;BhvieZT&XdR`CB6U%3zhbp0-n5%A=6(
zO;W)Yb{Xl%e%eadDpgAq9OL%7E}rFg@}zYB_xVR2aU54Xd-l<{)IAp~KX;w#xV(;$
z{c*vpvk9GLGo=3?In;G~$)$tW&F{^V4(~a{x6@bP%zEv|{$hIVQ~3-{{-68*NW1XS
zj~1qnlMTES`quVdTDjGw`;_UX-jAlo1d1b?T=Vm%`JdSqVmooy@|F`lu9lUSJ9pmR
zcJt#sv%mumdpdi5-{YKZX~S)*m|#@+M?@)msld)+tDC}Ccmv)jda1lqWnnIu)%2;t
zy7#T-r$^a6Q#4*i-;Y`575alk_7UIf)0!pc#Dsk|n@@Gt(P@*ubv)MKS5m@Oj{`o%
zotf(t-8Y@@<L;~Y@a${m)xL$hiV_987QC4%Q^s<JHB;hh%wqqwPv$E~ZSs2X;Cbdw
zr8UM??fn~1A4vPQK-WI|;7@g(S9a<qmIZEG)HgOBve{O9VY6B1>_*|hZ;NtQ$Spa1
z@_|b>lct!g+<#72esS$7WjQfQEZuvvjMN;~&y#aWSTbGt$cw~}8cCuWMu~nl(~pNc
zGy1aiURkobVpi48$gP)(7cnIjXr0hmWU$U?is{R36ZGO-zbsyVJiKNa%YHxmk5i-j
zeE$51e%uoOap_r))8hTiFXcMe1*MuB8xHk;R4=wp*?qoddTv_Xq3_JEi);CRi5s_t
zTOFCzE3v8md;E^wFZ%_i7zVxa7yc^a%R75+CilwjD9+diB^{<WS(%exZ8zV1@tV+Q
z;c%l<E7niGJTWEf*z2&nd>>D){ag9(f<w)`r$tM5E^_WUx3y)9T|~pCny$9Rp=YKx
z`^#M1Tw>F#Ewj<$qQSmLj&E}P{W+L6Z!T}OzNgCm*;sF4KkM;~vcwI7O<!*+|J%T}
zS60Dv){%@^N3$m0R!TCvtduO&oH2>x9IM@<ZB8c@`!1JGotNqGZIVQQg`wex=`1~s
z!6`{h8>ev}N^L4Vz+3I*RB$M%c53|{=alc0H%{hu+;wurWYzjxXC#W3Dj(it*7-F<
zHs`(P(FYTfB`kae6zB9UXuQ(xzJuk6$KzR|!F>@jcdtFL_G7b=ow%l7Ze{-5>x#lh
zrpR^V?_br@P@draDa`SU^18m-#~wZ=J-l9F>5KLT|7m0DINkf3Jzg$b?b3=lCyuq>
z`xHO9;jt5++p!ZzS|0q<URWH_`BU}L<(7+bX|v9H#2iy>^s_ls7_M=p@sUBS-O3vq
z4BC^Av6b}~_?LvWeJu4obMjP~Th{UGVdm*GCph!SG8`}IemX;hjh8v!sId5AX#cC&
zn4a6Ir<Xa$92eOC?O^_@>iJWIFICQ$3_IlTys%~3HSO(X9pPc~Vsp|!Ti9ds)LwpH
z(5}WlU3%`JM|^#cuggto=GNBnySV-Au?~(+l@f-IToJ_+nw2HL+kL!nWzt(E;p2Rw
zuO*EZG9)Fb@<}=Bel-03_0F|o-|v#LVO`D^dU@C0M$Z<vIX#Qd(1`!pyU*8B+df=;
z{`O&XOM*^Qg6frYZtEGvJgfcAZT@s@0%u9}mcYs3A}4o*&5n@#n^WkP>ys3|YU%BL
zfil~59&O3^t8yf<&O|^Zt!0H`0!wS=@in@p8844>&h_N^b)+-n#)aZy_E4>}bs35`
zgo;W#7e8a0$*t@cDE#Bs;eNZGs79}OE7om@m5Ax(IAPPi%lzNVkK331e6UDz{YLiQ
zhb@PGL}j@i-)+jC&AZW})>m8f{AHe*8V)tTf4^FmFT>Un$T-owDZl?{(*v$<*SCff
zFD)+q^UOS_diqMU$FuWSC7)nvR-GcynZzsm=;V#rz2`-`E0-=l`m9P#LUYM)kFF={
zWRn;TJ7Y5Dd9^#t$!lHewtL^^<Ff-Jc#f!>|49Gg%=}SO>{MuaC!gVu<~Q1ZQkmM^
z-%DP$<kRrkF-1^1KTxx2QRmUyRrBA7Uko(N_YIGbS(Cu|AT6K2oYN%t>BAQX-}tB%
z?qvSaRW0JIqo%i>sq)X-FS;2CCyoVJ+im;Q*z<GprBnC!P2FJa^z)f=dyCPDnv!Qn
zj+jmn=-#-|?q;LvryU**6|+*A7`06Gw_U$*{pFjtoLv5y&H+wqo~v`uJ-RpX{xqho
zw*!TnJ$1IKr(P6vRyq1{y|WJEwF@eGm+vzfDfx#K>I?3F^<`tfliA^puZNy^isV1P
zq9&pHX#dA=KW>V)vn3pHNfoLOny5IRN7K)Qr}d{r_^y-9&Wk$~L*8=9$1JuvZFy{k
z=3ZrAV}br)!SeH0|AycH@xLRNqs#Nn?Pm`dn=Z$5?zZ?lt19^4OwXs1{{M3CP1HFe
z@Ve7#$|3$czv31dFsmzxP454_ORA=^FydZlrdiJ)9pCR4T#Rj>3p~ESqi`%n-h;WL
z^Uz1(uZ{7c4kvtey}oL$Y`kpiI-_kLq|KyePoG|1v4)B5QL^anw%ePt54QHsbM`so
zvhX4M{>Im=$A3r#MlhUOzEfPx)aQ29{GuHb4fS4#&vdvq<@UVJn}>=x*Xmx{b=~t%
z=<by!Z_a;7;tQ~NU;DjUx?x6c>dpUWobLDa*2&l``6k7&FSphEg6FQcmOo7Iv#v|B
z(iIF-l6-8UEU=i}%5r<vqP_!+p))0WWlZV<+NZqnf3~wEjhVgQ<mTFokw^aV-#-1s
zjn%^P|I2pI^u2K^e&&G=-!__mxw;_ve$l4brZ=;_68}toV-lix<e>dO;XU&YcrCqe
z*1btDW}W4?BiUv_AJ#qUoOvMl|B_2;4MJZ#_B=`!6Fa@yZ_3|4clY!DNIR2PsUDfm
zDO|hdLAJ}oTXJ?BM`l{IXP$WKcKx$JaZp^`(NmLbKH2a{w6SbC|MU8Zt%cPS3#|lm
z?H~PqoPYP4MA+R3OMXMyM>`yPe{8+u^{VaiFCT$3ZY%R$cW<l8NzSj8Zrma1>?5Kk
z=B^NSJy^M@QlxZ6+Qx;i^|wpvyfdzOeVgaVaWmQHd-gW|nB)Dt>yz60R=ddo7HTJs
z2)15)we$xIQ{mk&NA$XMm8D!tw4&$A&CcAwdiKqUgDuHVgy;LD=<xaYY@TqgafU_N
z#+u;Ro>>mr9M@hRv~ttBe#3UlOH&QuBbN(zvQ5fcD)e3WxdTJ!hDi6F!bfNHoe`<#
zVC*uRu)J@L)2?opcJ2+QQp)`68*EjJkLrkiuYKV%)w3+>RD{bzRp*iq%AUt=aBi$S
zY%sOTtlvVpCGI7U_?+h}jIaKDwxO}_<<TP()h~QZzSxlXC%7T`@3hqEZWih--Dg<e
zpOU_|`?c4DBX8d;Gf%AbRyi|UKG;e7^oKRk^A%>qSC%{de4d-P&HJO$(MGSsrLV1b
z)J6q37j$^+dik13^>Na3=lLv;c23|l_?RvK%Ph_Fx+#~(9s7;P+W*L$VSBo$B$NN6
zjK9XIuev@xiqn`f<sLaL;;)Tndh|t<)kNyR+*E<+qlU7%-4{yM&q-yPb$Mx?o|IkT
z6%lQT)z^+Jowj~rjtKL|U$-{5>+&9{)>!I&Zn0JVxtpD3F7q!MO#83(NN1tQTybyZ
zu=4p|MO<AHxB32RS-<&Y=EX=Cana4{lV?Z<tF<0o^yH%YyKO#d!k_*3vv<ec<<Uu-
zpb^`}G)1=9-%eTh`WhYmowt1y{B-)}zbH2s>?)u6`1XSfo5jS-78sUzGo5WYDmd|@
zdLid3u42ChHkPX|%DLsY|1~!5Y&&@*X8sD>U7e<EXV(f!X%(<8t(j=>A|fcndY`}E
z*-38RTkUS9JW{Lht-qSk)3(d5GP}uHw(HuLww?dBa4j?RnUn35cw}M^<MACk0-}{z
zgc&&xIz8by^7{0|uS@Lzim@+`eYwM`#AnKlcZ%MRlI;p3*t?FjzcP_FWM|;KZ0R)l
z<?5DW%#UIN^G~%ch%}n?ey4Vez3%?v-&=zE_OFtCl*Y5sN$uaG@c%Q_B%NjMTFpM<
zI>B1|g-m!^{n64ZbJ`<>*Bw-MlX@HUrf`a1O^=;kpOE4*J+V0JlY8f-Jo~0=eMEeH
z`18%|%pZSFIXd?YXSCIqM5n}iPhI5I@+}0@KWo>?u|E}TO0I7Cnz7c5bAsww=A?{-
z>k)Hg9?k09>bCFPoRtEN7L!sfs}?<EJo5NqRd<wbUB|KqpXGB7Zsh2gc<-B?ow~z<
zjk=FqlrBB*INHCrQD>=NQ~e{UZ@-o#*3FA)&fIgcx_QQ;dmfgj5>@tmJtMNcXW6D3
zvx;2{EzK5et9*1)<(agbh|xk5Ez#e}ncA&0&mZ~ayKe1w0mT{B>$oR=nrFkCBrCRP
zMW@vaiRCAcwd{ywevzpWBd+Z~`SsL{Yr;k8NlEK^=KomrOW;1kA)z(tGap=z{pge?
z^>x~p^XHd1pYoa8YcZ`O<m?wU({B&HO6PNDIPqH@F>I6I)eM+nB4f{bJVV=p@4R=q
z%!auxpBGtd*&->w%G<8CY6V{#x0Grc!=vjN=l*eUuTqshP{R0WwcFHWxf8FQjq?=j
zB67>NG&WYax0Xgm_WqNRQoh&NYiB66!_?$V?u}os7jhXE=FGTZqj=)sqvb7U7JDXb
z<36~3Q&h0#b(OBrXW|Vrgypg?#_)DUr8&jVZm^Rpe<9?N%#u{)?ekdpbl7<Xw<gVe
z)7QTkB0E>wuMpHdXz1r_67$GZzV^qKOFcW2I2x@KOGD12t5l@9ZHRmEe53iAhmSkj
zKFTz<@mMW+GkZp^;1|oao9^9P^YePZjuSs`$QKJ3)l6#p8JeP_7B-Qy()HL&|I&K>
zi9dU8W&WS!DRbUWQMf7D;A8#Qgq^cR3Ij3^F5)U&=<t}q;eoXF;Zwf?9%r6?z5nMG
z`w13jm!HZ~(+d=Kjt%NP^mS42<-*EqrnB6C+brDhCikD%u@A0Z0n6LWcq`j>a!+wF
z5M7nM_x4V6rYyE3H3=g}wZ4=!>n|#bW%#|jCD^@tnFD98WTVA7qls~Mdsauds|c^=
zPh$V#`~6?#vG*%gLzEU7TrTcz{IO-(W1IR^1-tV_J72||JnO_Qy;!a4luGuo^L^GA
zKTPdy_h0AuTj=)ORyEGvD@T<(FS=c>d34C8Kyk*hR^6P>{+u0)ubwqN)M%m1o}qcx
zq2=zmUdb8SdM__L4L5MwbuH{6`@}ZMLySE;D&{X&nr5qWs^`wl!#5i;ehF_>E(&G(
ze)-w-j)jL6)W2GtihlI?$SGSf_8Og^@?t@OCqHjE_{69Ea;J9ba_O(nABiW*X3SnT
zdqHB)K~MdBmB$loFV>&QTJrOrz}q&KzbE<j)oE=tIW}YV{qm<fU$gw2H=X6kR{t~U
z|4-Y#NSHW@?_gqWW$97%MY&TFyjA(6AFV%T^8HS&nYqU_-OtCSo~+DeySQz!np~|#
z+zFW%)6zBCh4ba69M9c#^y>-6*?+&SugggF)Xi^u^q6A~udL@pjea%mOAlon&v5e<
zrX*P&nb@f;$=&f<I{V1|WvLffl3a_fe-;q#5T50(^KAYLf%98!PAdA9^sN_vf5=SJ
z@qG&D6p+~`cKn{(G3~-Wky$c7jFi+Ick0|_dwe}Xy|~##X1)9KjDnj6iQ(dowpIl#
zUuVc)N>}{K)p2>2$1xMLCk4ur&+HU>A<A(i;?mzF1Kz18mDx|3_Q+=mhzlque`!wD
zJgMl$G&^>~q@z5Gi+k@GNdM*7Z73T!<KV1_8PTlXbK3g5GTju5-fggO>ewr?TRZFO
zvmbp`JFi@Dj`Grx*zNF_vt2@WZ?NtAh#;HeUyQQ$`ZlxNoPFe~!V`sk$3N%Jv-mFH
z9q@a}BysaY&zaO8%{g*WSMU2K`9ESZvs&EULZ1D0ky*`CX#My=TF33oSBn=Om5J*=
ztfD2X<zv$Gak-RvvINg@vnuy3OdThWcg^b9K089pw|P&W;=^gT;uhSIK74!cdtue3
zY?eR8Bm6CnvGzsnDw0cL`sf}1qo(Fw)w}7}B6^lJUoYC!*d2et)$7al_iemaJd6y*
zjW#|IxL)Z|wv|tC?t>dFh0VV%^L=EsUbgwy&c+{Wx*qqXrs-uVO)_lMFH*0_*mSU=
zIl{9qWpVKKZ5t~OF$<{AH<QZvvc8yQJxAAx#a$~E^xUtD-F#MS@@(cm$1^s+EV+)>
z8J6)s4gA%2+BEIOe!g!zWnP~+k`eb??Ayimo3<_-eSyLr@lOnoMC{uk-}RyG(vI@^
z?JHM5U1AjHw9_`X%EGrYP|m034ey)$D^FbtFP+l3wejck&d1?5PCnV*Jl*G-`tdns
zai#+2_bzc(JgVCC)I&k-=hZd)bv$GO8@BuH`|^nY>x!Arl)ZyDEM<Sg(7n{I-O$H=
zM&{KmTc28s+_&&}@l9W+?}jXI<}&5E#=T0}U57Pl&i<VGY?gr7^xI+lwb4@dlXzoa
zoj79p<DB5;x(cS2qhZ~db7bupCvtDlxZTv+y7}45<I}^JN2+-}wEHrl;m17j+SW@}
z0i7FO9hiRIVq--1tUHpoSE~tJUZf_x*x_fu-Gjl0*>3dY>KhBsUSOsEbA7*EjZ<V!
z(Zx#j=?fbge;9?_eQK9_{cBpfd7}f{qX#mN{R^s|ZHv4tv2pE@BB@u3hj;ke&pv!`
zit3L^?t+Tp^?iKrn(vEz-2SYhq=@NJ$BZWo6Kadj-gf)F_PvAIjen~|#keoUFArVQ
zDptBN)bFcK>f?p_FEe*!|Kb+sE4VYceM8Q?^Am1QIV_yDC#|HdY6Zha^Hm#nyj$(&
zqITErmw}_%eAn)cE6SQXcYaLHS2z{$jr*QZ@7I>~f7UKmbDM1Or0i{n>a^(#3fgoY
zdoXb2d<xOt+4VhZ*7{Y;+E0Dp^bI_7gY$`dTi)geGafQ~#|Apz@Ok)HqUYkq{QYSj
z-%V^1K7KM$KD(ju+2Ya+fr^`(lni~{Z5#`DE_Eyvyye5$ljgtUnn~65!~9R8Ok6$`
zZe8H`tjR30*I3FYPIJWs4aalVE2oE_=JQt+-qQZFGxnnTv&IPxB1;lkJzf;`@g_?t
zZkAf$rDJhqPJ9!0N`Lxs=j+~;HG58b=6ipx+;>pFL%08cZP91e+wH<$m+g1jfX+}{
z{`TCrHM<)#@;r))_uRg(UB98C<qq5Yi!!NJrnVdBhGwt+Chq%r<6YyZMNfGBHyIw$
zIx-<?N#O#C!wX6x<DW(@KfrTYQH-&}NYde?dS=ixwM{+?_bf{+v$5co@_v-CY^Tug
z;~V={MZY>^Soc8jRjch;4>?~QxiBZ~n}<&b{W`SxlQZMZ%}!Q4#wKPScD{S-HZca)
zIYdu#KVQSF`Z{~A#M-2}7LKc4mj`l9`g>!u_igiLE|I*|EE>9f{z{v&FDx?j(ObW)
z+g{?~$2JGeU+(gHzi&R87&doh+vSu;68<`TVq(G*e|`}y7Mi#{CI5uw>5j^4n%7@)
z`YivEJoCtrc(Fo<hg0k<N)uR;&K{M%e?f7w1n0#K>+Vmw%JRrLp)e)YReE`EfA5v>
zJkxG&;fys|ace$qwBT5{bAe~f{?+U2R`ki}==9kch8eNxY|5{F*uOX_?E1rLe3vHJ
zI#tg3rR(N<L|CNnc<~djDHAgyQszXRuv*<zYJEgJNACQq=WLHQYxP;rlw>UIJXQN8
z(L}hl)B4HVw+9*<-1(MuujJiT@_+Ta=NXf-_^!=*;ik|VyD&3alkr!qlFq@{`N>Ta
zFC1nr<Lo~EwX5r$&q0?1n|x+C=udjrc3C2szi}Ve*%wX8vc}GnEzFK=<Xl#=Y5I+|
zpC-RfY!Nui|8KJM$?wW07lV7NCtGe1YF92cnE2-5R7=kfE*BGI%oyituMGMV^6%**
zf&Kt?fk#cc-a1Bq)4ne5*14L0GxzfRwBzY}SR{;_@5)`NtYr4R<Q{RQ+fu~G=XHo|
z{i25+%(aQU`}TdZFG_jvz(w><+mxMGKS!KR>UFE&n%`k(_<Zh*nH3XiWkh}6$A69q
z5<MHA{NTuexk+9ZHyl#=#qlih^wi1IkKXJkEjy{ACbs|Gx3?CvTw@O{J)3i3MHt6d
ziERs~G9T2Q(|mi4x`EW;tOX_km0u>h3;(_rANcvPvBaKt1y&aKt4?i}>X_`Tvt8o#
z#R;Dx_wKSxs-7X$QpdACG3d17wJZ689Tyd3Y<w?O<|H23cgiP5`16@9vX8j8^`?I<
zX8sr{dR+EgPmWxI*O8d212s*n;$B7n`MCW@cG9CCQ{OJOo9Lj;b3P}M!}jO(;A;0L
z!fJId7G7M#>!VY>BR%+l$@VuFB&|JJeC9h#u4}ZgO%1a8F+te!TCLKPmOz;k{J$i=
znM^*Hz`>yK@73f-+<g~+>D!Aet-iT~Tjxm6U*F8v=`t22S1)!k>wMB~4KnNFEf17+
z-hS#wucd;YhR)`$sF&dftnH34M+O)knDtb0YhQ-2*!h{qcZo&|_3v$rI5S^6=b6&P
zcNYcy9a%TEHzu(@U0C_)J?lQ9tPe*gm+YOXmA$7_K0)SZP8PrU%o&NxtQ>b8(wre7
zK4npe@|y2TKCj)Z4zh7=ev`Dvg?;*ybAsI;OCzeZuFg7sZv&h8^Lze{msiTKeXKC;
z>*VW3t0QBoURy0FP`-Wma{GxtF*TdHlx!a=h`4==``G(k{)o%0Wjh{a1+^SvmrXKR
zby2R*<jf<z@}f2k*1l@iJB3H0<GJ@N5;a=5bHY!N<RytuJ}+SPll^f*K{{ogX>{6F
z`$<jOSO0DJ7!#cMu3-PW!|THiIP8g9CB0#xPg2a2J-Tw@cfVdf#m2S0W2RqplCPOt
zj`?eoSyz@t_iUSCyiT~@^Iq+&xYB}d@2X?!eQCLgNe*$_SGycI%~!}GYn$SHf7Z@Z
z`?eZg{#c$>$$9)0^Nlx2#t+xaB>g<%vmh|<-t*K<G45{{+gtCxs=IXdLWapV3yTF)
z83OlZp1HK~o59{7wwV)ls^5(}V7DfG+hor*_8&_EvdZuO4eD`oN#Hpw(R(#P|0L(S
z_j|a1ai&Lf+`3_Dcm4jp6|=k2rs&ot*@m~XY}W1be|b+!+QYmuXXUdKr@S7sue1Ml
z?)R@_{mk=z)a`rHbUYzRpvP_YgeXR#iz;&L_Rfl{SR##&pI4M|+H;%X{=r#m10%Ap
zDfrcF(>Z6VI6org%&(K)Q@PKX1Xr_sKX6KLO7$A~e^%n=OEU`=8TQC1+28+jVEeIe
zVZ86B*WaA372A_|=7w<IX@Ty?O-#P}M>DLBeBJ1AEW%&m+0oO<N4G36-q!y3N10(;
zgb&ZoECn}>Vq1v^x(Z)8yjIux)!1ZO%GciD`}phF!#~?i1m@RE#%A(~zW3NXSwQUl
zuY(B_tWSJ7)%sAlw0cU|qu1Q=ADnFK8t?I~wbY#{w8Xo*NNUf;bcKrr?K@MeKfU`f
z_3WJ#)!Ij=6t7KIeYH7TCCH(PqhYdAx?X>F#TUgn%1MP=<dyDgG$~DMz4Rtkk?9w|
zjBQ!?0oFA>d;OG_@4L=<BEn<h3Mr++na>P79p>nKZZ<WI%6{SEdQX^Tj*?Mj-(N#Z
zi)ZrMnfnu$=3N%<PJZBGGx1*Jn>#M^R(5F3)#q<nl;X=Ew%&26rQoHrEVH6ZRW>@9
zB^MUdB+oo`tb4nZ(mt1ZZzegNm6OdcEU-FfvU~^AuOnP)Zg!^6bUq$YJhilpJ(csi
zj85_n{|^0T$vf5S4)RPZwqbm6&O0vo;H!_DUIbtBzrJvu`{Wq~b7USFGJo2fthAI}
z?brpU!-1#PSuI<^_Jo~L$U;f#YT9RM=@d5pjFpZPN;%U-(q}HPmKL`<QrM}uCq%*W
zLe^rjb>*R)R!6Ef_!}O{yk#oWx<=mqHDAZVuwALg<CGH(uXEfvK5>=oqsh@-oBu3q
z{GrqR^jxaexActbN`Fr*yyCTR0|%$?tCmTw>zwBpZnS9i+%Qpzy}Rw}))sO52(^wC
znH66;7l-;hpAq))z`@SW$1mb<ADO^u7~o^_)8DzH)AP)W4n>vbxYGZUo0gPK)6iMw
zDBor_eSXY@XD^-ay)e6)nbYui)!RO`>@S_3({47;6e>u0)YQM=aAJ?k;@2yxq~`0s
zUVA}=U!Y0miHvc(uT)!xjuD49M_+f+vc=m~UVkr03Yd51tXKDuz~wULerknPlQ-vt
zG`QAoGW_G5#nBq9WaMkS_i8u)^CcN}E-Ml`B}^3)3#WcPcKgBE{$|y6o#(F_&PeB&
zFk|UM0iBD>9(J4#t@?S*y=IG_!y5P3kBUn(Od?t>iY9yZ<n%Mj*;LJaIII8uAGLp6
zTnde^JAxN-wl;R2V7u_4djI#U-|tk<kGgW>$+BnD9rtE+N2Gr-y>~iEYPyPFB)`bD
z%j*)24{q-h{W*iLaL<;Vw>?glUcR!u{Vwmuofgkd90`!tn3EBay-0K2>6T)F&bG<9
zK6!qUo1JTlCReoCn+VKLTzKcC&QbT*7j8`|$qu(z_dNb_`me6&(kSIcNxx?(Sn%CH
zDX;p?p-s<V`{%IV37w7G9?!ZrH<iQXLtC;`tZUBGn|~5j>zs@w;u3r|+&*?n&GX7M
ziCqVd?5o|z%=Nfn<>SC?>z&7C-(J$|-9KsV<%m}I9-XBnENZj5C-z)CJ4LOIVPY%G
zH~F8xSDe&)v_+`r(TnL1Uv58A^XO|vjao-|Wg|m|xawpH(H-x?uFui@=-nR79{=F?
z!gjxXcG;6HERXzHB{2Pk)7Qm|7cy;-+8`6TV`Ic?IonUXRbM85-v6(?FfHlm#urCR
zXQeuA3_AMQ|M0>P=eG5qzLv^2r}+3hNuSwS_G8YC15Zv@t-Nmkt*yCuxki>#aMqEX
zYDqSRzDZ^o8EzGVy*~D?4?nt`*mqdnUu#~Pecan;cU)N=&ZY#kOp};At%t2uZ-Hc>
zXb{WWIj*b3*aUPG;>tQ^7Z$QSy5aC~wZP2Ii{cWq9M@S&IP*+hz_~>2-?61;J(d!y
zk25TKViEG7)hurI_Wkc4oNf6U-n)IzW6&X|6@qhO*%ti_G}vg&sw~{y_LBXyT$mDL
z;g=roUkCF$?H3jvGC1qB==;6n`zK{=+_3Uh?H!N9TN;n<yE?yW{*K?e^?oAH>|VE;
zAD=qe%2wQU*0VWUmwglZn4Ya=efsf2XTWSV!<nINg-@K8T<vzb6q>%c_wvtA?Y}Dd
z`?w=&e*a!%S$k!3NuYd5TFNXt6$Moxd497Xo79i;XRE)|?6N-3Df2|Q_*iGftj&3a
z7J2qI9PP&hIq$Pr$b5X#J?;BV$)=MMNv=ZflPg4)M=CM<Y?v~8>der+G5ar1SlGQk
zE9LA?_rpe?lIA2aS)JbRa#e_5*5dm?X*CxAM{#Wi5}yPP3%Oa$`;?mE>zMBIVEgH)
zwe?&0espw)zvVnBvDA6d)y^xO^BUO0XRM!dfuZ5~y?Eb#yO^v@@pDrSi3%wRA2+S*
zJG?4lVpeiQ%!zFpY+VmnUQgg$RKWYfrk3{=$8@P3ue_$q%dnr%;hfD^SXFAA+>x!Y
z?)rj*{=B6!{3=q<W+dhW$vE#>W_jbh8QY`3Q?7<SHJNop;;%Y$#m_q1|F@PrKUrn;
z(c##Z2|q1&?O&+8e7@JZskgNr$;|JPZc<g!IDU4A>g~TBM`Jp5Jr6g0+W4L8C98tp
zW$DDztWs(#SNsm#(~@EFN#2@mZ70X-GRvwKrtTCawH&YCHXe#PI(jGm{5rMbqo}i&
z8viBLTix>lxLYgt*$9^XIngO6*Jb>`O>NnA>ncCv3-Z32f0x)P&E3|#`Kq3~(Djd7
z3zfEARC%{4O3UGd@k|FRm5#){uU;2t8*JP6KyOp3Ovq)gp2Q<PvmCS+9^V<TyTWa<
z!Mv~^Eb|v>f76m*&b=)2Q)lbZi^Xqe7BxJUYMrdPJLbY^wZb`tP3N~9-Nq^^v0P_P
zs9Lg9$C{eH?6wu1CyuO94-uO5s3WJ#`|_=y+-EliM`_Aj3DDX$O-rqWSLb-M;gR^C
zi^Q)7%<JC0`uWDY((k)?!W*;x#hh^IQk>@O6JC+$xKQP`(macEw%e{6-afO|SxxU!
zz?|FpyhomgDWy-GZ(%MrYoW-lS%)GXhhN-$Vn<))Q>mJ38^uh87w1m8E-DyYaEIB%
zA<|@x3F9ok&2OF@)b+c|;H-Aypi!r=y#5*EhIN9*3oiaqo;fvq2A|sYoSZ{mOQtm+
zTf1WW%nNJXww)`|7g9Q3+9G&R)Y|Z4n$>F)Htz*j`l?#H;`&^DZ=_#uKM}~NnAA97
ziSU&8?kJX(Uytp!*zEYF^I~Fu^^DC2PCmNpXv#FvLdtRCp^N($CCR8Zt$Ss)&+MG<
zG@qn}2Eso=?gceYDiz^gB3CQpTxPDV_b6BXw!zVr(_gAFeJO3y5J}_`vYC5wN9(-W
zh((IGHs>4EX7}|7c=Cz8>APax679k_FX!70X)&%S;lJlxeLqNAUobe6w$EDEOg}?j
z<j2Mb!pH4T%B{1kSfhCOtEl_MT`X6O)-)#HUED4GS?b_R8J0&ahiW$HTOBzSYJ1Lq
zYW$jh-Tq$1xCM!Er{6@Xo&B1y@5QW1Oh!^O(wRSQ)IDsOpAS0uaOdR8;Pbuba?Uo#
zY%SKAZ&7vlq|H0q9zCULW^VauE>mO#%32b9r<gsxdtzVCgJaYDB5byloK)%KGyJW4
ztmuHQUT?*7VSWESQ<Yo}rex^Ne!GS*cKbHL6lKQjy(_{Q7P9Sn_wb3bn!n+;mx3<8
z4n%GYpMHRCV}U=ntlRcLxh1n7UflQj^$HU<zP^_Nrl&jNL<G8=mCaj~Olp%Fb{xs6
zT9;I^GvJmT6N}emTdQAzSDsv6cm79I`wutsqr#Jot4!o&l0H_QiP*H>qN>Ma%|wat
zd2AoWZG6vqEU<i5u<U?lBG)>dSdL^vUT2Y`q7AHpeJ$Qi%bu+fD4({{dsjokt;4^b
z%<8!4dnzaBWl_lmugMYbUncy$=&{=%yJMEXv#x)^)3$8XTY55~^YDqpnCoi}uhh&)
zD*U1lWG%_AtHUHzFKgr|wT@Yx<H#vDmxrErK5SuHq1oYJW6p2bm7~`dvDNRfq1BPU
zL8ZcP9G^*LF@MbLJ$&=uDTkVEuEp)f%i143tjc<};L(Iq!+jqo@7XQjrRZ&u=iI)7
z#m~Uu=fV7k&nueqPaWx+^+K|Ihpf(b^NCy9eosD9GXG}UYbQ02!*8}6JMpaXfS8x6
zo%ym#t7;`q{~s?GZ0f4a+GQxtXfBxR^5jd()NN1xJ<i?tB6rEzOY^HZl6M@suy)!^
znO#oDi;Q^v<(6<yWO#M1)TLG1Ww}||TOEa*X*t&==FOhBPTSaz<@8K;)~pUA_xy@~
z2e;l+muu=wEKfYk8J>Ar#ZOr1vG)8aPJE@|u|h|kL?TukdAy@gM#=7rz_((jJpX^5
zQu41Rx~nP7y|5(a$HTljnOzF!8+6^|mNPcL@idD3bHrcmp>Si{&bqvWWnVd+#hKJ+
zseQatBK$P<+~FBry*yf<?>J6v&tTL3Ke1U@_;vQD_{qm-&YC-`CvxJevk?v!T)$eI
z6@`yH`k|@tEFf69hOdov-`U&BHeY5*B>5Gdwfd(1fAaq&W}RDwSSRMGtn%-ie*Q+k
z&udUyb#{j_sIAJw{WNCN5j|e+b(JR0O|F|J%1wWE{n3)L8%Mr6X*d@2EbBNZ#8uKA
zG3VvB?B<gHd6%C0`zE=be!5{p;tP5CRl?3+w%lbjd_H}Fp^uuFynKzRbBe5yVfvha
z<WrjuJiK!D#mVKjHl~SBec|4g_eZ$av1mh%Q{CE3>Ff>ub!zk7Vr6@Sz8ra)xM^L4
z;u}trGvy{99IZ+#lG|;!+Ls2DO+LBi>Cb6@_Po%ZFw;bP+L|O*za{K%UhMp|B#7<T
zW4=boODdiItsgrVH@9tEFx^&>!_nDy-&~i^>ow;z<geA9DAyc%zxj|ry5w=!jdmA~
zuX?N+@ps*h=Y0-3x8<Inp0P;ce&?I3%*HcnG>r1*#QYbTIHxA*pvKgh#%-=MFKuIc
z+HsV7^9I>Dc}nLj4kkR}=*alaQoreNa!p6rvf0vt@}V0SPnOCq%6c8NSz!ONjU{Vx
z3fCO6xjcLQbH%jTCso<}40?n8cK6;Z*ynD-tM9fkYg(tt<)bk?g(;7u`X<irw3ShQ
z$HuIBsUYXT#F^Ur)|_MITbF4Ez7KV~h3?+crheyziUN1L%3pqZmEDrIEcwU=r}mxm
zCERpeo}Id<%U2kCadpCP)zublsy)rscUfn@bBPdE+~j_euS1#fctX;a+1U*iKkIqs
z^v+l}hdZvcIq2NF8C$pI3N00^l;$z<xgc0N`}Mb1cKv-TGbCOvez)!TZSDYuz1G%m
zBql9fkhshDqg{UQp^0sQ0%!eJ$n_p^e?8%uPR^Z5n@2J=?jKFhB&>CQJN0MD6^q8}
zsjE~ncX388blQ@^xN1X^s^G5`9hXgoc)#l2YCHV9<NUL(?4K+u>lRzs>%BH8?h|I@
za%Q|@&U@mq_w@_|ceP_@+ePda{{A6z;$rIh=^YD$X3V;7AGzb(Yjuv3FItZN=x-GM
z(z%j>QBeHWi+;XDS3~cu>~q?tuexElaAQeMR+92zsW@|PDT8dEd3us^vf7ny#rn@4
z+!X9n7Sm2q+GexWR_1(EE>qF&2Li?sO^T1DN_1}={&AV(NYyhJ85!$|nNf=*JNUP=
z{=Rw0VbA<cyM!%!gIN|#SK_+TBW?RQMP>5T*X%DJNjVy94-s&E;<5GaCMR)+4W4I&
z8`edcPug<mx00CloA(L=lS{Mmd-!jt>h!glpI4oEd{f0u`<1UR{W>YTH}lVmH5r?V
zUVZ)&sxYa_?vg?Grw1)-RwlWzTF7;LS-H;S+l#G*(r0x=ZR1TE>?+;`t#DV)6x$|c
zcsW7glVgkbD@#58I_`|NJYk{ZakI4L*D@b;_nTBAwEX2g&gMru=QzAQJ}+c%ZA~Hz
zb5zGp9)&ak^>yXEHUU-{DKCx|`7E_vBJuHu$|9LZ8KTC$vYYr8Yh){g-Qa0`>dTWG
zX8f^9!BFqdgK8@Yw%#NrWufkqDLQ9&9eF%;(Uz`#al-EISrLl_1MXV~h0b3cDCOqn
z(Hdr06&=x&Y^tn!<cP)>3x+;MZ(A|`<VhYUW%SQ78urWiCYgxun!Nc#jO@|=<hGMj
z?cQo8DWCZx(V>4YV9t3to+HnL#nNX@e(`PLT6gUQAMSH(;+iudaZXIiQAvGv8TZc?
zY<?R~hHakrA|**^`NzLsvcFAz9N#{nvtqyhN1+V!i@(-us%W%Hst1Y3C8_V){r2pR
zEjRL)UW@z}>0{!z-{_F*jaxhJO^ujbwpeV6pr1^=ZQ`w;9@W0VVSnYTBc+O*8Z!!y
z@?4&Bbf=Dpqj7=KzI}ZYM665Y{PtN_->E7PVog^xvQJ3TQMXA5H!hTQ>oL{5(o%Ea
z&Z%SG%NB4M-ddOa>g}`J8(s!1Y>@gXdc`T|Ad_n3cfP0%ADbRES8clVG5Y5b&3O{6
z#}DexjF_R#<hNty28+5_iI5C|6)*VOEZpZud^7M(VzW|CKHw5{H02S;j){Di8G`yU
zg%clln1|iXIL6)mIKwh>+o~u})iv?+Qk@)P)J2R0{S~({d|Y$YqF~1HKkIuGkBOc-
z$hI!HOXmJ5N0(z>#{`nMcg4-l&1_$wnRkHug2SH5-G%Js84CNFAH9Ee;p08kDpr#q
z&07oAl9M*(Jjf7oPYSzXD8y>p?vN6Bw4s05##_P#H5w89PtPt$Z1ZUSRu*fN8EXFH
z(p<YO%OkE?9NDF=H$Nh9ZN~A7ZQm{`WKP;~)W$!Jb(YW{3n7lpr(KnelQ!n~{XCd;
z%{BbSyhroRuCBA-Pv_lv<^0ikrc5!thhC}Od|mLT;m?BaPP~yEPkSzM@YG!Yt*<1^
z>@F0|p?6i#?c%YGrvg&eOpZ_xY5dXB(6Y>PjR(U*xec0Cjm2-I9kq(sBA@r&IIP8&
zSeWxZ;n~MoPJ9#XBG!D}D{i|~Jl&#?$4lbr+G0CVhpCg;=jfc@;dra);kA}c%eSw)
zVrO_Zgh%l4pCeE21%96)dy#i)*15&8ar)Eu_8z)?TtbOa`>xBw6#HzJ?qCmN8=th9
zFW$|c;CNZMROd_D2^T9zIji1x6^3$i%6M7Z|17v;`tFf->6fYZY#Jp*mHT*qrKSIR
z5))#&?4vXD$2^NPS2x}x+Ag2eF0XJmVN~VmW3bv2&|K4C+Sz=Wxva2?i}j7xsYU!D
zFFdUDY{ixzmu*vE5i*`=^=o~O?c=j~XWytT>-6^)==iF@aXU{p!z$eBNavX#mL-SO
z-LB<F-C}<5&A}|7nt%7zFAlXHZ9Xq%8tllZ>u9?vKf!w9>cxJ>aWYLdbBwIkS_*5g
z?Y}VRm;GEF>+4f{&gC3g{#r?(n5q57<=0_4E1mdiAD?>}@HE7-lKEkam{MgI*INN$
z<AaM<Cbnj0sS3Y-ygj1W>D#&o>K4`^w-#3@xfQtTPb+&f$FoQ4Y#ZxRwd5Vg9zBr{
zKKbN={^?0gor@diKAY>2XSiHLZJpxeiw!<AW@tI@37nw!*3(q3VaDwv5wmtREj<|e
zDNm8(%C(Rx3;kVpGjDD6SS09t^0<Y&)xM8!W-Xt_wtA0>vVe0+YtQobR~nj@Gv1tb
zO*s?RDroBaWU23jLn|&FD=*km$twQR*Se+g$FiwEI-jqeV0U-Nl>3?%0>Z-Gorj`Q
z7~J{tmL0ud65M)M#luPZr$6^u2Bwc5=RYcTCfe4YTb`@taZ6T1$l#W*6lcr?yG9XZ
z<x`tgbdK>Hc`)JPpLGk(cHG*s<*9)7S(iVP7tFu1x^MDXTk*X5L!4>~&xF5MO~~8%
zf12*yH(zi5oS3%Yf7OQWHJUkI2an9Uqnp_BNAY8e8+TCXSAoTjPhPD!&bv5fPrE}w
zKO+N^rU?7n)s_l=uV4SZbtB=a#-k%;4^P!EljwPI)Xm!L-2P)9IHzn)>v2?cJCp0S
zL`CxP^=3hrvmP@{_}QG*9;we1Vh^%bQ}c6ni8Ycsd#oiZ-@Yr1*}{Zl<F@PJ^N)pJ
zH0^hG572+5rT@X?uyawz{O?QS+1Q?{ONR8Vkuce2Z`J*)%=e7(ZI%}+FI|6A{qpMB
z)LUEi+9D1LF(rL0ls{1WzV@R)QFrjSExtKU8$YcOygM~s&+b7XmqbVZ<=1NYvWFSJ
zdYRc7&Rx{ydf4|~sEHHL`Ck5w7Y+Q>3J)8+lL$Z8_0Cf5LeHH$HA(@}E(&Ult6!#^
z-e;HM^tEM?<`Rp2r}%7@r0&ny%X#{o{R0{E*9XfJ+#OTAd}^M4_#$WRXLqLL<1Sq(
zhxC(tadW*kEBF8XE;D0MK*ns@skTSgW(g=gN@=>;eYfDv2dR4-MC5#u1P+|kka@3Y
z&@R}KDpb5+QiP)8hBg_~V;5gpdu`vFv*x;R(E(?LHs=`oaQAm_;@4l^o0#smBBj-A
z<BtSxg~tgqug}zO^`FrHQ*`OE14&UwIirJnuYO(n@it3qyO(v}pXJx<dhc4jwg@>8
zn89=Wc&jOg=Qo4*4Te)ZB6?WFc5c>aeYRoG$pwNAmKw2riq~9(i#l#j`ut*x&7$Zt
zKR$i!&QtoRUe@vbQpTE-%Nr|tz3!!jIDCulVL4D>lVo`IfyZGk*9oDETQ*o++&u4O
zGLKtQUft4#hmI@Xc;L2sR#{QZk(*9sf2a0)9{rtN^{VNt)i#@*ZzpGbxt__jN#9-n
zhV+)pnHoZ0-GXhT4;)s$q|CxTJLY%ii!-_x|1L1L&Zt_u{_j>(?uLY#rX6d)RlCez
z>HjEm6SKAB&lmeIUGOp%{(M%P^VHOtQF=kFbwv}p!nCG+XlgmAd1FJvgn+%Tt4{?P
zEex9cdE2R1r;K-PIvZ5bq?Q!Sv(ZUp#)B!EF&RSU`Cd9bdK&LfWiEexp-;r_V$F>{
zJHw3<$CG{^6AX-fp_Cl@z@%%n^n`zAAqh!*GdHyFJjk$7;-_P*>%&#YK4ne1m3hnb
z$sC6}N0RJ#Hn2I&ejGH1weNI0%OY=Iz5YPqF2!ZuvKuYxd<~BjzNj;peBvRe@8zkn
zYIYYkf>LDYncLrul};{MDBdI{-zylUZL7XquH#MjH;uYa+RmqT#BH8!dNM*#JR?^!
z*ij^G_UQ`F#F9B{m81^8G~D;Xje9-llxyiclda-km;y5wh5G3D<ry|>JgWV9N#5sT
zScHvH;S7U}b?$HeE<9LtOfol>^SZdRtkR)fj2aJfj!blP{jhkY{nw)l?YSP^sJuUA
z^{h@&AD`%nCJw>6QQ3<URX>D>ywA<=KX&`|$FDLi>VD5Jy_uxU#huY%nz{4X+EA`T
z>lUj$DiPiidsD!0(u|^)o6U3{Yv`@o<#tITVOpHdqMPcoiUTs3xDIXXX^Y?$>*zh}
zWPjk@B@@;!lKNXpPPIIKBB0D%cwo;Z#bbdkhv)x4{?FplAD8Y^{#(B7T$ml(;JZv+
zU_Ix|1<pQvee<`pi+Ww$bL!ce^3G%1PV;@7bvn`gwnRsHNJRRSt0F-<dz|<C>4b5#
zEGjy=FQ(<hp`?wUIxZgGBiz~Fxi%+aBAYqGj0<Nk<n{)h*6g!9muGnVPR^Q(E}z66
z&T7BkuO<5J(XNH^8zp4b=YJ2X7yI2a?@Uzxsk4f)Z~pu!KJ>S3T7huKY@am?oc+9Y
zeud0Gn`ixNlZKttXLn5*^L4V>ts=_yA~u%SG?TwvY}70{vF-2jli9B)aLP=)u;D@A
zRl@}_&dU<FZ9n^A=i9Z<j9sUwt(KS`Dl>umU&=(axr_6qE=s<>ew`)Ee(!O=()B0b
z&1qgF8NKGiJgNJ^Z$+1Ksy>$8{O@JA*1U+TYJDp$R!3=lln_3;Ibqx9Zp*d_ogGJ0
zlJqpVxB8vRirGA8UUA24{;MA?C;ZTn&5Y>3X;`;-->jgi9?5At`O7-auZ`T{QO9#c
zJn;Rp|I;Gw9I-Ze<PchvKDl$JQDH&PVu7I3w;oEFyw2EjU|&Wj%M=ryis?IdUa5YT
zcTuWHEhLF$Q}5q3??3ykW<04o&$#Ef0EexLxx@-Vnb&@XrRpW-=AA-u#rrmTEeW0+
z-KNLu%qL{e6>@k+M#j|X9(Swnvz}H8^OK1^sO7WZ)`D{z^h4U!zXr(b`J1c^IWF*c
z!HzPovvWF?{p%7xePb!k=E{D5`^a^*<3F!+WEpi@o}L{g%@nX#h0V*)rqoWX;n8i+
ztnC(3$4(WiBu5>cby9KG4%3ZGt)&aMcp9zC7b{e^3Vt&`&S7(s$$k4pdo*WASYLT-
zefLOrLC^kWW?p97KFwToH|gJE=Q(LJ6Rxn>7k2zmnA?-M^QaF;$KtQ+CI;<VEE>xe
zH}Ckh_Pz0i*RB7vJ$fCxZ+czXMJ+!^kvY|??|gmD^rPiyX;NR()y9Q)9gTa-1Z=tb
zCyDJ9nwGIt_LPX?r%h{J>YJbEUzjA+`Qw|;Ueko)@QQUjmkN|tEthWUF;Q4|(yQ}}
z*>%lN=T^$K?)*|^V9Q`C(!<qV8K<LTx7trGb)~C0x2))??8!OH8S?fT`RcPTJM^h-
z;*KB8#q7oF41yO}J~n^!L}=56R|XO({jH~6A8z1cR(;;+$M@`^RL+Gxo##1X?ULQq
z)C98qV)#~x9$0*0CaZni?KuL|V(rTX?><VaDC9BfTcD$C>2|>Q_QkB!;)4%UqgqN{
zrW7{aur%6sf#H~fd{~s#N0V)j?eB3oo%YwCCYX`*h*cqM-t3v_)q3qSwue1(5w^&)
zZE29oh`aIrgq9d+?f=w_V@qA6owB4m);k(63N{dkUw&!N<mZ!W4jysH*mfagA*Wln
zSmTbqDG6%~W=WfPW_-zH6A)A0%ynerq+*K?hTL1)esIq6__(fao`jX-hpB}Hu^vV}
zUzw&z^%c5pu}w*T^=(B@ilcp%n#twz4?QJ)8)v*S<T)=sU&CVGLI=K&+pgsVS%}(Z
zbv*cF^eAQ4^whIrOv-F~R@IpP6FjI9vSnM>%bbUwo6h~ZYN9H>ev#)fi|Z|K5>+IO
z4DYRyio0~sTWz6Y<np%UxT@v7CXZSt%#*)R;32ATR5JS&kJ^v$zyy`Yx5`v`mtS0F
zmMq;JySBznY0}<#ncj(7hTH!LKa{w6f%yUtyU<qcgFP>krqnmib&$Cy6k@D&UBNDD
z`VJf0=#%U<g&cNs94!1C*4!veb@t=37Ef!tc1CaArqw&Atv?>fbL9GBne&fyvf>Sr
zHtu4yOKRQbS$y!5ox-&Q+r^E^hp%tRFV*?E#&jb0;)w~zSLSK{d!@7Gwb90g{)uXj
zA76b_bZ$@Mv|Bo-c6{*HVmh`rCazOM{iVR3>9vJ+(esPLPKbni&FlVF@TFPVd4jZ(
zZO7XR&9&!G&b=kX+H1V`M{(EL6`c}Bjod80zIy`s<h&X;n+mI|$4SSyM8`fT)evlc
z^Yy~=cM>jMX+9k8zjM?(J4>>D3dptl7k@MOcjSP<pO$}z0+-Hj*wI%T{w?X>Oi#U@
zcDHX4-cRFKoVA~!x>fFqL1AU@V=4Op^R(vk{0&zkd1nZJvwL|i@l^jlxiilL4^=%j
z4m{vcqsCgecGE-#jYBe?;pS(ju2`(#$C2z&5L2&OGH?I2Hx(1k&r*0kqe%R@=-kJj
z^;=J$PP{Cq_LM>7#r&neH&1MM9Q$6vPBCNmmFH^a6IlZm%{bS6r=+h#EdSB+_E!tk
z<(FPs<ncOfMvKfNlMe@uactPRfGP9N?0IW?lT{Qq-3U)v$#T4CqhfC(%Mr&%&(zA6
z-I70~QLNqPA0cmiQs$N0eOHq?+^4TKI3}~HC4E~IW;H$Sc;Q5uU)!xi4>;_(+;rQ0
z+hXO_6V9I4w<~kq{$<-<KKXn{Tw$H%*$TJo@84Y0D9GJ*@v!G3PFsOvo_-yBK89^N
zq;e_uW5x7H^UCuv8V!OULe?7|){JlIob6wARQ=V2XID%vs!R(jE<7yQ8XR&-?US3%
zvXils4LghTJhwIFb+~FLPF}NYZijnicXMgP%$}DluhlDL&i*MDIpVsAbKhdcxySfV
z@$Z&?`rIhwlil|f4UHB3OSkQ}(XZIPr&xUY-?{UOb6CT)FKlVgOuZ<Vr<A|f$Tg1Z
zfgaQJ)&7rm@Fp+eieRZY6+XT2pyuOqUkj^wqJ=wt_AHazc<FITjZWxh-i)NiR`!=E
zyS#%`C5j4)!Y=a*3t#u=JJBk7(zQ8wUiOjQ!c2;NR&zNPmp(XNWVbyj;HjdPT6*m{
zm+2*)ZMk|fp^WRk9|M=R&x^`(N`!u_di(5G@yXSn6Iu0w85s?$^7i&KtB5ad=QlD`
zj(N@cTHpA+`}^p;MM71*Gvl70Hdj95`?d7Lgo}CV0<R0Lk__dacNt$ixA&t<;o(nr
zUwcfQ94{O^-$T|~@bF2Ff?qy)*-IX3e{KtI%T^FOczTDgW1+ZtXEIOWsfI_*FN036
z4r`iuG56$YIUAWZyY4->BVr&hKe{t!`yUsPbu(`qjK02hPpw@ymrRdb*q$SfYI%7D
zMqzPoJ15#GJ!!P~+Qi0WIRE4GqA0nb6E0nH$36$mxuf9c8O<K&ZoI?t%!O0D^1nh}
zhjWJ(7d%P6_~BrCzyIWtnRkQpM0FHv`a6GV3JT^nJ#O9I;j3Ny?%)xR!%k10tXclz
z;o6W-b>G%CG*-M<-O>C<KIdi7o|e0hWJOkOu9(DhQSO><9h<=CrN)Iu&xB|E@L4B&
z@5(hBh7`3Hy%)OsjwJc+cU7><WomDgNIIb15FNHf?(yo!ZTw!k-gT=xraZ0aTxM<~
zu0PR9Eu%(Dq}R;lPtLvd-6iYhXNMc+S=dU<y<sbPTd*U$rr$E(E=B3Hwe3vX?<z@E
z*8=PeH7)IKh!_4@;(gP8R~wf^$NI#D^UiC^wjMIP@S(=<pyfuUXw3}?{LEqpbI)Ga
zP&r@GH)G?!Et*B!t#<F2FLBJl&2b51{8<JOHQvXo4MH|s$-FL5_k7H=ujaWoPnesO
zPt0*|mFkLzsbV*T0=BM+Smb|KEZB)Jd(-*kBO8`wM|@rrQPrpGDtA2n)027E8n=Dy
z$oyu0cA?nvLXXYL=KGDxQWHCiU5}SfG?*Kga@O=~_s1_;R{M6%{Jhm%d~Z_JZ_mr0
zbFKgWOpS@W_k5{Vg2KL#%Jt9BUF<7XdbneO`}6Bo2VY+J8Lqa0*F0HCx285D=F6d=
zH7UFNGG?bK?Oj&-?r+@7zo9RWx>hXI+pD_wd~o)&d7;m@Ecg=>XR_L%Ml;q&-elv3
z#(NF7eCjXnt&f{q>yxee#$?TP_2pmsvww&kczXWncfMD-iB-iBHLWwAF<wxKe0q14
z{;#eb`|4z~V-A-mWePF-rB1N(Oy-_nwKUAwah~!G&i5jm0=@yc47?Y`TrO|f*8WuB
zwJDd+k@G+1v5FPOZ1|tn-5mAn{h#Rn%k96^|8)M*!&#TB_y5`ckNHIh<A2Va#;WII
za;EZlpwh>udl%K8UA|D8m0|n7yK9&`zRu%_d93v`L+E%#XW9~%Ju;81MRpqc$prm5
zX#atIZ%jCA!OcYrc#pr<Kb*aJY2%MuB2S;r<4}}{W!iQ1^)0?%d)6FK)nr(gb?fk!
zI|fE9I@k0?yG>$}3tbZbY?aJ!Xl8n#_jrlj_x_r^%|};eO618epDG|=ToRGI?TIjR
zN_d;<5=OQ<RVlU$M-CT$SUlnBmlZKJPKK8ZzFz;qvj5SFe@0)v*qsk%ydo3QKUMTo
z(eH%!e?NilE8BN$w=Gjua7o$=whKS!re{BmiEND3Xn3u0Nm_mS1@99LF>~r7X3R)1
zw>;=_@`=2AvgxtqkJJvUdWM|e9^h=xA-Yqwrz_y#@t0-oc^f{Ias8_j=w6yWr=WK+
zcgM^>)l7ylS(2Bwn(r}C2)x4O!}#Xsq%V6;<o&<<AmV!Fy2u|_=1++5_`H7lmYTTj
z&wp*+xoM|iSlqp$^YTBM?SD4?e<AF@FM0dloyK($jLaVsd-I-&fleyyP<ya*?NjY#
z+Fwo8W*kd5KKNB#|Aa){X@Av6UQ51CeK~phev7|r_Ze;c&}koA^YdMzx>v${pXL6w
zy_`$*H|<&X`{yC`e@9wp#~%B1L;go|#D?cPS+48r*kAlx`cSz3QvA$&WtFci<9Vun
zho7IOIsc0q-$jGw?3XS=9mzYqCtupqt8>P}a-Cep<7(lK$ol6()BZm!wp-pOtv1g{
zfrb0UG)CQ|q)Q*}q)5&B!6R+3hKVPtz3D@zhMn@!!!K3q8NzrTC<|z(M1Hz<(fupO
zl6w-B&Tle%*Ip14ebzMp*Uv+BkIag1pZ^<UnWOgTRO^>**N>*Y$^Gf|JpS_6byGjC
z=dP^&_4NCFAC(=P>A4E~IG5I(vaEZR{9i=2GV8_bV<y}7pN&iWd+N%a^Q8~(B*sj;
z{$l;twCRqV_nud=&iiBjPdBIMe5=bX>FqtIXPLg<TykjIDf{!T^KV^MzxU0#s%8~i
z(#^vkGj~e3t=awU<GsByNoo!)MXirZLbkLUn%F+vbM4QQ`n{#{(&9lCN_BRc9@*1;
z_WZde*sAwpt}++XvCO3W1#uh_d&?r;OYl5c|0F@LvyJn}R$bYR7Ou-xq^4!|{!v#r
zwqi$KV$$Mr9S!{rUu9N(5;(08oxj+0I^(kNo#)jqUemt5!RYwa!Vh!YZvDAj|J}0w
z1?UXW<t3~CovqYPP_TRdY3Jgd&g$PE-o9^jeUjdK|N7jz*v&<}P3F60%AWg5<&}kN
z7uN8qzDb?!kzf3B>hqxB%teQ#DxaHmynehs$STofzuuZThu=L@EV)*={p?@;`K)!H
zuE_tq<8ru4lKq3<w*r<szZR}LapcIOA1<<TAFq6gD74a&>G&en-lVni$h)&bF~Pq;
zo60&S3NeIL9iA2Dbl###?ec8>MOSrgd<FOZ5KY$g*!4ps<*~M0<^?5%zK9-^%pH<t
zLa99u5BW0hmbBgThF9ME@bX;y>mJvp+<9_kXY;k)x$Ab?eDj_5R_0<?yz&X7aPh>a
z6+2o^-1+G)_jjH3E&JaOZfhqf+>5)Mz3n)^?N{y{=Cf{HGu4s4ee-GF;(ytbQ^jAH
zZGFjY-(PT{<-ydMk%zgSZ}vUA+c4kPBa116x7Ac|-NQE>%ZpiRL=4wIdH?lzZr;v<
zO~tqWKZ}mDPUmlyVvOsNo7bGs8gzy8FH6E&0j6^sk9M$5P|c7CoT~GBr`3j-U%wv4
zq}Cn(|F-{82hVu{US;o+T+ww5?GeSRk52c~R!hkf66F)M@MN87;bd?r;-smequR5O
z<DR>|+=$`vn#jIhk-hk+!1G&j%eHOw^vt~yv%7plZcM|)XZer6ZCo3dvEu7;-;T1|
zdzb3yvKX5zR(K|0`LR&AQaJRq;=1d}yju2oOZC3|NH@~|VVXSYw6!er$ETUqzTeKU
zU#<UmPh8*Rk@oEOm;dm8JF+o5@<4p)?Xz!_m(M$~gY$T?_T|8LB0too%zQlW)}Psr
z4|&+1bo6;X<Hai$j=00SeHmiyN@}wNA6-B2eUk-u{nK-g9hj6o_a0SX^EPO(xOMof
zMA$@`<-0Bmy-jI|;#zT4WmAn6mu=PNc~?^J#t3U)jj^r&{kPm*;Q19v3u|A$;~5Es
z8-zN2v(@@qPTdfC7yRaSOLCF1ncptm9=%C>&P1HyXEJ{EBC%zge9qiiJ~7+<N`-gb
zxhHogH|11nl<$Q-Z)$U#&a;<qI(E~x<B+MC`NC~Gi_XdQNozCj|9AcV46Ewm4}LF?
zgWAr!cjdg6ocrDO-?ipvM;xC&RuFb)i#5p3-o9gJ;hS}QL0^roUvrN+_WJbVC(Y&C
zvl+5>H5b~SF28hi3cF|3%pPH*bq6o239n~)S`l>ecHGYB)E&z{G-rRf-EaTtZO@Cp
zYt!egT-=_?e|^bpCY4zd>T1u7(@iqInn+iO6pAod7!)eq+Q}64?C~?dki&(UdtQH>
z?_sQMysKQV&Yac2WdE^DlS$2dcNuOLbtiu@P@dX&=tocIly!3-&+1%k%hPSeXt*_Y
zL(6pOIjKzZvekpNueV%Rdtk=6i}Td!FEX2JCuHj<H!nLqd%-rhhgNrzRApYb8wS3A
zE5Gl@>O$VQ*!6FeWBZuc9-Y4URqE|j{?{Ag-9sMj-v8%wl6H*wozls*1+$x{+<8+v
zYyYg*iyr-QIk_>uzdlOsK~;NZZ(Utwip+PL^cQ*o>ow9P7bt7F8brP1GGF=qf!D+g
zFP-(*;}`qhKJ)zG8S}Z%X1ujZez|@_`@w@%wT2ajZv4snm_FP&bhpOWO3|)w^V*Y#
zdOk|@L@aPT{qs<2qFzCP&gETeF2_IDGUmHd(<`}HcG1PzP9m@DGn>DdB-$E0&`x04
zSEbBz{YrP-gGv9U)Je>(_;rNG&XYSW%+vS6!DH!-UgA<GO<&Bhm|DGB`jw?que-m!
z&zZU31o*f7^FNzoqTIIi=^XhpynJrb=W{O~d9*X(>C>+_LT61mYxnV;#R-Q!yOnk`
zOZEv{GIrnpeq!}&w(^^eD`x-Rxo^om|GlYqKe|j<8(7-6e0Fu*gX`L9cUtGjw9J^*
zENrM>le_Dv_?NcVwQ??(X4y@zEUD$=fAs0j!pHpLMu*RSaLAhTK~ZW&k6hp8wW=JG
z6{GwQy5-N{e*5s3?a7G!3H+<$OkX=#t#6(hAbqFm-SkPFk5^Y6{F{00N$TO~bp^(4
ziu0<g6dxHe9xs>tw6?uUH0f7jZOnxNS^dHba&}#{&u1Nf=J)JRhs!$O5Z?#88#cQq
zew0a%uldWQs_$az^2b+X_c5(?v5D_CWC|@;NcKNf#?Fws+gYk(`{hqj?>+4b^F{4{
z7W@C*Xm6MvD-*N-!12=y?)*ud+@Bo3X@le4`|4HeK3c7{)b^V9_(8=i_QlFdx$;k*
zSytI`tiQ8>&n9D?eb(dFgtpY}6^v6JXRg~gXCv?1L{?*sE#fCme7F9fW@mfO>XvES
zMy+|KyOuNf`spqFsKs2l@qqwCQq+vI8!s2h&iFm`)E3W^I|S-}Tx{n&BG@hHBjaes
z=4O6AYF?pn%A$LrUpiTL&w8Ev)AjzHHEl0nL?;(<?yLP({Qtu96Dn=niVwee_Umii
zK^d0ozVS!S?%c2UKdZ5de^b%kg9qoYdHC4nfN#6S&Ap`uJ|3ENOUTaS3}@?OxkvL^
z&d!+9o4;+d^B!w8BZ2qpPP|KLOLgBkyZ*lOcT?SV)_bw}bLKc4JFO#qvUK6)r1bdY
zcPAfIf8w8gW8#7(ePtceGN)}#xvs}px1XMEv9I*m^NyV}H@4ci{KymfeDII_(RZL5
zM1QLFrF}7o5OdHGQ4>G5BCM4oJI>&2fZ76<j7`UV%?k<=AMGf7_i)#wC57jl=4SrO
zT$i@*>Hk0Z`@f%@-_K`wd4`k3O}~kpzoL%!s?3i_ZdQvZKF=i>r}p62`ji(ZjvOkH
z;rnKgG2`G(foU6syUy61*e9OP`TR`ll@G_x21(C0C}Es9y|YaCUhLr`ca}*i2d<x!
ze1Ga|emD0kd4-?VJ9{SnU%v1A)$&cNzispnI^a+<DaZVW`%SI7=fV;Kn>o96mt883
zJ!B+#{^Exi|2=!^idACg_h#ID6~47!`eWaVZF>~#w(exSzWn?z?Q3fy4chh0gPr0x
zwrS7wc)96W|KHA!#<fT1Pn-U{#xRa6cw6L;CuYW{FUS9y|H%L2<me(^VfJa_dluwu
z`0%qy{DG%bPQ&@CgM0oKUp%~}oi*{u`X7>q)faisT66iwzilUuY*~6yJ~?g1^7s4F
zD}O$y)j!~SuWq(p;I#+gF`egMewz6E|Cb$Z(sydlpWpwc^~OKY-5wRY^em60BrRBS
zE|9swQZ4V8_m%h0y;as$B<*Ey$!8X1$##3P!_oKf897av)}xGVcgp9S-kn!#{G?TO
zfxpVV`q#5RRL(p7J8%E0l&!yOzGv^#uKiYDyCg-f-qj`MX2q|c>#px-%f9#bgKkYx
zqE%gybe)#rzYo3Jy?6aO;-y>vzPCT);j}+emkXuy1nlqseRh0{qffHxK0W=4ESas}
zYyJ21o^HSY^GN&rKbAT(Dnusd{=atl{c+dcr}6b0{6Azz88951<!}30`^OgNJ=Ot`
zL|W5!^2nQJ$^9M2n7F0*Y|L6%?2?<}A2%Iiicj2igk}FH;k*2HH+LBH`p?SsdaQl@
zLi^=#l^<11dV7l3PW2H8`{LO)Bf6sRtNMJ?Ilr%bE8tQUF@LsxL)`w<s&|vKKCd@i
z*yO>P8~I=BU*^+$kIqH@oOOI|wEgsxi?1D@yPWyu>(rD5m1~}A8}v%NKB;Q(QsS}d
z7n2zcJ0#<8$8`SwQChy*+vu8k?5aQ6zfwX&d>`;f=8E(OP8az%OYT{>;3eP5Gkn%)
zOcY_P`EVq=d5(RjUbSt%i!7hv_ZZpJN<Y7F$X?4l=8_W^6zp7*SNCeJrs2U}@w%nF
zB@1@`<-Y0f=khN82ItwL+Dmr(PY8Wqb}~q;Oym5#t$FW^|9TpFSFN|WzGVJm?WJj*
zpSyN^p1ZENKovAp;PNcHO5p31M@LgP<@^&p+xsj0<I;>E&P~d*m+#Qve|7rm)8+On
z``1@jB`FneV!JZy%~poo>~Ax-1#(F3T)u4n;#X7Z;?(<Y^_$zRXlSt5dpv@FPNLdf
zsVgl>f|5Ip?w(y<U%6p&AM0AJkn4v{=3Hn{SG^R;y=gIbod51+9!Y8swj~(|y#3Iz
zd26muMqgd!tcFE=?tUMSd_9xBb>5Q)w^p+?EoOPmwtVNama_Lv_MVHY4Cm~a=_<V6
zO?*Kn*OIwQ-o8$BSoBlvWB1qT?3^dt{4eZh`^fnsd)k)NUs9sownq<g-<OVIX5~3@
zeSyIH51Mlvs$Z&e$A#P}+WEOJw&Jh$U(<t*DQCHzp3Ca7$^Wwvd2k|2FOEqsb4&YT
z|1}bic19lFB6seo<(%x=WfMDJdn6edigYk&y_&k;+siL4w@1sb*!RW6BNCG)%Dngy
z%I<ZnrYV1pw@mW!V+(ISGG#xhef!vtf+wH+r!1YiWZl^(YG+g*`EDpN?}_K%C07(W
zd(Hhn*)cQCR%{nP;%+j(_=51<>n8Tw)za+38ZNK1_^!G9W!dt&RE2%Pr{bSKR+BcW
zoRg=#uK4EtAH~WS7VLH{=({)N;LAqGmYSIx7R4Uj@ulafjB(?P>s1HmUr3+df5sxx
zs3or~TklDgn3>_mnwz%_{I<PwGI3pWFJ;|wTXpN5^ByQgT|Du8Zs?9Ym1ON(KJJt9
zqIkIXIr}~-?m720yI@bHbN*TW$7Y>tTc4@_c&+rNIb$7<O7hbcS`YKyY3w|glFa;Z
zrbx@?MAkJ2N&^&b9_|TNk-GM6!@PG&yvL94pJmcB^~TAaU$>?tMdf|Wt<+3$nzym$
zQHtnw=hmGsURkVdVX$hmz0$Ac#^h%rqno~D;`!p>A2ND9DaB{*PK?g%n*VH*yN~^}
zwf(pLDQVR3wLZ0(v#g=<hsoVP+S&=MYaGH9+yqVDChm)fNGoVcSUZ1l;+l5B>b6~<
zk9-Z8HZS_p>({S1xLE2`a(rh*yGvZZ?4^-mk*9Mm?at9pF=7+j1kG#aeVUipdH<l!
z)rZ>Ro#CDt=VD`@yvh3iPpSHIKJ=oSx5<%=+68k(J7Q)m5IFbl`M-(hV>wzPW;lfZ
zGwgWVwD;@NmFo{O$mc{=9P=ya*=ZD%;9N6douu#_CHYy2LLV>g`jR47KQB(+SB-6f
zd`-y5Pgg$ATR)j8y?SDt`b7Q5F+4}6FI@FKlXcAj-;jonLWWflVwt^%=BS$MRW1E+
zr~BHuJNrXyKF$e^@ek~|-rev?`S&%)!%TO6EN6|mHebXy&_8tH^yJTPrE9j%_#fHG
ztu^7!YwmYv?e{0K@*D}**}<RAy5_*v&;^nXJrYR`3To38ek(P)zuxd6yJ|w;6dCyq
zmz&F<=kOmFn#wV&Vx6SpLXPAXk^S$!<yLOz_P=;`W09<_jd+bre8<_Hy^@AG-tTY4
zO%AU}I&1J++h!ksX&@`l5%JIq`?oWN9pDOJw2c$Hug{>+#;?Vf=2SE1-YhjKzXd!x
z$LhW<GL}!cbS1oysq4p-#5rwDLI+pQot;_HH%U}baCv_AIc=Hy|9SY1ZDe><eev?o
zJ9C)~CsmZs+`m!MOyK^FMc+H48MQa;W%8{T;nPrzFwvR3qt4U4Snko@8;6BLCKtQv
z<W1U`_OKzcdqq-Gq0)mLZkt8S6(jgBsZNeC6zUK?Cis>sKmP09<J|TW(mCIQjwQ2R
zy}v&X6gEK(OQzlvKIRdrFw05piGX&N(xk$wi7Wyi`p)-MM=8Ga+?^t^-2BTc-d$h%
zAKqn(UKtVfh~-$OP^W~2V0uBY0h?Fj`$INwWBzDsZ&>5NHM79?c5JI5sNFOtQ9FV4
zToj|>#yEL_`0iE<Mh5vc0S5AS1MKp{&o5uS@<>BTdhMZhBlYbwnml@cEQ&oB<Q^cV
zciH$E_xzRoFT>OdFZ=duZ#4YYP<u<rF2w8KZ!@kRJ9p)l>=CXu6u8fMwbn;Ffpy((
zCY23etQvka-T9%VZ=f`P@9&rDb!`h|m=o7KZpjW>toHcFy4a>o%T^^YF>^-j@tmV3
zP|RoA(I&rW+RYWa-%Y<IId}g2)z*s-S=ec_J$h{VS$|D~=mw_a8VgST7nVOhok`$s
zO3J46)FlT?oviqT9t9}=dhw;d_4G&Hy`ENkMfn$;>EJdpc`md~zQ*V4mu=#q3b6~1
zJ?iGFYOl*z*ynuc_lB?oToH}ZYZ`1G-*TT{eL7D{_XzvX^_OQnWDD=AonN(P!amcD
z$2XY>yx(|bPC6)WANU&RpdzSwQ}6v(%?H`FYF`u1@O|{-zT>dxa#QiPwIJt#%w*I~
zVBH2fu(Y@DUbpB5P$G-~iLE){Cu$(@e#?V7xggVE${TY<3<UBQFaDmy3ictyhz-H4
zJV&f`Ez)muK{SJvCrGpM9J&4C#a<+_16*%H7@0r%ai6=n4PjS<=nXeU=8tApRr(ME
z6CkETC!|K5I~uwhm_`!=D07WwHE_8znixhC1Gt(3)ii@RF*Lqyl&JoKQduUjmMuBJ
zZ})52{rCTL6~4vZ$e4LxtN6Rq|G^0xUjH446S=|Du~8YdMhr{n=gN5?@SgSmTz}+x
znNizd`GHm^wQZc4-{Q~=iqtBwX#1hF`K?bRJjg)S441l`OQ3oqa$8~plX+O<?lP`V
l=e8j?Xc|OsxHSH^_xi;X{=;wmJq88_22WQ%mvv4FO#n$$P96XN

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ResultViewer_example.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/ResultViewer_example.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd813be8529c1127064b641ec9ab4e552561e7bd
GIT binary patch
literal 45776
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
apD{T0>)N__XI=&d1_n=8KbLh*2~7aL@8HV-

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/String_Content_Viewer.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/String_Content_Viewer.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb0b296174d20a21fd75bd48910711228ba05b0c
GIT binary patch
literal 19924
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
ANdN!<

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Table_Results_Viewer.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Table_Results_Viewer.png
new file mode 100644
index 0000000000000000000000000000000000000000..10af96f850fe9300ad439bcaa9346bdef325e8c2
GIT binary patch
literal 72064
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
T5o-Yk1_lOCS3j3^P6<r_|4OqL

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Thumbnail_Results_Viewer.png b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/Thumbnail_Results_Viewer.png
new file mode 100644
index 0000000000000000000000000000000000000000..5494c3cadf8212b71c433fb6a0abce5526c29a29
GIT binary patch
literal 117148
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%0A5=v6B5~7VAS(#inM{=EEgU
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

literal 0
HcmV?d00001

diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-about.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-about.html
new file mode 100644
index 0000000000..c212ee26dd
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-about.html
@@ -0,0 +1,30 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+    <head>
+        <title>About CoreComponents</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About CoreComponents</h2>
+        <p>
+            <!-- TODO describe your module, add more pages... -->
+            Contains data result and data content.
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-hs.xml b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-hs.xml
new file mode 100644
index 0000000000..e69727b569
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-hs.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN" "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
+<helpset version="2.0">
+    <title>CoreComponents Help</title>
+    <maps>
+        <homeID>org.sleuthkit.autopsy.corecomponents.about</homeID>
+        <mapref location="corecomponents-map.xml"/>
+    </maps>
+    <view mergetype="javax.help.AppendMerge">
+        <name>TOC</name>
+        <label>Table of Contents</label>
+        <type>javax.help.TOCView</type>
+        <data>corecomponents-toc.xml</data>
+    </view>
+    <view mergetype="javax.help.AppendMerge">
+        <name>Index</name>
+        <label>Index</label>
+        <type>javax.help.IndexView</type>
+        <data>corecomponents-idx.xml</data>
+    </view>
+    <view>
+        <name>Search</name>
+        <label>Search</label>
+        <type>javax.help.SearchView</type>
+        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+    </view>
+</helpset>
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-idx.xml b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-idx.xml
new file mode 100644
index 0000000000..651659b2b4
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-idx.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 2.0//EN" "http://java.sun.com/products/javahelp/index_2_0.dtd">
+<index version="2.0">
+    <indexitem text="About CoreComponents" target="org.sleuthkit.autopsy.corecomponents.about"/>
+    <indexitem text="About Result Viewers" target="org.sleuthkit.autopsy.corecomponents.dataresult-about"/>
+    <indexitem text="About Content Viewers" target="org.sleuthkit.autopsy.corecomponents.datacontent-about"/>
+    <indexitem text="About Data Explorers" target="org.sleuthkit.autopsy.corecomponents.dataexplorer-about"/>
+
+    <indexitem text="About Directory Tree" target="org.sleuthkit.autopsy.directorytree.about"/>
+    <indexitem text="How to Open Directory Tree" target="org.sleuthkit.autopsy.directorytree.open-directorytree"/>
+    <indexitem text="How to Use Directory Tree" target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree"/>
+    <indexitem text="Image Details Window" target="org.sleuthkit.autopsy.directorytree.image-details"/>
+    <indexitem text="Volume Details Window" target="org.sleuthkit.autopsy.directorytree.volume-details"/>
+    <indexitem text="File System Details Window" target="org.sleuthkit.autopsy.directorytree.filesystem-details"/>
+
+    <indexitem text="About File Search" target="org.sleuthkit.autopsy.filesearch.about"/>
+    <indexitem text="How to Open File Search" target="org.sleuthkit.autopsy.filesearch.open-filesearch"/>
+    <indexitem text="How to Use File Search" target="org.sleuthkit.autopsy.filesearch.how-to-use-filesearch"/>
+
+    <indexitem text="About Result Viewers" target="org.sleuthkit.autopsy.corecomponents.dataresult-about"/>
+    <indexitem text="Table Results Viewer" target="org.sleuthkit.autopsy.corecomponents.table-results-viewer"/>
+    <indexitem text="Thumbnail Result Viewer" target="org.sleuthkit.autopsy.corecomponents.thumbnail-results-viewer"/>
+
+    <indexitem text="Hex Content Viewer" target="org.sleuthkit.autopsy.corecomponents.hex-content-viewer"/>
+    <indexitem text="String Content Viewer" target="org.sleuthkit.autopsy.corecomponents.string-content-viewer"/>
+    <indexitem text="Picture Content Viewer" target="org.sleuthkit.autopsy.corecomponents.picture-content-viewer"/>
+</index>
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-map.xml b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-map.xml
new file mode 100644
index 0000000000..a8379fb4cf
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-map.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN" "http://java.sun.com/products/javahelp/map_2_0.dtd">
+<map version="2.0">
+    <mapID target="org.sleuthkit.autopsy.directorytree.about" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.open-directorytree" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.image-details" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/image-details.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.volume-details" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/volume-details.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.filesystem-details" url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html"/>
+
+    <mapID target="org.sleuthkit.autopsy.filesearch.about" url="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.filesearch.open-filesearch" url="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html"/>
+    <mapID target="org.sleuthkit.autopsy.filesearch.how-to-use-filesearch" url="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html"/>
+
+    <mapID target="org.sleuthkit.autopsy.corecomponents.about" url="corecomponents-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.dataexplorer-about" url="dataexplorer-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.dataresult-about" url="dataresult-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.datacontent-about" url="datacontent-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.table-results-viewer" url="table-results-viewer.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.thumbnail-results-viewer" url="thumbnail-results-viewer.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.hex-content-viewer" url="hex-content-viewer.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.string-content-viewer" url="string-content-viewer.html"/>
+    <mapID target="org.sleuthkit.autopsy.corecomponents.picture-content-viewer" url="picture-content-viewer.html"/>
+</map>
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-toc.xml b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-toc.xml
new file mode 100644
index 0000000000..eb5d8fa3d0
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-toc.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN" "http://java.sun.com/products/javahelp/toc_2_0.dtd">
+<toc version="2.0">
+    <tocitem text="Data Explorers">
+        <tocitem text="About Data Explorers" target="org.sleuthkit.autopsy.corecomponents.dataexplorer-about"/>
+        <tocitem text="Directory Tree">
+            <tocitem text="About Directory Tree" target="org.sleuthkit.autopsy.directorytree.about"/>
+            <tocitem text="How to Open Directory Tree" target="org.sleuthkit.autopsy.directorytree.open-directorytree"/>
+            <tocitem text="How to Use Directory Tree" target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree"/>
+            <tocitem text="Image Details Window" target="org.sleuthkit.autopsy.directorytree.image-details"/>
+            <tocitem text="Volume Details Window" target="org.sleuthkit.autopsy.directorytree.volume-details"/>
+            <tocitem text="File System Details Window" target="org.sleuthkit.autopsy.directorytree.filesystem-details"/>
+        </tocitem>
+        <tocitem text="File Search">
+            <tocitem text="About File Search" target="org.sleuthkit.autopsy.filesearch.about"/>
+            <tocitem text="How to Open File Search" target="org.sleuthkit.autopsy.filesearch.open-filesearch"/>
+            <tocitem text="How to Use File Search" target="org.sleuthkit.autopsy.filesearch.how-to-use-filesearch"/>
+        </tocitem>
+    </tocitem>
+    <tocitem text="Result Viewers">
+        <tocitem text="About Result Viewers" target="org.sleuthkit.autopsy.corecomponents.dataresult-about"/>
+        <tocitem text="Table Results Viewer">
+            <tocitem text="Table Results Viewer" target="org.sleuthkit.autopsy.corecomponents.table-results-viewer"/>
+        </tocitem>
+        <tocitem text="Thumbnail Results Viewer">
+            <tocitem text="Thumbnail Result Viewer" target="org.sleuthkit.autopsy.corecomponents.thumbnail-results-viewer"/>
+        </tocitem>
+    </tocitem>
+    <tocitem text="Content Viewers">
+        <tocitem text="About Content Viewers" target="org.sleuthkit.autopsy.corecomponents.datacontent-about"/>
+        <tocitem text="Hex Content Viewer">
+            <tocitem text="Hex Content Viewer" target="org.sleuthkit.autopsy.corecomponents.hex-content-viewer"/>
+        </tocitem>
+        <tocitem text="String Content Viewer">
+            <tocitem text="String Content Viewer" target="org.sleuthkit.autopsy.corecomponents.string-content-viewer"/>
+        </tocitem>
+        <tocitem text="Picture Content Viewer">
+            <tocitem text="Picture Content Viewer" target="org.sleuthkit.autopsy.corecomponents.picture-content-viewer"/>
+        </tocitem>
+    </tocitem>
+</toc>
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/datacontent-about.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/datacontent-about.html
new file mode 100644
index 0000000000..6d648e57ec
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/datacontent-about.html
@@ -0,0 +1,45 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>About Content Viewers</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Content Viewers</h2>
+        <p>
+            The "Content Viewers" are in the lower right area of the interface.  They allow you to view raw data.  The data being shown should be have been selected from a <a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html">Result Viewer</a> window (upper right).
+        </p>
+        <p>
+            Currently, there are 3 main tabs on "Content Viewer" window:
+        <ul>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/hex-content-viewer.html">Hex Content Viewer</a></li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/string-content-viewer.html">String Content Viewer</a></li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/picture-content-viewer.html">Picture Content Viewer</a></li>
+            </ul>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of a "Content Viewer" window:
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="ContentViewer_example.png" alt="Example of Content Viewer Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html
new file mode 100644
index 0000000000..39cd795ab6
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html
@@ -0,0 +1,35 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Data Explorers</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Data Explorers</h2>
+        <p>
+            The Data Explorer area of the Autopsy interface is the area in the left-hand side.  It provides different methods for finding relevant data. It will publish its results to the upper-right <a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html">Result Viewer</a> area.
+            In general, if you are looking for an 'analysis technique', then this is where you should look.
+        </p>
+        <p>Some example Data Explorers include:</p>
+        <ul>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html">Directory Tree</a></li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html">File Search</a></li>
+        </ul>
+     </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html
new file mode 100644
index 0000000000..b0ff962a20
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html
@@ -0,0 +1,64 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>About Result Viewers</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Result Viewers</h2>
+        <p>
+            The Result Viewer windows are in the upper right area of the interface and display the results from a <a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataexplorer-about.html">Data Explorer</a> window.
+            You will have the option in this are to display the results in a variety of formats.
+            Currently, there are 2 main tabs on "Result Viewer" window:
+        <ul>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/table-results-viewer.html">Table Results Viewer</a></li>
+            <li><a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/thumbnail-results-viewer.html">Thumbnail Results Viewer</a></li>
+        </ul>
+        </p>
+
+        <h2>Right Click Functions</h2>
+        <p>
+            Viewers in Result Viewers have some right click function that built in into them:
+            <br><br>
+            &nbsp;&nbsp; 1. Open File in External Viewer<br>
+            &nbsp;&nbsp;&nbsp;&nbsp; This right click function will open the selected node/data in an "external" application. Note: This does not support all file types.
+            <br><br>
+
+            &nbsp;&nbsp; 2. View in New Window<br>
+            &nbsp;&nbsp;&nbsp;&nbsp; This right click function will pop up a new "Content Viewers" window for the selected node/data. You can dock this new window or close it.
+            <br><br>
+
+            &nbsp;&nbsp; 3. Extract<br>
+            &nbsp;&nbsp;&nbsp;&nbsp; This right click function will extract the selected file or directory to any location on the local hard drive (you can specify the location).
+            <br><br>
+
+            &nbsp;&nbsp; 4. View (Hex and String)<br>
+            &nbsp;&nbsp;&nbsp;&nbsp; This right click function will change the active tab on the main "Content Viewers" window to be the selected tab.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of a "Result Viewer" window:
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="ResultViewer_example.png" alt="Example of Result Viewer Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/hex-content-viewer.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/hex-content-viewer.html
new file mode 100644
index 0000000000..409c33f398
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/hex-content-viewer.html
@@ -0,0 +1,40 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Hex Content Viewer</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Hex Content Viewer</h2>
+        <p>
+            Hex Content Viewer show you the raw and exact contents of a file. 
+            In this Hex Content Viewer, the data of the file is represented as hexadecimal values grouped in 2 groups of 8 bytes, followed by one group of 16 ASCII characters which are derived from each pair of hex values (each byte).
+            Non-printable ASCII characters and characters that would take more than one character space are typically represented by a dot (".") in the following ASCII field.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of "Hex Content Viewer":
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="Hex_Content_Viewer.png" alt="Example of Hex Content Viewer Tab" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/picture-content-viewer.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/picture-content-viewer.html
new file mode 100644
index 0000000000..03390f1c61
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/picture-content-viewer.html
@@ -0,0 +1,40 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Picture Content Viewer</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Picture Content Viewer</h2>
+        <p>
+            Picture Content Viewer will show the actual picture from the picture file. 
+            Currently, Picture Content Viewer only support JPG, GIF, and PNG formats.
+            If you select an non-picture file or an unsupported picture format on the "Result Viewers", this tab will be disabled.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of "Picture Content Viewer":
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="Picture_Content_Viewer.png" alt="Example of Picture Content Viewer Tab" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/string-content-viewer.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/string-content-viewer.html
new file mode 100644
index 0000000000..7c1286dc30
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/string-content-viewer.html
@@ -0,0 +1,38 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>String Content Viewer</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>String Content Viewer</h2>
+        <p>
+            Strings Content Viewer just scans the data of the file / folder and show you it for printable ASCII strings of a default length of 4 or more ASCII characters. If the length of printable ASCII is less than 4, it won't show the string.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of "String Content Viewer":
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="String_Content_Viewer.png" alt="Example of String Content Viewer Tab" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/table-results-viewer.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/table-results-viewer.html
new file mode 100644
index 0000000000..33ec0ce7c2
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/table-results-viewer.html
@@ -0,0 +1,39 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Table Results Viewer</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Table Results Viewer</h2>
+        <p>
+            Table Results Viewer displays the catalog as a table with some details (properties) of each file. The properties that it shows are: name, time (modified, changed, accessed, and created), size, flags (directory and meta), mode, user ID, group ID, metadata address, attribute address, and type (directory and meta).
+            Click the Table Viewer tab to select this view.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of a "Table Results Viewer":
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="Table_Results_Viewer.png" alt="Example of Table Result Viewers Tab" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/thumbnail-results-viewer.html b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/thumbnail-results-viewer.html
new file mode 100644
index 0000000000..2b960b0482
--- /dev/null
+++ b/CoreComponents/javahelp/org/sleuthkit/autopsy/corecomponents/docs/thumbnail-results-viewer.html
@@ -0,0 +1,40 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Thumbnail Results Viewer</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Thumbnail Results Viewer</h2>
+        <p>
+            Thumbnail Results Viewer displays the catalog as a table of thumbnail images in adjustable sizes.
+            This viewer only supports picture file(s) (Currently, only supports JPG, GIF, and PNG formats).
+            Click the Thumbnail tab to select this view. 
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's one of the example of "Thumbnail Results Viewer":
+            <br>
+            &nbsp;&nbsp;&nbsp;&nbsp; <img src="Thumbnail_Results_Viewer.png" alt="Example of Thumbnail Results Viewer Tab" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/CoreComponents/manifest.mf b/CoreComponents/manifest.mf
new file mode 100644
index 0000000000..4bdafdae11
--- /dev/null
+++ b/CoreComponents/manifest.mf
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.corecomponents/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Install: org/sleuthkit/autopsy/corecomponents/Installer.class
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/corecomponents/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/corecomponents/Bundle.properties
+OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help
+
diff --git a/CoreComponents/nbproject/build-impl.xml b/CoreComponents/nbproject/build-impl.xml
new file mode 100644
index 0000000000..6824a818f5
--- /dev/null
+++ b/CoreComponents/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.corecomponents-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/CoreComponents/nbproject/genfiles.properties b/CoreComponents/nbproject/genfiles.properties
new file mode 100644
index 0000000000..18dcc0bc4d
--- /dev/null
+++ b/CoreComponents/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=c2ffee94
+build.xml.script.CRC32=d7506201
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=c2ffee94
+nbproject/build-impl.xml.script.CRC32=c3845be2
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/CoreComponents/nbproject/project.properties b/CoreComponents/nbproject/project.properties
new file mode 100644
index 0000000000..72f5d107d6
--- /dev/null
+++ b/CoreComponents/nbproject/project.properties
@@ -0,0 +1,4 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+javahelp.hs=corecomponents-hs.xml
+spec.version.base=0.0
diff --git a/CoreComponents/nbproject/project.xml b/CoreComponents/nbproject/project.xml
new file mode 100644
index 0000000000..919dada1fd
--- /dev/null
+++ b/CoreComponents/nbproject/project.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.corecomponents</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.jdesktop.layout</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.13.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.core</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>2</release-version>
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.core.startup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.settings</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.26.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.swing.outline</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>1.9.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.15.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.explorer</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.28.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.casemodule</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.corecomponents</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/CoreComponents/nbproject/suite.properties b/CoreComponents/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/CoreComponents/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java
new file mode 100644
index 0000000000..2b85a8fb9e
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/AbstractDataResultViewer.java
@@ -0,0 +1,82 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Cursor;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JPanel;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.ExplorerManager.Provider;
+import org.openide.nodes.Node;
+import org.openide.util.Lookup;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+
+/**
+ * Holds commonalities between all DataResultViewers
+ */
+public abstract class AbstractDataResultViewer extends JPanel implements DataResultViewer, Provider, PropertyChangeListener {
+
+    /**
+     * Propagates changes in the current select node from the DataResultViewer to the DataContentTopComponent
+     *
+     * @param evt
+     */
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        String changed = evt.getPropertyName();
+
+        // change that should affect view
+        if (changed.equals(ExplorerManager.PROP_SELECTED_NODES)
+                || changed.equals(ExplorerManager.PROP_NODE_CHANGE)
+                || changed.equals(ExplorerManager.PROP_EXPLORED_CONTEXT)
+                || changed.equals(ExplorerManager.PROP_ROOT_CONTEXT)) {
+
+            // change the cursor to "waiting cursor" for this operation
+            this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+            try {
+                Node originalSelectedNode = this.getOriginalSelectedNode();
+
+                // DataContent is designed to return only the default viewer
+                DataContent dataContent = Lookup.getDefault().lookup(DataContent.class);
+
+                if (originalSelectedNode != null && originalSelectedNode instanceof ContentNode) {
+                    // there's a new/changed node to display
+                    ContentNode newSelectedNode = (ContentNode) originalSelectedNode; // get the selected Node on the table
+                    // push the node to default "DataContent"
+                    dataContent.setNode(newSelectedNode);
+                } else {
+                    // clear the node viewer
+                    dataContent.setNode(null);
+                }
+            } finally {
+                this.setCursor(null);
+            }
+        }
+    }
+
+    /**
+     * Gets the current node, stripping off any FilterNode that this class might
+     * have wrapped it in.
+     * @return
+     */
+    public abstract Node getOriginalSelectedNode();
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
new file mode 100644
index 0000000000..bd2723bcfe
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
@@ -0,0 +1,66 @@
+CTL_DataContentAction=DataContent
+CTL_DataContentTopComponent=Data Content
+CTL_NodeTableAction=NodeTable
+CTL_NodeTableTopComponent=NodeTable Window
+CTL_HexViewAction=HexView
+CTL_HexViewTopComponent=Hex View
+CTL_StringViewAction=StringView
+CTL_StringViewTopComponent=String View
+CTL_CustomAboutAction=About
+HINT_DataContentTopComponent=This is a DataContent window
+HINT_NodeTableTopComponent=This is a NodeTable window
+HINT_HexViewTopComponent=This is a HexView window
+HINT_StringViewTopComponent=This is a StringView window
+OpenIDE-Module-Name=CoreComponents
+OutputViewPanel.prevPageButton.text=Previous Page
+OutputViewPanel.totalPageLabel.text=100
+OutputViewPanel.ofLabel.text=of
+OutputViewPanel.currentPageLabel.text=1
+OutputViewPanel.pageLabel.text=Page:
+OutputViewPanel.filePathLabel.text=FilePath
+OutputViewPanel.nextPageButton.text=Next Page
+DataResultTopComponent.directoryTablePath.text=directoryPath
+DataContentViewerHex.filePathLabel.text=FilePath
+DataContentViewerHex.pageLabel.text=Page:
+DataContentViewerHex.currentPageLabel.text=1
+DataContentViewerHex.ofLabel.text=of
+DataContentViewerHex.totalPageLabel.text=100
+DataContentViewerHex.prevPageButton.text=
+DataContentViewerHex.nextPageButton.text=
+DataContentViewerString.totalPageLabel.text=100
+DataContentViewerString.prevPageButton.text=
+DataContentViewerString.nextPageButton.text=
+DataContentViewerString.filePathLabel.text=FilePath
+DataContentViewerString.pageLabel.text=Page:
+DataContentViewerString.currentPageLabel.text=1
+DataContentViewerString.ofLabel.text=of
+DataContentViewerHex.pageLabel.text_1=Page:
+DataContentViewerHex.currentPageLabel.text_1=1
+DataContentViewerHex.ofLabel.text_1=of
+DataContentViewerHex.totalPageLabel.text_1=100
+DataContentViewerString.pageLabel.text_1=Page:
+DataContentViewerString.currentPageLabel.text_1=1
+DataContentViewerString.ofLabel.text_1=of
+DataContentViewerString.totalPageLabel.text_1=100
+DataContentViewerPicture.picLabel.text=[Picture goes Here]
+DataContentViewerHex.pageLabel2.text=Page
+DataContentViewerString.pageLabel2.text=Page
+DataResultTopComponent.matchLabel.text=Results
+DataResultTopComponent.numberMatchLabel.text=0
+
+
+# Product Information panel
+LBL_Description=<div style=\"font-size: 12pt; font-family: Verdana, 'Verdana CE',  Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif;\">\n    <b>Product Version:</b> {0} <br><b>Sleuth Kit Version:</b> {7} <br> <b>Java:</b> {1}; {2}<br> <b>System:</b> {3}; {4}; {5}<br><b>Userdir:</b> {6}</div>
+Format_OperatingSystem_Value={0} version {1} running on {2}
+LBL_Copyright=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE',  Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif; "> The Autopsy Forensic Browser is a graphical interface to the command line digital investigation analysis tools in The Sleuth Kit. <br> <br>Copyright &copy; 2003-2011. For more information, please visit: <a style\="color\: \#1E2A60;" href\="http\://www.sleuthkit.org">http\://www.sleuthkit.org</a>. </div>
+URL_ON_IMG=http://www.sleuthkit.org/
+
+
+#SwingBrowser
+LBL_SwingBrowserDescription=Simple HTML Browser based on a Swing component
+MSG_cannot_create_browser=Cannot create Swing HTML Browser.
+Services/Browsers/SwingBrowser.settings=Swing HTML Browser
+LBL_Close=Close
+MNE_Close=C
+ACSN_Close=Close
+ACSD_Close=Close
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/CustomAboutAction.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/CustomAboutAction.java
new file mode 100644
index 0000000000..fd691327ca
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/CustomAboutAction.java
@@ -0,0 +1,57 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Dialog;
+import org.openide.util.NbBundle;
+import org.netbeans.core.actions.AboutAction;
+import org.openide.DialogDescriptor;
+import org.openide.DialogDisplayer;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * Action to open custom implementation of the "About" window from the Help menu.
+ */
+public class CustomAboutAction extends AboutAction {
+
+    @Override
+    public void performAction() {
+        Log.noteAction(this.getClass());
+
+        DialogDescriptor descriptor = new DialogDescriptor(
+                new ProductInformationPanel(),
+                NbBundle.getMessage(AboutAction.class, "About_title"),
+                true,
+                new Object[0],
+                null,
+                DialogDescriptor.DEFAULT_ALIGN,
+                null,
+                null);
+        Dialog dlg = null;
+        try {
+            dlg = DialogDisplayer.getDefault().createDialog(descriptor);
+            dlg.setResizable(false);
+            dlg.setVisible(true);
+        } finally {
+            if (dlg != null) {
+                dlg.dispose();
+            }
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.form
new file mode 100644
index 0000000000..a99a3b3a2b
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.form
@@ -0,0 +1,42 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="dataContentTabbedPane" alignment="0" pref="800" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="dataContentTabbedPane" alignment="0" pref="360" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JTabbedPane" name="dataContentTabbedPane">
+      <Properties>
+        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+          <Color blue="ff" green="ff" red="ff" type="rgb"/>
+        </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[700, 5]"/>
+        </Property>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java
new file mode 100644
index 0000000000..080a354f73
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java
@@ -0,0 +1,336 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Cursor;
+import java.beans.PropertyChangeEvent;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+import javax.swing.JTabbedPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
+import org.openide.util.Lookup;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+
+/**
+ * Top component that organizes all of the data content viewers.  Doing a lookup on this class will
+ * always return the default instance (which is created at startup). 
+ */
+// Registered as a service provider in layer.xml
+public final class DataContentTopComponent extends TopComponent implements DataContent, ChangeListener {
+
+    // reference to the "default" TC that always stays open
+    private static DataContentTopComponent defaultInstance;
+    private ContentNode currentNode;
+    // set to true if this is the TC that always stays open and is the default place to display content
+    private boolean isDefault;
+    // Different DataContentViewers
+    private List<UpdateWrapper> viewers = new ArrayList<UpdateWrapper>();
+    // contains a list of the undocked TCs
+    private static ArrayList<DataContentTopComponent> newWindowList = new ArrayList<DataContentTopComponent>();
+    private static final String PREFERRED_ID = "DataContentTopComponent";
+    private static final String DEFAULT_NAME = NbBundle.getMessage(DataContentTopComponent.class, "CTL_DataContentTopComponent");
+    private static final String TOOLTIP_TEXT = NbBundle.getMessage(DataContentTopComponent.class, "HINT_DataContentTopComponent");
+    
+    private DataContentTopComponent(boolean isDefault, String name) {
+        initComponents();
+        setName(name);
+        setToolTipText(TOOLTIP_TEXT);
+
+        this.isDefault = isDefault;
+        putClientProperty(TopComponent.PROP_CLOSING_DISABLED, Boolean.valueOf(isDefault)); // prevent option to close compoment in GUI
+
+        // set the tab to listen to any tab change (see the "stateChange" method)
+        this.dataContentTabbedPane.addChangeListener(this);
+    }
+
+    private static class UpdateWrapper {
+
+        private DataContentViewer wrapped;
+        private boolean outdated;
+
+        UpdateWrapper(DataContentViewer wrapped) {
+            this.wrapped = wrapped;
+            this.outdated = true;
+        }
+
+        void setNode(ContentNode selectedNode) {
+            this.wrapped.setNode(selectedNode);
+            this.outdated = false;
+        }
+
+        void resetComponent() {
+            this.wrapped.resetComponent();
+            this.outdated = true;
+        }
+
+        boolean isOutdated() {
+            return this.outdated;
+        }
+
+        boolean isSupported(ContentNode node) {
+            return this.wrapped.isSupported(node);
+        }
+    }
+
+    /**
+     * This createInstance method is used to create an undocked instance
+     * for the "View in New Window" feature.
+     * @param filePath path of given file node
+     * @param givenNode node to view content of
+     * @return newly undocked instance
+     */
+    public static DataContentTopComponent createUndocked(String filePath, ContentNode givenNode) {
+
+        DataContentTopComponent dctc = new DataContentTopComponent(false, filePath);
+        dctc.componentOpened();
+        dctc.setNode(givenNode);
+
+        newWindowList.add(dctc);
+
+        return dctc;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        dataContentTabbedPane = new javax.swing.JTabbedPane();
+
+        dataContentTabbedPane.setBackground(new java.awt.Color(255, 255, 255));
+        dataContentTabbedPane.setPreferredSize(new java.awt.Dimension(700, 5));
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(dataContentTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 800, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(dataContentTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 360, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTabbedPane dataContentTabbedPane;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Gets default instance. Do not use directly: reserved for *.settings files only,
+     * i.e. deserialization routines; otherwise you could get a non-deserialized defaultInstance.
+     * To obtain the singleton instance, use {@link #findInstance}.
+     */
+    public static synchronized DataContentTopComponent getDefault() {
+        if (defaultInstance == null) {
+            defaultInstance = new DataContentTopComponent(true, DEFAULT_NAME);
+        }
+        return defaultInstance;
+    }
+
+    /**
+     * Obtain the default DataContentTopComponent defaultInstance. Never call {@link #getDefault} directly!
+     */
+    public static synchronized DataContentTopComponent findInstance() {
+        TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
+        if (win == null) {
+            Logger.getLogger(DataContentTopComponent.class.getName()).warning(
+                    "Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system.");
+            return getDefault();
+        }
+        if (win instanceof DataContentTopComponent) {
+            return (DataContentTopComponent) win;
+        }
+        Logger.getLogger(DataContentTopComponent.class.getName()).warning(
+                "There seem to be multiple components with the '" + PREFERRED_ID
+                + "' ID. That is a potential source of errors and unexpected behavior.");
+        return getDefault();
+    }
+
+    @Override
+    public int getPersistenceType() {
+        return TopComponent.PERSISTENCE_NEVER;
+    }
+
+    @Override
+    public void componentOpened() {
+        // Add all the DataContentViewer to the tabbed pannel.
+        // (Only when the it's opened at the first time: tabCount = 0)
+        int totalTabs = dataContentTabbedPane.getTabCount();
+        if (totalTabs == 0) {
+            // find all dataContentViewer and add them to the tabbed pane
+            for (DataContentViewer factory : Lookup.getDefault().lookupAll(DataContentViewer.class)) {
+                DataContentViewer dcv = factory.getInstance();
+                this.viewers.add(new UpdateWrapper(dcv));
+                dataContentTabbedPane.addTab(dcv.getTitle(), dcv.getComponent());
+            }
+        }
+
+        resetTabs(currentNode);
+    }
+
+    @Override
+    public void componentClosed() {
+        
+        // clear all set nodes
+        for(UpdateWrapper dcv : viewers) {
+            dcv.setNode(null);
+        }
+        
+        if (!this.isDefault) {
+            newWindowList.remove(this);
+        }
+    }
+
+    @Override
+    protected String preferredID() {
+        if (this.isDefault) {
+            return PREFERRED_ID;
+        } else {
+            return this.getName();
+        }
+    }
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            // set the file path
+            if (selectedNode == null) {
+                setName(NbBundle.getMessage(DataContentTopComponent.class, "CTL_DataContentTopComponent"));
+            } else {
+                String path = DataConversion.getformattedPath(selectedNode.getDisplayPath(), 0);
+                setName(path);
+            }
+
+            currentNode = selectedNode;
+
+            resetTabs(selectedNode);
+
+            // set the display on the current active tab
+            int currentActiveTab = dataContentTabbedPane.getSelectedIndex();
+            if (currentActiveTab != -1) {
+                UpdateWrapper dcv = viewers.get(currentActiveTab);
+                dcv.setNode(selectedNode);
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    @Override
+    public boolean canClose() {
+        return (!this.isDefault) || !Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0; // only allow this window to be closed when there's no case opened or no image in this case
+    }
+
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+    }
+
+    @Override
+    public void stateChanged(ChangeEvent evt) {
+        JTabbedPane pane = (JTabbedPane) evt.getSource();
+
+        // Get and set current selected tab
+        int currentTab = pane.getSelectedIndex();
+        if (currentTab != -1) {
+            UpdateWrapper dcv = viewers.get(currentTab);
+            if (dcv.isOutdated()) {
+                // change the cursor to "waiting cursor" for this operation
+                this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                try {
+                    dcv.setNode(currentNode);
+                } finally {
+                    this.setCursor(null);
+                }
+            }
+        }
+    }
+
+    /**
+     * Resets the tabs based on the selected Node. If the selected node is null
+     * or not supported, disable that tab as well.
+     *
+     * @param selectedNode  the selected content Node
+     */
+    public void resetTabs(ContentNode selectedNode) {
+
+        int totalTabs = dataContentTabbedPane.getTabCount();
+
+        if (totalTabs > 0) { // make sure there are tabs to reset
+            int tempIndex = dataContentTabbedPane.getSelectedIndex();
+            for (int i = 0; i < totalTabs; i++) {
+                UpdateWrapper dcv = viewers.get(i);
+                dcv.resetComponent();
+
+                // disable an unsupported tab (ex: picture viewer)
+                if (!dcv.isSupported(selectedNode)) {
+                    dataContentTabbedPane.setEnabledAt(i, false);
+
+                    // change the tab selection if it's the current selection
+                    if (tempIndex == i) {
+                        if (i > 0) {
+                            dataContentTabbedPane.setSelectedIndex(0);
+                        } else {
+                            dataContentTabbedPane.setSelectedIndex(1);
+                        }
+                    }
+                } else {
+                    dataContentTabbedPane.setEnabledAt(i, true);
+                }
+            }
+            int newIndex = dataContentTabbedPane.getSelectedIndex();
+            // set the display of the tab
+            viewers.get(newIndex).setNode(selectedNode);
+        }
+    }
+
+    /**
+     * Get the tab pane
+     * @return tab pane with individual {@link DataContentViewer}s
+     */
+    public JTabbedPane getTabPanels() {
+        return this.dataContentTabbedPane;
+    }
+
+    @Override
+    public TopComponent getTopComponent() {
+        return this;
+    }
+
+    /**
+     * Returns a list of the non-default (main) TopComponents
+     * @return
+     */
+    public static List<DataContentTopComponent> getNewWindowList() {
+        return newWindowList;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentSettings.xml b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentSettings.xml
new file mode 100644
index 0000000000..c48ecdaf28
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentSettings.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
+<settings version="1.0">
+    <module name="org.sleuthkit.autopsy.corecomponents" spec="1.0"/>
+    <instanceof class="org.openide.windows.TopComponent"/>
+    <instanceof class="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent"/>
+    <instance class="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent" method="getDefault"/>
+</settings>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentWstcref.xml b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentWstcref.xml
new file mode 100644
index 0000000000..abd7e0f000
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponentWstcref.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE tc-ref PUBLIC "-//NetBeans//DTD Top Component in Mode Properties 2.0//EN" "http://www.netbeans.org/dtds/tc-ref2_0.dtd">
+<tc-ref version="2.0" >
+    <module name="org.sleuthkit.autopsy.corecomponents" spec="1.0"/>
+    <tc-id id="DataContentTopComponent"/>
+    <state opened="false"/>
+</tc-ref>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.form
new file mode 100644
index 0000000000..d454394bd5
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.form
@@ -0,0 +1,182 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <EmptySpace min="0" pref="622" max="32767" attributes="0"/>
+          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+                  <Component id="hexViewerPanel" max="32767" attributes="0"/>
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <EmptySpace min="0" pref="411" max="32767" attributes="0"/>
+          <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+                  <Component id="hexViewerPanel" max="32767" attributes="0"/>
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="hexViewerPanel">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="pageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="separate" max="-2" attributes="0"/>
+                  <Component id="currentPageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Component id="ofLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Component id="totalPageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="51" max="-2" attributes="0"/>
+                  <Component id="pageLabel2" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="prevPageButton" min="-2" pref="27" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="nextPageButton" min="-2" pref="26" max="-2" attributes="0"/>
+                  <EmptySpace pref="374" max="32767" attributes="0"/>
+              </Group>
+              <Component id="jScrollPane1" alignment="0" pref="622" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Component id="pageLabel" min="-2" max="-2" attributes="0"/>
+                      <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+                          <Component id="currentPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="ofLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="totalPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <Component id="pageLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
+                      <Component id="nextPageButton" alignment="0" min="-2" pref="23" max="-2" attributes="0"/>
+                      <Component id="prevPageButton" alignment="0" min="-2" pref="23" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+                  <Component id="jScrollPane1" pref="388" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+          <Properties>
+            <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+              <Color blue="ff" green="ff" red="ff" type="rgb"/>
+            </Property>
+          </Properties>
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JTextPane" name="outputViewPane">
+              <Properties>
+                <Property name="editable" type="boolean" value="false"/>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Courier New" size="11" style="0"/>
+                </Property>
+                <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[700, 20]"/>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[700, 400]"/>
+                </Property>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JTextPane(){&#xd;&#xa;    public boolean getScrollableTracksViewportWidth() {&#xd;&#xa;    return (getSize().width &lt; 700);&#xd;&#xa;}};"/>
+                <AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.outputViewPane.setBackground(new java.awt.Color(255, 255, 255)); // to make sure the background color is white"/>
+              </AuxValues>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Component class="javax.swing.JLabel" name="totalPageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.totalPageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="ofLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.ofLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="currentPageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.currentPageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="pageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.pageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JButton" name="prevPageButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/corecomponents/arrow_left.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.prevPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="prevPageButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JButton" name="nextPageButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/corecomponents/arrow_right.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.nextPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nextPageButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JLabel" name="pageLabel2">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerHex.pageLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java
new file mode 100644
index 0000000000..c8995a7cfb
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerHex.java
@@ -0,0 +1,328 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JTextPane;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * Hex view of file contents.
+ */
+@ServiceProvider(service = DataContentViewer.class)
+public class DataContentViewerHex extends javax.swing.JPanel implements DataContentViewer {
+
+    private static long currentOffset = 0;
+    private static long pageLength = 10240;
+    private static int currentPage = 1;
+    private Content dataSource;
+    // for error handling
+    private String className = this.getClass().toString();
+
+    /** Creates new form DataContentViewerHex */
+    public DataContentViewerHex() {
+        initComponents();
+        this.resetComponent();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        hexViewerPanel = new javax.swing.JPanel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        outputViewPane = new JTextPane(){
+            public boolean getScrollableTracksViewportWidth() {
+                return (getSize().width < 700);
+            }};
+            this.outputViewPane.setBackground(new java.awt.Color(255, 255, 255)); // to make sure the background color is white
+            totalPageLabel = new javax.swing.JLabel();
+            ofLabel = new javax.swing.JLabel();
+            currentPageLabel = new javax.swing.JLabel();
+            pageLabel = new javax.swing.JLabel();
+            prevPageButton = new javax.swing.JButton();
+            nextPageButton = new javax.swing.JButton();
+            pageLabel2 = new javax.swing.JLabel();
+
+            jScrollPane1.setBackground(new java.awt.Color(255, 255, 255));
+
+            outputViewPane.setEditable(false);
+            outputViewPane.setFont(new java.awt.Font("Courier New", 0, 11)); // NOI18N
+            outputViewPane.setMinimumSize(new java.awt.Dimension(700, 20));
+            outputViewPane.setPreferredSize(new java.awt.Dimension(700, 400));
+            jScrollPane1.setViewportView(outputViewPane);
+
+            totalPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.totalPageLabel.text_1")); // NOI18N
+
+            ofLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.ofLabel.text_1")); // NOI18N
+
+            currentPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.currentPageLabel.text_1")); // NOI18N
+
+            pageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.pageLabel.text_1")); // NOI18N
+
+            prevPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/arrow_left.gif"))); // NOI18N
+            prevPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.prevPageButton.text")); // NOI18N
+            prevPageButton.addActionListener(new java.awt.event.ActionListener() {
+                public void actionPerformed(java.awt.event.ActionEvent evt) {
+                    prevPageButtonActionPerformed(evt);
+                }
+            });
+
+            nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/arrow_right.gif"))); // NOI18N
+            nextPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.nextPageButton.text")); // NOI18N
+            nextPageButton.addActionListener(new java.awt.event.ActionListener() {
+                public void actionPerformed(java.awt.event.ActionEvent evt) {
+                    nextPageButtonActionPerformed(evt);
+                }
+            });
+
+            pageLabel2.setText(org.openide.util.NbBundle.getMessage(DataContentViewerHex.class, "DataContentViewerHex.pageLabel2.text")); // NOI18N
+
+            javax.swing.GroupLayout hexViewerPanelLayout = new javax.swing.GroupLayout(hexViewerPanel);
+            hexViewerPanel.setLayout(hexViewerPanelLayout);
+            hexViewerPanelLayout.setHorizontalGroup(
+                hexViewerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(hexViewerPanelLayout.createSequentialGroup()
+                    .addContainerGap()
+                    .addComponent(pageLabel)
+                    .addGap(18, 18, 18)
+                    .addComponent(currentPageLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                    .addComponent(ofLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                    .addComponent(totalPageLabel)
+                    .addGap(51, 51, 51)
+                    .addComponent(pageLabel2)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addContainerGap(374, Short.MAX_VALUE))
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 622, Short.MAX_VALUE)
+            );
+            hexViewerPanelLayout.setVerticalGroup(
+                hexViewerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(hexViewerPanelLayout.createSequentialGroup()
+                    .addGroup(hexViewerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                        .addComponent(pageLabel)
+                        .addGroup(hexViewerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(currentPageLabel)
+                            .addComponent(ofLabel)
+                            .addComponent(totalPageLabel))
+                        .addComponent(pageLabel2)
+                        .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGap(0, 0, 0)
+                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 388, Short.MAX_VALUE))
+            );
+
+            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+            this.setLayout(layout);
+            layout.setHorizontalGroup(
+                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 622, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(0, 0, 0)
+                        .addComponent(hexViewerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addGap(0, 0, 0)))
+            );
+            layout.setVerticalGroup(
+                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGap(0, 411, Short.MAX_VALUE)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(0, 0, 0)
+                        .addComponent(hexViewerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addGap(0, 0, 0)))
+            );
+        }// </editor-fold>//GEN-END:initComponents
+
+    private void prevPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_prevPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset -= pageLength;
+        currentPage = currentPage - 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false);
+    }//GEN-LAST:event_prevPageButtonActionPerformed
+
+    private void nextPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset += pageLength;
+        currentPage = currentPage + 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false);
+    }//GEN-LAST:event_nextPageButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel currentPageLabel;
+    private javax.swing.JPanel hexViewerPanel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JButton nextPageButton;
+    private javax.swing.JLabel ofLabel;
+    private javax.swing.JTextPane outputViewPane;
+    private javax.swing.JLabel pageLabel;
+    private javax.swing.JLabel pageLabel2;
+    private javax.swing.JButton prevPageButton;
+    private javax.swing.JLabel totalPageLabel;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Sets the DataView (The tabbed panel)
+     *
+     * @param dataSource  the content that want to be shown
+     * @param offset      the starting offset
+     * @param reset       whether to reset the dataView or not
+     */
+    public void setDataView(Content dataSource, long offset, boolean reset) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            try {
+                this.dataSource = dataSource;
+                byte[] data;
+
+                if (!reset && dataSource.getSize() > 0) {
+                    data = dataSource.read(offset, pageLength); // read the data
+                } else {
+                    // empty file
+                    data = null;
+                }
+
+                // I set the -1 to for empty node or directory
+                if (reset) {
+                    data = null;
+                }
+
+                // set the data on the bottom and show it
+                String text = "";
+                Boolean setVisible = false;
+
+                if (data != null) {
+                    text = DataConversion.getString(data, 4);
+                    setVisible = true;
+                }
+
+                // disable or enable the next button
+                if (!reset && offset + pageLength < dataSource.getSize()) {
+                    nextPageButton.setEnabled(true);
+                } else {
+                    nextPageButton.setEnabled(false);
+                }
+
+                if (offset == 0) {
+                    prevPageButton.setEnabled(false);
+                    currentPage = 1; // reset the page number
+                } else {
+                    prevPageButton.setEnabled(true);
+                }
+
+                if (setVisible) {
+                    int totalPage = (int) (dataSource.getSize() / pageLength) + 1;
+                    totalPageLabel.setText(Integer.toString(totalPage));
+                    currentPageLabel.setText(Integer.toString(currentPage));
+                    setComponentsVisibility(true); // shows the components that not needed
+
+                    // set the output view
+                    outputViewPane.setText(DataConversion.byteArrayToHex(data, pageLength, offset, outputViewPane.getFont()));
+                } else {
+                    // reset or hide the labels
+                    totalPageLabel.setText("");
+                    currentPageLabel.setText("");
+                    outputViewPane.setText(""); // reset the output view
+                    setComponentsVisibility(false); // hides the components that not needed
+                }
+
+                outputViewPane.moveCaretPosition(0);
+            } catch (TskException ex) {
+                // TODO: maybe make this error bubble up further
+                Logger.getLogger(this.className).log(Level.WARNING, "Error while trying to show the hex content.", ex);
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        if (selectedNode != null) {
+            this.setDataView(selectedNode.getContent(), 0, false);
+        } else {
+            this.setDataView(null, 0, true);
+        }
+    }
+
+    @Override
+    public String getTitle() {
+        return "Hex View";
+    }
+
+    @Override
+    public DataContentViewer getInstance() {
+        return new DataContentViewerHex();
+    }
+
+    @Override
+    public void resetComponent() {
+        // clear / reset the fields
+        this.dataSource = null;
+        currentPageLabel.setText("");
+        totalPageLabel.setText("");
+        prevPageButton.setEnabled(false);
+        nextPageButton.setEnabled(false);
+        setComponentsVisibility(false); // hides the components that not needed
+    }
+
+    /**
+     * To set the visibility of specific components in this class.
+     *
+     * @param isVisible  whether to show or hide the specific components
+     */
+    private void setComponentsVisibility(boolean isVisible) {
+        currentPageLabel.setVisible(isVisible);
+        totalPageLabel.setVisible(isVisible);
+        ofLabel.setVisible(isVisible);
+        prevPageButton.setVisible(isVisible);
+        nextPageButton.setVisible(isVisible);
+        pageLabel.setVisible(isVisible);
+        pageLabel2.setVisible(isVisible);
+    }
+
+    @Override
+    public boolean isSupported(ContentNode node) {
+        return true;
+    }
+
+    @Override
+    public Component getComponent() {
+        return this;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.form
new file mode 100644
index 0000000000..43f9a88aea
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.form
@@ -0,0 +1,45 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="picViewerScrollPanel" alignment="0" pref="589" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="picViewerScrollPanel" alignment="0" pref="382" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JScrollPane" name="picViewerScrollPanel">
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="picLabel">
+          <Properties>
+            <Property name="horizontalAlignment" type="int" value="0"/>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerPicture.picLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="horizontalTextPosition" type="int" value="0"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.java
new file mode 100644
index 0000000000..5defaf15ef
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerPicture.java
@@ -0,0 +1,156 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Image;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.imageio.ImageIO;
+import javax.swing.JPanel;
+import org.openide.nodes.Node;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * File content viewer capable of displaying some image formats.
+ */
+@ServiceProvider(service = DataContentViewer.class)
+public class DataContentViewerPicture extends javax.swing.JPanel implements DataContentViewer {
+
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** Creates new form DataContentViewerPicture */
+    public DataContentViewerPicture() {
+        initComponents();
+        this.resetComponent();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        picViewerScrollPanel = new javax.swing.JScrollPane();
+        picLabel = new javax.swing.JLabel();
+
+        picLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+        picLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerPicture.class, "DataContentViewerPicture.picLabel.text")); // NOI18N
+        picLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+        picViewerScrollPanel.setViewportView(picLabel);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(picViewerScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(picViewerScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel picLabel;
+    private javax.swing.JScrollPane picViewerScrollPanel;
+    // End of variables declaration//GEN-END:variables
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            if (selectedNode != null) {
+                try {
+                    // read the byte of the image file
+                    byte[] dataSource = selectedNode.getContent().read(0, selectedNode.getContent().getSize());
+
+                    // create the input stream for the content
+                    InputStream is = new ByteArrayInputStream(dataSource);
+
+                    Image test = ImageIO.read(is); // create the image
+
+                    this.picLabel.setIcon(new javax.swing.ImageIcon(test)); // show the file
+
+
+                } catch (TskException ex) {
+                    // TODO: maybe make errors bubble
+                    Logger.getLogger(this.className).log(Level.WARNING, "Error while trying to display the picture content.", ex);
+                } catch (Exception ex) {
+                    Logger.getLogger(this.className).log(Level.WARNING, "Error while trying to display the picture content.", ex);
+                }
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    @Override
+    public String getTitle() {
+        return "Picture View";
+    }
+
+    @Override
+    public DataContentViewer getInstance() {
+        return new DataContentViewerPicture();
+    }
+
+    @Override
+    public void resetComponent() {
+        this.picLabel.setText("");
+        //this.picLabel.setIcon(null);
+    }
+
+    @Override
+    public boolean isSupported(ContentNode cNode) {
+        Node node = (Node) cNode;
+
+        if (node != null) {
+            // Note: only supports JPG, GIF, and PNG for now
+            return node.getDisplayName().toLowerCase().endsWith(".jpg")
+                    || node.getDisplayName().toLowerCase().endsWith(".jpeg")
+                    || node.getDisplayName().toLowerCase().endsWith(".jpe")
+                    || node.getDisplayName().toLowerCase().endsWith(".jfif")
+                    || node.getDisplayName().toLowerCase().endsWith(".gif")
+                    || node.getDisplayName().toLowerCase().endsWith(".bmp")
+                    || //node.getDisplayName().toLowerCase().endsWith(".tif") ||
+                    //node.getDisplayName().toLowerCase().endsWith(".tiff") ||
+                    //node.getDisplayName().toLowerCase().endsWith(".tga") ||
+                    node.getDisplayName().toLowerCase().endsWith(".png");
+        } else {
+            return false;
+        }
+    }
+
+    @Override
+    public Component getComponent() {
+        return this;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.form
new file mode 100644
index 0000000000..8ca239c65d
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.form
@@ -0,0 +1,156 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="jPanel1" alignment="1" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="jPanel1" alignment="1" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="pageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="separate" max="-2" attributes="0"/>
+                  <Component id="currentPageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Component id="ofLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Component id="totalPageLabel" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="50" max="-2" attributes="0"/>
+                  <Component id="pageLabel2" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="prevPageButton" min="-2" pref="27" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="nextPageButton" min="-2" pref="26" max="-2" attributes="0"/>
+                  <EmptySpace pref="375" max="32767" attributes="0"/>
+              </Group>
+              <Component id="jScrollPane1" alignment="1" pref="622" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+                          <Component id="pageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="currentPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="ofLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="totalPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <Component id="pageLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
+                      <Component id="nextPageButton" alignment="0" min="-2" pref="23" max="-2" attributes="0"/>
+                      <Component id="prevPageButton" alignment="0" min="-2" pref="23" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+                  <Component id="jScrollPane1" pref="401" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+
+          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+          <SubComponents>
+            <Component class="javax.swing.JTextPane" name="outputViewPane">
+              <Properties>
+                <Property name="editable" type="boolean" value="false"/>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Courier New" size="11" style="0"/>
+                </Property>
+                <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+                  <Dimension value="[700, 400]"/>
+                </Property>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Component class="javax.swing.JLabel" name="totalPageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.totalPageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="ofLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.ofLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="currentPageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.currentPageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="pageLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.pageLabel.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JButton" name="nextPageButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/corecomponents/arrow_right.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.nextPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nextPageButtonActionPerformed"/>
+          </Events>
+        </Component>
+        <Component class="javax.swing.JLabel" name="pageLabel2">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.pageLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JButton" name="prevPageButton">
+          <Properties>
+            <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+              <Image iconType="3" name="/org/sleuthkit/autopsy/corecomponents/arrow_left.gif"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataContentViewerString.prevPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="prevPageButtonActionPerformed"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java
new file mode 100644
index 0000000000..990ac9ac36
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerString.java
@@ -0,0 +1,307 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * Viewer displays strings extracted from contents.
+ */
+@ServiceProvider(service = DataContentViewer.class)
+public class DataContentViewerString extends javax.swing.JPanel implements DataContentViewer {
+
+    private static long currentOffset = 0;
+    private static long pageLength = 10240;
+    private static int currentPage = 1;
+    private Content dataSource;
+    // for error handling
+    private String className = this.getClass().toString();
+
+    /** Creates new form DataContentViewerString */
+    public DataContentViewerString() {
+        initComponents();
+        this.resetComponent();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jPanel1 = new javax.swing.JPanel();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        outputViewPane = new javax.swing.JTextPane();
+        totalPageLabel = new javax.swing.JLabel();
+        ofLabel = new javax.swing.JLabel();
+        currentPageLabel = new javax.swing.JLabel();
+        pageLabel = new javax.swing.JLabel();
+        nextPageButton = new javax.swing.JButton();
+        pageLabel2 = new javax.swing.JLabel();
+        prevPageButton = new javax.swing.JButton();
+
+        outputViewPane.setEditable(false);
+        outputViewPane.setFont(new java.awt.Font("Courier New", 0, 11)); // NOI18N
+        outputViewPane.setPreferredSize(new java.awt.Dimension(700, 400));
+        jScrollPane1.setViewportView(outputViewPane);
+
+        totalPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.totalPageLabel.text_1")); // NOI18N
+
+        ofLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.ofLabel.text_1")); // NOI18N
+
+        currentPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.currentPageLabel.text_1")); // NOI18N
+
+        pageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.pageLabel.text_1")); // NOI18N
+
+        nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/arrow_right.gif"))); // NOI18N
+        nextPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.nextPageButton.text")); // NOI18N
+        nextPageButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                nextPageButtonActionPerformed(evt);
+            }
+        });
+
+        pageLabel2.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.pageLabel2.text")); // NOI18N
+
+        prevPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/arrow_left.gif"))); // NOI18N
+        prevPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerString.class, "DataContentViewerString.prevPageButton.text")); // NOI18N
+        prevPageButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                prevPageButtonActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(pageLabel)
+                .addGap(18, 18, 18)
+                .addComponent(currentPageLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(ofLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(totalPageLabel)
+                .addGap(50, 50, 50)
+                .addComponent(pageLabel2)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(375, Short.MAX_VALUE))
+            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 622, Short.MAX_VALUE)
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(pageLabel)
+                        .addComponent(currentPageLabel)
+                        .addComponent(ofLabel)
+                        .addComponent(totalPageLabel))
+                    .addComponent(pageLabel2)
+                    .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(0, 0, 0)
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 401, Short.MAX_VALUE))
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void prevPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_prevPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset -= pageLength;
+        currentPage = currentPage - 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false);
+    }//GEN-LAST:event_prevPageButtonActionPerformed
+
+    private void nextPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset += pageLength;
+        currentPage = currentPage + 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false);
+    }//GEN-LAST:event_nextPageButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel currentPageLabel;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JButton nextPageButton;
+    private javax.swing.JLabel ofLabel;
+    private javax.swing.JTextPane outputViewPane;
+    private javax.swing.JLabel pageLabel;
+    private javax.swing.JLabel pageLabel2;
+    private javax.swing.JButton prevPageButton;
+    private javax.swing.JLabel totalPageLabel;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Sets the DataView (The tabbed panel)
+     *
+     * @param dataSource  the content that want to be shown
+     * @param offset      the starting offset
+     * @param reset       whether to reset the dataView or not
+     */
+    public void setDataView(Content dataSource, long offset, boolean reset) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            try {
+                this.dataSource = dataSource;
+                byte[] data;
+
+                if (!reset && dataSource.getSize() > 0) {
+                    data = dataSource.read(offset, pageLength); // read the data
+                } else {
+                    // empty file
+                    data = null;
+                }
+
+                // I set the -1 to for empty node or directory
+                if (reset) {
+                    data = null;
+                }
+
+                // set the data on the bottom and show it
+                String text = "";
+                Boolean setVisible = false;
+
+                if (data != null) {
+                    text = DataConversion.getString(data, 4);
+                    setVisible = true;
+                }
+
+                // disable or enable the next button
+                if (!reset && offset + pageLength < dataSource.getSize()) {
+                    nextPageButton.setEnabled(true);
+                } else {
+                    nextPageButton.setEnabled(false);
+                }
+
+                if (offset == 0) {
+                    prevPageButton.setEnabled(false);
+                    currentPage = 1; // reset the page number
+                } else {
+                    prevPageButton.setEnabled(true);
+                }
+
+                if (setVisible) {
+                    int totalPage = (int) (dataSource.getSize() / pageLength) + 1;
+                    totalPageLabel.setText(Integer.toString(totalPage));
+                    currentPageLabel.setText(Integer.toString(currentPage));
+                    outputViewPane.setText(text); // set the output view
+                    setComponentsVisibility(true); // shows the components that not needed
+                } else {
+                    // reset or hide the labels
+                    totalPageLabel.setText("");
+                    currentPageLabel.setText("");
+                    outputViewPane.setText(""); // reset the output view
+                    setComponentsVisibility(false); // hides the components that not needed
+                }
+                outputViewPane.moveCaretPosition(0);
+            } catch (TskException ex) {
+                Logger logger = Logger.getLogger(this.className);
+                logger.log(Level.WARNING, "Error while trying to show the String content.", ex);
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    /**
+     * To set the visibility of specific components in this class.
+     *
+     * @param isVisible  whether to show or hide the specific components
+     */
+    private void setComponentsVisibility(boolean isVisible) {
+        currentPageLabel.setVisible(isVisible);
+        totalPageLabel.setVisible(isVisible);
+        ofLabel.setVisible(isVisible);
+        prevPageButton.setVisible(isVisible);
+        nextPageButton.setVisible(isVisible);
+        pageLabel.setVisible(isVisible);
+        pageLabel2.setVisible(isVisible);
+    }
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        if (selectedNode != null) {
+            this.setDataView(selectedNode.getContent(), 0, false);
+        } else {
+            this.setDataView(null, 0, true);
+        }
+    }
+
+    @Override
+    public String getTitle() {
+        return "String View";
+    }
+
+    @Override
+    public DataContentViewer getInstance() {
+        return new DataContentViewerString();
+    }
+
+    @Override
+    public void resetComponent() {
+        // clear / reset the fields
+        this.dataSource = null;
+        currentPageLabel.setText("");
+        totalPageLabel.setText("");
+        prevPageButton.setEnabled(false);
+        nextPageButton.setEnabled(false);
+        setComponentsVisibility(false); // hides the components that not needed
+    }
+
+    @Override
+    public boolean isSupported(ContentNode node) {
+        return true;
+    }
+
+    @Override
+    public Component getComponent() {
+        return this;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.form
new file mode 100644
index 0000000000..13b479834a
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.form
@@ -0,0 +1,72 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="1" attributes="0">
+              <Component id="directoryTablePath" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="855" max="32767" attributes="0"/>
+              <Component id="numberMatchLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="matchLabel" min="-2" max="-2" attributes="0"/>
+          </Group>
+          <Component id="dataResultTabbedPanel" alignment="0" pref="967" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="matchLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="numberMatchLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="directoryTablePath" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+              <Component id="dataResultTabbedPanel" pref="565" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="directoryTablePath">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataResultTopComponent.directoryTablePath.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="matchLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataResultTopComponent.matchLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="numberMatchLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="DataResultTopComponent.numberMatchLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JTabbedPane" name="dataResultTabbedPanel">
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java
new file mode 100644
index 0000000000..f893aa22c6
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultTopComponent.java
@@ -0,0 +1,358 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Cursor;
+import java.beans.PropertyChangeListener;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataResult;
+import java.beans.PropertyChangeSupport;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JTabbedPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
+import org.openide.nodes.Node;
+import org.openide.util.Lookup;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+
+/**
+ * Top component which displays something.
+ */
+public final class DataResultTopComponent extends TopComponent implements DataResult, ChangeListener {
+
+    private ContentNode rootNode;
+    private PropertyChangeSupport pcs = new PropertyChangeSupport(this);
+    private boolean isMain;
+    /** path to the icon used by the component and its open action */
+//    static final String ICON_PATH = "SET/PATH/TO/ICON/HERE";
+    private static String PREFERRED_ID = "NodeTableTopComponent";
+    /**
+     * Name of property change fired when a file search result is closed
+     */
+    public static String REMOVE_FILESEARCH = "RemoveFileSearchTopComponent";
+    // Different DataResultsViewers
+    private List<UpdateWrapper> viewers = new ArrayList<UpdateWrapper>();
+
+    public DataResultTopComponent(boolean isMain, String title) {
+        initComponents();
+        setToolTipText(NbBundle.getMessage(DataResultTopComponent.class, "HINT_NodeTableTopComponent"));
+
+        setTitle(title); // set the title
+        this.isMain = isMain;
+        putClientProperty(TopComponent.PROP_CLOSING_DISABLED, Boolean.valueOf(isMain)); // set option to close compoment in GUI
+
+        this.dataResultTabbedPanel.addChangeListener(this);
+    }
+
+    private static class UpdateWrapper {
+
+        private DataResultViewer wrapped;
+        private boolean outdated;
+
+        UpdateWrapper(DataResultViewer wrapped) {
+            this.wrapped = wrapped;
+            this.outdated = true;
+        }
+
+        void setNode(ContentNode selectedNode) {
+            this.wrapped.setNode(selectedNode);
+            this.outdated = false;
+        }
+
+        void resetComponent() {
+            this.wrapped.resetComponent();
+            this.outdated = true;
+        }
+
+        void clearComponent() {
+            this.wrapped.clearComponent();
+            this.outdated = true;
+        }
+
+        boolean isOutdated() {
+            return this.outdated;
+        }
+    }
+
+    /**
+     * Creates a new non-default DataResult component
+     *
+     * @param title Title of the component window
+     * @param pathText Descriptive text about the source of the nodes displayed
+     * @param givenNode The new root node
+     * @param totalMatches Cardinality of root node's children
+     * @return
+     */
+    public static DataResultTopComponent createInstance(String title, String pathText, Node givenNode, int totalMatches) {
+        DataResultTopComponent newDataResult = new DataResultTopComponent(false, title);
+
+        newDataResult.numberMatchLabel.setText(Integer.toString(totalMatches));
+
+        newDataResult.open(); // open it first so the component can be initialized
+
+        // set the tree table view
+        newDataResult.setNode((ContentNode) givenNode);
+        newDataResult.directoryTablePath.setText(pathText);
+
+        return newDataResult;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        directoryTablePath = new javax.swing.JLabel();
+        matchLabel = new javax.swing.JLabel();
+        numberMatchLabel = new javax.swing.JLabel();
+        dataResultTabbedPanel = new javax.swing.JTabbedPane();
+
+        org.openide.awt.Mnemonics.setLocalizedText(directoryTablePath, org.openide.util.NbBundle.getMessage(DataResultTopComponent.class, "DataResultTopComponent.directoryTablePath.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(matchLabel, org.openide.util.NbBundle.getMessage(DataResultTopComponent.class, "DataResultTopComponent.matchLabel.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(numberMatchLabel, org.openide.util.NbBundle.getMessage(DataResultTopComponent.class, "DataResultTopComponent.numberMatchLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                .addComponent(directoryTablePath)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 855, Short.MAX_VALUE)
+                .addComponent(numberMatchLabel)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(matchLabel))
+            .addComponent(dataResultTabbedPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(matchLabel)
+                        .addComponent(numberMatchLabel))
+                    .addComponent(directoryTablePath))
+                .addGap(0, 0, 0)
+                .addComponent(dataResultTabbedPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 565, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTabbedPane dataResultTabbedPanel;
+    private javax.swing.JLabel directoryTablePath;
+    private javax.swing.JLabel matchLabel;
+    private javax.swing.JLabel numberMatchLabel;
+    // End of variables declaration//GEN-END:variables
+//    /**
+//     * Gets default instance. Do not use directly: reserved for *.settings files only,
+//     * i.e. deserialization routines; otherwise you could get a non-deserialized instance.
+//     * To obtain the singleton instance, use {@link #findInstance}.
+//     */
+//    public static synchronized DataResultTopComponent getDefault() {
+//        if (instance == null) {
+//            instance = new DataResultTopComponent();
+//        }
+//        return instance;
+//    }
+//
+//    /**
+//     * Obtain the DataResultTopComponent instance. Never call {@link #getDefault} directly!
+//     */
+//    public static synchronized DataResultTopComponent findInstance() {
+//        TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
+//        if (win == null) {
+//            Logger.getLogger(DataResultTopComponent.class.getName()).warning(
+//                    "Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system.");
+//            return getDefault();
+//        }
+//        if (win instanceof DataResultTopComponent) {
+//            return (DataResultTopComponent) win;
+//        }
+//        Logger.getLogger(DataResultTopComponent.class.getName()).warning(
+//                "There seem to be multiple components with the '" + PREFERRED_ID
+//                + "' ID. That is a potential source of errors and unexpected behavior.");
+//        return getDefault();
+//    }
+
+    @Override
+    public int getPersistenceType() {
+        return TopComponent.PERSISTENCE_NEVER;
+    }
+
+    @Override
+    public void componentOpened() {
+        // Add all the DataContentViewer to the tabbed pannel.
+        // (Only when the it's opened at the first time: tabCount = 0)
+        int totalTabs = this.dataResultTabbedPanel.getTabCount();
+        if (totalTabs == 0) {
+            // find all dataContentViewer and add them to the tabbed pane
+            for (DataResultViewer factory : Lookup.getDefault().lookupAll(DataResultViewer.class)) {
+                DataResultViewer drv = factory.getInstance();
+                this.viewers.add(new UpdateWrapper(drv));
+                this.dataResultTabbedPanel.addTab(drv.getTitle(), drv.getComponent());
+            }
+        }
+
+        if (this.preferredID().equals(DataResultTopComponent.PREFERRED_ID)) {
+            // if no node selected on DataExplorer, clear the field
+            if (rootNode == null) {
+                setNode(rootNode);
+            }
+        }
+    }
+
+    @Override
+    public void componentClosed() {
+        pcs.firePropertyChange(REMOVE_FILESEARCH, "", this); // notify to remove this from the menu
+
+        // try to remove any references to this class
+        PropertyChangeListener[] pcl = pcs.getPropertyChangeListeners();
+        for (int i = 0; i < pcl.length; i++) {
+            pcs.removePropertyChangeListener(pcl[i]);
+        }
+        
+        // clear all set nodes
+        for (UpdateWrapper drv : this.viewers) {
+            drv.setNode(null);
+        }
+
+        if (!this.isMain) {
+            for (UpdateWrapper drv : this.viewers) {
+                drv.clearComponent();
+            }
+            this.directoryTablePath.removeAll();
+            this.directoryTablePath = null;
+            this.matchLabel.removeAll();
+            this.matchLabel = null;
+            this.numberMatchLabel.removeAll();
+            this.numberMatchLabel = null;
+            this.setLayout(null);
+            this.pcs = null;
+            this.removeAll();
+            System.gc();
+        }
+
+    }
+
+    @Override
+    protected String preferredID() {
+        if (this.isMain) {
+            return PREFERRED_ID;
+        } else {
+            return this.getName();
+        }
+    }
+
+    @Override
+    public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
+        this.pcs.addPropertyChangeListener(listener);
+    }
+
+    @Override
+    public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
+        this.pcs.removePropertyChangeListener(listener);
+    }
+
+    @Override
+    public String getPreferredID() {
+        return PREFERRED_ID;
+    }
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        this.rootNode = selectedNode;
+        String path = "";
+        if (selectedNode != null) {
+            path = DataConversion.getformattedPath(selectedNode.getDisplayPath(), 0);
+
+            int childrenCount = ((Node) selectedNode).getChildren().getNodesCount(true);
+            this.numberMatchLabel.setText(Integer.toString(childrenCount));
+        }
+
+        this.numberMatchLabel.setVisible(true);
+        this.matchLabel.setVisible(true);
+
+        this.directoryTablePath.setText(path); // set the node path
+
+        resetTabs(selectedNode);
+
+        // set the display on the current active tab
+        int currentActiveTab = this.dataResultTabbedPanel.getSelectedIndex();
+        if (currentActiveTab != -1) {
+            UpdateWrapper drv = viewers.get(currentActiveTab);
+            drv.setNode(selectedNode);
+        }
+    }
+
+    @Override
+    public void setTitle(String title) {
+        setName(title);
+    }
+
+    @Override
+    public boolean isMain() {
+        return this.isMain;
+    }
+
+    @Override
+    public boolean canClose() {
+        return (!this.isMain) || !Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0; // only allow this window to be closed when there's no case opened or no image in this case
+    }
+
+    @Override
+    public void stateChanged(ChangeEvent e) {
+        JTabbedPane pane = (JTabbedPane) e.getSource();
+
+        // Get and set current selected tab
+        int currentTab = pane.getSelectedIndex();
+        if (currentTab != -1) {
+            UpdateWrapper drv = this.viewers.get(currentTab);
+            if (drv.isOutdated()) {
+                // change the cursor to "waiting cursor" for this operation
+                this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                try {
+                    drv.setNode(rootNode);
+                } finally {
+                    this.setCursor(null);
+                }
+            }
+        }
+    }
+
+    /**
+     * Resets the tabs based on the selected Node. If the selected node is null
+     * or not supported, disable that tab as well.
+     *
+     * @param selectedNode  the selected content Node
+     */
+    public void resetTabs(ContentNode selectedNode) {
+
+        for (UpdateWrapper drv : this.viewers) {
+            drv.resetComponent();
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.form
new file mode 100644
index 0000000000..66868f5057
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.form
@@ -0,0 +1,41 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="tableScrollPanel" alignment="0" pref="691" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="tableScrollPanel" alignment="0" pref="366" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JScrollPane" name="tableScrollPanel">
+      <Events>
+        <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="tableScrollPanelComponentResized"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new OutlineView(this.firstColumnLabel);"/>
+        <AuxValue name="JavaCodeGenerator_InitCodePre" type="java.lang.String" value="//new TreeTableView()"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java
new file mode 100644
index 0000000000..834e2fea30
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java
@@ -0,0 +1,355 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.FontMetrics;
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.view.OutlineView;
+import org.openide.nodes.AbstractNode;
+import org.openide.nodes.Children;
+import org.openide.nodes.Node;
+import org.openide.nodes.Node.PropertySet;
+import org.openide.nodes.Sheet;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
+// TODO We should not have anything specific to Image in here...
+import org.sleuthkit.datamodel.Image;
+
+/**
+ * DataResult sortable table viewer
+ */
+@ServiceProvider(service = DataResultViewer.class)
+public class DataResultViewerTable extends AbstractDataResultViewer {
+
+    private transient ExplorerManager em = new ExplorerManager();
+    private String firstColumnLabel = "Name";
+    private boolean isImageNode;
+
+    /** Creates new form DataResultViewerTable */
+    public DataResultViewerTable() {
+        initComponents();
+
+        OutlineView ov = ((OutlineView) this.tableScrollPanel);
+
+        // only allow one item to be selected at a time
+        ov.getOutline().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        
+        // don't show the root node
+        ov.getOutline().setRootVisible(false);
+
+        this.isImageNode = false;
+        this.em.addPropertyChangeListener(this);
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        tableScrollPanel = new OutlineView(this.firstColumnLabel);
+
+        //new TreeTableView()
+        tableScrollPanel.addComponentListener(new java.awt.event.ComponentAdapter() {
+            public void componentResized(java.awt.event.ComponentEvent evt) {
+                tableScrollPanelComponentResized(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(tableScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 691, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(tableScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 366, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void tableScrollPanelComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_tableScrollPanelComponentResized
+        if (this.tableScrollPanel.getWidth() < 700 && isImageNode) {
+            ((OutlineView) this.tableScrollPanel).getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+        } else {
+            if (isImageNode) {
+                ((OutlineView) this.tableScrollPanel).getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+            }
+        }
+    }//GEN-LAST:event_tableScrollPanelComponentResized
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JScrollPane tableScrollPanel;
+    // End of variables declaration//GEN-END:variables
+
+    @Override
+    public ExplorerManager getExplorerManager() {
+        return this.em;
+    }
+
+    @Override
+    public Node getOriginalSelectedNode() {
+        Node result = null;
+        Node[] selectedNodes = this.getExplorerManager().getSelectedNodes();
+        if (selectedNodes.length > 0) {
+            result = selectedNodes[0];
+            if (result != null && result instanceof TableFilterNode) {
+                result = ((TableFilterNode) result).getOriginal();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Gets regular Bean property set properties from first child of Node.
+     * @param parent Node with at least one child to get properties from
+     * @return Properties,
+     */
+    private Node.Property[] getChildPropertyHeaders(Node parent) {
+        Node firstChild = parent.getChildren().getNodeAt(0);
+
+        if (firstChild == null) {
+            throw new IllegalArgumentException("Couldn't get a child Node from the given parent.");
+        } else {
+            for (PropertySet ps : firstChild.getPropertySets()) {
+                if (ps.getName().equals(Sheet.PROPERTIES)) {
+                    return ps.getProperties();
+                }
+            }
+
+            throw new IllegalArgumentException("Child Node doesn't have the regular PropertySet.");
+        }
+    }
+
+    @Override
+    public void setNode(ContentNode selectedNode) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            boolean hasChildren = false;
+
+
+            if (selectedNode != null) {
+                hasChildren = ((Node) selectedNode).getChildren().getNodesCount() > 0;
+            }
+
+
+            // if there's no selection node, do nothing
+            if (hasChildren) {
+                Node root = (Node) selectedNode;
+
+                if (root instanceof TableFilterNode) {
+                    root = ((TableFilterNode) root).getOriginal();
+                } else {
+                    root = new TableFilterNode(root, true);
+                }
+
+                em.setRootContext(root);
+
+                OutlineView ov = ((OutlineView) this.tableScrollPanel);
+
+                List<Node.Property> tempProps = new ArrayList<Node.Property>(Arrays.asList(getChildPropertyHeaders((Node) selectedNode)));
+
+                tempProps.remove(0);
+
+                Node.Property[] props = tempProps.toArray(new Node.Property[tempProps.size()]);
+
+
+                // *********** Make the TreeTableView to be sortable ***************
+
+                //First property column is sortable, but also sorted initially, so
+                //initially this one will have the arrow icon:
+                props[0].setValue("TreeColumnTTV", Boolean.TRUE); // Identifies special property representing first (tree) column.
+                props[0].setValue("ComparableColumnTTV", Boolean.TRUE); // This property column should be used for sorting.
+                props[0].setValue("SortingColumnTTV", Boolean.TRUE); // TreeTableView should be initially sorted by this property column.
+
+                // The rest of the columns are sortable, but not initially sorted,
+                // so initially will have no arrow icon:
+                for (int i = 1; i < props.length; i++) {
+                    props[i].setValue("ComparableColumnTTV", Boolean.TRUE);
+                }
+
+                // *****************************************************************
+
+                //ttv.setProperties(props); // set the properties
+                ov.setProperties(props); // set the properties
+
+                //            // set the first entry
+                //            Children test = root.getChildren();
+                //            Node firstEntryNode = test.getNodeAt(0);
+                //            try {
+                //                this.getExplorerManager().setSelectedNodes(new Node[]{firstEntryNode});
+                //            } catch (PropertyVetoException ex) {}
+
+
+                // show the horizontal scroll panel and show all the content & header
+                if (!(selectedNode.getContent() instanceof Image)) {
+                    this.isImageNode = false;
+                    int totalColumns = props.length;
+
+                    //int scrollWidth = ttv.getWidth();
+                    int scrollWidth = ov.getWidth();
+                    int minWidth = scrollWidth / totalColumns;
+                    int margin = 4;
+                    int startColumn = 1;
+                    ov.getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+                    // get the fontmetrics
+                    //FontMetrics metrics = ttv.getGraphics().getFontMetrics();
+                    FontMetrics metrics = ov.getGraphics().getFontMetrics();
+
+                    // get first 100 rows values for the table
+                    Object[][] content = null;
+                    try {
+                        content = selectedNode.getRowValues(100);
+                    } catch (SQLException ex) {
+                        // TODO: potential exception is being ignored (see below), should be handled 
+                    }
+
+
+                    if (content != null) {
+                        // for the "Name" column
+                        int nodeColWidth = getMaxColumnWidth(0, metrics, margin, 40, firstColumnLabel, content); // Note: 40 is the width of the icon + node lines. Change this value if those values change!
+                        ov.getOutline().getColumnModel().getColumn(0).setPreferredWidth(nodeColWidth);
+
+                        // get the max for each other column
+                        for (int colIndex = startColumn; colIndex < totalColumns; colIndex++) {
+                            int colWidth = getMaxColumnWidth(colIndex, metrics, margin, 8, props, content);
+                            ov.getOutline().getColumnModel().getColumn(colIndex).setPreferredWidth(colWidth);
+                        }
+                    }
+
+                    // if there's no content just auto resize all columns
+                    if (!(content.length > 0)) {
+                        // turn on the auto resize
+                        ov.getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+                    }
+                } else {
+                    this.isImageNode = true;
+                    // turn on the auto resize for image result
+                    ov.getOutline().getColumnModel().getColumn(0).setPreferredWidth(175);
+                    ov.getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+                }
+            } else {
+                Node emptyNode = new AbstractNode(Children.LEAF);
+                em.setRootContext(emptyNode); // make empty node
+                ((OutlineView) this.tableScrollPanel).getOutline().setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+                ((OutlineView) this.tableScrollPanel).setProperties(new Node.Property[]{}); // set the empty property header
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    @Override
+    public String getTitle() {
+        return "Table View";
+    }
+
+    @Override
+    public DataResultViewer getInstance() {
+        return new DataResultViewerTable();
+    }
+
+    @Override
+    public void resetComponent() {
+    }
+
+    /**
+     * Gets the max width of the column from the given index, header, and table.
+     *
+     * @param index    the index of the column on the table / header
+     * @param metrics  the font metrics that this component use
+     * @param margin   the left/right margin of the column
+     * @param padding  the left/right padding of the column
+     * @param header   the property headers of the table
+     * @param table    the object table
+     * @return max  the maximum width of the column
+     */
+    private int getMaxColumnWidth(int index, FontMetrics metrics, int margin, int padding, Node.Property[] header, Object[][] table) {
+        // set the tree (the node / names column) width
+        String headerName = header[index - 1].getDisplayName();
+
+        return getMaxColumnWidth(index, metrics, margin, padding, headerName, table);
+    }
+
+    /**
+     * Gets the max width of the column from the given index, header, and table.
+     *
+     * @param index    the index of the column on the table / header
+     * @param metrics  the font metrics that this component use
+     * @param margin   the left/right margin of the column
+     * @param padding  the left/right padding of the column
+     * @param header   the column header for the comparison
+     * @param table    the object table
+     * @return max  the maximum width of the column
+     */
+    private int getMaxColumnWidth(int index, FontMetrics metrics, int margin, int padding, String header, Object[][] table) {
+        // set the tree (the node / names column) width
+        String headerName = header;
+        int headerWidth = metrics.stringWidth(headerName); // length of the header
+        int colWidth = 0;
+
+        // Get maximum width of column data
+        for (int i = 0; i < table.length; i++) {
+            String test = table[i][index].toString();
+            colWidth = Math.max(colWidth, metrics.stringWidth(test));
+        }
+
+        colWidth += padding; // add the padding on the most left gap
+        headerWidth += 8; // add the padding to the header (change this value if the header padding value is changed)
+
+        // Set the width
+        int width = Math.max(headerWidth, colWidth);
+        width += 2 * margin; // Add margin
+
+        return width;
+    }
+
+    @Override
+    public void clearComponent() {
+        em.removePropertyChangeListener(this);
+        this.tableScrollPanel.removeAll();
+        this.tableScrollPanel = null;
+        try {
+            this.em.getRootContext().destroy();
+            em = null;
+        } catch (IOException ex) {
+            // TODO: Proper thing to do? Log? Don't throw RuntimeException?
+            throw new RuntimeException("Error: can't clear the component of the Table Result Viewer.", ex);
+        }
+    }
+
+    @Override
+    public Component getComponent() {
+        return this;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.form
new file mode 100644
index 0000000000..4c5b1ed717
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.form
@@ -0,0 +1,37 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="thumbnailScrollPanel" alignment="1" pref="675" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="thumbnailScrollPanel" alignment="1" pref="336" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JScrollPane" name="thumbnailScrollPanel">
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new IconView();"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java
new file mode 100644
index 0000000000..c0fdc0ea6b
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java
@@ -0,0 +1,158 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.io.IOException;
+import javax.swing.ListSelectionModel;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.view.IconView;
+import org.openide.nodes.AbstractNode;
+import org.openide.nodes.Children;
+import org.openide.nodes.Node;
+import org.openide.util.lookup.ServiceProvider;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataResultViewer;
+
+/**
+ * Thumbnail view of images in data result
+ */
+@ServiceProvider(service = DataResultViewer.class)
+public class DataResultViewerThumbnail extends AbstractDataResultViewer {
+
+    private transient ExplorerManager em = new ExplorerManager();
+
+    /** Creates new form DataResultViewerThumbnail */
+    public DataResultViewerThumbnail() {
+        initComponents();
+
+        // only allow one item to be selected at a time
+        ((IconView) thumbnailScrollPanel).setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+
+        this.em.addPropertyChangeListener(this);
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        thumbnailScrollPanel = new IconView();
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(thumbnailScrollPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 675, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(thumbnailScrollPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 336, Short.MAX_VALUE)
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JScrollPane thumbnailScrollPanel;
+    // End of variables declaration//GEN-END:variables
+
+    @Override
+    public ExplorerManager getExplorerManager() {
+        return this.em;
+    }
+
+    @Override
+    public Node getOriginalSelectedNode() {
+        Node result = null;
+
+        Node[] selectedNodes = this.getExplorerManager().getSelectedNodes();
+        if (selectedNodes.length > 0) {
+            result = selectedNodes[0];
+            if (result != null && result instanceof ThumbnailViewNode) {
+                result = ((ThumbnailViewNode) result).getOriginal();
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public void setNode(ContentNode givenNode) {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            if (givenNode != null) {
+                Node root = (Node) givenNode;
+
+                if (root instanceof ThumbnailViewNode) {
+                    root = ((ThumbnailViewNode) root).getOriginal();
+                } else {
+                    Node temp = new AbstractNode(new ThumbnailViewChildren((ContentNode) root));
+                    root = temp;
+                }
+
+                em.setRootContext(root);
+            } else {
+                Node emptyNode = new AbstractNode(Children.LEAF);
+                em.setRootContext(emptyNode); // make empty node
+                
+                IconView iv = ((IconView) this.thumbnailScrollPanel);
+                iv.setBackground(Color.BLACK);
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    @Override
+    public String getTitle() {
+        return "Thumbnail View";
+    }
+
+    @Override
+    public DataResultViewer getInstance() {
+        return new DataResultViewerThumbnail();
+    }
+
+    @Override
+    public void resetComponent() {
+    }
+
+    @Override
+    public void clearComponent() {
+        em.removePropertyChangeListener(this);
+        this.thumbnailScrollPanel.removeAll();
+        this.thumbnailScrollPanel = null;
+        try {
+            this.em.getRootContext().destroy();
+            em = null;
+        } catch (IOException ex) {
+            // TODO: What's the proper thing to do here? Should it log? Not throw runtime exception?
+            throw new RuntimeException("Error: can't clear the component of the Thumbnail Result Viewer.", ex);
+        }
+    }
+
+    @Override
+    public Component getComponent() {
+        return this;
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Installer.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Installer.java
new file mode 100644
index 0000000000..5a3cacffdb
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/Installer.java
@@ -0,0 +1,43 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import org.openide.modules.ModuleInstall;
+import org.openide.windows.WindowManager;
+import org.sleuthkit.autopsy.casemodule.Case;
+
+/**
+ * Manages this module's lifecycle. Opens the startup dialog during startup.
+ */
+public class Installer extends ModuleInstall {
+
+    @Override
+    public void restored() {
+        //TODO: the version number shouldn't really be stored in the Case class
+        System.setProperty("netbeans.buildnumber", Case.getAutopsyVersion());
+
+        WindowManager.getDefault().invokeWhenUIReady(new Runnable() {
+
+            @Override
+            public void run() {
+                Case.invokeStartupDialog(); // bring up the startup dialog
+            }
+        });
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.form
new file mode 100644
index 0000000000..3ac931b2dc
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.form
@@ -0,0 +1,139 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="jScrollPane1" pref="602" max="32767" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="pageLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                      <Component id="currentPageLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="ofLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="totalPageLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                      <Component id="prevPageButton" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                      <Component id="nextPageButton" min="-2" pref="99" max="-2" attributes="0"/>
+                      <EmptySpace pref="276" max="32767" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="filePathLabel" max="32767" attributes="0"/>
+                      <EmptySpace min="-2" pref="574" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="filePathLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="pageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="currentPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="ofLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="totalPageLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="prevPageButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="nextPageButton" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jScrollPane1" pref="337" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JButton" name="nextPageButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.nextPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nextPageButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextPane" name="outputViewPane">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Courier New" size="11" style="0"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JButton" name="prevPageButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.prevPageButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="prevPageButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="totalPageLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.totalPageLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="ofLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.ofLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="currentPageLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.currentPageLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="pageLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.pageLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="filePathLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="OutputViewPanel.filePathLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.java
new file mode 100644
index 0000000000..f7be0036da
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/OutputViewPanel.java
@@ -0,0 +1,251 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * Paging view for DataContentViewer.
+ */
+public class OutputViewPanel extends javax.swing.JPanel {
+
+    private static long currentOffset = 0;
+    private static long pageLength = 10240;
+    private static int currentPage = 1;
+    private int outputType;
+    private Content dataSource;
+
+    /**
+     * Creates new form OutputViewPanel
+     * @param outputType type of panel to display: 1 = hex view, 2 = string view
+     */
+    public OutputViewPanel(int outputType) {
+        initComponents();
+        this.outputType = outputType;
+        this.dataSource = null;
+
+        // clear / reset the fields
+        filePathLabel.setText("");
+        currentPageLabel.setText("");
+        totalPageLabel.setText("");
+        ofLabel.setVisible(false);
+        prevPageButton.setEnabled(false);
+        nextPageButton.setEnabled(false);
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        nextPageButton = new javax.swing.JButton();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        outputViewPane = new javax.swing.JTextPane();
+        prevPageButton = new javax.swing.JButton();
+        totalPageLabel = new javax.swing.JLabel();
+        ofLabel = new javax.swing.JLabel();
+        currentPageLabel = new javax.swing.JLabel();
+        pageLabel = new javax.swing.JLabel();
+        filePathLabel = new javax.swing.JLabel();
+
+        nextPageButton.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.nextPageButton.text")); // NOI18N
+        nextPageButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                nextPageButtonActionPerformed(evt);
+            }
+        });
+
+        outputViewPane.setFont(new java.awt.Font("Courier New", 0, 11));
+        jScrollPane1.setViewportView(outputViewPane);
+
+        prevPageButton.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.prevPageButton.text")); // NOI18N
+        prevPageButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                prevPageButtonActionPerformed(evt);
+            }
+        });
+
+        totalPageLabel.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.totalPageLabel.text")); // NOI18N
+
+        ofLabel.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.ofLabel.text")); // NOI18N
+
+        currentPageLabel.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.currentPageLabel.text")); // NOI18N
+
+        pageLabel.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.pageLabel.text")); // NOI18N
+
+        filePathLabel.setText(org.openide.util.NbBundle.getMessage(OutputViewPanel.class, "OutputViewPanel.filePathLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 602, Short.MAX_VALUE)
+                        .addContainerGap())
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(pageLabel)
+                        .addGap(18, 18, 18)
+                        .addComponent(currentPageLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(ofLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(totalPageLabel)
+                        .addGap(18, 18, 18)
+                        .addComponent(prevPageButton)
+                        .addGap(18, 18, 18)
+                        .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addContainerGap(276, Short.MAX_VALUE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(filePathLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addGap(574, 574, 574))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(filePathLabel)
+                .addGap(4, 4, 4)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(pageLabel)
+                    .addComponent(currentPageLabel)
+                    .addComponent(ofLabel)
+                    .addComponent(totalPageLabel)
+                    .addComponent(prevPageButton)
+                    .addComponent(nextPageButton))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 337, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void prevPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_prevPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset -= pageLength;
+        currentPage = currentPage - 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false, outputType);
+    }//GEN-LAST:event_prevPageButtonActionPerformed
+
+    private void nextPageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextPageButtonActionPerformed
+        //@@@ this is part of the code dealing with the data viewer. could be copied/removed to implement the scrollbar
+        currentOffset += pageLength;
+        currentPage = currentPage + 1;
+        currentPageLabel.setText(Integer.toString(currentPage));
+        setDataView(dataSource, currentOffset, false, outputType);
+    }//GEN-LAST:event_nextPageButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JLabel currentPageLabel;
+    private javax.swing.JLabel filePathLabel;
+    private javax.swing.JScrollPane jScrollPane1;
+    private javax.swing.JButton nextPageButton;
+    private javax.swing.JLabel ofLabel;
+    private javax.swing.JTextPane outputViewPane;
+    private javax.swing.JLabel pageLabel;
+    private javax.swing.JButton prevPageButton;
+    private javax.swing.JLabel totalPageLabel;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Sets the DataView (The tabbed panel)
+     *
+     * @param dataSource  the content that want to be shown
+     * @param offset      the starting offset
+     * @param reset       whether to reset the dataView or not
+     * @param outputType  the type of the output. 1 = hex view, 2 = string view
+     */
+    public void setDataView(Content dataSource, long offset, boolean reset, int outputType) {
+        try {
+            this.dataSource = dataSource;
+            byte[] data;
+
+            if (dataSource.getSize() > 0) {
+                data = dataSource.read(offset, pageLength); // read the data
+            } else {
+                // empty file
+                data = null;
+            }
+
+            // I set the -1 to for empty node or directory
+            if (reset) {
+                data = null;
+                filePathLabel.setText("");
+            }
+
+            // set the data on the bottom and show it
+            String text = "";
+            Boolean setVisible = false;
+
+            if (data != null) {
+                text = DataConversion.getString(data, 4);
+                setVisible = true;
+            }
+
+            // disable or enable the next button
+            if (offset + pageLength < dataSource.getSize()) {
+                nextPageButton.setEnabled(true);
+            } else {
+                nextPageButton.setEnabled(false);
+            }
+
+            if (offset == 0) {
+                prevPageButton.setEnabled(false);
+                currentPage = 1; // reset the page number
+            } else {
+                prevPageButton.setEnabled(true);
+            }
+
+            // type 1 = hex view
+            if (outputType == 1) {
+                outputViewPane.setText(DataConversion.byteArrayToHex(data, pageLength, offset, outputViewPane.getFont()));
+                outputViewPane.moveCaretPosition(0);
+            }
+            // type 2 = string view
+            if (outputType == 2) {
+                outputViewPane.setText(text);
+                outputViewPane.moveCaretPosition(0);
+            }
+
+            if (setVisible) {
+                int totalPage = (int) (dataSource.getSize() / pageLength) + 1;
+                ofLabel.setVisible(true);
+                totalPageLabel.setText(Integer.toString(totalPage));
+                currentPageLabel.setText(Integer.toString(currentPage));
+            } else {
+                // reset or hide the labels
+                ofLabel.setVisible(false);
+                totalPageLabel.setText("");
+                currentPageLabel.setText("");
+            }
+        } catch (TskException ex) {
+            // TODO: maybe make bubble instead
+            Logger.getLogger(OutputViewPanel.class.getName()).log(Level.WARNING, "Error while trying to set the display on the ouput view panel.", ex);
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.form b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.form
new file mode 100644
index 0000000000..1479125a3e
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.form
@@ -0,0 +1,150 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.3" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jScrollPane2" alignment="0" pref="394" max="32767" attributes="0"/>
+                  <Component id="jScrollPane3" alignment="1" pref="394" max="32767" attributes="0"/>
+                  <Component id="jLabel1" alignment="0" pref="394" max="32767" attributes="0"/>
+                  <Group type="102" attributes="0">
+                      <Component id="jPanel1" pref="237" max="32767" attributes="1"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="verboseLoggingButton" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
+              <Component id="jScrollPane3" pref="101" max="32767" attributes="2"/>
+              <EmptySpace min="-2" pref="32" max="-2" attributes="0"/>
+              <Component id="jScrollPane2" pref="103" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
+                      <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="verboseLoggingButton" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="horizontalAlignment" type="int" value="0"/>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="about" type="code"/>
+        </Property>
+        <Property name="horizontalTextPosition" type="int" value="0"/>
+      </Properties>
+      <Events>
+        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jLabel1MouseClicked"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JButton" name="jButton2">
+          <Properties>
+            <Property name="mnemonic" type="int" editor="org.netbeans.modules.i18n.form.FormI18nMnemonicEditor">
+              <ResourceString bundle="" key="MNE_Close" replaceFormat="NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/netbeans/core/ui/Bundle.properties" key="LBL_Close" replaceFormat="NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton2ActionPerformed"/>
+          </Events>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
+              <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="1.0"/>
+            </Constraint>
+          </Constraints>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane3">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="null"/>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextPane" name="copyright">
+          <Properties>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+              <Border info="null"/>
+            </Property>
+            <Property name="contentType" type="java.lang.String" value="text/html"/>
+            <Property name="editable" type="boolean" value="false"/>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/netbeans/core/ui/Bundle.properties" key="LBL_Copyright" replaceFormat="org.openide.util.NbBundle.getBundle({sourceFileName}.class).getString(&quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="copyrightMouseClicked"/>
+          </Events>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane2">
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextPane" name="description">
+          <Properties>
+            <Property name="contentType" type="java.lang.String" value="text/html"/>
+            <Property name="editable" type="boolean" value="false"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_SerializeTo" type="java.lang.String" value="ProductInformationPanel_description"/>
+          </AuxValues>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JButton" name="verboseLoggingButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Activate verbose logging"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="activateVerboseLogging"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.java
new file mode 100644
index 0000000000..d29e1ea8f3
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ProductInformationPanel.java
@@ -0,0 +1,256 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Cursor;
+import java.awt.Window;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.Locale;
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+import org.netbeans.core.actions.HTMLViewAction;
+import org.openide.awt.HtmlBrowser;
+import org.openide.util.NbBundle;
+import org.sleuthkit.autopsy.casemodule.Autopsy;
+import org.sleuthkit.datamodel.SleuthkitJNI;
+
+/**
+ * Custom "About" window panel.
+ */
+class ProductInformationPanel extends JPanel implements HyperlinkListener {
+
+    private URL url = null;
+    private Icon about;
+
+    ProductInformationPanel() {
+        about = new ImageIcon(org.netbeans.core.startup.Splash.loadContent(true));
+        initComponents();
+        jLabel1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+        description.setText(org.openide.util.NbBundle.getMessage(ProductInformationPanel.class,
+                "LBL_Description", new Object[]{getProductVersionValue(), getJavaValue(), getVMValue(),
+                    getOperatingSystemValue(), getEncodingValue(), getSystemLocaleValue(), getUserDirValue(), getSleuthKitVersionValue()}));
+        description.addHyperlinkListener(this);
+        copyright.addHyperlinkListener(this);
+        copyright.setBackground(getBackground());
+        if (Autopsy.verboseLoggingIsSet()) {
+            disableVerboseLoggingButton();
+        }
+
+    }
+
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+        java.awt.GridBagConstraints gridBagConstraints;
+
+        jLabel1 = new javax.swing.JLabel();
+        jPanel1 = new javax.swing.JPanel();
+        jButton2 = new javax.swing.JButton();
+        jScrollPane3 = new javax.swing.JScrollPane();
+        copyright = new javax.swing.JTextPane();
+        jScrollPane2 = new javax.swing.JScrollPane();
+        description = new javax.swing.JTextPane();
+        verboseLoggingButton = new javax.swing.JButton();
+
+        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+        jLabel1.setIcon(about);
+        jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
+        jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                jLabel1MouseClicked(evt);
+            }
+        });
+
+        jPanel1.setLayout(new java.awt.GridBagLayout());
+
+        jButton2.setMnemonic(NbBundle.getMessage(ProductInformationPanel.class, "MNE_Close").charAt(0));
+        jButton2.setText(NbBundle.getMessage(ProductInformationPanel.class, "LBL_Close")); // NOI18N
+        jButton2.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButton2ActionPerformed(evt);
+            }
+        });
+        gridBagConstraints = new java.awt.GridBagConstraints();
+        gridBagConstraints.weightx = 1.0;
+        gridBagConstraints.weighty = 1.0;
+        jPanel1.add(jButton2, gridBagConstraints);
+
+        jScrollPane3.setBorder(null);
+
+        copyright.setBorder(null);
+        copyright.setContentType("text/html");
+        copyright.setEditable(false);
+        copyright.setText(org.openide.util.NbBundle.getBundle(ProductInformationPanel.class).getString("LBL_Copyright")); // NOI18N
+        copyright.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                copyrightMouseClicked(evt);
+            }
+        });
+        jScrollPane3.setViewportView(copyright);
+
+        description.setContentType("text/html");
+        description.setEditable(false);
+        jScrollPane2.setViewportView(description);
+
+        verboseLoggingButton.setText("Activate verbose logging");
+        verboseLoggingButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                activateVerboseLogging(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 394, Short.MAX_VALUE)
+                    .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 394, Short.MAX_VALUE)
+                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 394, Short.MAX_VALUE)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 237, Short.MAX_VALUE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(verboseLoggingButton)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)
+                .addGap(32, 32, 32)
+                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(27, 27, 27)
+                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(verboseLoggingButton))
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+private void copyrightMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_copyrightMouseClicked
+    showUrl();
+}//GEN-LAST:event_copyrightMouseClicked
+
+private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
+    closeDialog();
+}//GEN-LAST:event_jButton2ActionPerformed
+
+private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
+    try {
+        url = new URL(NbBundle.getMessage(ProductInformationPanel.class, "URL_ON_IMG")); // NOI18N
+        showUrl();
+    } catch (MalformedURLException ex) {
+        //ignore
+    }
+    url = null;    // TODO add your handling code here:
+}//GEN-LAST:event_jLabel1MouseClicked
+
+    private void activateVerboseLogging(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_activateVerboseLogging
+        Autopsy.startVerboseLogging();
+        disableVerboseLoggingButton();
+    }//GEN-LAST:event_activateVerboseLogging
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JTextPane copyright;
+    private javax.swing.JTextPane description;
+    private javax.swing.JButton jButton2;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JScrollPane jScrollPane3;
+    private javax.swing.JButton verboseLoggingButton;
+    // End of variables declaration//GEN-END:variables
+
+    private void disableVerboseLoggingButton() {
+        this.verboseLoggingButton.setEnabled(false);
+        this.verboseLoggingButton.setText("Verbose logging enabled");
+    }
+
+    private void closeDialog() {
+        Window w = SwingUtilities.getWindowAncestor(this);
+        w.setVisible(false);
+        w.dispose();
+    }
+
+    private void showUrl() {
+        if (url != null) {
+            org.openide.awt.StatusDisplayer.getDefault().setStatusText(
+                    NbBundle.getBundle(HTMLViewAction.class).getString("CTL_OpeningBrowser"));
+            HtmlBrowser.URLDisplayer.getDefault().showURL(url);
+        }
+    }
+
+    private static String getSleuthKitVersionValue() {
+        return SleuthkitJNI.getVersion();
+    }
+
+    private static String getProductVersionValue() {
+        return MessageFormat.format(
+                NbBundle.getBundle("org.netbeans.core.startup.Bundle").getString("currentVersion"),
+                new Object[]{System.getProperty("netbeans.buildnumber")});
+    }
+
+    private static String getOperatingSystemValue() {
+        return NbBundle.getMessage(ProductInformationPanel.class, "Format_OperatingSystem_Value",
+                System.getProperty("os.name", "unknown"),
+                System.getProperty("os.version", "unknown"),
+                System.getProperty("os.arch", "unknown"));
+    }
+
+    private static String getJavaValue() {
+        return System.getProperty("java.version", "unknown");
+    }
+
+    private static String getVMValue() {
+        return System.getProperty("java.vm.name", "unknown") + " " + System.getProperty("java.vm.version", "");
+    }
+
+    private static String getSystemLocaleValue() {
+        String branding;
+        return Locale.getDefault().toString() + ((branding = NbBundle.getBranding()) == null ? "" : (" (" + branding + ")")); // NOI18N
+    }
+
+    private String getUserDirValue() {
+        return System.getProperty("netbeans.user");
+    }
+
+    private static String getEncodingValue() {
+        return System.getProperty("file.encoding", "unknown");
+    }
+
+    @Override
+    public void hyperlinkUpdate(HyperlinkEvent event) {
+        if (HyperlinkEvent.EventType.ENTERED == event.getEventType()) {
+            url = event.getURL();
+        } else if (HyperlinkEvent.EventType.EXITED == event.getEventType()) {
+            url = null;
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterChildren.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterChildren.java
new file mode 100644
index 0000000000..dcc3a78846
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterChildren.java
@@ -0,0 +1,59 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import org.openide.nodes.Children;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+
+/**
+ * Complementary class to TableFilterNode.
+ */
+class TableFilterChildren extends FilterNode.Children {
+
+    /** the constructor */
+    TableFilterChildren(Node arg) {
+        super(arg);
+    }
+
+    @Override
+    protected Node copyNode(Node arg0) {
+        return new TableFilterNode(arg0, false);
+    }
+
+    @Override
+    protected Node[] createNodes(Node arg0) {
+        // filter out the children
+        return new Node[]{this.copyNode(arg0)};
+    }
+
+    /**
+     * Converts the given FsContent into "Children".
+     *
+     * @param fs
+     * @return children
+     */
+    public static Children createInstance(Node arg, boolean createChild) {
+        if (createChild) {
+            return new TableFilterChildren(arg);
+        } else {
+            return Children.LEAF;
+        }
+    }
+}
\ No newline at end of file
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterNode.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterNode.java
new file mode 100644
index 0000000000..33236fc791
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/TableFilterNode.java
@@ -0,0 +1,59 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+
+/**
+ * This class is used to filter the nodes that we want to show on the "TreeTableView".
+ * So basically we just want to show one layer of nodes from it's parent.
+ *
+ * @author jantonius
+ */
+class TableFilterNode extends FilterNode {
+
+    private boolean createChild;
+
+    /** the constructor */
+    public TableFilterNode(Node arg, boolean crChild) {
+        super(arg, TableFilterChildren.createInstance(arg, crChild));
+        this.createChild = crChild;
+    }
+
+    @Override
+    public Node getOriginal() {
+        return super.getOriginal();
+    }
+
+    /**
+     * Override the display name / header for the first (tree) column on the
+     * "TreeTableView".
+     *
+     * @return disName  the display name for the first column
+     */
+    @Override
+    public String getDisplayName() {
+        if (createChild) {
+            return "Name";
+        } else {
+            return super.getDisplayName();
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java
new file mode 100644
index 0000000000..42916ee103
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewChildren.java
@@ -0,0 +1,78 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+
+/**
+ * Complementary class to ThumbnailViewNode
+ */
+class ThumbnailViewChildren extends FilterNode.Children {
+
+    private int totalChildren;
+
+    /** the constructor */
+    ThumbnailViewChildren(ContentNode arg) {
+        super((Node) arg);
+        this.totalChildren = 1;
+    }
+
+    @Override
+    protected Node copyNode(Node arg0) {
+        return new ThumbnailViewNode((ContentNode) arg0);
+    }
+
+    @Override
+    protected Node[] createNodes(Node arg0) {
+        // filter out the FileNode and the "." and ".." directories
+        if (arg0 != null && //(arg0 instanceof FileNode &&
+                isSupported(arg0)) {
+            totalChildren++;
+            return new Node[]{this.copyNode(arg0)};
+        } else {
+            return new Node[]{};
+        }
+    }
+
+    public int childrenCount() {
+        return this.totalChildren;
+    }
+
+    public static boolean isSupported(Node node) {
+        if (node != null) {
+            String lowerName = node.getDisplayName().toLowerCase();
+            // Note: only supports JPG, GIF, and PNG for now
+            // TODO: replace giant OR with check if in list
+            return lowerName.endsWith(".jpg")
+                    || lowerName.endsWith(".jpeg")
+                    || //node.getName().toLowerCase().endsWith(".jpe") ||
+                    //node.getName().toLowerCase().endsWith(".jfif") ||
+                    lowerName.endsWith(".gif")
+                    || //node.getName().toLowerCase().endsWith(".bmp") ||
+                    //node.getName().toLowerCase().endsWith(".tif") ||
+                    //node.getName().toLowerCase().endsWith(".tiff") ||
+                    //node.getName().toLowerCase().endsWith(".tga") ||
+                    lowerName.endsWith(".png");
+        } else {
+            return false;
+        }
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewNode.java b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewNode.java
new file mode 100644
index 0000000000..304cdeea6c
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/ThumbnailViewNode.java
@@ -0,0 +1,125 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.corecomponents;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.MediaTracker;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+import java.lang.ref.SoftReference;
+import java.util.logging.Level;
+import javax.swing.ImageIcon;
+import javax.swing.JFrame;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ *
+ * @author jantonius
+ */
+class ThumbnailViewNode extends FilterNode {
+
+    private ContentNode currentNode;
+    // for error handling
+    private SoftReference<Image> iconCache;
+    private static Image defaultIcon = new ImageIcon("/org/sleuthkit/autopsy/images/file-icon.png").getImage();
+
+    /** the constructor */
+    ThumbnailViewNode(ContentNode arg) {
+        super((Node) arg, Children.LEAF);
+        this.currentNode = arg;
+    }
+
+    @Override
+    public Node getOriginal() {
+        return super.getOriginal();
+    }
+
+    @Override
+    public Image getIcon(int type) {
+        Image icon = null;
+
+        if (iconCache != null) {
+            icon = iconCache.get();
+        }
+
+        if (icon == null) {
+            try {
+                System.out.println("generate");
+                icon = generateIcon();
+                iconCache = new SoftReference<Image>(icon);
+            } catch (TskException ex) {
+                icon = ThumbnailViewNode.defaultIcon;
+            }
+        }
+
+        return icon;
+    }
+
+    private Image generateIcon() throws TskException {
+        ContentNode temp = currentNode;
+        byte[] content = temp.read(0, temp.getContent().getSize());
+        Image result = Toolkit.getDefaultToolkit().createImage(content);
+
+        // scale the image
+        MediaTracker mTracker = new MediaTracker(new JFrame());
+        mTracker.addImage(result, 1);
+        try {
+            mTracker.waitForID(1);
+        } catch (InterruptedException ex) {
+            // TODO: maybe make bubble instead
+            Log.get(ThumbnailViewNode.class).log(Level.WARNING, "Error while trying to scale the icon.", ex);
+        }
+        int width = result.getWidth(null);
+        int height = result.getHeight(null);
+
+        int max = Math.max(width, height);
+        double scale = (75 * 100) / max;
+
+        // getScaledInstance can't take have width or height be 0, so round
+        // up by adding 1 after truncating to int.
+        width = (int) ((width * scale) / 100) + 1;
+        height = (int) ((height * scale) / 100) + 1;
+
+        result = result.getScaledInstance(width, height, Image.SCALE_SMOOTH);
+
+        // load the image completely
+        mTracker.addImage(result, 1);
+        try {
+            mTracker.waitForID(1);
+        } catch (InterruptedException ex) {
+            // TODO: maybe make bubble instead
+            Log.get(ThumbnailViewNode.class).log(Level.WARNING, "Error while trying to load the icon.", ex);
+        }
+
+        // create 75x75 image for the icon with the icon on the center
+        BufferedImage combined = new BufferedImage(75, 75, BufferedImage.TYPE_INT_ARGB);
+        Graphics2D g = (Graphics2D) combined.getGraphics();
+        g.setColor(Color.WHITE);
+        g.setBackground(Color.WHITE);
+        g.drawImage(result, (75 - width) / 2, (75 - height) / 2, null);
+
+        return Toolkit.getDefaultToolkit().createImage(combined.getSource());
+    }
+}
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_left.gif b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d0d85dba4b9abc810f454a014fafc142f97f5f16
GIT binary patch
literal 874
zcmZ?wbhEHb6k!ly_|5<V%*@Q1nwmN~I>yGv<>lodp;0^<0wW^?6o0ZXGBEsS&;fZD
zlqVQC+!_9J%6M#8aIl#}SSzMt1A}uj1BZ=@hQcG4Mi!=sIT{X+-P#zO+NPW+XgD#E
h-*=u0XVKH6eH!{{e@;w%<}zDYHtx>J$>|OZ)&M?!B|`uJ

literal 0
HcmV?d00001

diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_right.gif b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/arrow_right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..85272ad99cc0df252748b08468d0649a9c90fcda
GIT binary patch
literal 870
zcmZ?wbhEHb6k!ly_|5<VGBPrup`jqwC>{-g5f%c9KUo+V82&Tpfcy>06AT>A4F5T0
zJT@#i*vuiU6{C@$=)}MvBh@0|pyb#gpv!fHW5FWVK1tQ4HyT1qj<+h?C)vE5u=rTL
UNc^E5jm-<s%(lp9V_~oc0Lob(Pyhe`

literal 0
HcmV?d00001

diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/corecomponents-helpset.xml b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/corecomponents-helpset.xml
new file mode 100644
index 0000000000..367403b593
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/corecomponents-helpset.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpsetref PUBLIC "-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN" "http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
+<helpsetref url="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/corecomponents-hs.xml"/>
diff --git a/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/layer.xml b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/layer.xml
new file mode 100644
index 0000000000..e9a8fa7c8f
--- /dev/null
+++ b/CoreComponents/src/org/sleuthkit/autopsy/corecomponents/layer.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <folder name="Actions">
+        <folder name="Help">
+            <file name="org-netbeans-core-actions-AboutAction.instance_hidden"/>
+            <file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.corecomponents.CustomAboutAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_CustomAboutAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+        </folder>
+        <folder name="Window">
+            <file name="org-sleuthkit-autopsy-corecomponents-DataContentAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.corecomponents.Bundle#CTL_DataContentAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>
+        </folder>
+    </folder>
+    <folder name="Menu">
+        <folder name="Help">
+            <attr name="master-help.xml/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow" boolvalue="true"/>
+            <file name="org-netbeans-core-actions-AboutAction.shadow_hidden"/>
+            <file name="org-sleuthkit-autopsy-corecomponents-CustomAboutAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/Help/org-sleuthkit-autopsy-corecomponents-CustomAboutAction.instance"/>
+            </file>
+        </folder>
+        <folder name="Window"/>
+    </folder>
+    <folder name="Services">
+        <folder name="JavaHelp">
+            <file name="corecomponents-helpset.xml" url="corecomponents-helpset.xml">
+                <attr name="position" intvalue="3801"/>
+            </file>
+        </folder>
+        <file name="org-sleuthkit-autopsy-corecomponents-DataContentTopComponent.instance">
+            <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataContent"/>
+            <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.corecomponents.DataContentTopComponent.getDefault"/>
+        </file>
+    </folder>
+    <folder name="Windows2">
+        <folder name="Components">
+
+        </folder>
+        <folder name="Modes">
+            <folder name="editor">
+                </folder>
+            <folder name="output">
+            </folder>
+        </folder>
+    </folder>
+</filesystem>
diff --git a/DataModel/build.xml b/DataModel/build.xml
new file mode 100644
index 0000000000..1c5480c65a
--- /dev/null
+++ b/DataModel/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.datamodel" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.datamodel.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/DataModel/manifest.mf b/DataModel/manifest.mf
new file mode 100644
index 0000000000..e6e7aaf8c3
--- /dev/null
+++ b/DataModel/manifest.mf
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.datamodel/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Install: org/sleuthkit/autopsy/datamodel/Installer.class
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/datamodel/Bundle.properties
+
diff --git a/DataModel/nbproject/build-impl.xml b/DataModel/nbproject/build-impl.xml
new file mode 100644
index 0000000000..93e8e0c4d4
--- /dev/null
+++ b/DataModel/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.datamodel-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/DataModel/nbproject/genfiles.properties b/DataModel/nbproject/genfiles.properties
new file mode 100644
index 0000000000..1b1b7ff913
--- /dev/null
+++ b/DataModel/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=3fc9375e
+build.xml.script.CRC32=3bd58878
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=c861ba34
+nbproject/build-impl.xml.script.CRC32=b0a13adb
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.46.2
diff --git a/DataModel/nbproject/project.properties b/DataModel/nbproject/project.properties
new file mode 100644
index 0000000000..6687cb6920
--- /dev/null
+++ b/DataModel/nbproject/project.properties
@@ -0,0 +1,5 @@
+file.reference.sqlite-jdbc-3.6.20.jar=release/modules/ext/sqlite-jdbc-3.6.20.jar
+file.reference.Tsk_DataModel.jar=release/modules/ext/Tsk_DataModel.jar
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+spec.version.base=0.0
diff --git a/DataModel/nbproject/project.xml b/DataModel/nbproject/project.xml
new file mode 100644
index 0000000000..4e76ac7974
--- /dev/null
+++ b/DataModel/nbproject/project.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.datamodel</package>
+                <package>org.sleuthkit.datamodel</package>
+                <package>org.sqlite</package>
+            </public-packages>
+            <class-path-extension>
+                <runtime-relative-path>ext/sqlite-jdbc-3.6.20.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/sqlite-jdbc-3.6.20.jar</binary-origin>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>ext/Tsk_DataModel.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/Tsk_DataModel.jar</binary-origin>
+            </class-path-extension>
+        </data>
+    </configuration>
+</project>
diff --git a/DataModel/nbproject/suite.properties b/DataModel/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/DataModel/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java
new file mode 100644
index 0000000000..9d50383d15
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java
@@ -0,0 +1,95 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.datamodel;
+
+import org.openide.nodes.Children.Keys;
+import org.openide.nodes.Node;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.ContentVisitor;
+import org.sleuthkit.datamodel.Directory;
+import org.sleuthkit.datamodel.File;
+import org.sleuthkit.datamodel.FileSystem;
+import org.sleuthkit.datamodel.Image;
+import org.sleuthkit.datamodel.Volume;
+import org.sleuthkit.datamodel.VolumeSystem;
+
+/**
+ * Abstract subclass for ContentChildren and RootContentChildren implementations
+ * that handles creating Nodes from Content objects.
+*/
+abstract class AbstractContentChildren extends Keys<Content> {
+    private static CreateNodeVisitor createNode = new CreateNodeVisitor();
+
+    /**
+     * Uses lazy Content.Keys 
+     */
+    AbstractContentChildren() {
+        super(true); // use lazy behavior
+    }
+
+    @Override
+    protected Node[] createNodes(Content key) {
+        return new Node[]{key.accept(createNode)};
+    }
+    
+    @Override
+    abstract protected void addNotify();
+    
+    @Override
+    abstract protected void removeNotify();
+   
+    
+    /**
+     * Creates appropriate Node for each sub-class of Content
+     */
+    static class CreateNodeVisitor implements ContentVisitor<AbstractContentNode> {
+        
+        @Override
+        public AbstractContentNode visit(Directory drctr) {
+            return new DirectoryNode(drctr);
+        }
+
+        @Override
+        public AbstractContentNode visit(File file) {
+            return new FileNode(file);
+        }
+
+        @Override
+        public AbstractContentNode visit(FileSystem fs) {
+            throw new UnsupportedOperationException("No Node defined for FileSystems.");
+        }
+
+        @Override
+        public AbstractContentNode visit(Image image) {
+            return new ImageNode(image);
+        }
+
+        @Override
+        public AbstractContentNode visit(Volume volume) {
+            return new VolumeNode(volume);
+        }
+
+        @Override
+        public AbstractContentNode visit(VolumeSystem vs) {
+            throw new UnsupportedOperationException("No Node defined for VolumeSystems.");
+        }
+    }
+    
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java
new file mode 100644
index 0000000000..ac8deb19ea
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java
@@ -0,0 +1,243 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.datamodel;
+
+import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+import org.openide.nodes.AbstractNode;
+import org.openide.util.lookup.Lookups;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.ContentVisitor;
+import org.sleuthkit.datamodel.Directory;
+import org.sleuthkit.datamodel.File;
+import org.sleuthkit.datamodel.FileSystem;
+import org.sleuthkit.datamodel.Image;
+import org.sleuthkit.datamodel.TskException;
+import org.sleuthkit.datamodel.Volume;
+import org.sleuthkit.datamodel.VolumeSystem;
+
+/**
+ * Interface class that all Data nodes inherit from.
+ * Provides basic information such as ID, parent ID, etc.
+ * @param <T> type of wrapped Content
+ */
+abstract class AbstractContentNode<T extends Content> extends AbstractNode implements ContentNode {
+    /**
+     * Underlying Sleuth Kit Content object
+     */
+    T content;
+    
+    /**
+     * Handles aspects that depend on the Content object
+     * @param content Underlying Content instances
+     */
+    AbstractContentNode(T content) {
+        super(new ContentChildren(content), Lookups.singleton(content));
+        this.content = content;
+        super.setName(content.accept(systemName));
+    }
+    
+    @Override
+    public void setName(String name) {
+        throw new UnsupportedOperationException("Can't change the system name.");
+    }
+    
+    @Override
+    public String getName() {
+        return super.getName();
+    }
+
+    /**
+     * Gets the ID of this node.
+     *
+     * @return ID  the ID of this node
+     */
+    public long getID() {
+        return content.getId();
+    }
+
+    /**
+     * Gets the row values for this node. The main purpose of this method is to
+     * get the 'x' number of the row values for this node to set the width of each
+     * column of the DataResult Table. Row values is the children and it's properties.
+     *
+     * @param rows              the number of rows we want to show
+     * @return rowValues        the row values for this node.
+     * @throws SQLException
+     */
+    abstract public Object[][] getRowValues(int rows) throws SQLException;
+
+    /**
+     * Reads the content of this node.
+     *
+     * @param offset  the starting offset
+     * @param len     the length
+     * @return        the bytes
+     * @throws TskException
+     */
+    public byte[] read(long offset, long len) throws TskException {
+        return content.read(offset, len);
+    }
+
+    /**
+     * Returns the location of the file ID / Metadata address on the columns on
+     * the directory table.
+     *
+     * @return
+     */
+    abstract public int getFileIDColumn();
+    
+    /**
+     * Returns the content of this node.
+     *
+     * @return content  the content of this node (can be image, volume, directory, or file)
+     */
+    public Content getContent() {
+        return content;
+    }
+    
+    private static final ShortNameVisitor shortName = new ShortNameVisitor();
+    
+    private static final GetPathVisitor getDisplayPath = new GetPathVisitor(shortName);
+    
+    /**
+     * Returns full path to this node.
+     *
+     * @return the path of this node
+     */
+    public String[] getDisplayPath() {
+        return content.accept(getDisplayPath).toArray(new String[]{});
+    }
+    
+    private static final SystemNameVisitor systemName = new SystemNameVisitor();
+    
+    private static final GetPathVisitor getSystemPath = new GetPathVisitor(systemName);
+    
+    /**
+     * Returns full path to this node.
+     * 
+     * @return the path of this node
+     */
+    public String[] getSystemPath() {
+        return content.accept(getSystemPath).toArray(new String[]{});
+    }
+    
+    private static class SystemNameVisitor extends ContentVisitor.Default<String> {
+        SystemNameVisitor() {}
+
+        @Override
+        protected String defaultVisit(Content cntnt) {
+            return cntnt.accept(shortName) + ":" + Long.toString(cntnt.getId());
+        }
+    }
+   
+    private static class ShortNameVisitor extends ContentVisitor.Default<String> {
+        ShortNameVisitor() {}
+
+        @Override
+        protected String defaultVisit(Content cntnt) {
+            throw new UnsupportedOperationException("Can't get short name for given content type:" + cntnt.getClass());
+        }
+
+        @Override
+        public String visit(Directory dir) {
+            return DirectoryNode.nameForDirectory(dir);
+        }
+
+        @Override
+        public String visit(File f) {
+            return FileNode.nameForFile(f);
+        }
+
+        @Override
+        public String visit(Volume v) {
+            return VolumeNode.nameForVolume(v);
+        }
+
+        @Override
+        public String visit(Image i) {
+            return ImageNode.nameForImage(i);
+        }
+    }
+    
+    private static class GetPathVisitor implements ContentVisitor<List<String>> { 
+        ContentVisitor<String> toString;
+
+        GetPathVisitor(ContentVisitor<String> toString) {
+            this.toString = toString;
+        }
+
+        @Override
+        public List<String> visit(Directory dir) {
+            List<String> path;
+
+            if (dir.isRoot()) {
+                path = dir.getFileSystem().accept(this);
+            } else {
+                try {
+                    path = dir.getParentDirectory().accept(this);
+                    path.add(toString.visit(dir));
+                } catch (TskException ex) {
+                    throw new RuntimeException("Couldn't get directory path.", ex);
+                }
+            }
+            
+            return path;
+        }
+
+        @Override
+        public List<String> visit(File file) {
+            try {
+                List<String> path = file.getParentDirectory().accept(this);
+                path.add(toString.visit(file));
+                return path;
+            } catch (TskException ex) {
+                throw new RuntimeException("Couldn't get file path.", ex);
+            }
+        }
+
+        @Override
+        public List<String> visit(FileSystem fs) {
+            return fs.getParent().accept(this);
+        }
+
+        @Override
+        public List<String> visit(Image image) {
+           List<String> path = new LinkedList<String>();
+           path.add(toString.visit(image));
+           return path;
+        }
+
+        @Override
+        public List<String> visit(Volume volume) {
+            List<String> path = volume.getParent().accept(this);
+            path.add(toString.visit(volume));
+            return path;
+        }
+
+        @Override
+        public List<String> visit(VolumeSystem vs) {
+            return vs.getParent().accept(this);
+        }
+
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java
new file mode 100644
index 0000000000..4ab314bb2b
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java
@@ -0,0 +1,73 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import org.openide.nodes.Sheet;
+import org.sleuthkit.datamodel.FsContent;
+
+/**
+ * Abstract class that implements the commonality between File and Directory
+ * Nodes (same properties).
+ */
+abstract class AbstractFsContentNode<T extends FsContent> extends AbstractContentNode<T> {
+
+    /**
+     * Name of the property that holds the name.
+     */
+    public static final String PROPERTY_NAME = "Name";
+    /**
+     * Name of the property that holds the path.
+     */
+    public static final String PROPERTY_LOCATION = "Location";
+
+    AbstractFsContentNode(T fsContent) {
+        super(fsContent);
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet s = super.createSheet();
+        Sheet.Set ss = s.get(Sheet.PROPERTIES);
+        if (ss == null) {
+            ss = Sheet.createPropertiesSet();
+            s.put(ss);
+        }
+
+        // Note: this order matters for the search result, changed it if the order of property headers on the "KeywordSearchNode"changed
+        ss.put(new NodeProperty(PROPERTY_NAME, "Name", "no description", content.getName()));
+        ss.put(new NodeProperty(PROPERTY_LOCATION, "Location", "no description", DataConversion.getformattedPath(this.getDisplayPath(), 0)));
+        ss.put(new NodeProperty("Modified Time", "Modified Time", "no description", content.getMtimeAsDate()));
+        ss.put(new NodeProperty("Changed Time", "Changed Time", "no description", content.getCtimeAsDate()));
+        ss.put(new NodeProperty("Access Time", "Access Time", "no description", content.getAtimeAsDate()));
+        ss.put(new NodeProperty("Created Time", "Created Time", "no description", content.getCrtimeAsDate()));
+        ss.put(new NodeProperty("Size", "Size", "no description", content.getSize()));
+        ss.put(new NodeProperty("Flags (Directory)", "Flags (Directory)", "no description", content.getDirFlagsAsString()));
+        ss.put(new NodeProperty("Flags (Meta)", "Flags (Meta)", "no description", content.getMetaFlagsAsString()));
+        ss.put(new NodeProperty("Mode ", "Mode", "no description", content.getModeAsString()));
+        ss.put(new NodeProperty("User ID", "User ID", "no description", content.getUid()));
+        ss.put(new NodeProperty("Group ID", "Group ID", "no description", content.getGid()));
+        ss.put(new NodeProperty("Metadata Address", "Metadata Addr", "no description", content.getMeta_addr()));
+        ss.put(new NodeProperty("Attribute Address", "Attribute Addr", "no description", Long.toString(content.getAttr_type()) + "-" + Long.toString(content.getAttr_id())));
+        ss.put(new NodeProperty("Type (Directory)", "Type (Directory)", "no description", content.getDirTypeAsString()));
+        ss.put(new NodeProperty("Type (Meta)", "Type (Meta)", "no description", content.getMetaTypeAsString()));
+        ss.put(new NodeProperty("Known", "Known", "no description", content.getKnown().getName()));
+
+        return s;
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/DataModel/src/org/sleuthkit/autopsy/datamodel/Bundle.properties
new file mode 100644
index 0000000000..cd313e7b75
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/Bundle.properties
@@ -0,0 +1 @@
+OpenIDE-Module-Name=DataModel
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java
new file mode 100644
index 0000000000..710a02efdf
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentChildren.java
@@ -0,0 +1,100 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.logging.Level;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.ContentVisitor;
+import org.sleuthkit.datamodel.Directory;
+import org.sleuthkit.datamodel.FileSystem;
+import org.sleuthkit.datamodel.TskException;
+import org.sleuthkit.datamodel.VolumeSystem;
+
+/**
+ * Class for Children of all ContentNodes. Handles creating child ContentNodes.
+ */
+class ContentChildren extends AbstractContentChildren {
+
+    private Content parent;
+
+    ContentChildren(Content parent) {
+        this.parent = parent;
+    }
+    private static CreateKeysVisitor createKeys = new CreateKeysVisitor();
+
+    @Override
+    protected void addNotify() {
+        setKeys(createKeys.getChildrenKeys(parent));
+    }
+
+    @Override
+    protected void removeNotify() {
+        setKeys(Collections.EMPTY_SET);
+    }
+
+    static private class CreateKeysVisitor extends ContentVisitor.Default<List<? extends Content>> {
+
+        List<Content> getChildrenKeys(Content parent) {
+            List<Content> keys = new ArrayList<Content>();
+
+            List<Content> children;
+
+            try {
+                children = parent.getChildren();
+            } catch (TskException ex) {
+                Log.get(CreateKeysVisitor.class).log(Level.WARNING, "Error getting Content children.", ex);
+                children = Collections.EMPTY_LIST;
+            }
+
+            for (Content c : children) {
+                keys.addAll(c.accept(this));
+            }
+
+            return keys;
+        }
+
+        @Override
+        protected List<Content> defaultVisit(org.sleuthkit.datamodel.Content c) {
+            return Collections.singletonList(c);
+        }
+
+        @Override
+        public List<Content> visit(VolumeSystem vs) {
+            return getChildrenKeys(vs);
+        }
+
+        @Override
+        public List<Content> visit(FileSystem fs) {
+            return getChildrenKeys(fs);
+        }
+
+        @Override
+        public List<? extends Content> visit(Directory dir) {
+            if (dir.isRoot()) {
+                return getChildrenKeys(dir);
+            } else {
+                return Collections.singletonList(dir);
+            }
+        }
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNode.java
new file mode 100644
index 0000000000..885bdc51ea
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNode.java
@@ -0,0 +1,105 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.sql.SQLException;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * Interface class that all Data nodes inherit from.
+ * Provides basic information such as ID, parent ID, etc.
+ */
+public interface ContentNode {
+
+    /**
+     * Returns the programmatic name for this node. This is NOT the name to
+     * display to users, or the plain name of the Content object - use
+     * Node.getDisplayName() for that.
+     *
+     * @return name  the programmatic name for this node
+     */
+    public String getName();
+
+    /**
+     * Gets the ID of this node.
+     *
+     * @return ID  the ID of this node
+     */
+    public long getID();
+
+    /**
+     * Gets the row values for this node. The main purpose of this method is to
+     * get the 'x' number of the row values for this node to set the width of each
+     * column of the DataResult Table. Row values is the children and it's properties.
+     *
+     * @param rows              the number of rows we want to show
+     * @return rowValues        the row values for this node.
+     * @throws SQLException
+     */
+    public Object[][] getRowValues(int rows) throws SQLException;
+
+    /**
+     * Reads the content of this node.
+     *
+     * @param offset  the starting offset
+     * @param len     the length
+     * @return        the bytes
+     * @throws TskException
+     */
+    public byte[] read(long offset, long len) throws TskException;
+
+    /**
+     * Returns the location of the file ID / Metadata address on the columns on
+     * the directory table.
+     *
+     * @return
+     */
+    public int getFileIDColumn();
+
+    /**
+     * Returns the content of this node.
+     *
+     * @return content  the content of this node (can be image, volume, directory, or file)
+     */
+    public Content getContent();
+
+    /**
+     * Returns full path to this node.
+     *
+     * @return the path of this node
+     */
+    public String[] getDisplayPath();
+
+    /**
+     * Returns full path to this node.
+     *
+     * @return the path of this node
+     */
+    public String[] getSystemPath();
+
+    /**
+     * Visitor pattern support.
+     * 
+     * @param <T> visitor return type
+     * @param v visitor
+     * @return visitor return value
+     */
+    public <T> T accept(ContentNodeVisitor<T> v);
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNodeVisitor.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNodeVisitor.java
new file mode 100644
index 0000000000..e31782487f
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/ContentNodeVisitor.java
@@ -0,0 +1,69 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+/**
+ * Interface for visitor pattern on ContentNodes
+ * @param <T> visit method return type
+ */
+public interface ContentNodeVisitor<T> {
+
+    T visit(DirectoryNode dn);
+
+    T visit(FileNode fn);
+
+    T visit(ImageNode in);
+
+    T visit(VolumeNode vn);
+
+    /**
+     * Visitor with an implementable default behavior for all types. Override
+     * specific visit types to not use the default behavior.
+     * @param <T>
+     */
+    static abstract public class Default<T> implements ContentNodeVisitor<T> {
+
+        /**
+         * Default visit for all types
+         * @param c
+         * @return
+         */
+        protected abstract T defaultVisit(ContentNode c);
+
+        @Override
+        public T visit(DirectoryNode dn) {
+            return defaultVisit(dn);
+        }
+
+        @Override
+        public T visit(FileNode fn) {
+            return defaultVisit(fn);
+        }
+
+        @Override
+        public T visit(ImageNode in) {
+            return defaultVisit(in);
+        }
+
+        @Override
+        public T visit(VolumeNode vn) {
+            return defaultVisit(vn);
+        }
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/DataConversion.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/DataConversion.java
new file mode 100644
index 0000000000..e4a54cf5a3
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/DataConversion.java
@@ -0,0 +1,189 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.awt.Font;
+import java.util.Arrays;
+
+/**
+ * Helper methods for converting data.
+ */
+public class DataConversion {
+
+    public static String byteArrayToHex(byte[] array, long length, long offset, Font font) {
+        if (array == null) {
+            return "";
+        } else {
+            String base = new String(array);
+            
+            StringBuilder buff = new StringBuilder();
+            int count = 0;
+            int extra = base.length() % 16;
+            String sub = "";
+            char subchar;
+
+            //commented out code can be used as a base for generating hex length based on
+            //offset/length/file size
+            //String hex = Long.toHexString(length + offset);
+            //double hexMax = Math.pow(16, hex.length());
+            double hexMax = Math.pow(16, 6);
+            while (count < base.length() - extra) {
+                buff.append("0x" + Long.toHexString((long) (offset + count + hexMax)).substring(1) + ": ");
+                for (int i = 0; i < 16; i++) {
+                    buff.append(Integer.toHexString((((int) base.charAt(count + i)) & 0xff) + 256).substring(1).toUpperCase() + "  ");
+                    if (i == 7) {
+                        buff.append("  ");
+                    }
+                }
+                sub = base.substring(count, count + 16);
+                for (int i = 0; i < 16; i++) {
+                    subchar = sub.charAt(i);
+                    if (!font.canDisplay(subchar)) {
+                        sub.replace(subchar, '.');
+                    }
+
+                    // replace all unprintable characters with "."
+                    int dec = (int) subchar;
+                    if (dec < 32 || dec > 126) {
+                        sub = sub.replace(subchar, '.');
+                    }
+                }
+                buff.append("  " + sub + "\n");
+                count += 16;
+
+            }
+            if (base.length() % 16 != 0) {
+                buff.append("0x" + Long.toHexString((long) (offset + count + hexMax)).substring(1) + ": ");
+            }
+            for (int i = 0; i < 16; i++) {
+                if (i < extra) {
+                    buff.append(Integer.toHexString((((int) base.charAt(count + i)) & 0xff) + 256).substring(1) + "  ");
+                } else {
+                    buff.append("    ");
+                }
+                if (i == 7) {
+                    buff.append("  ");
+                }
+            }
+            sub = base.substring(count, count + extra);
+            for (int i = 0; i < extra; i++) {
+                subchar = sub.charAt(i);
+                if (!font.canDisplay(subchar)) {
+                    sub.replace(subchar, '.');
+                }
+            }
+            buff.append("  " + sub);
+            return buff.toString();
+        }
+    }
+
+    protected static String charArrayToByte(char[] array) {
+        if (array == null) {
+            return "";
+        } else {
+            String[] binary = new String[array.length];
+
+            for (int i = 0; i < array.length; i++) {
+                binary[i] = Integer.toBinaryString(array[i]);
+            }
+            return Arrays.toString(binary);
+        }
+    }
+
+    /*
+     * Gets only the printable string from the given characters
+     *
+     * The definition of printable are:
+     *  -- All of the letters, numbers, and punctuation.
+     *  -- space and tab
+     *  -- It does NOT include newlines or control chars.
+     *  -- When looking for ASCII strings, they evaluate each byte and when they find four or more printable characters they get printed out with a newline in between each string.
+     *  -- When looking for Unicode strings, they evaluate each two byte sequence and look for four or more printable characters…
+     *
+     * @param args          the bytes that the string read from
+     * @param parameter     the "length" parameter for the string
+     *
+     * @author jantonius
+     */
+    public static String getString(byte[] args, int parameter) {
+
+        /*
+        // these encoding might be needed for later
+        // Note: if not used, can be deleted
+        CharsetEncoder asciiEncoder =
+        Charset.forName("US-ASCII").newEncoder(); // or "ISO-8859-1" for ISO Latin 1
+        
+        CharsetEncoder utf8Encoder =
+        Charset.forName("UTF-8").newEncoder();
+         */
+
+        String result = "";
+        String temp = "";
+        int counter = 0;
+        //char[] converted = new java.lang.System.Text.Encoding.ASCII.GetString(args).ToCharArray();
+
+        char NL = (char) 10; // ASCII char for new line
+
+        for (int i = 0; i < args.length; i++) {
+            char tempChar = (char) args[i];
+            int dec = (int) tempChar;
+
+            // the printable ASCII chars are dec 32-126
+            // and we want to include TAB as well (dec 9)
+            if (!((dec < 32 || dec > 126) && dec != 9)) {
+                temp = temp + Character.toString(tempChar);
+                counter = counter + 1;
+            } else {
+                if (counter >= parameter) {
+                    // add to the result and also add the new line at the end
+                    result = result + temp + Character.toString(NL);
+
+                    // reset the temp and counter
+                    temp = "";
+                    counter = 0;
+                }
+                // reset the temp and counter
+                temp = "";
+                counter = 0;
+            }
+        }
+
+        result = result + temp;
+
+        return result;
+    }
+
+    /**
+     * Converts the given paths into the formatted path. This mainly used for
+     * the paths for the "new directory table" and "new output view".
+     *
+     * @param paths  the given paths
+     * @param index  the starting index of the given paths
+     * @return path  the formatted path
+     *
+     * @author jantonius
+     */
+    public static String getformattedPath(String[] paths, int index) {
+        String result = "";
+        for (int i = index; i < paths.length; i++) {
+            result = result + "\\" + paths[i];
+        }
+        return result;
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java
new file mode 100644
index 0000000000..0d8ac100f0
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java
@@ -0,0 +1,112 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import javax.swing.Action;
+import org.sleuthkit.datamodel.Directory;
+import org.sleuthkit.datamodel.TskData;
+
+/**
+ * This class is used to represent the "Node" for the directory.
+ * Its children are more directories. 
+ */
+public class DirectoryNode extends AbstractFsContentNode<Directory> {
+
+    /**
+     * Helper so that the display name and the name used in building the path
+     * are determined the same way.
+     * @param d Directory to get the name of
+     * @return short name for the directory
+     */
+    static String nameForDirectory(Directory d) {
+        return d.getName();
+    }
+
+    /**
+     * 
+     * @param dir Underlying Content instance
+     */
+    public DirectoryNode(Directory dir) {
+        super(dir);
+
+        // set name, display name, and icon
+        String dirName = nameForDirectory(dir);
+        this.setDisplayName(dirName);
+        if (Directory.dirFlagToValue(dir.getDir_flags()).equals(TskData.TSK_FS_NAME_FLAG_ENUM.TSK_FS_NAME_FLAG_UNALLOC.toString())) {
+            this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/folder-icon-deleted.png");
+        } else {
+            this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/Folder-icon.png");
+        }
+    }
+
+    /**
+     * Right click action for this node
+     *
+     * @param popup
+     * @return
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+        return new Action[]{};
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) {
+
+        // how many rows are we returning
+        int maxRows = rows;
+        if (this.getChildren().getNodesCount() < maxRows) {
+            maxRows = this.getChildren().getNodesCount();
+        }
+        Object[][] objs = new Object[maxRows][];
+
+        for (int i = 0; i < maxRows; i++) {
+            PropertySet[] props = this.getChildren().getNodeAt(i).getPropertySets();
+            Property[] property = props[0].getProperties();
+            objs[i] = new Object[property.length - 1]; // - 1 because we don't want to show the location property
+
+            // name property
+            try {
+                objs[i][0] = property[0].getValue();
+            } catch (Exception ex) {
+                objs[i][0] = "n/a";
+            }
+
+            // the rest of the properties(not including the location property)
+            for (int j = 1; j < property.length - 1; j++) {
+                try {
+                    objs[i][j] = property[j + 1].getValue();
+                } catch (Exception ex) {
+                    objs[i][j] = "n/a";
+                }
+            }
+        }
+        return objs;
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return 1;
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        return v.visit(this);
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/FileNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/FileNode.java
new file mode 100644
index 0000000000..0105c72f47
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/FileNode.java
@@ -0,0 +1,107 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.sql.SQLException;
+import java.util.Arrays;
+import javax.swing.Action;
+import org.sleuthkit.datamodel.File;
+import org.sleuthkit.datamodel.FsContent;
+import org.sleuthkit.datamodel.TskData;
+
+/**
+ * This class is used to represent the "Node" for the file.
+ * It has no children.
+ *
+ */
+public class FileNode extends AbstractFsContentNode<File> {
+
+    /**
+     * Helper so that the display name and the name used in building the path
+     * are determined the same way.
+     * @param f File to get the name of
+     * @return short name for the File
+     */
+    static String nameForFile(File f) {
+        return f.getName();
+    }
+
+    /**
+     * 
+     * @param file underlying Content
+     */
+    public FileNode(File file) {
+        super(file);
+
+        // set name, display name, and icon
+        String fileName = nameForFile(file);
+        this.setDisplayName(fileName);
+        if (File.dirFlagToValue(file.getDir_flags()).equals(TskData.TSK_FS_NAME_FLAG_ENUM.TSK_FS_NAME_FLAG_UNALLOC.toString())) {
+            this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-icon-deleted.png");
+        } else {
+            this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/file-icon.png");
+        }
+    }
+
+    /**
+     * Right click action for this node
+     *
+     * @param popup
+     * @return
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+        return new Action[]{};
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+        FsContent con = content;
+        Object[][] objs = new Object[1][16];
+        Arrays.fill(objs, 0, 1, new Object[]{
+                    con.getName(),
+                    con.getMtimeAsDate(),
+                    con.getCtimeAsDate(),
+                    con.getAtimeAsDate(),
+                    con.getCrtimeAsDate(),
+                    con.getSize(),
+                    con.getDirFlagsAsString(),
+                    con.getMetaFlagsAsString(),
+                    con.getModeAsString(),
+                    con.getUid(),
+                    con.getGid(),
+                    con.getMeta_addr(),
+                    con.getAttr_type() + "-" + con.getAttr_id(),
+                    con.getDirTypeAsString(),
+                    con.getMetaTypeAsString(),
+                    con.getKnown().getName()
+                });
+        return objs;
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return 1; // change this later when it's defined
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        return v.visit(this);
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/ImageNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/ImageNode.java
new file mode 100644
index 0000000000..2a2f34362b
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/ImageNode.java
@@ -0,0 +1,130 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.sql.SQLException;
+import javax.swing.Action;
+import org.openide.nodes.Children;
+import org.openide.nodes.Sheet;
+import org.sleuthkit.datamodel.Image;
+
+/**
+ * This class is used to represent the "Node" for the image.
+ * The children of this node are volumes.
+ */
+public class ImageNode extends AbstractContentNode<Image> {
+
+    /**
+     * Helper so that the display name and the name used in building the path
+     * are determined the same way.
+     * @param i Image to get the name of
+     * @return short name for the Image
+     */
+    static String nameForImage(Image i) {
+        return i.getName();
+    }
+
+    /**
+     * @param img 
+     */
+    public ImageNode(Image img) {
+        super(img);
+
+        // set name, display name, and icon
+        String imgName = nameForImage(img);
+        this.setDisplayName(imgName);
+        this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/hard-drive-icon.jpg");
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+        // how many rows are we returning
+        int maxRows = rows;
+        if (this.getChildren().getNodesCount() < maxRows) {
+            maxRows = this.getChildren().getNodesCount();
+        }
+        Object[][] objs = new Object[maxRows][];
+
+        for (int i = 0; i < maxRows; i++) {
+            PropertySet[] props = this.getChildren().getNodeAt(i).getPropertySets();
+            Property[] property = props[0].getProperties();
+            objs[i] = new Object[property.length];
+
+
+            // the rest of the properties(not including the location property)
+            for (int j = 0; j < property.length; j++) {
+                try {
+                    objs[i][j] = property[j].getValue();
+                } catch (Exception ex) {
+                    objs[i][j] = "n/a";
+                }
+            }
+        }
+        return objs;
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return 0;
+    }
+
+    @Override
+    public Cookie getCookie(Class clazz) {
+        Children ch = getChildren();
+
+        if (clazz.isInstance(ch)) {
+            return (Cookie) ch;
+        }
+
+        return super.getCookie(clazz);
+    }
+
+    /**
+     * Right click action for this node
+     *
+     * @param context
+     * @return
+     */
+    @Override
+    public Action[] getActions(boolean context) {
+        return new Action[]{ //            SystemAction.get( NewAction.class ),
+                //            SystemAction.get( PasteAction.class )
+                };
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet s = super.createSheet();
+        Sheet.Set ss = s.get(Sheet.PROPERTIES);
+        if (ss == null) {
+            ss = Sheet.createPropertiesSet();
+            s.put(ss);
+        }
+
+        ss.put(new NodeProperty("Name", "Name", "no description", ""));
+        // @@@ add more properties here...
+
+        return s;
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        return v.visit(this);
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/Installer.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/Installer.java
new file mode 100644
index 0000000000..ed06522396
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/Installer.java
@@ -0,0 +1,81 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.awt.Component;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JOptionPane;
+import org.openide.LifecycleManager;
+import org.openide.modules.ModuleInstall;
+import org.sleuthkit.datamodel.SleuthkitJNI;
+
+/**
+ * Installer checks that the JNI library is working when the module is loaded.
+ */
+public class Installer extends ModuleInstall {
+
+    @Override
+    public void validate() throws IllegalStateException {
+        /*
+         * The NetBeans API specifies that a module should throw an IllegalStateException
+         * if it can't be initalized, but NetBeans doesn't handle that behaviour
+         * well (it just disables the module, and all dependant modules, on the
+         * current and all subsequent application launches). Hence, we deal with
+         * it manually.
+         *
+         */
+
+
+        // Check that the the Sleuth Kit JNI is working by getting the Sleuth Kit version number
+        Logger logger = Logger.getLogger(Installer.class.getName());
+        try {
+            String skVersion = SleuthkitJNI.getVersion();
+
+            if (skVersion == null) {
+                throw new Exception("Sleuth Kit JNI test call returned without error, but version string was null!");
+            } else if (skVersion.length() == 0) {
+                throw new Exception("Sleuth Kit JNI test call returned without error, but version string was \"\"!");
+            } else {
+                logger.log(Level.CONFIG, "Sleuth Kit Version: {0}", skVersion);
+            }
+
+        } catch (Exception e) {
+            logger.log(Level.SEVERE, "Error calling Sleuth Kit library (test call failed)", e);
+
+
+            // Normal error box log handler won't be loaded yet, so show error here.
+            final Component parentComponent = null; // Use default window frame.
+            final String message = "Problem with Sleuth Kit JNI. Test call failed!\n\nDetails: " + e.toString();
+            final String title = "Fatal Error!";
+            final int messageType = JOptionPane.ERROR_MESSAGE;
+
+            JOptionPane.showMessageDialog(
+                    parentComponent,
+                    message,
+                    title,
+                    messageType);
+
+
+            // exit after user exits the error dialog box
+            LifecycleManager.getDefault().exit();
+        }
+
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/NodeProperty.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/NodeProperty.java
new file mode 100644
index 0000000000..13c91ab436
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/NodeProperty.java
@@ -0,0 +1,43 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.lang.reflect.InvocationTargetException;
+import org.openide.nodes.PropertySupport;
+
+/**
+ * This class is used to represent the properties for each node.
+ *
+ * @author jantonius
+ */
+class NodeProperty extends PropertySupport.ReadOnly {
+
+    private Object value;
+
+    NodeProperty(String name, String displayName, String desc, Object value) {
+        super(name, value.getClass(), displayName, desc);
+        setValue("suppressCustomEditor", Boolean.TRUE); // remove the "..." (editing) button
+        this.value = value;
+    }
+
+    @Override
+    public Object getValue() throws IllegalAccessException, InvocationTargetException {
+        return this.value;
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/RootContentChildren.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/RootContentChildren.java
new file mode 100644
index 0000000000..27e52d9e92
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/RootContentChildren.java
@@ -0,0 +1,50 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.datamodel;
+
+import java.util.Collection;
+import java.util.Collections;
+import org.sleuthkit.datamodel.Content;
+
+/**
+ * Children implementation for the root node of a ContentNode tree. Accepts a
+ * list of root Content objects for the tree.
+ */
+public class RootContentChildren extends AbstractContentChildren {
+    private Collection<? extends Content> contentKeys;
+    
+    /**
+     * @param contentKeys root Content objects for the Node tree
+     */
+    public RootContentChildren(Collection<? extends Content> contentKeys) {
+        super();
+        this.contentKeys = contentKeys;
+    }
+    
+    @Override
+    protected void addNotify() {
+        setKeys(contentKeys);
+    }
+    
+    @Override
+    protected void removeNotify() {
+        setKeys(Collections.EMPTY_SET);
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java b/DataModel/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java
new file mode 100644
index 0000000000..bf0f06857a
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java
@@ -0,0 +1,134 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.datamodel;
+
+import java.sql.SQLException;
+import javax.swing.Action;
+import org.openide.nodes.Sheet;
+import org.sleuthkit.datamodel.Volume;
+
+/**
+ * This class is used to represent the "Node" for the volume.
+ * Its child is the root directory of a file system
+ */
+public class VolumeNode extends AbstractContentNode<Volume> {
+
+    /**
+     * Helper so that the display name and the name used in building the path
+     * are determined the same way.
+     * @param vol Volume to get the name of
+     * @return short name for the Volume
+     */
+    static String nameForVolume(Volume vol) {
+        return "vol" + Long.toString(vol.getAddr());
+    }
+
+    /**
+     * 
+     * @param vol underlying Content instance
+     */
+    public VolumeNode(Volume vol) {
+        super(vol);
+
+        // set name, display name, and icon
+        String volName = nameForVolume(vol);
+
+        long end = vol.getStart() + vol.getSize();
+        String tempVolName = volName + " (" + vol.getDescription() + ": " + vol.getStart() + "-" + end + ")";
+        this.setDisplayName(tempVolName);
+
+        this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/vol-icon.png");
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+
+        // how many rows are we returning
+        int maxRows = rows;
+        if (this.getChildren().getNodesCount() < maxRows) {
+            maxRows = this.getChildren().getNodesCount();
+        }
+        Object[][] objs = new Object[maxRows][];
+
+        for (int i = 0; i < maxRows; i++) {
+            PropertySet[] props = this.getChildren().getNodeAt(i).getPropertySets();
+            Property[] property = props[0].getProperties();
+            objs[i] = new Object[property.length - 1]; // - 1 because we don't want to show the location property
+
+            // name property
+            try {
+                objs[i][0] = property[0].getValue();
+            } catch (Exception ex) {
+                objs[i][0] = "n/a";
+            }
+
+            // the rest of the properties(not including the location property)
+            for (int j = 1; j < property.length - 1; j++) {
+                try {
+                    objs[i][j] = property[j + 1].getValue();
+                } catch (Exception ex) {
+                    objs[i][j] = "n/a";
+                }
+            }
+        }
+        return objs;
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return 1;
+    }
+
+    /**
+     * Right click action for volume node
+     *
+     * @param popup
+     * @return
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+        return new Action[]{ //new ShowDetailAction("Volume Details", this.getName(), this),
+                //new ShowDetailAction("File System Details", this.getName(), this)
+                };
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet s = super.createSheet();
+        Sheet.Set ss = s.get(Sheet.PROPERTIES);
+        if (ss == null) {
+            ss = Sheet.createPropertiesSet();
+            s.put(ss);
+        }
+
+        ss.put(new NodeProperty("Name", "Name", "no description", this.getDisplayName()));
+        ss.put(new NodeProperty("ID", "ID", "no description", content.getAddr()));
+        ss.put(new NodeProperty("Starting Sector", "Starting Sector", "no description", content.getStart()));
+        ss.put(new NodeProperty("Length in Sectors", "Length in Sectors", "no description", content.getLength()));
+        ss.put(new NodeProperty("Description", "Description", "no description", content.getDescription()));
+        ss.put(new NodeProperty("Flags", "Flags", "no description", content.getFlagsAsString()));
+
+        return s;
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        return v.visit(this);
+    }
+}
diff --git a/DataModel/src/org/sleuthkit/autopsy/datamodel/package.html b/DataModel/src/org/sleuthkit/autopsy/datamodel/package.html
new file mode 100644
index 0000000000..ce63c11c6d
--- /dev/null
+++ b/DataModel/src/org/sleuthkit/autopsy/datamodel/package.html
@@ -0,0 +1,12 @@
+<body>
+<h2>Overview</h2>
+<p>Autopsy 3 uses NetBeans Nodes to pass data around.  The Sleuth Kit comes with Java datamodel classes in org.sleuthkit.datamodel and it contains classes for files, directories, file systems, volumes, and other data types that can be found in a disk image. These classes are not NetBeans specific. </p>
+
+<p>This package, org.sleuthkit.autopsy.datamodel, contains classes that are NetBeans-specific and map to classes in the Sleuth Kit datamodel.  For example org.sleuthkit.autopsy.datamodel.DirectoryNode is the Node class for the org.sleuthkit.datamodel.Directory class.</p>
+
+<p>ContentNode is the interface class for the data type-specific nodes, just like org.sleuthkit.datamodel.Content is the interface class for the TSK datamodel.  ContentNode provides the standard methods that all nodes must provide. AbstractContentNode implements some of those methods. </p>
+
+<h2>Creating Nodes</h2>
+<p>You should only have to create the root node in a hierarchy.  To do so, use the RootContentChildren class and pass in the list of TSK datamodel objects that you need to encapsulate.  After that, the children will automatically be created as nodes when they are requested.  ContentChildren deals with this.</p>
+
+</body>
\ No newline at end of file
diff --git a/DirectoryTree/build.xml b/DirectoryTree/build.xml
new file mode 100644
index 0000000000..72c3163bdf
--- /dev/null
+++ b/DirectoryTree/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.directorytree" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.directorytree.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/DirectoryTree_example.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/DirectoryTree_example.png
new file mode 100644
index 0000000000000000000000000000000000000000..57fa6e100f89af28e72c94dd219665e16e97857d
GIT binary patch
literal 17946
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
Ib4q9e06tKohyVZp

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/FileSystemDetailHelp.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/FileSystemDetailHelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..01c6c3c67558f1ab1645c5150ff653c274293bd2
GIT binary patch
literal 39452
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
HB{Ts5TT~&D

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/ImageDetailHelp.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/ImageDetailHelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd60598f9ec0a761068ca22bd8d85e3f3c798534
GIT binary patch
literal 20204
zcmeAS@N?(olHy`uVBq!ia0y~yV2om5U}WQ9VqjocU4LpV0|NtNage(c!@6@aFBupZ
zSkfJR9T^xl_H+M9WMyDr;4JWnEM{QfI}E~%$MaXDFfjNvdb&7<RK&gATV4_xKJWQz
z`}=#orkyQW`||rWpYOBH@2+0Hx@y(kZQW8ir&bo+47D}pYv?ULFf*gsQ^|{|Q)iKi
zfCjfBXQKm$fRo1aIl@kslMdc!&|YJH|Ngz-N2=dl-8)I|+SR*j-dn}otv+P8fAja}
zf9m${J#S~Hs;ZiPeqL{H@7=xC+t;suAOClGyoV>Z2Y1C(Rx$m!H_xA!e|X?H|I3#z
z9UUEWt;_$t$^ZW{|Np=F<!}0Tls#YQxLrQZ_|>bo?LPc!LEGhGN~4sw%Sn{hKe=X6
z^7$Xf<qt<*9Q>d=$yf2H`LFpuX3fg8lSq@=wD{m`eh+gUlY+<lmc9PYF7h>gfBuE7
zzyDr;_uW!=jgQe=m+kdm9say%o^_^mOL@?@{rl}pF0YV&<G(Lt>7SREo)$+WzKOH0
zzJBFfb@kMr2m9-*{`2qu{rSm{_DKtDGCtLRF5mxW_5PnnKRrENo0ODP_V(7-_x}#x
zf5X|G_ikVDqJjq(Zm#=K9Q!b0-dmfJb;f`0Om$B8eE6eB^|z1LdxMt=RqcM$51*TH
zMQ&PJSVq+D3opN2xSShsBEza+RcLV5YsMh%>venmw!KNeRlX_pJm(6@TXQdM`CSqG
z;p4K{lfKrTz1EYZ%GAu>c;wtz_bTG=x8$$4OK!~yIKTC2hHUWPX)V7NEG`wW%dxz*
zLA7zq*9hg{%iCO5R7MAJZ?RojT5WV?oAORx?{&E`o^NkYy1iX(YrbdJ?MWV7UOC)0
zY+Li%grdw<x3I}P&HC7%|FJv&riA+~f!llJx)j%TXU0k2Wm(&q^{F>2O7<ql+Af8)
zHcnB6I~b$n?rnG@koj`quchp-_b2|c^2zYbn5*^GdmmreF}0f8`G;Rmcg|_Qa7vkX
z^#YC#zE{#Wcc^hKI<zJ^O5WKi)7+`>Y+d153vRtRfetmNmn~i^aIU1-iTkBSwAvPy
zNwdu5TW5KE?4A8cDns)A2F-QzvWsmr4dm`$&+j|T9&{nF`Ng6YR&Cr@HoT2^T&5A2
z;U1(MEG)iSDCTU;?hx7hdq+ib+;;~@`6O-aTOAr2eSdCwT-CzOJJuK)u2j`rX*%=D
zyg64Kz212Fz47yV<Lmdv+wYCKDvz2vkE%M)?TIhd|8#!cD7x*a+y?nKyuXjk+gLBt
zD$jTP=*2*`DNl<2-(7NNUfa6cyPX&Rdwc%hV*Wo(`~RKae@9wua(F$jh(*o35|zc)
zk7~+Y+`?5#7FvID3KywOs81`&vbrx>`L8QZ@cH@zSxfd(iIQ!PI|AF!m(38FcTaF$
z-OYJ?b9bJ(vQBgDUxCX9x0rDY#z#3TxCtCciqHCNcaYV|xuEE=UWb+ob7y0MiP#m^
zqrx04d{cfccUV}M?Ihf>!E~eKt!X!$l=QabF^gnyatUy6Q*%skoIR11iRB2BGRL1a
z4h?F{n+})<B{wp%^swF+;(IlH<Fj1urlX3b-7`Kk79ZpjdF9ArE8@V?#H8ND$Cce1
za6{m74lnC5RyNjF)*rzQ3o3;lHV7*23ru7zSRmAB$H2nGTUa{#@hi7RCc%XhI~F`(
zkQY(n(6Df3Nng0&p+hrMfkF8*ZrRGCy&pdY6xY;v*VMeec;nmRjk4~^*8RuIRF9OY
zANi(w<eRpXPe*CotFRl)-<tO(&c9*&t$*=@2n!|q68AboFD4loi>rLGt0ZsA3O(JN
zadFZ9-#;ho+LrgvdEa%y;q?2yQ*Zjtz3DvprgQHN;pta}`D2x2Q@w-2%teluZalr@
z#u>fER>{V?B9m`su6}Xm+zak-9nq<UM_2T%=;>SWd5Oou(-WWTyU)8UQuyxE#Ld(B
z=jZbK=UY#?SN4HtG4llmy*WAesuyMQcR0**Qr^kALQ>_de!yI&tNH>80R;jQ{$Kga
zRW`Cn2}#Y6+AfoQtEi{L;dJr?r`KT`oLR~8E!GDj7g(~E%-_PzbXC)!l4YC113$*R
z$5I>*L<;sdRI=<jyZB?VAUB_Z=KUEv7F2MRo(aCNV8JfVX#oMYtPj<W7??L!a-E6H
z_}K2i!pK^{==6K}(`Ac&XFr;4el+>yRSAVX&20@44;2bbSdLsZtZyt>AmsR7^T6!G
zrb2m5A09|;zo~wRWj80A#ug^_{CyvMjxYUltK&r5i4(_8oOpKP#IzSDuDv*M`r<@c
zL&1P>AD40;mwX?W_#7AemnRm;K3vXt*Z+s`>tyYmZrcR=ns#{9^hHZc-kdnMf6@vI
z2Ehl)KYV7J<(@w{Blu`D17l!=zy;~~cdJcyzmM>XPs*zg%8M_Ods(q>(VlycEBBt<
zDdu(RrLW0qb;ILJ-W`$IZ8hy~>gpEn*l#5!tGxrCU+kXsNWbh@>>i=%m8xo+m47ka
zD3mNo$jC^K$>0<Wc#!8L{8_Mr<F+G<s?`OD1v{8sSQa&?g|T*W?+DKA%WwECRk6kJ
zMTW5ELd}lC#M2waf|6cOOI~}+XrpO|Q?nTtZ$*iMO;gyrz}0e%axAOd7r3#DEj*Z5
z#NOh*pvj?=?~Bd@g$R#TsYVV5PX(`tt_pByEOz9TZ&~heuBk&d;>U$0Ra_z#2YfF$
zItn<pGPyHrI9Mo%T}VIIWU<0AQb>?#%8Eqc+I5cu3<MopnU0qGRB0UW-OzOC2s_`d
z6$@D{W_*5gd9C=S)rXz37dkKe+U_LH-)h$0zRf6>kN+(P|63mZw`#3l+S<Qp-}<}u
zy>x!<$=35f?tPP9)4z6u?ze`&3HdeKZ`k)WB|q%g%I>_HzinGu+G3R|nFVuyDKuB5
zzNijpa46sudBMs$>C>;tpMM8)vH6Mc%+Zmt2{kELRq>$Y<bh0`nIE37TvWH2>$kt?
zx8+h-rbpeF9<|_QisSv0O>yj2ffup^>fUo^e_irKa_a55he~1si}K2Y{KAvUo^SM?
z`!O;+$@pQpfOy{=XPc%6i$nty{23oMzfx0C+~(4v*>PYpYgWdB4GYW+_D#EPlMx*A
zc3FhZ&G|aBQXBOg6(<NQF0?dQ$a&D9^~mw4CLxE$ux~Tl&no#Ih){6KUc%{fk<o^U
zkLk7vBR{W9B}-I8!1t|>L>O4KSjFC~4_#X5_)#QhLBMz3js*^myz)9WthG*#oboIp
zTUwarY8EzbJYc_Xrf_3-hXA`q!b%~=fEC~SQ@d7jE1bTb?Gm8hB4p9y)N<sb(7}@j
z995YLKK#18KhLsyVUmA=YVg^44{p^S{QA2|`a7%nd+xl{U3>DwkME0}`@5`ka#>L$
z)BpXS_~$q8k4*g4w$?2=G5Ss8doD;du{15eKsEU2y$92Z#RG(F`JDW=3-jgO`D-|>
zl0}B)_~+jf1AKI)T24<0Gnx`-RkAJTMa<6+Kf4z8bSdgAEPm?qV_(jNu=LYxGuce0
z^3Bne^^o^X_hJ+II$yJJ$(BcUzOJ>IU4G(UHDB3=Ua4NS;du(<ii>lnc>B2@QZ15P
zWGoOrVR?bZT3w!p%*DdrmMG-A%yjkAHd2y^P?*ES$Fy#j??wj3&QPyEo?C-|tef&E
z%i&e`qqwfRNUt{<j*aQ3HKLZKD00tR$*3XMs2A_y$9P`+m7~DTBa4|Q2Peo%aR?}g
zD@<bQZe)JOR3KKsb*BBBp=Qj3c}=qEjo;XmA{-8?o%Y~t<%peT=ylqt$h=XXRq#OT
zkF@#}na3Th|5%#R4mrjM+x<RnYGnH3xY>_F83DmpiN*Cd=10!!Id9khNbSQPC2pAq
z3I!iqnlyK=;Figm)P2He*QEF-E)0BeKd<h;vV5N29g%=7mJ2G19d15r_~h{al*9j5
z4*PE@?Ej^(|Cqx5v}M~A_J32@f7(&ndPbSvpJP}4eJwe#UN+inTmHxF+mEgvy0YWw
ze#H~}^-k<pJF(yB#D1F-^2fCj*>&&8T$nJcZPJUvhKk0A4|dCInm7a;uwiO=P;&Bt
zWB>z)hWx$&%Sn-@lR|BaRzA}bwlfI5JU#O2Vey@-e57_oqz0rtosb;6LdIxC(uXG5
z)G7S0OeO^8t^U{Z>0fc`-<PVj>0OK+_pUU}6aH!YL7buWht3nD37rmE!kwN<Of@V^
zgf6^fP*Pal5y$2w^MZ**j4wkcK;uB9!y)$n5|5l5c&_?|xj#JeDC}5FOjot5M9&uq
z?n$1DPCM+hjdEj8{>Bkub%BFPHFd`cHkSCet6SCBxE_8zS7Q62h3UDhzsaV{>9PWg
zq?v35eLsksh#fH!J0ie(V^YtVkmI(jjmghD7QE&$5@>XEY~c~U{rEuP2YdPd`CE_s
zKU)_+eScl-!(XLGUtgb^6BE3v(0A$mSy}&0w+0-T<+f~EgXvnIw_Rmt;uoni9cSEk
z@Owo2`ku8vp55U8)>fNzera8{*Pm-5`4Qne5@Y|hmF|?jc6Het7f+png3r6<g(bO9
zXg0V9SWSszi*Il!m>8(A`&*RX-K}?at=^f`$-hKqMVU+RSr5On9%W}gNR+Isidetq
zmE!JIQm2eE3|4oQYz(@3;HXzn+R+28U5%ep|E7EYwiJ1wDbv1uLUW0;`Xx{q?QU^d
ztcWXil1)m&OXejDE;i3_NNk#<X0Sm)VOyKXVZnyf-uMz-O*f9Mm-}6|UhCH~{JHDR
zv$kKpp>y8Vg<O279?YCzY38i1^nSH*sf@)-!HA}Y<vdd(8h*0!Fvh=K-MH_L_oMl&
z;yi*ame+TvY?)T-VDVn_Mv1L~Kch>;@dXRM*=b}bY&I}4`FT|9o@0)3&r5M<mw+?g
zWzVjuDXj=daM@5QT;Z>BTG`~oIfcoy7rbsR;TCLY{{QjD`PIUc_1DJD++3A<@6}Y+
z)!}06BICBCRo<NSbZYkWaOc<4t{a=KjlOs0%BstK`r?cJ-VgjI$h|M-#;!WcD`&23
zsjIXNHr<j}`E=LQr`h2m>th4Al({Z^zpCbb=+1qsH`Rt;Rgrb~TvNE<7psV@0?UdO
z_y0`d|NZ^eHSg;e*g2n?$7o;RzJDdY_0yMC(kG3zw&xvjJG`^h>MGxJr<06-DjwbM
zdNb!%;^wTjqBT=uja^nflk&Owe^vka)zL=mn}z<?*8JfQoAAD%Pk5og%nmsfaiNp$
zJA{fIU3f)|<}6ZSl4+UiA%DO+;b4>O@`eZo76Yz~TN1I(U90X&oDJP>xGc|ki$arp
zXzDsO`)7Z(L^2-zEZf3vH_O3SSb^XDr_<^S4g9JBpIglqb8abQ@lsbhFEUBY;Ccg7
z%U{#aq5=gnJ#4HKvs3;GZWUN?pmPDg{0jHWGg7bc1_^9rmS3{qtNSXKgn3O~Exl*F
z?j*6a-f+uMe(0d;B<pkbLc)`#f}0W|J+^$ua+(s)bc8-w;F#$2OQEq@(*C!-J}cWX
zo9`iSKKmcF{~vPbv%jjn{og0~%jf@lTkrq>?UrKW<*EBDbblYs+^O$(y1p>#VfW>(
zxH(~KE-$;D#>l9A%D(29`75pnNl@j%`1|0!4gPN|ziz+WZ*Twi#%F)o+J7r|JfGiH
z`)=i%0}4})aIt@{bJ_PGMNz0l$?e1f2F2=q{pSxo$=-S8O($z>@Ad9k>yjgHbewlH
zjnUl@RChRZ^DFmHrI&6L)=cg{zs#d?(i_(Whu#YZm8K}BtWYXrap|ycFUsZ(nmF-n
zLBWckkAhymCMJ34zHsF;nrO+Plw#qo$b9^uTq84&{DMZeFvg~YMmd%rdkj}qF^fcQ
zR_t0`RvWT5!cADj%*{NfBhMl9p1@^}+#c6ivd$$pCdoWo_H{?7TerzU4TTG(G7^pn
zl2R`;7O)?zd&Z%`@gvEf_Xz{nvMo%9dR==sWVq7&8wDMkn|yy95a#-|j@_=pvs5@i
z%qc}@S`&w~q-Uao>sRUIgwO{K8(truZsp(D%CB?!w6S&A-3hDu4=}Min>l)_O4PIz
zes$bb=yl*=@c(!Jcf61n_<CjXMSpwA-(Mzw^tYe+<BPE7{z|2<=Kah6KHK;uUG8+n
zw~cF_%bl)!xAD$%Iqiyf8=dAd#Z~gY-GBcF|NRHm`=qWN54#~&eWK#s#xLpe-qp`G
zUP+hpuYA^dMAHAr`3j@5W0Nl$&+DoBb#hGu!;~XT?Azb{U9pU3Mz#TuOw5{dkqk02
z`)7r>tNHfI>uBVuJ#1F0@x1inLc!Jx8s0t~`mfiEt?*Kmak<(rV(|2Oy8gG1k#iPp
zSe&O4uYashqgmQ$PWbVV)ma+qosStTInFvd6n$jr7QeD3=}6@v#x|7%j>mZ_B9YIT
z4m0lJba@ouDK=wHQ&vNR>AzQBCoU-!4BgVRCQ?4KSvC0WuM@jU14~~oe(f2^dtuj$
zwyzg^V{9}Q>}dGOlzsDn-QORF0;_r7Jm*+r%cQC#VDUiVf;T^_YLkJA)WaAZn*e6_
zWD$)SRq|6d_S{lnUHY2wdG?!0IcgT49D9$j1~llO+<S{*3DX*v2*(y)F2RUB%Z~ER
z;b7w866{$#RjO%<<I-OXm+pF!botwnP9-Pr4~1>b_5btrSXo?bZFSR*ZP{_($NJZq
zEl1Mprha;}K4^Ze(%YNIFVC;GdHnPE=6Urtzgv$N$5-rm(0ZI(ly#4n&WoUbGwmLS
zuZjF{NO-5d&BV`#gd_EBCVo65{PKMAeE%hOzg52VFIKTJ*8Mj#bL0M*Vz!U3-<-`9
zAmncGU?Nj0?*!{LCnH}x-u%MiP|Gse{ogAKuRassDZk%p{}Rjp+21}MZT3CtaQNie
zS(Eo`O=q}Rp_?}KN8U5}xX&MN%ADQPc{%ZiPSS+AmQ@8kB1SSU<~<^2Jt79KYrlMq
zoatM#VEz$%2B-he&s=D$xw}5Xet(_Ce~X`dfgSFXIN2YDHqR6_on5c~?L%hC`;&j>
zExGfqCFfPDgOlK6!9$jO69Rk|<|z5ADjjm+Z{liV5R?6peUY)8Jwza6eeVh;zH4q5
z+PAuIc(N*SRjf4U)wR8A(z7DOuWp!jWrvxNov|XrIph6_tC)Lz7x%nvVOw0ul69Z4
zoV`To?7WQ+ie0tD-#8t-!1$0w#Aja9T*h<zENWS~?)WZHt#$bQJVs$XmqLPk2giq<
z3`~2s82CP9nq+OW-+8aSSsqiwfu(&W;dfg;3Lo6WKdIou=KtE&*#TF&jg#W%2!4Om
zbL9S6kGf2^Q{KjYdrcmn@isoU*F^d8Qpw2u^C$lOExEJ4V%LNC`Fek@FW+(DpT740
z6UsAekALC4cJSBE|G!GU$)~0KO>{eU+W6dFo5yEP8~g3GQGWVV@}&NGkD5%kKkw6y
z{LORw@;>cJ4!4u%o5u~Rg6B7>D82Sdu<&qPa$(D7{tWN+?9b!%J$aw3eKq@v^qbGm
zB7SgxklN9~z5eZ~-P6h@2naa$IbYVhRaVS1r(5`ksC)<0k=Fb2)@#2jv+$X?xd`(W
zacvS#`?Y7A^6X09RqTl+sx8ir@%y&fR;$E+l#Q@EWWT5C!v!Px`Kgf}@(UI}3{ia8
zP;U6a&;3C|HT#;~fhBqktc_3NHtlPcNa5vV;o^QEBETWR&B55i6q?=Fz_jIyt<JQ4
z?W=3~um6x+8ClyhZJ&Eqt#a0Nmn&;KSA6eX5ifkxL0(C^gGrEg&-(&X=?||nG#Vdv
zGRJ;j_`=jch2x4$qbbL?Yc&VA?*3IA+QYrhfzf3{Ym<k@hdE8nj$F%@%T3UD*f{Ci
z1LksJ4&Dz-B)Cs(Z#uyAte}yjV4uLOi|m4n3-uJ58ulOPRQOd};&NdpClA+~gThDM
z6AsVZYUjZ%pO{lSVT$z+{{MFA;RScJ_2p}yK22V~XU>;Xr#08_neywDcjo%PdVjyp
ze4c*x%p6nW>}zN4ST1R@H0Hi9z%}FdG%Fs?`5*VbHD}E~b0+oFEL-E^Z)ZMlPG5F@
z*356e-Ur3kYCgR>eNud_<;Sbjh2v^1|6QG4+}s=}^t>P-v$;96l0(=l>eK#*IvM){
zC(Zw|==|&5p9Jlm6s9-+W#;2xERfkTdqIH1XYnbf54m5+uo&}6mH)e!o))qA+(Loh
z>LwBe4vDQ*C5IUQi)#9?vcE{;h<^3?&AV5|JnSdb)Si|k&rm+z_##F@W=nz00qX?|
z+jCMHPcf-RF0f+l;AY|IU~)K+$kh1$;i;<+mxOLv6D1nA)oM>wXvNo8A7))`KiGQf
zs{5-QVTqD~{onTg^03{?W%gtKv2PbIJ0?x}xZ<Rfl=}k{jw{mp795!OO8;9(J>T1P
z|9sRN*?z}dsFFAFKPbdy*6Fr*IjFtiZ`(1aiH-G0fX)mi?im8Pg)%ORpPCq$Tt%h}
z@>N`83tI5NM6e`}$y+rez~RIJ({pwww%xNn|L=bN-0}|zm)MIZ-<vu2&$%~~-=FoX
zt^YRjd;0Qv1MSDnku&Abocfg!_U`z4=hn}0tzOUeM*ZsC>Sb3c8dQJuxzn;cmFt}&
z<<Fn`QxJBnee)&zIi=5<Z!Wi6z${x|US{;=;hjIu?DK!u|Et=Pu&|_~-&EjUqma%S
zp2a&D5}A%W7JlwcYGf|^A3xRoX3L%<;*HHQZOt3hCI%$<F*dbkwD7MknyS<6+ts)|
zQ8h^8L}ReS&gS4J?kaPHI9XMvE_k4@e_!J7_nONVd{Ox+xIXW^+_~g~PAW~T)2unx
zyKHE<<JfE8EpFGjC`9QnV^HUn%?vULH;m?$F!5d3+>q!o#iC>VZJ%b2tWrP5ryOhM
zG@UYS*S2I0lU3TtFRINKw#FvpWC-ip14etQQY(007U%}wJ@vsVN^V_y7{|wSUV|Uu
z=BI8{_B%}1+0wxsQtrUoD9UFc71O}<dP&5AC!3ZhcxlKa{+-CC5n!My(z}IQkTH*`
zP;pgVY{=hRD|VHhIOlS$NHKfyFODXTBdjb{VgUi|)3omLPRny@7P9D>%aQefL1xb<
z{{O1#YKplpCtX=@*Ld#CeD=BX?cX0d)W2E0e$MV6kN+H%7q9!P81n0E`%-Uvo%mmg
ztXs}FJw0vLa%KL9ogz`c5+9l``J*cTT<@nv^~vKiyY0?J80gP^dF7A)0^`%uo*YwK
zpi)*?Fp1ash=dD|!;+9BQGeB>9gfPgWC{)hbw1&!nR_az^U9C-`%|ZHKXN?%q^GIr
zhg;|7WIuWSJEzYn-uay2maJ>%)_<B&U&!^k`GUG&Wd70}OF#RuXWjVa_RiRNNn8q7
z<-UN-50#}?*f+kgsGTY0^tb!=ri%GX>s{UkY@6hDWP(bMornJ0+ufV=&K<bG{3>IQ
zhivZ&<+k}pldtDWbh<DLN6Jlf=i)HUjXdzVRmow&1&4+PWd@yuxAP-5*sQ6s)YYCY
z-?D0fDEsQ^@@wJ>SF~mSTzKp0!+^V7S$|3$7;Kpi$O{C$TlB)>f^Cn^C6;eCOc%>D
z&IsQ4%3;AVW5r+g$#zGJbmlQFRk@I!$q#BR-u~eD{|a-=lBpj=N&*(#Xj~qCBS<A?
zLfJ!22_{A(Bb5ydnNof%QHOjT{HA~Xl+&}wE+P5Bf>hz200EbPWcGJzGnm*X&wfxN
zuTt>9`uW+81!s@CD;b%uv)*5I^QWk{-nxiMd$T;xy;5b}=gn0sKK+NDUhMWAHFp=C
z`g)-$YOk5jiqaLQc)7LAb+qF5uPFKZXp(6+x2JbeZRYbx?dd5F`%dfqTC06fM%{7t
z^*x5ytL`*f8T|C&T*_~xCB-zgko~rvX`#%9KDT>6BFmHW9{J3_UjFP8|E%5nl-YUb
zaUA-u8+URy&x*6bWdVP;D;+m*YGkT=dq3Y<>dHkfb>}NAOZv~B=2Tx<zp?K1=`EkQ
z*<TfJ5{kR9t-AE}(T8(X4jp_rYoYg=#fEE=6iQZZI(B9T$21FpyIkTQILvGfdn?5r
zNIiJzW^=0}Ti)fo@<CI9WUh+)im$CNq;q}oV{~AMZ_qgKH8<kt_JvPRJ8MsCou+@-
zh-Z~bYglddhFL40-F7y;FSkZjc2#WIiax~!ee)cbsZV@qsCf7AiN#MiBsgA(y=`(o
zpt(T&aHH1s!|j0!4(w8S+ZVH`Qe@Rc=f>w@E4?RO*`T(H(Yv8RS5tpCn@&f=0j4LZ
z9UMA^-gm89nAPqvo?&l$5yY9Mq;cLoTG;WdT90}`L-efpn;-Yr{p`L_y3f*6lXv-L
zDZeESXVrtE7F?O~E%>DDa?iQTC-3%CFTbs&yYu$KU6&?VU!G(=LvOxcp6%32RYpsn
zrg$lbM@8ioarN~XiG;;l23|NWU+`>^<0*-$9{pMmGF5r}uUT@;3=Q9WV}c8ht-#?4
zQtL$vULI4vxPm3h(Oj;xH!?*kv9~g~#Y$pjnM(M?M3==9cQcH?a5PWM@-Vp+$YUb4
zE99+5&Y49L%PSTN9iDkpVu_HQ*2d}mj!DgY9|}y0c_ZdCskt*gzIeMw(wFJ+kqGBI
zp&hJ?gad!De&E;<e1M6Ck?B}d(I<{WS`17a3K3F4`@T5*G*?`uwU2Xc%e1zziHBBA
zZ@W5y@0uQO@}Xvi6MHv)k(R!_xYwxcg<uaK(^bI>cNmqq?e69#G^&cYuo!yz9c1-)
zto?8>>50&M&xaiihhCjv6LV2`d#hoKc41>ke~eDBY|$1TcGH*!rfIKdm}oR`gyl8m
z{aG}_)AftRhT~Uzf4UYwFkmxR)cahN`S`%K@_T=tbk6_3zWzu3!tj5u|9`(_|8M&B
z`hVq{|Gj*l{{Qm*^FQ<de>kT9|Ml$ufBK8%e;?m2_uKLd-}U_lANk+R-ahk+{m)Z3
zxNax$Lx+lP*!LacZ-1Ouo1RyBIpEP!KU;1SnGfyLr(9&uNl@aJj1X@&^O(u+|0Icd
zTILfY-cT{-X@+T%+R1Z_#BUkw?$tkkEd8=UigkUE_4PLO*KEqO=QSkM^A)8kSua?{
zG?U3o?88R3=chlu5b1Sa!pCanB*{D>;#!0K=7!4P7lO<7s(<(+w27^NcY^5w;i3}?
zO8RT9SQ!{QOXV~C8c#7bG;Drw`@*Kwg{j`or>4ni{C?(e^ZJE<LEChqowVYM7*;jx
z<6HU1YDt!-$Jgr%19-pqM!YpQIkEm*w$9B1a-TLD{^LJ+D8SD4<cqy*Z5IwqQ3!a<
zB+Jpkw5n;fec+OEVHp>JFj;}CcbpgAIA~VGA=o_qO>c~mjeKRx*_|a34vovBIyp{F
zD!=ffiPe2U)V;#T+yXL<E4rueU@&h~;@CX<fkD9o;fM}954-l(b;lE#nApD*D`zQu
z?Tvj~Ti&zl_PymR{^$M9IJEib?_ksY4xjlxa0LHRopsmY2S>%Cnf9k6%+@$POfs$H
znw}-vd3@#(Vc&{roc`t+URQc8>Rx6nI(yjL%wL-~c7;M}2v6Ut&rh3uu3R}kHS)F2
zykL#R>`EW6D6^?;ZkL*9ry>w=sv%Y2V^6U}L_t?Xg8^gzCPg2PBN5FNrxb#MZdojI
zc<Ewd#VR6IAaFodBbrU1g@I*h#{UHeCjDL7{e7z5P50ABf1g_5y5!T*-&!8*TH^96
zqKXz&oorlnRPpMCNfV?x=45S4c_hmo_PE=fn^&fqMNMGFE&Jz(UIc9TAhK%z9q*vS
zV!|RaJuyaK-8Y>S+0uDq%g!4e+>6}VVvSu`MA;RXs>&jt>$$`vlq6WP7BD`XCuAXU
zmnC<LkS*`Y<?B|sr*0?}&SBHHI;Y?FO(w<5+hFqBJ6V6E|Hg1GtGs6L@YcP_YFpph
zuGH9?o1b;tj(h8SZ`DTDRXhioY#-EYH2)Wr?__qi{LuXP1(|#jA}=nw9b@frZ`eN}
z&{Mu7NUrRfT;($MML&(tJ?eZmsj*~n3BS>5e-r*C3%{<?a`S$6$@at<yVd;$^R-@G
z4(a&4KOienzhwu5Y?r1^aKj6RyInH`TA5fbH}`0MnZq<MX~`7EUh756AAL{}YVw(8
zn&Q`JG>hSHhfQk7g$8$a0dC%wU<LsLF$1m*PZ#Y~<^G-&xvRkcWs~jFAA1V&Z#L~s
z<^DcZ|4#VEg7~M4{!Zoo9;$nbKUDu#{N@)9XBP=<OF1w8Vd+mtW_E=QA34r&GA*`V
zVD`hmX|=+~=j&eiD_GBKIvE*Ytsvs>_~3w{$QNZP-+4`Dd%Y~=pZWNw7nnDe9(39h
zFXsK_`n7Jo=wC6rxsog*dIja#ltR`gE<R)-Xd!atfa6z@D~@Mn*uQliP(K<nzgfgZ
z!ui30v^beo4zqv@X>nVWm>3cpn!H^W+&TDlH~(Uz>P7nBF05g1V4BUMIaAF};PU(r
zJNf;l^B7)ye16pjTjALPt(sdqI(?gpHf?y{vZ~4MiS8Rs)&1cb{IZQs$3H)~7rjcl
zH%9c5@v0*>-Zvc>o^roDd9-^*EAL}&gXPNAiy~(~X1LpBa-31R*+b{RhO#6_6Sge@
zr4KJM$_F1{6Dbf2xZh}Jr6AVvqQT)nO`}lO|7vfsH=2<<mZuzi_vq(t?`Q8d4}MyG
zcj@Qy>1Xc;Th;qpZb`^L`e(0bgx-ztoeA+*oBoD!e-GDxVq4~QUH0{X$1|N?%QRLB
zH16Afpe`nXiSc-21Jm(FL9V{Jth3`h(-$15NPm8i-JwxkWZK3$v8%og<vI%vOp7UX
zX+K=*lhCNZw17cLK;%U5flX2mnFSwqIPAIS`@nzkt7H0~e&)>RUr;W5<V?9u!3+bX
z4R#*e1si{I@ZDjV+^<mJP`orPVcHS7GyQBD2~kUayxF(d^3<P<oT4R9_AoLq)e5LF
z%J|gIaPwV$??{Z#lxxL4>vMWoRa9S;d<pt~(L2`ZmQVVtDe1S`f9Tk>c{p)DzjXdk
zhnfE_g_dvr%o7?JW(o5yWb|FHrRKFnU3|8oqSX9b4ZB1q>USJI{5eE7LY?X7GzP{c
z?2U(*u63?R;X1(dPSBv7K|w+HPVk-t{=f&T6Lh*a{wWIoI6Z=Gy1`VZ__un$v-~Yt
zl+N4_{wca}VbQ;RtA74oReH&&c-3#)tosX3DsK=Me<7IgW6$cWd+W4%IjsB-W@=nu
zP}h5>c7tEuhu=<Ox7-xI@FHOm4V~qTQZ6l`CRxpbjvWsl6r5dE(9u?B_>ike&p^XP
zKzzsL^w(-LIu9_j@6KydXi7FexYN#~vAL69MnuNKlclZMnm?28X>qK3#<!GNwx&j#
z-M@-wygK5&H|OT^j(vfx^Ji2&GT3{|)o0l)+0!D$8@)9)YtMSkl;-xf=aT2lDL=hb
z?(S`!@^Z#XL+-hU1Cp8zG>xTpYLy5$v|noFn|JWUqHhLY6qao~dCUKzz~a3#`qWz0
zj-~Y*B)i2jF}@F8qR2MIT14kTzx0B8Gv+i+T_Zg4yX*&_Mk!ehzeWZ|o2K<m-6C8f
zwHsHz=$?CY{(GHYbEX}g|Gvq~?tbVmSA&pmN8f$Y_Y}PlUahsi<y%<o(rl+I(>&VL
z`A%v|=$c$u&iS>IVYfm+Ez6-sUXeHM0%m(Bg`S96;ZnfFB_i|EhLu_5$Demz@0(}b
z|9jinB#zl7AmsE52bYM0$EwyYaEw=x64L5$$WSnERFw+V=s2M0<r9_oc}BAW(~blm
z)dj+*G?gqq%Ba}hJrZef(B;Cz1CmMtd><xFZBF0)p^8=L-Uf!b@9k>#N$W9R5SVyT
z_+;rqb*~lHT*7+VT}QH1?A}&|vph?+zhC)e&V`4Y!xjEDv7MRy?#ERg_T2ch4!*bC
zz67;>n-HAwT*WMN*M)tPGk&VfOLhF#Di`!bKg?s11iy$w#sM29v&)LJ_j4#Luyf_o
ze7Uc&x<mg@lXB>4O@|eiELpwOm8t|T)@HmE3CK7Qc|g;FiNo%8;E$W<7WtPyU=I27
zvhUIPGAGsfZ?#(O`1O9<?2!4TG-H8-%Z0n)KkrU8)q1MQtjrPPCD3z@iI267Ids~&
zCe7<BytPAW_s#Bf)l)Nf{3=p0Z6bf15pTLlf6StD;k;Z9%)Pg)T#~on;Ly9&RnV{?
zO!8^#!#EWwp;bFLcTCx_;E=C^#)Z#mXM6=T-L5buKREC_DW#G5v*4B-ruq8O6F+tF
z+MT>LBbd`qFi~e^%f$r?+IX1Q6JO2^(9qp|=v-MNU(6iAH=;TRT+D?Zw<<koUb3e0
zgU(xZoxff;B!e=d*e^ewu;nznU-4G%jfwofc{lmC+<M|S(KmIGj`q?xL;g+Q)Oh|)
z;`w-vXOAoMTl>!aEUodDhMZQj-%mN4bgWAF?}U`JovKUCCvId=u<-GhxuD_P9DKlC
zctf3wnCu4z$4)*Lj(sc~WsOX&Yd$7N{&@NAkpF_**3a8SFSg6N&d<~Tm*Rd>-8$pv
z%X63f%cs_|35sah-H-iwbe@)8f#X-Eh+Te_7ZR?>G_K1&5Xthwh+_^%azj&}ub#s}
zgJU<}`Eb24H82V4Hsa=x2d!c%Y^-0A`l#7%b$Eh-h9jf+#wt;1t#fj6f&mMT`-mv5
zn9DaM{>p*{XLl}ZZ`yd=(ZSK5r8+>uv_L`L@wwWK*Lej#EZu(=39?ViV^VKA;P_(Z
zIRUkrhEq}b*GliL+rNlo{@Rw(oRZb=x&q!#jqb|3R?@TRRp0EZvgWJwtwVnIW-Zg2
zt93h{W9!`&IlBWFhQIFZy7oGt^7YnFVnLCgw+3AbT{lTB$T0jdN4Q}1iCNwDS!bWc
zOPpJ;yirs1%FQsg;w+Dw0j4j7LR?R+l6oL?c}wClvvpjhnKF8TE6-_L&IvuLvTV^4
z;h;yA#b&Xp{}-Iv(YJ8@^($Yq|NHak8lK!Ee_M2wL0jy^xwf-Uub&b#J3Dx8$>gtb
z>91QZYOCZL+z#bwQNEgaIL?5bU0!Or_<Z+f|4T>p=cql+S|u(nKFfRWmpy79q85e;
zg-C?VHVTnbi<{`NA|zz1$DUcCTR20v#hR~N^>){?Z?8jDoK2tAe|qIxbVuOEdegMK
zYj&==oT0mJ+v7CP&!x5do12<%^ILN7IMB49_T&Cvf7635F<oK`zQNR3o$Tw9aF4NI
z!Zpt%ixs<zq}2kRr%jPx!n%ZY*%H<ZXC7{QEz2S;v&2)z=cKp3zgN_O9L7H8TCIZ}
z%+HiP-aCZJWHRP&Xy{^|$|1ylui)-eOE2z-2#0=VyNbX^4q+mhjQU#}f-P1|UFo8~
zR_@c5y{DNLKX`E9rS^m)jpd<SmD}!RF*Y*)V_BjZ@jz#S#fNLV6wlv&t&?zoQMu`a
z><W<3E-yv@8_~K6#}0b7HLu<-|1La+xsy46t@Niod(Sa(@okX|Hj!E3GGQn4`qko}
zTJ~OIYH2=g{{6z{{Ygx!oy_akaC};_l=a=6z`_mBQ>0lmIAmlzb~CjaoDA&Tw913K
zqM3C{-?6ZJYZZbzPskR?6eyiYI4HfU$;LgCQI^kvrKu?~<Wb`mKaVQ*O^d+F8<@{j
zEvQ};IP;&2{e8wXlZpHm)y}ySp1*i1_Q2xC{99^A;!m~h6jJ5evnTDu<?l}1GYS{@
z_8n96QklC`X)m+>8p%&n_FiDp;^VvU=djA*D=QPztrUH_HJVxV*T{UDviB?#5Bv5X
z(l?z9On+voMl7hDeA#-Z3g4c!Q71ls_2Xt>FO}Wybbv{1&l-mc_V#mSt5&_Abg!{I
zjKA{Qy;R0S2d73aT&}<R(!E11;p!iztC^HsEKq%K)MFE!$@qRV!>r1`Q==0zr-yRN
z$k_Fp>vNixc*|78U!9QtrdCWrrsUqC)#pPr*XJCaeZ{CnN|kTV`m__q-<-G^*m>t}
z|FFs>REFLDk?&f;3R&gJM;gVi@l>9Q%V0d@czx~Rbn6dHDSC$v_U^X7^gG<Rbyii%
zh6k;s&hs{1k7TgOc(beYNep}Vk)7I1?1nRKFUE*h&#HQNDrC|1P~OTz_tF_nJ}-NB
zd!l4`2&c@Ew6CkO-c7amuy2*(`5V7=7-US!@AsYCAyn(w0bacDSpVy)tceyM_RUf}
ze}h}s!Q#bE+1WQWOEv~SP*7a{UL)A4EIxbw7rs3k@=gSQv*Ko8*R|dLSg-6@{F_HY
z79MBb+Os|V;+R`||Ky!Ug#Fj<S-b0(I&x0mrFiJz+G=~X=ik+zb8h{L2q6Z(Tfg3^
zJS$oK$l^z`*FlEsADbG#F?KS)UoG{iXYYBY1CG`A?>@OB7uwQ%`}@BcQ5F?Jf$c{c
zzhC94JQkP1_~1d&|GQKE$b~YoFYjs>;Vt92H+d&BEZ#Go$ugJwi+x!p#wE!2uIB%7
z<E754tlB|wpLF8$S2u13_HefM^YmURi%w?YJ2#ELc<FRrPnnA3s}r8TsTE`3vtr-x
zt^cz9Tteh6{epshNfDvnKYTZe_^@x6;`tk|bsEy{nSQx@a}#4|OY?5~KOd96dZbMa
zINx!k@%mMs%0nRcEvWu+ueHlDw59od-H*#lXRTgUwcbmnBJu8o<!?&G82GB(-o>tw
zYT7hIg74jb&F%kYt=gAue<I=F>s4(wiQwdQ|LXhVEVq^{cMkUN@BXjc@Ud-G<LmFB
zgp_x}_?s2?f|>j=zxOTpw@T~K!SDS4LN3)Tj=1=Mx3hU=tg+vj&lmss-VZX~dOmF4
zTw87i_U7yR^|SUwU8(5xez0K8SGDlU*Jl^b4i;xOjb8RTs_9eVJx>3XM#2Gg%-ji$
zo^8xuc}kyNI#)GG^jh$$-nm6g?9S$O8oB$9g<d;U@ZoT?efYNftC9}2PmJbYmb1Zt
z@$5_WwM>uo_j@&ao^t4Hb`L*z;Y@q}zkrKXdl&VF+$?K;_~7CE?Dcn^t=d`i`<2Ks
zM)R%LR;XppmRRc6v-nTg+P4?4+N<}OyySjy#IoX))`5d3*8Vn~p1(p#=1%>O^gUTi
z=dJ$yZR_pe>(&J=%+9V?VzM62fA#LPRoe{Pd@lPl9UJ#8mcA4BS!;2?DL%e0=5>GN
zrtXatbFrQBGUSV^fo%W!PEoZxNny{nSWdWfLq_Dsxr}8Wrm(%fSH#4AJ@5Yd-9^Eo
zhY$AGA1hfIP<&qY#jm^V!DbN!T<m5yTVG!Gm1M8Z^|)JfMRd!AyR*djoPS*`NSG~`
z_;h1G^Xaq|OGUpN-+cW-&vBW>N9P<nsKI)zAmO;kyWF&So61c-zb=<EDZATd(5~fT
zQSssN{OI5Nf=h!R9Z<TP@y9Fk-HK_yZtuCdd_$?`nSC2}weFI>ou896{k26vteAFu
zjP_Ow-Qrj0<lNs(ICH7WFY3&TLXGr1t*<Ls%UYPF-=7VZdVgfPu*HtT?}^^;WkZ?R
z-~PS7a@W_n)2rFNPH)L9U7Wt7_v^K!T5Hkh^CG39yA=;-SOl1FiM=Ss9;Tl9>)g4I
zIkVsG&|OxXsN?GtZxxu}yurZqldCX)v-KA%(L28l6(?yOI(XRr-_qm<a?30iJUy^C
z`u^V+cMmqb?Y*V;YulRDzjiA{AAF{lw(f0T{`#`&t8<PuhA~MWS!uof&diIhg;MO>
z&R#ery|FLqjHQ%%LBiA{4`)YynQ!s1bm!uezRzkG&3t^XUoyahS*4NL=E|B^-)uXX
z>jZPPrpAWfH@ll~pfPOg+nxMjeBVNjG|pWRFa7_)40*Tr4v!LQHZbz#-LI}l{a~$U
z^Tx;G$H)HqmvTSl&YKqB{TcV@fTm236nDg((6_D!^}bg4ttd};?fAm+!~~PXdk0sD
z6{|%QEIM$>x}Zx~gyl|kNBSJk!xwBJPFQ!OQDU2QS9wCA^5)r}gWi2fn|@VkUV!Z6
zkI(t$aEj?9Nfoc2TOo6!c>0$Y8>OaYaIsF=vVb=&Wy1p=eh&8g|2xv>gmxw@%>Ge*
z>B4so$#*^v6AoHMJb!y`TWP<Tjs?fxTzBmmhZwtW+?6qicyJ)_=iFVYQNJF26Z*J~
zS**vksQqY;F!wV?zBYq%yAB`M47RwOu<V<aO~ebCUw$3z+$I~V{xOuu<VT-)?=F6L
zim$4l4&RqJ)2pXnM*C@;cX^SQyQ|=473=4`3eoLfc<;0@cZ)qskeGDKE#`RRX|c@`
z@0ZBjyP4>bR6EmaOQLl3`9pV?%$cW>npb-0;EA>ExBItGp5$4PlX&XU1NG&5Tg87*
zp6)4jz+1N=E$&`b?dgqb8PQ6e1qL;*4_;ehmf@|ma?jgkM-IA#3hZjkGLKrV_qo$*
z(w+V-4c%f6#`@Vi<s|M4RBSQi@XEMSa3E5k#OKig*Tq&bcW>>Ue*UH3lHRBLj%6^m
zHD}L$^vb-M<0G#^(}BiQOr6b!v#y;>+h#FAV@3q`>Ak%-nY8%KjtcTAv^CG>KcVlD
z!)<eo>tsUWnQv32y|^nTuyU}Uz0UOL74svh9nA^_3pO<rT+k|Jmn-p24P454EQ9d@
z!(;{4BTVc~98BzY^c&37w<L9$%=D63-1s!@64Sh7#y;ly2MyZm<`o!}d<MCI`TWjV
zo0eQ+dc3LOfTPb`FP28;fQIbLfiGoyP9G^s&Sdo8$Z)(-zTiLygJc1Nm;hf?-id^R
z!RuD&EZ=fq1}L}=6)X^PJj|Hx=uqRm^2os%ygKGn#6HMy8_2}mmGHHA;38n5AYdT&
z!&|1}+|wzlQ^h3uSsR)kEn6+UDBF>RkF}9G>EOk%4F~l7s@NZI+;Ar>>Oiv2fx-=T
ztHM;9nwX!77syOGk#I0sZ-vf^EeCGsDijDr?simcVq{M^c<e^np7nvtgpTJW?_9d2
zp*^DEaYAg$+p1Qu_Zheq_UsOQbii3}h0ZdN)`qmc?^~JJwFFuCEV#`KJY{<B9w_q8
zWIVr-;rPK@9a0^_j)xgHDlDt4?K#r;JjOpVD6_E;Wae4HLyYQ74--BdYwj)VVZC_v
z^`ge+*G3T%?Gv9ayTmjvk<sMyp*F$$%BBM9O$Qibn18UoUNrlfo4Kf|r%c7Mr&E?r
z0eRbkFHC;jw^j*37QSo8&DM7-immCKWFgVt`gGeRCb?wBzUI(}SLbkaNQt~}*vXb~
zaMp=shumJuR-6%?$~sj{Vl!()b5q;IsqL#+1VdyLvJb>E-|ukiY&N_do~NPvz)?&=
z=1Tt>i;$&4juq@D6xQ`-ee2DNk<~1G;3ys<78;fCMvQ^)(`)x>@@tp`A1F9T@jZ}g
zU|p>w#htRjpp5&p?ow8pV@xg0yC&xIhplvZV6kJrSRzw_z{M?}JerR*zO3?F{$0EC
zy4fY`!+Q$!Ql_7~Rg^mY+XF-1Q=7TDWS(5@)!|+p(y3735ZQb}Z3mlnzloU1iI7DP
zjr`}^<<C3C@P5rTy}4VxwX4gTKfSqREW@MEyEdeA!NY`77FRB9K5v;B>kSt&=m!VK
zzsagPX<072g115H&)cp?Z@C_Q_1^YAZc)C?$>Ra{Y)*3J7F+$&f3v4)=IwOv-r%rH
z*2(kk-czf5+1Pw%*TZ}#t!a%M3!f+p@Ui9H`QDqu!uLQ*$NrAOUgqKr2cp(7G`(Hh
z|9`=@f-3ICn;8GDZ*s{Ly0LrtLkDrCn{)c!Z7o)RX2@X0Atn>)`Ms>n-|4AJ{-?e!
zcZ(IW|E!iUxje9I>SC7DG|}PDKQaAa)5SKWfD7;PbtW#T-#=-`d(HcwZ>?FEU-5Fs
z)9#t-wNrzlcl=x%WFh-cEb4Bh<*~+l7FF6W?-%G7e(=a*Ieu^wa|^Q{i!5KCLQuw!
zX$1wocAFRMm-)5l;2zzs%d4w?Z<}H8Fo7#1&z5hEzdL)Y;RA+fZy6gQmKXd@Y4d`u
z_f*tdsyDSUn+E+b+heyr?$LoMULn6lBbHwO&9v%q{_TV#=36>%s(v_<;5et{?8_@T
zGu6*5p5Y*FXCUt-?r5=T(jn%Voi!mb3NlxC^lyc)6KbqvzyAKSijq=mKL1tk_Xmv1
z750U^Oa7DRQSjg{UzzqU--w5uJDI0hJybDq_k1M&G(1i1@u_nU9B#VZ2zmN`ah7CU
zrA%A1VjuI1*UX|-G673Ayjk#tZ_lPIpLvt7scNhHFI<-5+0guE)<V|m(_-&Z`40Un
zYGhUstbCO4a^bHSNgbb)-S#{Ey}oYCabA5gwt!zxwxD2TRmMNL2Mz*`M;W_C4!xc(
zH^t(^18$veJ>3U;SVLrV5?mavEO@}s*?gGyG~d;FW|=D|Ll%8jo0{##U9pPQf^Xlg
zST6QPVaEpy6PflfcQX6$-LUD-C8l-J3>GI=N&PX}5u(cUaKZmywWft1N+afe;fpa}
zbH^#_z-OHUg&&Tt6PgMtPfQ&iJ$P-v!X5t9K;``IZJUl<V$zFZIQu8*>VtG^?+_&p
z8HLUh%B}02AIf^j?8pe;xob-Udz8aL$B)ms1Vdy3#FYy+sI1X*UnXSx;nFE3Z|)sg
zj1Lqx7k!v4>pK6f&cB-Qli~-La`EvQ%Cub7<y(7t<y2elby8vL^mQLpiaoHHv3>80
z%d$u3a4@ke1#zs7W|BFPaPafGH98x&G@KSou#jNjd!S&TR3H<x`+N-ZDP=v*wP#mO
z-N`&%SKEAo*ar)40X{7@yL(|P1RReZbev|vu{K&psqjJJ^iZ*gs01A`20pzIo|-LN
z15}wR*=w)A3!cxU)H-38t77TROV$$Ixlhe5G0CMd_BHcw7pvRC>!Q&F8j;p%$Yzjr
z&<bSZmMe=*EnLcaEP+v!T}#kJMu7W-^@^$Y4oc`~n@<GU&%iGElvzGUlYvj6g@=nz
zL`=s<0m=Rc78Uj@8iW}=SsIyBctJ%Iw+delPxg#oSE|$hrfptkHShbynU!aICa<@e
z<#}!9-j(9nUvA1Azm%}-o0$yzdsZ<6r3uXn1rCXa8lw&!ta~XNag}lUs%KNyxI7Z&
z<g0wpGxf`B1Ctx7O~%!mj~<+2vai~Y%fcf5-v4{gn!Y!&2(s`^FjA0tqb?IOX{Af_
zYw1<X>hc0+SqJ_<Cz{(=_||O2Y>_LA?`>OT&TQUb_ITsUQ2+Z$bq~ABejWRkm-Xb=
z?p;Q|mt;PwI$gf^g?hM&Ox4e#T&0?g&bgb8>7L@5KF@OhUzXs;f`DuP-#x2&r{EyN
zZqLAe$8^U2^=`|Abl2pqI`XQfZdv)d1aHHuAEs2??n>i$`X^NG#si1ytt`1qeRr%$
zSO1%|?|HHFO~dI7E8nhvwl{0H=<n^C4fljEo_}n2(D%&bvg3sx&Mo^>&ir|2vxCKp
zz26QW5;(~8z@dtL@neUT`@+_zC6(&>*7i&8cdq<#*CYF|mv>PQbFs^V2TOI%v>a<`
zGML`_c!9)avp$2Td^y|+kqQ1;dxYb|MA=<fo+)$4C^YYQ;BfZOU(<L-cGIFejlC~(
zU&*gNdMftxht*BZnjf}_9_3kfO>0m2ZSkcuZmHbAQ=+_`M@;83%e3m?@0mvHk2JpC
zkznzn+FD`$V}>M)9lx3r8jm#E&W^g*cg1D*zwpA}bA<Av1J^9vW8M1qtbf4u6E7G4
zdZamf`(_Isu@LQ>#^UALIrUq)#J;>Q-`E?rq&y*bdt-BPOY@!W%%3a-S@<4^7hHF!
zV!!6FVMp!DeMWa|MUO}PUwSRd=2Ch<y!Z0Qjo*HW{{8)K?Y(nJlfAA~<&|FBU^;zq
z`Cf^*w8e(Z4P`UDmaw$D{yX$l`t_6>O$7nBzKcCn5VvSBk*PUa@IjT8Te+xc%SHX|
zcCx82U-#|f-r2V0fPW@qBlG_lHx^kw3vLef>eZ@zb9TD4m9u)vSR@<mJg2gm;rPLr
zMrNg^4}2kFHHw7>C)dr?>D$sUTZchr4lCcEqEMv_3x^pD*Bu@m@Le{2_f)YNIbsG6
z8h&yxv1@TRH0#W?o{@9icba?D0ba2O78RHE-7Pr&@vz&5*FUIZ{PI(-li6G%?p;t+
z!l%fFf&eFrfKE{3(BV<Sr&!ZSrA)@{5e<(Y^!9?Pnoj2J5>f9$q7ptu9}whwAnq{#
zWJ2Pnc(+KW%*Ia8$lO&&fqMs^?_TXG!+y0$;*yI*^gHLMgraB$3y<`JOyZAN+nOiJ
zTksudI$!23<MS?C!&_a~z!6kFEq=h@a-o1hpg<;O%DsauGo#<RMI{(TAJF6LU=7%C
z<Y3CanoT*En1nMKMcG$1E9_xD*!19)fAi`k<pvYgrvIKKHe-#LfW?go%rXT^8Ws)l
z2O<;-4I<ai)tSEK086yP;YKGGUiLYxLhQmhMLVrC8&762_BG#3V4VI6Jn}bV&2_(N
z-cbonps_zT)rbie1u2<#U2M<!rJ1xz3i!B79+p$vvF%0q@pQ{a|G$`782Z~MFS;s~
zr!(cw*B?3y9wmHh%Xy~|u;GI3r)Ea>&?1RR2hZf>Is7}@S?TB3`KBoOn*X{dUjmPX
zOUK;2WpJDOe!zp%hs=uZ6@~l!zPwhuV1pt1M<(?qN%r|~R_)R#OxWY}#+Bh%{jIq%
z*QKUZKi1G!NL-Te{{Myd*Ou+&TyVqZa7J}T?yI2hS9Q2$I8-8jc<XJxQ2TURby))A
zS?hofg+ha>R>8ha*D7KwxjUXt*%$Uc)<FK~m1SEvXO#wTw%a8cxi#V7g+H?X9d^4i
zpGw&;Wt}pw_0G)$jDm{M4<1Z@pmj-a(igrp`hxj_89i;%X1`Ar-74L>R%%i9>Z!TS
zC3PZ)+urcscD8@@Dustdr$9lu)xFm9SdC4pM35dUx0=kEWSt2X1sO3<r#gPS_j6(1
znr*_xtL1pvZJZMwdfv@tvfnG6r_;F8W)f?1-fa7WZ9MFMi_M-XWgoc2?)8pgUE`6)
zz1&8zyuvPT%b)5h^xglz@Ob-64KMG@2OB0IQk(pdqli7L=yHTqw)ivk6*oRjNZ#1+
zN|r<ELm~T%NCxg5OUe_n!|%Qp`}#h~?AxlBcPb7?J3M%lZJ)VbNX%CB*1<1{4MO4<
z{{ND*ODztbeqZ@O<Jp@FAN&%!-4<}}+ljuVQm1p(jxo(DXJBvq$&n`0z+qHwV0dg=
z^+d55cf=Bcmw!9|@$~G?f}5I~eQsW~*tvd@&fF~rT0l94cYlo=%Y%lqQ&;edJ&^T~
z@#$Fm)Ncu^+D=v$zCWMu2gtB=Hhb2cO!>Hk^-e0|A;+5sX3MajahzaLFn#UQx}_k6
zH@NRMHaD4zD0#^EeDYT7R@Z%?$6X+EhF3#@y;0Ed(Sg`)(|%7CoAE^KLcxJfg+haq
z`ZILqZE5(e<6xm7Uy~iY@Rfqc`vbMtrd3Z9n{h>qf$tnM`|R##d0I7-EjfhPC;w_X
zdB~G{$9X0h_WXQ3AwDOE#-`@ENfS27ls~Y0ecINW+eeGLKxU6{#2O*T2M>}TI4CyB
zw3)12H&dqvRPrbk2!wnpOEBb@RN=dmlC?8Bv+-me;~~eR7j`?U9&)@9qf%&abNx)6
z`5?s%GAROlUiSk#5{@u-i>GXOp!WLoT`#B&+n0t|a5Ns3;+tUiKoS%(rDszTm$2SR
zVQg$(oBCeMWr9V)<dskJma?ktX60a?>ij-mx4K`DQL$N)y+B||xxr2S#X9r19B_$X
zu-Fk``RCuZA|<9`0Tn*AL+gs<FEPnwfZ7}l&AF*_IJEe*D&IL&vCCCNrcPYSdMt?%
zR5OVgdC2q}?JJVbY}8BuDc&B=z&?jVh&}khrc=Qa#3Z^|O=NP?EpCLZJKoqKo}yK#
zvux^Z5AKRttUeYDf*`D=%4hR-)2UBh+&xE`TAH=E#I960K1$Fjn{wNO+lP^xfqlpK
z`W?-XxMI~?ZNr+`xDk|A7Rycr_4y9ETWk6}m~`+^gpc<2iDDm2xNjV1<WMYpkU2eg
zT6k1~jo5|94b~i8<qCxca=TCEE@id3z$C;jS8*|A;!@T-$&A8$4-{VPVLs|OVJGu<
ziTHP+Q3*wn4i6I4mkRCdu}E;4U@;>`+;^H=)B#(u2^IzYu}|YL%;;n8(RJ`iP>;Bw
z*v$I<MjXhHNs$gm8RZL7rdm(1n2~bbN6bCyfG@~|$%&vSu{qBq#6GY5Y)a=+P>gjl
zn@fhh3j?)$6$&3zUiX<60a9-8IAQr)1C^OxC6nKRbg9i`^|5ex-gI__OJ}oZ+1Zpr
zaD1caHh8)2rhE0de`XKPY_7`;4ze(v^I(bbE**i*4Mz?>S;bMjZP`BIIEmX|V{fh9
z@8kLKN<ovw*^{Z|ky6Jkegsq=5@Z&AD%{(@W}D6P`C`{=&mTYj{MmQ@<xhmvTZNBg
z+8Iqg#cY|+xceUHXamPb2P&KUihWr)GR^-NJ^tMu9AV)&=a~hss(E=k>zfA&KiK=2
z{a8Ag%V*pxnlHn?qcv{#_X01j<!Xf=POO@|nq5kkUExscD#10+U#)xkD|rJ$LBX$Q
z@$2foCvb7AYwT?{ywdBwq4UT=WrI!J?GDzKrH{|=Xyv<K`#^1KPOa4M=l|>WZtd&~
z+Wq*t|67fR?lwOq_x*pcWOrZR+{Y}cd@(D8`wK!lo82>V)cKAU8WcR=H#=m<)6DrV
zt+|f=^WV>}l#?m5;^xQff2wvrY~IE{Ubp!3<Vh9<i<JJDtiEylVA+{XdY9OZA}UhE
z*)2R$?>XLoD}QIf<@Y~r_HK;Y{`}S3%ggfh1Ew#FzZ<|dN6IgtioJi0+s+b&Y?%_?
z`u~j8s>13`M;g7&WY3>!X?|V*Zs*tL=n&Ul`|}%$86I7h`1S8)rk#KOilXy{y~~@0
zr&vh%s}|nh)>m+#!@=%QtJh4glKZL#ZzSKUynH2J$i4Q>ZsU(yH$LfK-nK;QTTRlo
z^LuK4+)MwpUHbXY8TE627(KXB&?Lm(zrt>3g#^3B3KqT{Dts|pUfl?HxAv6znOylk
z_q#^wwDVt<{@gY9xv+xYht&6Pg{7DO-ZTBtJm+loqnutcJ$t)$6rT<R_0`Iy?kC*`
zMcK5H`$g@2`7_=b>%Q1=qw>^iJG=he6<Q~Gt9)uAzn(Su)?3}zclXg16+XGbrA7Y=
zz7=lp-NAOry5Qcd$MM1z7G|H46R-1r*DU;7vUTyttr=wt<{YU17n-ohBI8rGo!$RE
z`wrEz9^mwPpYSL2sBCpX2XiZjxK{g91C{cK`(^W6njgwvjQPAiX8xo@D<86`^2zy@
z7Jb$5t6~>oUnf=8^Lp`I6&~9&J8McoNv6=?*sq7r&c1o{pcd?g&0lr*HZOMmqLUnU
z`@|FxKVEf>!Vf31rv<Zb>2F^9^nJdzx>Anw`KB*?b2dHu5$<H&DPJ?=rj<==D=0qd
zLko|~xgBKuE~vtHC$Z{uZIV*M1~aey=_dSsCsqBp)HR-4SEQJpTFPw6A@)Ev#6xCB
z%Gr<WZOU)2H0Kv<*?PZEy2e1YHTW>+Ba`F#+B@4hw;xz>kI~Vwid{IboZWiPX5Ftl
zHLU`bl33<Q`F#ky6)bnUlKaNdgVoWe7k-aqQ*?gDH)s2bnBb@b$+{01*i*FxRrqYa
z{W{g;&AlUmakoW9x%bU#fzN_QS}Et7xXq@n_TsKs!7B4$L5OP8k;eA8*vOnr#_2i<
z;_UBP7}=XRgxK|NhOE=keXvk$!!gI_7rq~0RCbb7DSWUnJX|a~>VPW9^4pE7tC}YS
z8mh=A7M)yEl$y!tzoo%e=8mvM0^gy^PG<i-+cup6b;1t_@`WgY`rM(QKDT?+0X@EZ
zw_?r|I4B<eStO}b@#N~%)@fn|Cz<*R6*?3OA58Lndg>CBToxlMd#L>THBUbMT>bw`
z_qm1D#pa^L?2K0Nb{fH*a#f9~8<(=q+1|h`Bf<!-PR>b(tkcweuv4s{rFrM<4h|vq
zdDW$<CzrCuY--?R?-18W5jc2gHe;&{`-CriF`HJ#L`EHO)_uUio}Z`n$i+gvm|d=_
z5@cx1#)ep#J%RxzWLZ2O9T1&-s&px<%~jA;_gRLvW}};%AFLFQm=+y%ppyH>g9Tns
z_;!>ZkY(v)e$K0PeTvwJ815U#8|xQ(v2-$@-+N%wlS@qJq7O)c=KA(NjCV-lI}|CY
zW04=YbJ>=L<DkHJRv-f!etolbD(iHyf{RRkj}jdCg32y#C@RflJioc2R^~_H`v#eo
zWJ}v_vzFvg%}mD3M$MeYd?qD75xz|yJDm2UKm2W3_p|s9SH+13;+Gke=IBZ{ObAn%
z%Ad4C>9RnYbAv&$(6a#HRWiq7-c&?(`zedBGD!{V-Qg_0+U?D%swazVH?Gw=?VP%<
z<wZ$B*7MM*{PTsStitt5w$+?aT`BE%fqkpTxjKt@yPTzpyOvqK>@x4rnY8TE!7rB>
z)vwHtyEQ-V(WGCOykkNN<99jF)qJ-(@cqn3AGP-G2=~zZaP!i>%}f72KeeFo^V16n
zY$1%iu`62Ij2CL@ZQs)L@r{_yjcIrC4jkN)dAUrkBStLD)g?fNrFQ>ftBRTD`xp7G
z{BbXAR>$1^D_#FHz2M&#UbACwP=@={c55yBP3liKdOiK=)f=So$R^{u#;=s{sau;?
z+Z8Hoo4T#I?O1<VkY(T-{%zr(zF*$Eee0vUYenDZXtv+u)2ip@(wQ$Ep|)k`8{cq~
z^5UBjOXSY|c)0d}k;pNHIH&eQkvCSnd8^QTW1jcIowFBCGB<ZTn$IS(UogPslm48;
zt+U$~-K=AEdwTv}M$o-Cy=A7^$@kXq2E5BSHFK-u#b0wGoo;Tv7XA9`*PCo>cYoOx
zo4R-3Imy^rTjMgm{d#j#deifqGnL87@1*N0^M5@*&#O_99sJO`(e*u>=>F|XpZwKb
zDxahKHzE3F`|Z>Ax8got?Ca`R40||t<&DMHYQ)1H_<BBPdU1RIzt6vBq|HBX_xnx$
z|9{gZpE8G8EC}?BdG+{w3v=qE&_j&LjeP7GexflhEY}MT$nO#hc<|g{)!SoD%oCg*
za+qt^*EJ`5s~)Pp&B6Y@NTxt3fIFn1fxn-Dy`e)^>A~;L1B~n~ZY-ejqGv@)IYKTQ
zjxs)Pn#obOPAD-%=7Xq&poz?b&6iym6pp#F@UmNI6c|)H^9df*|L*&L&(428^K-Q-
zs*O7WbUGG1T<~Z45yt(WEgPG?O~Y%a>Bs*Ium9YAS20j=`R%I}jpc?0qASlEy-4?Y
z<RZYwBzW+R!i&O$>y8H1>`8oVwi}OiFmEY4&e!C`;ux8z)5h%B(pfI>z_;h9;|710
za9I}Z_XmX78G2tSPce``$j1Ie!DmIk!LITJhZ`BW$_g9YtQXob{S@EEcSxp4Kthno
zf#sRP4WY#2{;w1)8k;+~Z5tZ=3kp6QYUTd__WVEPe+~T`9tD^#I8fY`bz*_t`ybo#
z_)O(YU&O!DsA1V7dhdnoj(5s8TzJ1Rv+w@MwEzEZDWd}RMD|vmitT&tQXb@Xw(=zR
zh~MdBmb3GTIN{*J!0lsk;Sp={6@z;d4l)-UVCGsqfzcvCvH6ig$Ard3Y**b4gcn|7
wZLi<5qVh}Z&F_3>N46c%clgZC^3Qz#4>P&5Gp49AFfcH9y85}Sb4q9e0Q@lRE&u=k

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/VolumeDetailHelp.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/VolumeDetailHelp.png
new file mode 100644
index 0000000000000000000000000000000000000000..984dbacc0a4e798defa857c9f4dce6121594e3b9
GIT binary patch
literal 21558
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

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html
new file mode 100644
index 0000000000..4dc6504dae
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-about.html
@@ -0,0 +1,50 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+    <head>
+        <title>About Directory Tree</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About Directory Tree</h2>
+        <p>
+            Directory Tree is one of the main windows in Autopsy. Here, you can see and analyze all the images (also volumes and directories inside that images) which are shown in tree format. You can also see the details of the image, volume, and the file system from directory tree.
+            <br><br>
+        </p>
+
+        <h2>How to Open Directory Tree</h2>
+        <p>
+            To see how to open Directory Tree, click <a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html">here</a>.
+            <br><br>
+            <b>Note:</b> The Directory Tree Window is opened and closed automatically. If there's a case opened and there is at least one image inside that case, Directory Tree Window can't be closed.
+            <br><br>
+        </p>
+
+        <h2>How to Use Directory Tree</h2>
+        <p>
+            To see how to use Directory Tree, click <a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html">here</a>.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's an example of a Directory Tree window:
+            &nbsp;&nbsp;<img src="DirectoryTree_example.png" alt="Directory Tree Top Component Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-hs.xml b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-hs.xml
new file mode 100644
index 0000000000..0954595e4b
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-hs.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN" "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
+<helpset version="2.0">
+    <title>DirectoryTree Help</title>
+    <maps>
+        <homeID>org.sleuthkit.autopsy.directorytree.about</homeID>
+        <mapref location="directorytree-map.xml"/>
+    </maps>
+    <view mergetype="javax.help.AppendMerge">
+        <name>TOC</name>
+        <label>Table of Contents</label>
+        <type>javax.help.TOCView</type>
+        <data>directorytree-toc.xml</data>
+    </view>
+    <view mergetype="javax.help.AppendMerge">
+        <name>Index</name>
+        <label>Index</label>
+        <type>javax.help.IndexView</type>
+        <data>directorytree-idx.xml</data>
+    </view>
+    <view>
+        <name>Search</name>
+        <label>Search</label>
+        <type>javax.help.SearchView</type>
+        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+    </view>
+</helpset>
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-idx.xml b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-idx.xml
new file mode 100644
index 0000000000..35230646f0
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-idx.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 2.0//EN" "http://java.sun.com/products/javahelp/index_2_0.dtd">
+<index version="2.0">
+    <indexitem text="About Directory Tree" target="org.sleuthkit.autopsy.directorytree.about"/>
+    <indexitem text="How to Open Directory Tree" target="org.sleuthkit.autopsy.directorytree.open-directorytree"/>
+    <indexitem text="How to Use Directory Tree" target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree"/>
+    <indexitem text="Image Details Window" target="org.sleuthkit.autopsy.directorytree.image-details"/>
+    <indexitem text="Volume Details Window" target="org.sleuthkit.autopsy.directorytree.volume-details"/>
+    <indexitem text="File System Details Window" target="org.sleuthkit.autopsy.directorytree.filesystem-details"/>
+</index>
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-map.xml b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-map.xml
new file mode 100644
index 0000000000..d8f3b9ce81
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-map.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN" "http://java.sun.com/products/javahelp/map_2_0.dtd">
+<map version="2.0">
+    <mapID target="org.sleuthkit.autopsy.directorytree.about" url="directorytree-about.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.open-directorytree" url="open-directorytree.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree" url="how-to-use-directorytree.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.image-details" url="image-details.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.volume-details" url="volume-details.html"/>
+    <mapID target="org.sleuthkit.autopsy.directorytree.filesystem-details" url="filesystem-details.html"/>
+</map>
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-toc.xml b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-toc.xml
new file mode 100644
index 0000000000..ab71cee268
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/directorytree-toc.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN" "http://java.sun.com/products/javahelp/toc_2_0.dtd">
+<!--
+<toc version="2.0">
+    <tocitem text="DirectoryTree">
+        <tocitem text="About DirectoryTree" target="org.sleuthkit.autopsy.directorytree.about"/>
+        <tocitem text="How to Open Directory Tree" target="org.sleuthkit.autopsy.directorytree.open-directorytree"/>
+        <tocitem text="How to Use Directory Tree" target="org.sleuthkit.autopsy.directorytree.how-to-use-directorytree"/>
+        <tocitem text="Image Details Window" target="org.sleuthkit.autopsy.directorytree.image-details"/>
+        <tocitem text="Volume Details Window" target="org.sleuthkit.autopsy.directorytree.volume-details"/>
+        <tocitem text="File System Details Window" target="org.sleuthkit.autopsy.directorytree.filesystem-details"/>
+    </tocitem>
+</toc>
+-->
\ No newline at end of file
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html
new file mode 100644
index 0000000000..0d83250f7a
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html
@@ -0,0 +1,48 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>File System Details Window</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>File System Details Window</h2>
+        <p>
+            File System Details Windows shows the general and detailed information of file system from the selected volume.
+            <br><br>
+        </p>
+
+        <h2>General File System Information</h2>
+        <p>
+            This windows shows the information about file system type, image offset, volume ID, block size, block count, root metadata entry, first metadata entry, and last metadata entry.
+            <br><br>
+        </p>
+
+        <h2>Detailed File System Information</h2>
+        <p>
+            <i>More coming about this information...</i>
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            &nbsp;&nbsp;&nbsp;&nbsp;<img src="FileSystemDetailHelp.png" alt="Example of File System Details Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html
new file mode 100644
index 0000000000..4926bad183
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/how-to-use-directorytree.html
@@ -0,0 +1,54 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>How to Use Directory Tree</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>How to Use Directory Tree</h2>
+        <p>
+            Information on Directory Tree functionality:
+            <br><br>
+            &nbsp; 1. To pass the data and show it on the "Result Viewer". <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To pass the data and show it on the "Result Viewer", select / click the corresponding node on the Directory Tree.
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="node_selected.png" alt="select node on directory tree" />
+            <br><br>
+            &nbsp; 2. To show the "Image Details" <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To see the detail of the image, right click on the image node and select "Image Details".<br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Note:</b> To know more about "Image Detail" window, click <a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/image-details.html">here</a>.
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="rightClick_imageDetails.png" alt="Right click on directory tree to show Image Details" />
+            <br><br>
+            &nbsp; 3. To show the "Volume Details" <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To see the detail of the volume, right click on the volume node and select "Volume Details".<br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Note:</b> To know more about "Volume Detail" window, click <a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/volume-details.html">here</a>.
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="rightClick_volumeDetails.png" alt="Right click on directory tree to show Volume Details" />
+            <br><br>
+            &nbsp; 4. To show the "File System Details" <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To see the detail of the file system of a volume, right click on that volume node and select "File System Details".<br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Note:</b> To know more about "File System Detail" window, click <a href="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/filesystem-details.html">here</a>.
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="rightClick_fileSystemDetails.png" alt="Right click on directory tree to show File System Details" />
+            <br><br>
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/image-details.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/image-details.html
new file mode 100644
index 0000000000..01c3f4e672
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/image-details.html
@@ -0,0 +1,36 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Image Details Window</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Image Details Window</h2>
+        <p>
+            Image Details Windows shows the information about name, type, and sector size of the selected image.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            &nbsp;&nbsp;&nbsp;&nbsp;<img src="ImageDetailHelp.png" alt="Example of Image Details Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/node_selected.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/node_selected.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf6e31eb56a0b958bcdd60fef40e22d48d9e40ce
GIT binary patch
literal 31607
zcmeAS@N?(olHy`uVBq!ia0y~yVEV(rz?i|o#K6F?M0JM%0|NtNage(c!@6@aFBupZ
zSkfJR9T^xl_H+M9WMyDr;4JWnEM{QfI}E~%$MaXDFfdf}c)B=-RK&gATRB1W_}urm
z1<T+4eSGhGn$ofQy)%CQs}MGScGkt`j(Hs0=~?E2!q?x&-7a_gCfm=>8L7~?z&fRQ
zqK@Lt1{D=%r%9?Qr#Bs&rW&chX)rrtR$E*{+UsTC_p+Y7bl0Th@&)d_m%0Deg+_W`
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

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html
new file mode 100644
index 0000000000..28812459ff
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open-directorytree.html
@@ -0,0 +1,45 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>How to Open Directory Tree</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>How to Open Directory Tree</h2>
+        <p>
+            To open the Directory Tree, you can do one of the following thing:
+            <ul type="circle">
+                <li>
+                    Click the Directory Tree tab.
+                    <br><br>
+                    &nbsp;&nbsp;<img src="open_directoryTree1.png" alt="Open Directory Tree Top Component 1" />
+                    <br><br>
+                </li>
+                <li>
+                    Select the "Tools" -> "Directory Tree"
+                    <br><br>
+                    &nbsp;&nbsp;<img src="open_directoryTree2.png" alt="Open Directory Tree Top Component 2" />
+                    <br><br>
+                </li>
+            </ul>
+
+        <b>Note:</b> The Directory Tree Window is opened and closed automatically. If there's a case opened and there is at least one image inside that case, Directory Tree Window can't be closed.
+    </body>       
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree1.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree1.png
new file mode 100644
index 0000000000000000000000000000000000000000..a25586f31779eb89428367eeb390ca13ffc841c9
GIT binary patch
literal 29880
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
RCI$uu22WQ%mvv4FO#oK}9*_V4

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree2.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/open_directoryTree2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f988720bc6be6e5fc2dee476517252a4d24e06df
GIT binary patch
literal 19808
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

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_fileSystemDetails.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_fileSystemDetails.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa90ba13c1aed398242c3ff6975bf04dcdd0390d
GIT binary patch
literal 9481
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
F2>|Ad``Z8j

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_imageDetails.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_imageDetails.png
new file mode 100644
index 0000000000000000000000000000000000000000..05b922cbd54a65a6f76c579ca136b84914a9dff1
GIT binary patch
literal 9122
zcmeAS@N?(olHy`uVBq!ia0y~yVANz_VA#pQ#K6Gt`&FD00|NtNage(c!@6@aFBupZ
zSkfJR9T^xl_H+M9WMyDr;4JWnEM{QfI}E~%$MaXDFfb^ad%8G=RK&fV`?6g2=+pzH
ze*b!ZTEttZ%PX+mOi_FOL}fDPOh%?-hK&q{v!6TL9XP|OXxzxcF|AkjwuQri84vE>
zm?mC1@u}?l)ndt>_rh;(eEK%C@>2CA@q2gHy;`^K-Kux%;#S>%z5Mp_{wwQ$U0Zv5
z`>X5Qt5&|66&G`X`9)(<#e!urtw}RqFn)2+-_+jAU>hLEf2HQbbpL|0E7<>i_0KLi
zyN;dbo7aw%%gh(vY|6BV%B?t%@}5mE@-st-T<ZGzAA0L%er`B>uQX=UGsYDC;yoYP
zl&d3|`!<W;TrKo%-NQ+y{0h~fhvLj5#dKo6T#L@Xm>Z*Yhgt7i#@*CimT8B6)ZaO?
z_usGA_LWaMFY^EA_;;wxWb<1)_1yG;%Kbmj<||yyEBk%Fdd0CgxvKnnbI-~;&+U5`
zUhtT1ldolHqOwCES?Jo#1(jBzJ8vYHrkl5(d%1Y$uIfVFovO}4XWwR+XF43#?!71_
zGyV0ECx&whQ;NTA5#D(9)!w%ykM6K`-8ngV`L12NtgQPFZp--mTmB4-;g8wUGD)}f
z3}^3Mea-3pzfJSQzwiB>;Cr^%`wh#|SiO&`=dWI|`SH$f)tMU}Ii7LJNy}b_seH4{
zyu0(p;u%|gt9LAW_VDD~kF(Vh)fm6&cwgH$YeM2jeq9IVhVM^;&odPrxcc()@`w4=
z?(Ba=Z#ExkY;06NX2<>D;Qbmq{jQsDVn0TG6Z$4rygQO>f41R;R6V}LS?6#3ez3cG
zZt96mH!_!5ocwvGIDvU<(-cp!D4w5xA2gqHIp4f;mF&Um)qMije<<<llqq>uJ`EL;
zj*sOuyl~(^Ohkgpg-J&r^m2zKFWY`{^M|bYW)4dy9d_Hr5@lZP73S%CRmzyrX2FXi
zox=BJY`GL<^YYsEv-8PK+2lTP_pQ6U_4@Jqd=$U*RBs8rl+EVOy;XYm)qAer?g((r
z5d4vopp)j~B{_40<K|myCiVEpdoMrHsAJl%k(3$gI^+96miYIUH#R?-I@y++Cp~`3
z#{*^_dY9CnJeoH*qsY5MwP)s@!jIQhuh&l2KcE#C8kHz4@!Fy+=l#FGv$y9qzx9pY
ze(1jL?d{$-7svWKtlPP^w~1YI-WyqE?%in%?0c8K{LX*nO3(aU^&6Vk^gi9+Xz^t2
zn$5?9XR_DbcPTxwsld8JXwu0b^;=G&l2X2r#gmP<XPHY@i~nv*Of7Y<m&(4qCD7FL
z{JJIf*8e%a_(YsmT~{ks!>#F3vAp0XtEA^6?awov;`(Q{zBS#_JL^v6#`6oO{WA&e
zowx1s!Y+wzpF|bD_UBGJd+yD>FiWZa(jFhrPtxsu^Q+%H_czbG^CPs@_CwhID$_r)
z+ZS^FyT!M?@7-HZV}_k`tG^$*fA#hC!}rUVohj<PS$obed*OASH|gn@XMewb<xkSK
zxe3c7cAxnF`+m-&6dUvO|4kiUn{RZsiRfOLviz4zbjGB}ZO&mwXXKnV_@?)T@AA}Z
zvcD@APTjD*>78oMmC~ZlFs_rk7oU3}yYFt+szqKNkF-DQ{8icb`E68lM56xXX93(v
zpVb=vn4CzR@-D#jR8-=I<5O2>OuZe_nYM9Fg(iFd{NFbh`|Cz+lc|W_Q6l*#*2zMo
zyUnFzLc^VCmP1Fqr`P>w|Nl;C^Uc>EqRa%o**z}XEb{!=-~2oV#XuP$du0tts}p(7
zlX43pXGq-iG?vH=*}U;a*P0T)e(!6aJ65H#C%><GKcPnTjqT>9H?bd$G9NiVe|u!>
zc>$@jdsOEB`*X|T-P6i6y;Y5zv)@SW+@Z6rF8b1@QyRBkv`H=PUS@RoOe|NJr|;Jy
zr$sN>`{%Q+`}cOa|Czb_A9U|5POtx{n$ykx_1cn`3T*Y~@5ubPJSCDr?oVmw%{N;o
zx5mA{m|L9rN4CJ=U2r7V{@0fa!_*)AyKibGGC}^^JE?8)XPiW&PVXpO(8nR=w8u>?
zY1yRv%NnA?Oct*SlBj-O)t0cd)P4Ket*N)Z?^t)!_^ZlXl}Wjar`E4ucX`_S<r5_4
z?75nxbu+KPW7@6E+nvvL3LL-TZ_RyGGuWFe>87k$)1HL~_53bsO*);sD%$vc*OP6x
zcjxW-_Um<nOsl}Q#Z$94mrv1oGpq66k)@Mt58SZ6ZOo#*+WOb#N!PaSSD6q#$@A&=
z{<HT4!Kp<(FJuk7M0I+R>#j??lI^t<lW(g?nZ^IRWVA_W%_<h@oNu=ZPR?R?`KGnd
zb0Ke++=iRkM^&@s65h<+7kb3B7{osa;qL<T4Q`%(k)xVnR;6%R&fr;(#(5pz2(7Aw
zlxl{X(l@{MyT{w{D^x%IY&*?nlWoJB-Z#IFFV>&WK4I^tpK{)EH{~3@xt0BWd~y1D
z<`Z#0Yx-6DbNCgim3RO9_~P_)#+3Cn`;Jd?-^M;+@5I>u6<?lyX4n*NcR%^0@@?i5
z_fD*<xB2y{(qZaee)~Tk&YItEk=&rHGeL0EZ~5fQ)84MWZoW3=wnT30o&^hQ@{UZp
z$h^>Y!I67UG=tO5&SDjwbH8_sgWCx{uRUv`FYhQk{;sz6@85}6q-QGVXE4|<lx>i_
zz?}N2L8v-^&qubJnpfZ6-u^pL>;%V6$Ik19>!P+V+;3n1{G99zPwQJum5$6WG$%`M
zjQHY^!LPBA{jX1l?!+C&#*SqHk5Xm77&|IRmFkEi8>>|<5b-NXXM*fa?O@U5jiRp_
z1>R`NG2V$3R8`(=o_vhwXhlb%|Hh_(HBL4HO?%~9S(i0Sn`TYXkeIo*{KTRr`Ay-9
zzFcPmzBo*JbGQ6{?W`Ns|Nnkx{^<NoWVOsuts~5<-W=R}DtaGx%kK9z&#kA}1`2F)
z-+ga!p}*=c#cI(@OD^!Z^0y?sU-q3zu)oRurZB5;;(7aDiq&1AeMzE^8U^0m{SdL^
zeeR4molTt^p3DE8u$L<{D5Gr=d&o^~5w7&q)8+er$4&$pd;EQI(6>E{<Tovkc&ZVm
zDCh7^Yl+f@9>M300&nJii#W1Fol8yP`<}dtq&w1uz2=YEWt#Q|-|K!I*R3&wqq<_f
z>f>JCv*i^IQ}-S`cu;sB_x~P8k(M_f*MI*b|1t5-;bn7mK@N?$aA@Az?k2;Vhtpr*
z%nHp|+r>U9g@3~0^WTNi^*<~X6F9JAdC+~0U`x4xRDP-Q_FGKvgSwk0*hbA4zQ1(c
zoNZ0hR9-g<ypiqQ=#u8I`Y2Gcr~2eJo-504Gp~B{^z+aBB%KMiQFolbm279Y60Zk}
z#LKoNrKJa>XXS!pz3^N|(N)7~(KF=&lJZYY(KJp!x2NW(QOkM`?v$1{3yz#-<(2N)
zIq6g7;`<W0je8a_ehFDN{i4>Fh8K*g-xO{y@tmws;5tJ=V3UK}iFfb+wjJv=xE#2J
zlSxth2`g{J!557@poGjLD>SQ1?nDdwguOl?!cvi~at_~CZ3y}}!RR4lioWpG7Pqj4
z>=X8CtqHMN;#0wJ^R$cU!ik|T7*p1BX^Zk}3d=csGYa(0ND-}KxVid}*HPzF_>JQE
z=Jhnr?X2F^a^3CB8~#ju(a3URclrB!6P4W)#17ov{$8y6@XtRF4mdFW`}UnbW`Eu1
zTU({W*T-e&+CF-G_fr%5(#K759`~6GZ#MJmGL)V@dv>;2?kvN{hhJV!KR4^E;Gf#(
zbH67fUtQHURXhCr{QVyu_y2EuvowBpM3QQ?f?jn&&WERyC#(C{e>%C`{@+J`xymQ@
zaz9@#?zjE*<ZyD`ht2MCtK;`oT|SmuUzh(W-1`-G>%!gT`=|b5dK{-}F1W>aGP_X1
z`(IyQxASk0*;Ao8{dMcRr(54ePv5ofP}RdfPuE75nXHNX|IT{yH2vt(r(WBy8!A-K
z$`ZdCwu$}Do7{VwN~h&Cmb^@?`JMan(^GBtTUJrgeedoT7kpp$_x84Tx3&~kKmK(#
z`?|^6%o`i>-X6;gPOtlOG5z_uvb%eg%Uch|)xLCE_eJ~YY`vg|0a9~VU#?pi{r}5(
z&UL%iy8eAxap0_6LHX}<vW2ZB`pxI&SZ*&mI?Hx9zs!yMdung5)16(ObMK33!}Sfj
z3U6KtJw1Kxzc-il|NZ`I-d8$L>*Ve^Pt?*iikvvLKge9Z&RHZHA9^PF;G30|3VPM|
z?`hAqs7pKeN0s5;IoaQ4X1Twse$V^*+AKHY&ZerXzf`+li|a@2%XqlydVF>A@$1z!
zH)hW_=Ktx${qRE3fj?EvXX3X;>@Pm%-)`XC&E)y-oyx7UJX6)g!$)TSyegS|^{(vv
z-c1<+_6}2g&N3I?WS+w(pT+!*LH9+j(}mxk-gAeqjS1hsC-D`#@$|Z_MgR7w7VnSw
z(*D0X-Pc*U;Z^1OR_;`5@1@%{19{Z7pS~?lneIP-azVC$_pcMr*c5rM+!D~*94;18
zB0ekX^P#318->L8*VfMd|MOG$A1=);=Q-!smi}e^wk`KA=bnS6awVqW>mqJnyLItm
z-KM2KGcLESo$&AHo1MjW^M4=9|6hLZj;q(3LdX7Fyc-zJN)GSQetcf;Y1heuj~DjL
z6WO#|X36fC;Zy34ERK<zu$g_s&am~b_g0sC3tag2#*RbQZ^vdP?FZ~9&i<^CTN8g~
z=Kqt&=QCFuFZ*A5>dAhM*!Pw3r*E<p8GW7<ZK61FPUEs=U*773zh3jMNcBzZB;B|-
zy!>~Y)hj+IEL{Be$h%l}F};Xg3ID=BKhtabnm_-{&ll_G>qYL7xi-_-?$=@Ydu_89
z)z$iGZ@M|xdG+(1!g@?6&0=0k-t`cY&Xj2RCh<9R{|{fwWsE1&{QndjIDGZ2!_GcE
zz3LAp{0!0Cw{_aM-M@G1(!H7=(h>Y}8FzOk>)TxW{d&#*T7y)phVQRd|9|>FM|R!Q
zgu=Vonvv79t~efxYmyP}I~>=NHcLl+WoCE5k_oM|+TUb08Nd6yH+p;3gIdFi+|-9n
z>&0|qxWr30Fb489u)KP(@!p%8#m~<CwBGae)9w5J`0R2XNq!fZ$KoM>(D+-C?cTM|
z*`@l$!nd-nNt8}na43hf#kM9zU-jD|vEuh}E4P*L?6LdyV1?oTkDHIrm-_vsC4N7X
z{*;4OyS~NCRU}*~KEIdY%HAK3PCq`@+q`|<*NxYU>K43xRPg?Q!JhMPH*0OPsSuRu
z`5GR|S}nR)a9iktJzeZV70Y?7CimNZ`z-(OgL}W-uOE~B?M&<b=s$dZW8>ooch4P{
zuYdG%`Fu(1vNu0IK8~+`YpUP;XixC5NB4Fuc4g4Fk9Z@m;SoNy%+0uI(rfeL@^@4B
zgoMWL>M9PoC46c{wF2X}s_Ng0UI*eMe*gOPAx!<x-b!P0i-<QbUpCL*U_Jfx!T7ar
z9FOO3u(&f_-y{70wx_2q*$3<?Q!f9VchWmrbop;<uf2&2Qx>obCFpPHacFdTB$vA0
zJYFDt{x_AW@1-@$?w{bjuj~1}uf;{apY@s=mqwKXcl8&+8Y}MC#k1ag6|b7RI^4LZ
z^P~OmPe<Rq-ucj4Ret8Hd#ve(AC^yleQD**Rr;>n)tObj>H6_9?_TQf2;0cmX|!(2
zy_%1&zTUYoH)ui1R;~v1M%!OKjwK1RzD6HS%}iV$Q>Y&=aqg@5kI)=*J;s;k=hb{X
z^)=?B-^p9I?J`SxH}=fC_2$a@MY?-@4zKsjELl1Cj$9mbq0{Xvw`LhmzLg*?a*6k<
zsLjb6&6}kkEq^Sspw(8kt?FgTk-djLtlig?T*^DA`0dvpGhgffdmOc{VE2)gMzhyP
z@1J#O!p<L?INF7!Y)mwwmTIK!K6g~k;(lxVtk9UXshNrTPIsE!>z$olXZ%_kVe;>g
zi9wfK`37@~n$7DEtY0Vg_}1&MpTp`ue%gBH!CN8q3m=@$&iH;?=9K8xR`KF#sV(cL
zPqXYleQ9OJ)I~FDOMW`K-*NsX5}mAJsQadMlfwM-&mTm(#NSu2nWDhGfj$4gf#lA4
z^XBEhuiV3&HTB@;>-=xNiv75Hc3$y%?-_shTn*oIXRfr2ULn(xpWB*>Hf?08FqkGD
zCc<~M*U-AX^leDpO_tUBEfyZUav|%~^=rOczlh{Tb(%IzJ8TdpW;^ZM_w3%Lo?Jcd
zjYk3}1gyK9cDTY>G}fn8j*rp*Q>|Z$e#qo7k!y$MRo#(3@%;Q8%j^JlLH-$=#dh(2
znQK#e>c5B6Ms|&=kIxj$8f<rP%&y{ydfPR<=e1$ioQ-c=Copp6zGeyOOKfIWUcd5)
z%E4}1y}M@~O<J<1>qMkxf{L~5k9ln|ZytV~r{uTr$d(Pu^Bfa5?BARFKXXReqd%?M
z;k(zz?q}5gv-?l~>h$w-?JM_uJ~WfhK6iQgt{b~AMi;D2+AWwGqiO!TYx=HY=EJIb
zcQf|Y=dnJ`Ib1#4z*B6}($ZJXTZ8#$wME`koVa@-lgEiui;iFV_dLqG-<mt$=V9CG
znA;)l3;C~ZWv^;T=RX*ne}19L)(y+$zIQo0@7})d&i1YULXIEIpY?r<+?|U>3DuwX
zt!*zecYL&I|Mk*Xi?wp!tJvGue;0{a{Y7!A#<AshUg(y^o_*Tx6{D27Pj|tb+=`s-
z3?cfure_q+IEZ;Le)BoJ=FPSlw-eF@RjflbP9Bm}o|ZlP)a@7x537^<SGu3x(tO}~
z>-m%_{Sa>FM1B5@M1C$|_Z^=#&&*0vykEKHtH<fa$FghR=2qY4%dy;&{dZsP>TfyG
zo6C>4^(|f-``oWBLEpY+?Q(^6apyah9-2_GcYDRhtabG(j&PdT#2Y``D;99h%x2r`
z_$IlRj0T4r8dFzR?z?C3hT&y#R8^J&%gLMq(Zpw}uDdrCO!`#hI@{OSrps*a_1W^r
z*kA8DFBNrzTkw0=QQPP+nR{EmrTl)_r`&$)Hs67&Ev5e_I$QI<&x_fbaO>#jhc{lI
z6J4_Ue|Fb8o$FOy;_IIL>QdF-``5Ordr{e|e=?cx&TbKTX(n9v@@JH{&;f<h&Xbqj
zx;cAi-t+a+7ScS&BGzBk>Yk#J66qw*Ds}T{(ag$gZK-TAv-CQjXxu$p=<@RVp?SO5
zxtl9F@^st3&3TiPn}7H2uKdr9bF;tYth>K;W!?8}rtVREWpnup*R!6x7Wc-n>cQ$?
zI_nS2o0C3&lTEqghl*{#HMndAx)x|%uzz*6Ym%1S1yCAqK3=ukOxJo(_TP_-+pYRc
zw#!>y`FJ+*NA;G}_|NxxSBv@WFHv;4^ZF!z{8`aI*AIxfv7U=R`Bluj@zx<OiNsZ9
zul6Y@A70g~y#9s2)MG713vCv(?hO#Tv$y*BnUB{lACJ1lm)qRE*Eag~{=Aqisc--M
zwU*j-ZZ1d2(fiL?zOB2X#j>tzZEq*57LQOy{q?F<Y;*S><q~7l<gs&;=S}37KfadT
z>`(?%)Q#Z&YQ4pZJolPso<F4X=f=(Ky@&7Gx*lzl-o_bJ>H2i4n%LWf!hO>WbPczx
z5&Py8EvU?#%>S&%q9jq`!|A7o*IvA(I$t}dGwSJMdA=V4HaBbdjyXS$@id&377(WU
z#<j27@tW7S&&8^;cGe8W?k=-;YSc~sdP(4{-29kbzO3?1>WS|(Q}mshL(VU1wf*|&
zvG=i=$``V`>}q>=GnulV3+}jH{V{rFNVC|tQ$pXFZco_7u;<3z(w9O%PQO0d$K|3i
z#q-s=13xWI8`-nAZdiUkCUA4#j^mr3XDwSetKum~d(&Cfo<jfN>T8GMOpn@54U4wy
zX;jr>YoFx!ZPSr?YSBxxg8Ql$My<VGqiz`4o8UZ0=fu2a-(oZi_5bboYH{}T)a%R7
z&rHya3>2NdcUh;Y>HYbV1~RU}pVwt<?c6B-&H3#aZO`6l{|%bT)q9K^_s*Kt>6_Ln
zsWOw>*V^{;@31CU33ca{%`8j&E%;TA$<?U5S(o$iXMnZD<Oe%S&%RkZ<3Mlp+zm<x
zFU71{u;A9Nu+F-}OzsDLE*X0(g)vpL#ZTF?tW&IYLRwMkQiDSY%^SU<=d4|@NI7uV
zvCPEx`{e)fAHFbuFU#?@>X*)~5Q@BW`Sw1`$F^KqYgezGYp`(IaU<JrJY{zpy}2Yr
zh00HgEV+F_d&3r$o4aeD^TjsWZhLz^uIcf$)w6Ax_wEY&b=~Tc$j#yhF4Z&Fop4K<
zeRBET=UW=5eu!waSdtZV=*>>MD|{?W)sxn5i9SB#!H%ybH<`KCtXtU0@N+xUq>~EK
z-2%H;XO)R}M$En0xYg0<%f+4z{%?w-E?7R$7O&p&Ddu{?C2uReKq1TE+!vw|5tH6*
z^xxuqC;2vGq5jUo*S~Hii`R%KXZ+gW`2W&;v0|ASn<P?Wx7`#k_$HPZkZ|6uuU+5u
zTgsDyiDzENaZTraJnvey?i=g32jp(^?Yifkb7xoGHx?C+ylZdykC#d*Pf|L0)G6-F
zt!eJYzZ-u1Wt&sOVOq7IYQ5{vYTf1Oep}{=MeLEZ4S2p)VYmF@yNL%ksI%Quc`Wz1
z_x^`;{ey+CryiNd+QG|pSe>c5FM172vRLNJmk!p|->%NRugrGXsM+b=O6Kz5kUb7-
z4&)`QQd2z^_vCpsC?U+X^_+jXr-#Rqt@SSV)Q#><%1=EnJujK8nsxnL+#R*f^WRhC
ze0pr-DxZ9}eB2X#{rtSY4ePh%@$SB!l$grEz|Xj1!d1c4?EyC)Gip{pySnI0TsOxw
z*7&aL)rAiZe~+@+v%Gb$g{i1n{?R?>SDOD&sYv5ot@X}2H8H#7$cgMk{h~YF56V*X
zb-WXwPTb3JHb}Kw>{|$zpBLLr?$bdLl_~lwx4pWwxOK0f<o82nFVCD%u8vIdpS(6`
ztEljIqr*WF&J%5Y-%387w?y-igwj3D6LHgSTu#wGws(V~wqRw7e{l7>DLdL9UlV@l
z(mv@``g$LK1>t1<Pu02>d9myUoUf*ANZ)UI?B0_U{n<yQAL?-$`U?NN?z*<9#qiUe
z8EXELpO=~&aWv~4+7a(-==Zu>_o`i<?ZIPn3`3c!&t2rawnX3?kI+W99oAASPwrqY
zIKIQt%&JK~Qol#Hq<`UrCtAl({5tYT?tGkSU-Wqi1I}68Z!FWT9^EiD-+4^7x@EVu
zlZ8h)@4V?#UiVB2nb~c-bL-3gEgqBhu9Dk6FCqEd46R1nTeDs&`3W5~|Kg#1C-%e1
zw!_hLUH9qiI@`N>0`I;8woLVDEBg(6X6$_>yM3Nvf{;o0o_m|4G#yXBVD94iz|bo3
z@SL8?TZZQe=S|f-Pt7~OLp7_jed|j0eJVFszbbsa#W4D@&<%moN@@Sh7Dkc0emf&w
z&wUx@)qQ4O^*_E_R+@;q?f8Avwru0`&~@6ccKuqh?^>GGyU?#YN+(-aPuh2Fm(}^1
zOq1Ci&Q)klp3Yh8w>UoCDdFxTf%kDPau45C?@jNW@LlhE+w8k_g2yhNez$c>qS{uK
z$8n+k(a)b{alAXf^hli5<msO4zK6^+EC`P~q_WFS`A+J0%eTuJljeuiY*RepaqQyh
zV$R_8FKZu6kf@$G|9xumon8D@G4>%db|00ylJ5WK!1-;D=3PH?E!B&YQ|5=JZ(P{l
z^VeS5PQQ|V&acPzpNL?kjPujJ=<;(tCm9dK7I><)39w)Jq!>8k`k8r2ozo7a#v2~A
z4GoT(JU!ID+D*h~uFao+^S1ogsGNRF`<>-w-LjNgzx|x2*UV&#-MqCxaO(Vyrn}z~
zO|s_hS@Y}W<=b1oT#1V;)Nc~LB<1{salTSDqwqA#Edh^u?3Uj*O{<zbU9nnl)>1Dq
z-8U;m=1lR4dNcE~B<FX_*jm5-o4=n3Pm7%VfU76+uBY?P=k0+q)+T;&ZEsYshQ(HG
z*&zP2O8=1Kvg7kUf1G!=<*xCQ^rrH&b2R5~IAgnhW`T2C{elzqEgEM}o}Pf5b<{$?
zHO<#s;hmBeXAH_eU4{A*{UOKJDp${%Rg!ik>CWT@9dADR9o(_JGfnr6>yCSe3tu06
zxWh+i>e0BF^Nzke;LlyXkmqRO>(nH#tr4&18hy0Y**NcTui^8!Z$&&x=5fY_HKvzm
z_1>478r`S<aG})JNgKqzU3nZ=wr~5oTS2S+`;OVZ{C&JexZCL1oYUvyUI~5OvHwF{
zpW!nvgI1AChvx0#o%(a{*H@3#&j|{CV{+r1X)0ILv-7Us8%=qSSv4ASbDdu~zr7M&
z!r`g=X65m{r~cflnlmk`w({<qoy!v*L`Cl~d{*Z6efF8WZ7m<)uk7E--8f~_3bAhs
zN<K=zuHiD)pZI>Q^Wy`qtJ#+%?@jJE+#c1a{o?0Q+t*qfw3z0LeRDdp_s0Ebby*Rk
zK=!rb`@%Ao&eE(?p7qveo!3(PSgTB~-S?iSF8Q>Lw<cS7mY}w4PQ)U{f9m1xe=b^H
zyPfK`qv-6JNe`{%GH!-;6#854s^Su3dt8@4_mNql(r&}F{#9n@mxsA}xtSR6epA~w
z?ZKsl_^yK9!$&SS&P`~3{jFifT)8$&nK{xDdRzQwSIw*UXWP-3Ij!#FI?pE?@4c&f
z+UI>mbAPllo9%PX5Tk#0UsoB_75juc&wL#B=l$B*HXq_Yo2{BW`{xzGD?e^-t?(~C
zar5Tdz}QV24!_&M{JkvaN%HjUZ=rs=_VcIBoO{EmbeCOZo<FObI@{u-GuL>z&Hean
z@`U3;HP1GRrp&okbgl67Nvr6rCq+jsL)W--U9<5y=g#vdQY$t>NY9tMdSOnFWu9$F
zq}`!QpYwxG1^Q2t(>N~iS>^5alFUT^zg6c;Jp_-fRevs0^vJLBRNs>|@|v?g?433-
z=yJuJ7mT@bE7t5-{?;JSuxi00P<yb;+RKE)HlR}O!lAe)ulJt%%pcVvci}0c?wglJ
zVqX`ruR6gTb>r}ka93Rxe%I;jTQ)2|9dV^wZiNzm2B_!RZIfraL(e9TPsAwg`_H&V
z)50$@Z+Wooq3XmgVWDLGPv0ey`l9*2tv@RF|B~?kmAR`9)|F1)d+|xlCB1!FX{p6E
zY?rni-)ykya8+;D-ap4qJ&D`!NuD`R-u$~;->nNp*H7myIC(04+PYtlJhT>H`N{Qc
zk5)~7>?gB%p{M8NJrod537IQ!hheXZQ1bei`_cS%C6RZ8WwKRw#NFNUp?Kf+Gpl;S
z5AQQcU8pnn;r$Ee@159^Bd%j|d&c+jV>=g@?O}WO@5RmsvM0IEKAL@-i}^6K?v(wO
zxi=5@h<)W)d`0$n*4tFB2+K)r4y}8148KK%Do(!mZ`wk!Z<qeu+x7LGy=}F1yj+^S
z>iXAK@p6xEGwJ69DK5xbUcIN~*~N=XPv(^dCF%u!<1Jh$>fJW2czNmPCkMBNc<&F{
z8N1{2n#UOr>cqUbCb?y8ey?EZ|I_hkZ^{QT<C_zslWyr<Q!WpXE0w6(7Cyye(%wxq
z`FG3K?o6G3>}}qX%~?n9wJcs~+0q&0sanwLdH>Dy@0M@By_@k?y}|Zzhs^qK#ig$^
z{(rl@;!h^WIX<7R{FNoQop&k=RMad!t`{AmB$gsATk>k*zR$Ir!@{<l_F65{sp?c(
z9r3z<zf$78B+kv#|9!u9^W{C8`p<7?9D1I0bJIGPly5%AFKs)%eOkht9m|At-u&eK
z$nb5Apv#@Bf}1C8R1aQPbgrC1;D>6-y5_f!yyB*v<g@OyT-Ty1Jk_#uTlUSfqUI}3
zSuJ$D9&D3)v6{iko_Cr`b?VQ1yFTqGl@`7@f8Lv$wL<A??>#c^XA5=}9(AhTZ&mG7
zJYn;3ZI$P&oYmhJ?qu6GSvkP+srOA|-7jy7yXNw(S9_P(<kDEtdX}>?>QHI9ZA!=-
z0p(w+C*vabZTIu{*Lr--H{RRYc+EN)35m1U_EjftPFgZsIVSb(wZ~G&Bny73i5!@h
z@@D52=I1ZeXSHp7kaqu2$=&{qybpOw=Jf1IJ6uwfFP5M=QS!0jtErcjWtYC&6HpRw
zzhmDYy=$B92(7xJ6{WS<^3BvO8;;jk$iA!pHAm`_{PuSjJ2ylvP&Ttn`Dt6j-d!4V
zBB5wqy6U|Lh4G$I`&+%lPEGo{N2PJjx7x_>*X_zDoVGICtfTKNt>ByZ%~Es9#^nhM
zPfKi8IGL+o7h!c;W%q;0B{Dly_64<Y*IZZZzN)f4>~+DpBR9JL)bJl)d;G<=A4fmE
z$lANB^rC5+!SXtFm1A*A_l_36o_NQ@@1N(~MQiy=RlHZJ25b4P(D}A%>8lSG7nl#q
zIecrXZ4r9GC@bgit)xP<bP;=#ZNnSZ-yEtJn5}FY-n{&v^~!~xrJCU;_cuYW1?(ji
x3^y-74877R$MKC}llU9uDGvNEJ{<VZ9MzZ=H(T=35(Wka22WQ%mvv4FO#n~)GEV>i

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_volumeDetails.png b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/rightClick_volumeDetails.png
new file mode 100644
index 0000000000000000000000000000000000000000..991eb80dfc48b6b1aac6e76f40078430daec3327
GIT binary patch
literal 9563
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
VYmc>lWnf@n@O1TaS?83{1OV9N>+k>o

literal 0
HcmV?d00001

diff --git a/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/volume-details.html b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/volume-details.html
new file mode 100644
index 0000000000..598a30bf40
--- /dev/null
+++ b/DirectoryTree/javahelp/org/sleuthkit/autopsy/directorytree/docs/volume-details.html
@@ -0,0 +1,36 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>Volume Details Window</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>Volume Details Window</h2>
+        <p>
+            Volume Details Windows shows the information about volume ID, starting sector, the length, description, and flags of the selected volume.
+            <br><br>
+        </p>
+        
+        <h2>Example</h2>
+        <p>
+            &nbsp;&nbsp;&nbsp;&nbsp;<img src="VolumeDetailHelp.png" alt="Example of Volume Details Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/DirectoryTree/manifest.mf b/DirectoryTree/manifest.mf
new file mode 100644
index 0000000000..3cd61b1c0a
--- /dev/null
+++ b/DirectoryTree/manifest.mf
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.directorytree/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/directorytree/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/directorytree/Bundle.properties
+OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help
+
diff --git a/DirectoryTree/nbproject/build-impl.xml b/DirectoryTree/nbproject/build-impl.xml
new file mode 100644
index 0000000000..3892441abf
--- /dev/null
+++ b/DirectoryTree/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.directorytree-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/DirectoryTree/nbproject/genfiles.properties b/DirectoryTree/nbproject/genfiles.properties
new file mode 100644
index 0000000000..7c15c292e3
--- /dev/null
+++ b/DirectoryTree/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=db477856
+build.xml.script.CRC32=6ec7becb
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=db477856
+nbproject/build-impl.xml.script.CRC32=8c5007a7
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/DirectoryTree/nbproject/project.properties b/DirectoryTree/nbproject/project.properties
new file mode 100644
index 0000000000..ad6b9c5580
--- /dev/null
+++ b/DirectoryTree/nbproject/project.properties
@@ -0,0 +1,4 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+javahelp.hs=directorytree-hs.xml
+spec.version.base=0.0
diff --git a/DirectoryTree/nbproject/project.xml b/DirectoryTree/nbproject/project.xml
new file mode 100644
index 0000000000..6af52a56ca
--- /dev/null
+++ b/DirectoryTree/nbproject/project.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.directorytree</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.settings</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.26.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.15.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.explorer</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.28.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.casemodule</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponents</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.directorytree</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/DirectoryTree/nbproject/suite.properties b/DirectoryTree/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/DirectoryTree/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/Bundle.properties b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/Bundle.properties
new file mode 100644
index 0000000000..de02dec972
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/Bundle.properties
@@ -0,0 +1,49 @@
+CTL_DirectoryTreeAction=DirectoryTree
+CTL_DirectoryTreeExplorerAction=DirectoryTreeExplorer
+CTL_DirectoryTreeTopComponent=Directory Tree
+CTL_FileBrowserAction=FileBrowser (new)
+HINT_DirectoryTreeTopComponent=This is a DirectoryTree window
+OpenIDE-Module-Name=DirectoryTree
+FileSystemDetailsPanel.imgOffsetLabel.text=Image Offset:
+FileSystemDetailsPanel.fsTypeLabel.text=FileSystem Type:
+FileSystemDetailsPanel.genInfoLabel.text=General File Information
+FileSystemDetailsPanel.jLabel2.text=bytes
+FileSystemDetailsPanel.jLabel3.text=bytes
+FileSystemDetailsPanel.fsTypeValue.text=...
+FileSystemDetailsPanel.imgOffsetValue.text=...
+FileSystemDetailsPanel.volumeIDValue.text=...
+FileSystemDetailsPanel.blockSizeValue.text=...
+FileSystemDetailsPanel.blockCountValue.text=...
+FileSystemDetailsPanel.rootInumValue.text=...
+FileSystemDetailsPanel.firstInumValue.text=...
+FileSystemDetailsPanel.lastInumValue.text=...
+FileSystemDetailsPanel.jLabel1.text=Detailed File Information
+FileSystemDetailsPanel.volumeIDLabel.text=Volume ID:
+FileSystemDetailsPanel.blockSizeLabel.text=Block Size:
+FileSystemDetailsPanel.blockCountLabel.text=Block Count:
+FileSystemDetailsPanel.rootInumLabel.text=Root Metadata Entry:
+FileSystemDetailsPanel.firstInumLabel.text=First Metadata Entry:
+FileSystemDetailsPanel.lastInumLabel.text=Last Metadata Entry:
+FileSystemDetailsPanel.OKButton.text=OK
+VolumeDetailsPanel.volumeIDLabel.text=Volume ID:
+VolumeDetailsPanel.volumeIDValue.text=...
+VolumeDetailsPanel.startValue.text=...
+VolumeDetailsPanel.lengthValue.text=...
+VolumeDetailsPanel.descValue.text=...
+VolumeDetailsPanel.flagsValue.text=...
+VolumeDetailsPanel.startLabel.text=Starting Sector:
+VolumeDetailsPanel.lengthLabel.text=Length in Sectors:
+VolumeDetailsPanel.descLabel.text=Description:
+VolumeDetailsPanel.flagsLabel.text=Flags:
+VolumeDetailsPanel.jLabel1.text=General Volume Information
+VolumeDetailsPanel.OKButton.text=OK
+ImageDetailsPanel.imageInfoLabel.text=Image Information
+ImageDetailsPanel.imgNameLabel.text=Name:
+ImageDetailsPanel.imgNameValue.text=...
+ImageDetailsPanel.imgTypeLabel.text=Type:
+ImageDetailsPanel.imgTypeValue.text=...
+ImageDetailsPanel.OKButton.text=OK
+ImageDetailsPanel.imgSectorSizeLabel.text=Sector Size:
+ImageDetailsPanel.imgSectorSizeValue.text=...
+DirectoryTreeTopComponent.backButton.text=
+DirectoryTreeTopComponent.forwardButton.text=
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ChangeViewAction.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ChangeViewAction.java
new file mode 100644
index 0000000000..6242d633bc
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ChangeViewAction.java
@@ -0,0 +1,103 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import java.awt.event.ActionEvent;
+import javax.swing.AbstractAction;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import org.openide.util.actions.Presenter;
+import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent;
+import org.sleuthkit.autopsy.corecomponents.DataContentViewerHex;
+import org.sleuthkit.autopsy.corecomponents.DataContentViewerString;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * The actions to change between the "Hex View" and "String View".
+ *
+ * @author jantonius
+ */
+public class ChangeViewAction extends AbstractAction implements Presenter.Popup {
+
+    private int type; // type 1 = hex view, 2 = string view
+    private ContentNode node;
+
+    /** the constructor */
+    public ChangeViewAction(String title, int viewType, ContentNode node) {
+        super(title);
+        this.type = viewType;
+        this.node = node;
+    }
+
+    /**
+     * The action that this class performs. The action is divided into 2 type.
+     * First if the the type is 1, it will change the active output top component
+     * to "Hex View". Another one is if the type is 2, it will change the active
+     * top component to "String View."
+     *
+     * @param e  the action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        DataContentTopComponent dctc = DataContentTopComponent.findInstance();
+        int totalTabs = dctc.getTabPanels().getTabCount();
+
+        // change the output view to hex view
+        if (type == 1) {
+            // find the hex view top component
+//            TopComponent hexWin = WindowManager.getDefault().findTopComponent("HexViewTopComponent"); // Note: HexViewTopComponent = the preffered ID of that top component
+//            hexWin.requestActive(); // set it to become the active top component
+
+            for (int i = 0; i < totalTabs; i++) {
+                if (dctc.getTabPanels().getComponentAt(i) instanceof DataContentViewerHex) {
+                    dctc.getTabPanels().setSelectedIndex(i);
+                }
+            }
+        }
+        // change the output view to string view
+        if (type == 2) {
+            // find the string view top component
+//            TopComponent stringWin = WindowManager.getDefault().findTopComponent("StringViewTopComponent"); // Note: StringViewTopComponent = the preffered ID of that top component
+//            stringWin.requestActive(); // set it to become the active top component
+
+            for (int i = 0; i < totalTabs; i++) {
+                if (dctc.getTabPanels().getComponentAt(i) instanceof DataContentViewerString) {
+                    dctc.getTabPanels().setSelectedIndex(i);
+                }
+            }
+        }
+        // else do nothing
+    }
+
+    /**
+     * To create the sub-menu for "Hex View" and "String View".
+     *
+     * @return menuItem  the menu items
+     */
+    @Override
+    public JMenuItem getPopupPresenter() {
+        JMenu item = new JMenu("View");
+        item.add(new ChangeViewAction("Hex", 1, node));
+        item.add(new ChangeViewAction("String", 2, node));
+        return item;
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/CollapseAction.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/CollapseAction.java
new file mode 100644
index 0000000000..7b18336427
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/CollapseAction.java
@@ -0,0 +1,70 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionEvent;
+import javax.swing.AbstractAction;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.view.BeanTreeView;
+import org.openide.nodes.Children;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ *
+ * @author jantonius
+ */
+public class CollapseAction extends AbstractAction {
+
+    CollapseAction(String title) {
+        super(title);
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
+        Node[] selectedNode = em.getSelectedNodes();
+
+        // Collapse all
+
+        BeanTreeView tree = DirectoryTreeTopComponent.findInstance().getTree();
+        collapseAll(tree, selectedNode[0]);
+    }
+
+    /**
+     * Collapse all visible children of the given node on the given tree.
+     *
+     * @param tree          the given tree
+     * @param currentNode   the current selectedNode
+     */
+    private void collapseAll(BeanTreeView tree, Node currentNode) {
+
+        Children c = currentNode.getChildren();
+
+        for (Node next : c.getNodes()) {
+            if (tree.isExpanded(next)) {
+                this.collapseAll(tree, next);
+            }
+        }
+
+        tree.collapseNode(currentNode);
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterChildren.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterChildren.java
new file mode 100644
index 0000000000..128889a499
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterChildren.java
@@ -0,0 +1,46 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+
+/**
+ * This class is used for the creation of all the children for the
+ * DataResultFilterNode that created in the DataResultFilterNode.java.
+ *
+ * @author jantonius
+ */
+public class DataResultFilterChildren extends FilterNode.Children {
+
+    /** the constructor */
+    public DataResultFilterChildren(Node arg) {
+        super(arg);
+    }
+
+    @Override
+    protected Node copyNode(Node arg0) {
+        return new DataResultFilterNode(arg0);
+    }
+
+    @Override
+    protected Node[] createNodes(Node arg0) {
+        return new Node[]{this.copyNode(arg0)};
+    }
+}
\ No newline at end of file
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java
new file mode 100644
index 0000000000..280d32dca4
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DataResultFilterNode.java
@@ -0,0 +1,233 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionEvent;
+import java.beans.PropertyVetoException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import org.sleuthkit.autopsy.datamodel.ImageNode;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.datamodel.VolumeNode;
+import org.sleuthkit.autopsy.datamodel.FileNode;
+import org.sleuthkit.autopsy.datamodel.DirectoryNode;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JPanel;
+import org.openide.explorer.ExplorerManager;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+import org.sleuthkit.autopsy.datamodel.ContentNodeVisitor;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * This class wraps nodes as they are passed to the DataResult viewers.  It 
+ * defines the actions that the node should have. 
+ */
+public class DataResultFilterNode extends FilterNode implements ContentNode {
+
+    private Node currentNode;
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** the constructor */
+    public DataResultFilterNode(Node arg) {
+        super(arg, new DataResultFilterChildren(arg));
+        this.currentNode = arg;
+    }
+
+    @Override
+    public Node getOriginal() {
+        return super.getOriginal();
+    }
+
+    /**
+     * Right click action for the nodes that we want to pass to the directory
+     * table and the output view.
+     *
+     * @param popup
+     * @return actionss
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+
+        List<Action> actions = new ArrayList<Action>();
+
+
+        // right click action(s) for image node
+        if (this.currentNode instanceof ImageNode) {
+            actions.add(new NewWindowViewAction("View in New Window", (ImageNode) this.currentNode));
+            actions.addAll(ShowDetailActionVisitor.getActions(((ImageNode) this.currentNode).getContent()));
+        } // right click action(s) for volume node
+        else if (this.currentNode instanceof VolumeNode) {
+            actions.add(new NewWindowViewAction("View in New Window", (VolumeNode) this.currentNode));
+            //new ShowDetailActionVisitor("Volume Details", this.currentNode.getName(), (VolumeNode) this.currentNode),
+            actions.addAll(ShowDetailActionVisitor.getActions(((VolumeNode) this.currentNode).getContent()));
+            actions.add(new ChangeViewAction("View", 0, (ContentNode) currentNode));
+        } // right click action(s) for directory node
+        else if (this.currentNode instanceof DirectoryNode) {
+            actions.add(new NewWindowViewAction("View in New Window", (DirectoryNode) this.currentNode));
+            actions.add(new ChangeViewAction("View", 0, (ContentNode) currentNode));
+            actions.add(new ExtractAction("Extract Directory", (DirectoryNode) this.currentNode));
+        } // right click action(s) for the file node
+        else if (this.currentNode instanceof FileNode) {
+            actions.add(new ExternalViewerAction("Open File in External Viewer", (FileNode) this.currentNode));
+            actions.add(new NewWindowViewAction("View in New Window", (FileNode) this.currentNode));
+            actions.add(new ExtractAction("Extract", (FileNode) this.currentNode));
+            actions.add(new ChangeViewAction("View", 0, (ContentNode) currentNode));
+        }
+
+        return actions.toArray(new Action[actions.size()]);
+    }
+
+    /**
+     * Double click action for the nodes that we want to pass to the directory
+     * table and the output view.
+     *
+     * @return action
+     */
+    @Override
+    public Action getPreferredAction() {
+        // double click action(s) for volume node or directory node
+        if (this.currentNode instanceof VolumeNode || (this.currentNode instanceof DirectoryNode && !this.currentNode.getDisplayName().equals("."))) {
+
+            if (this.currentNode instanceof DirectoryNode && this.currentNode.getDisplayName().equals("..")) {
+                ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
+                Node[] selectedNode = em.getSelectedNodes();
+                Node selectedContext = selectedNode[0];
+                final Node parentNode = selectedContext.getParentNode();
+
+                return new AbstractAction() {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e) {
+                        try {
+                            DirectoryTreeTopComponent.findInstance().getExplorerManager().setSelectedNodes(new Node[]{parentNode});
+                        } catch (PropertyVetoException ex) {
+                            Logger logger = Logger.getLogger(DataResultFilterNode.class.getName());
+                            logger.log(Level.WARNING, "Error: can't open the parent directory.", ex);
+                        }
+                    }
+                };
+            } else {
+                ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
+                final Node[] parentNode = em.getSelectedNodes();
+                final Node parentContext = parentNode[0];
+
+                return new AbstractAction() {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e) {
+                        if (parentContext != null) {
+                            ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
+                            for (int i = 0; i < parentContext.getChildren().getNodesCount(); i++) {
+                                Node selectedNode = parentContext.getChildren().getNodeAt(i);
+                                if (selectedNode != null && selectedNode.getName().equals(currentNode.getName())) {
+                                    try {
+                                        em.setExploredContextAndSelection(selectedNode, new Node[]{selectedNode});
+                                    } catch (PropertyVetoException ex) {
+                                        // throw an error here
+                                        Logger logger = Logger.getLogger(DataResultFilterNode.class.getName());
+                                        logger.log(Level.WARNING, "Error: can't open the selected directory.", ex);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                };
+            }
+
+        } //        // right click action(s) for the file node
+        //        if(this.currentNode instanceof FileNode){
+        //            // .. put the code here
+        //        }
+        else {
+            return null;
+        }
+    }
+
+    @Override
+    public Node.PropertySet[] getPropertySets() {
+        Node.PropertySet[] propertySets = super.getPropertySets();
+
+        for (int i = 0; i < propertySets.length; i++) {
+            Node.PropertySet ps = propertySets[i];
+
+            if (ps.getName().equals(Sheet.PROPERTIES)) {
+                Sheet.Set newPs = new Sheet.Set();
+                newPs.setName(ps.getName());
+                newPs.setDisplayName(ps.getDisplayName());
+                newPs.setShortDescription(ps.getShortDescription());
+
+                newPs.put(ps.getProperties());
+                newPs.remove(FileNode.PROPERTY_LOCATION);
+                propertySets[i] = newPs;
+            }
+        }
+
+        return propertySets;
+    }
+
+    @Override
+    public long getID() {
+        return ((ContentNode) currentNode).getID();
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+        return ((ContentNode) currentNode).getRowValues(rows);
+    }
+
+    @Override
+    public byte[] read(long offset, long len) throws TskException {
+        return ((ContentNode) currentNode).read(offset, len);
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return ((ContentNode) currentNode).getFileIDColumn();
+    }
+
+    @Override
+    public Content getContent() {
+        return ((ContentNode) currentNode).getContent();
+    }
+
+    @Override
+    public String[] getDisplayPath() {
+        return ((ContentNode) currentNode).getDisplayPath();
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        // TODO: Figure out how visitors should be delegated
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public String[] getSystemPath() {
+        return ((ContentNode) currentNode).getSystemPath();
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterChildren.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterChildren.java
new file mode 100644
index 0000000000..8f365354e4
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterChildren.java
@@ -0,0 +1,70 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import org.openide.nodes.Children;
+import org.sleuthkit.autopsy.datamodel.ImageNode;
+import org.sleuthkit.autopsy.datamodel.VolumeNode;
+import org.sleuthkit.autopsy.datamodel.DirectoryNode;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.sleuthkit.datamodel.Directory;
+
+/**
+ * This class wraps around nodes that are displayed in the directory tree and 
+ * hides files, '..', and other children that should not be displayed. 
+ * 
+ * @author jantonius
+ */
+class DirectoryTreeFilterChildren extends FilterNode.Children {
+
+    /** the constructor */
+    public DirectoryTreeFilterChildren(Node arg) {
+        super(arg);
+    }
+
+    @Override
+    protected Node copyNode(Node arg0) {
+        return new DirectoryTreeFilterNode(arg0);
+    }
+
+    @Override
+    protected Node[] createNodes(Node arg0) {
+        // filter out the FileNode and the "." and ".." directories
+        if (arg0 != null && (arg0 instanceof ImageNode
+                || arg0 instanceof VolumeNode || (arg0 instanceof DirectoryNode
+                && !((Directory) ((DirectoryNode) arg0).getContent()).getName().equals(".")
+                && !((Directory) ((DirectoryNode) arg0).getContent()).getName().equals("..")))) {
+            return new Node[]{this.copyNode(arg0)};
+        } else {
+            return new Node[]{};
+        }
+    }
+
+    /**
+     * Return the children based on the current node given. If the node doesn't
+     * have any directory or volume or image node inside it, it just returns leaf.
+     * 
+     * @param arg        the node
+     * @return children  the children
+     */
+    public static Children createInstance(Node arg) {
+        return new DirectoryTreeFilterChildren(arg);
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java
new file mode 100644
index 0000000000..9d23f82ee5
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeFilterNode.java
@@ -0,0 +1,74 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.Action;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.sleuthkit.datamodel.Content;
+
+/**
+ * This class sets the actions for the nodes in the directory tree and creates
+ * the children filter so that files and such are hidden from the tree. 
+ *
+ */
+public class DirectoryTreeFilterNode extends FilterNode {
+
+    private static final Action collapseAll = new CollapseAction("Collapse All");
+
+    /** the constructor */
+    public DirectoryTreeFilterNode(Node arg) {
+        super(arg, DirectoryTreeFilterChildren.createInstance(arg));
+    }
+
+    // TODO This seems bad.  We should have this return the real original and modify code somewhere else to wrap it
+    @Override
+    public Node getOriginal() {
+        return new DataResultFilterNode(super.getOriginal());
+    }
+
+    /**
+     * Right click action for the nodes in the directory tree.
+     *
+     * @param popup
+     * @return
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+        List<Action> actions = new ArrayList<Action>();
+
+        Content content = super.getOriginal().getLookup().lookup(Content.class);
+        if (content != null) {
+            actions.addAll(DirectoryTreeFilterNode.getActions(content));
+            actions.add(collapseAll);
+        }
+
+        return actions.toArray(new Action[actions.size()]);
+    }
+
+    private static List<Action> getActions(Content c) {
+        List<Action> actions = new ArrayList<Action>();
+
+        actions.addAll(ShowDetailActionVisitor.getActions(c));
+
+        return actions;
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.form b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.form
new file mode 100644
index 0000000000..f5128e7c56
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.form
@@ -0,0 +1,91 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+              <Component id="backButton" min="-2" pref="26" max="-2" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Component id="forwardButton" min="-2" pref="27" max="-2" attributes="0"/>
+              <EmptySpace pref="199" max="32767" attributes="0"/>
+          </Group>
+          <Component id="jScrollPane1" alignment="0" pref="262" max="32767" attributes="0"/>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Component id="forwardButton" min="0" pref="0" max="32767" attributes="1"/>
+                  <Component id="backButton" alignment="0" pref="26" max="32767" attributes="1"/>
+              </Group>
+              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+              <Component id="jScrollPane1" pref="846" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new BeanTreeView()"/>
+      </AuxValues>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+    </Container>
+    <Component class="javax.swing.JButton" name="backButton">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+          <Image iconType="3" name="/org/sleuthkit/autopsy/directorytree/arrow_left.gif"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.backButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[55, 100]"/>
+        </Property>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[5, 5]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="backButtonActionPerformed"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="forwardButton">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+          <Image iconType="3" name="/org/sleuthkit/autopsy/directorytree/arrow_right.gif"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.forwardButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+        <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[55, 100]"/>
+        </Property>
+        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[5, 5]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="forwardButtonActionPerformed"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java
new file mode 100644
index 0000000000..f691f39e65
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java
@@ -0,0 +1,643 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.Cursor;
+import java.awt.EventQueue;
+import java.beans.PropertyVetoException;
+import java.io.IOException;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.util.ArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.tree.TreeSelectionModel;
+import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
+import org.openide.explorer.ExplorerManager;
+import org.openide.explorer.ExplorerUtils;
+import org.openide.explorer.view.BeanTreeView;
+import org.openide.explorer.view.TreeView;
+import org.openide.nodes.AbstractNode;
+import org.openide.nodes.Children;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
+import org.sleuthkit.autopsy.datamodel.RootContentChildren;
+
+/**
+ * Top component which displays something.
+ */
+// Registered as a service provider for DataExplorer in layer.xml
+public final class DirectoryTreeTopComponent extends TopComponent implements DataExplorer, ExplorerManager.Provider {
+
+    private transient ExplorerManager em = new ExplorerManager();
+    private static DirectoryTreeTopComponent instance;
+    private DataResultTopComponent dataResult = new DataResultTopComponent(true, "Directory Listing");
+    private boolean backFwdFlag; // flag whether the back or forward button is pressed
+    private ArrayList<Node> backList;
+    private ArrayList<Node> forwardList;
+    /** path to the icon used by the component and its open action */
+//    static final String ICON_PATH = "SET/PATH/TO/ICON/HERE";
+    private static final String PREFERRED_ID = "DirectoryTreeTopComponent";
+    private PropertyChangeSupport pcs;
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** the constructor */
+    private DirectoryTreeTopComponent() {
+        initComponents();
+
+        // only allow one item to be selected at a time
+        ((BeanTreeView) jScrollPane1).setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+        // remove the close button
+        putClientProperty(TopComponent.PROP_CLOSING_DISABLED, Boolean.TRUE);
+        setName(NbBundle.getMessage(DirectoryTreeTopComponent.class, "CTL_DirectoryTreeTopComponent"));
+        setToolTipText(NbBundle.getMessage(DirectoryTreeTopComponent.class, "HINT_DirectoryTreeTopComponent"));
+
+        setListener();
+        associateLookup(ExplorerUtils.createLookup(em, getActionMap()));
+
+
+        this.pcs = new PropertyChangeSupport(this);
+        this.backFwdFlag = false;
+
+        // set the back & forward list and also disable the back & forward button
+        this.backList = new ArrayList<Node>();
+        this.forwardList = new ArrayList<Node>();
+        backButton.setEnabled(false);
+        forwardButton.setEnabled(false);
+    }
+
+    /**
+     * Set the FileBrowserTopComponent as the listener to any property changes
+     * in the Case.java class
+     */
+    private void setListener() {
+        Case.addPropertyChangeListener(this);// add this class to listen to any changes in the Case.java class
+        this.em.addPropertyChangeListener(this);
+    }
+
+    public void setDirectoryListingActive() {
+        this.dataResult.requestActive();
+    }
+
+    public void openDirectoryListing() {
+        this.dataResult.open();
+    }
+
+    public DataResultTopComponent getDirectoryListing() {
+        return this.dataResult;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jScrollPane1 = new BeanTreeView();
+        backButton = new javax.swing.JButton();
+        forwardButton = new javax.swing.JButton();
+
+        backButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/directorytree/arrow_left.gif"))); // NOI18N
+        org.openide.awt.Mnemonics.setLocalizedText(backButton, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.backButton.text")); // NOI18N
+        backButton.setMaximumSize(new java.awt.Dimension(55, 100));
+        backButton.setMinimumSize(new java.awt.Dimension(5, 5));
+        backButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                backButtonActionPerformed(evt);
+            }
+        });
+
+        forwardButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/directorytree/arrow_right.gif"))); // NOI18N
+        org.openide.awt.Mnemonics.setLocalizedText(forwardButton, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.forwardButton.text")); // NOI18N
+        forwardButton.setMaximumSize(new java.awt.Dimension(55, 100));
+        forwardButton.setMinimumSize(new java.awt.Dimension(5, 5));
+        forwardButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                forwardButtonActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(4, 4, 4)
+                .addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(forwardButton, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(199, Short.MAX_VALUE))
+            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(4, 4, 4)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(forwardButton, 0, 0, Short.MAX_VALUE)
+                    .addComponent(backButton, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE))
+                .addGap(4, 4, 4)
+                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 846, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void backButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backButtonActionPerformed
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+//        try {
+        // update the back and forward List
+        int currentIndex = backList.size() - 1;
+        Node currentNode = backList.get(currentIndex);
+        Node newCurrentNode = backList.get(currentIndex - 1);
+        backList.remove(currentIndex);
+        forwardList.add(currentNode);
+
+        // enable / disable the back and forward button
+        if (backList.size() > 1) {
+            backButton.setEnabled(true);
+        } else {
+            backButton.setEnabled(false);
+        }
+        this.forwardButton.setEnabled(true);
+
+        this.backFwdFlag = true; // set the flag
+
+        // update the selection on directory tree
+        try {
+            em.setExploredContextAndSelection(newCurrentNode.getParentNode(), new Node[]{newCurrentNode});
+        } catch (PropertyVetoException ex) {
+            Logger.getLogger(this.className).log(Level.WARNING, "Error: can't go back to the previous selected node.", ex);
+        }
+
+        this.backFwdFlag = false; // reset the flag
+//        }
+//        finally {
+        this.setCursor(null);
+//        }
+    }//GEN-LAST:event_backButtonActionPerformed
+
+    private void forwardButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_forwardButtonActionPerformed
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+//        try {
+        // update the back and forward List
+        int newCurrentIndex = forwardList.size() - 1;
+        Node newCurrentNode = forwardList.get(newCurrentIndex);
+        forwardList.remove(newCurrentIndex);
+        backList.add(newCurrentNode);
+
+        // enable / disable the back and forward button
+        if (forwardList.size() > 0) {
+            forwardButton.setEnabled(true);
+        } else {
+            forwardButton.setEnabled(false);
+        }
+        this.backButton.setEnabled(true);
+
+        this.backFwdFlag = true; // set the flag
+
+        // update the selection on directory tree
+        try {
+            em.setExploredContextAndSelection(newCurrentNode.getParentNode(), new Node[]{newCurrentNode});
+        } catch (PropertyVetoException ex) {
+            Logger.getLogger(this.className).log(Level.WARNING, "Error: can't go forward to the previous selected node.", ex);
+        }
+
+        this.backFwdFlag = false; // reset the flag
+//        }
+//        finally {
+        this.setCursor(null);
+//    }
+    }//GEN-LAST:event_forwardButtonActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton backButton;
+    private javax.swing.JButton forwardButton;
+    private javax.swing.JScrollPane jScrollPane1;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Gets default instance. Do not use directly: reserved for *.settings files only,
+     * i.e. deserialization routines; otherwise you could get a non-deserialized instance.
+     * To obtain the singleton instance, use {@link #findInstance}.
+     */
+    public static synchronized DirectoryTreeTopComponent getDefault() {
+        if (instance == null) {
+            instance = new DirectoryTreeTopComponent();
+        }
+        return instance;
+    }
+
+    /**
+     * Obtain the DirectoryTreeTopComponent instance. Never call {@link #getDefault} directly!
+     */
+    public static synchronized DirectoryTreeTopComponent findInstance() {
+        WindowManager winManager = WindowManager.getDefault();
+        TopComponent win = winManager.findTopComponent(PREFERRED_ID);
+        if (win == null) {
+            Logger.getLogger(DirectoryTreeTopComponent.class.getName()).warning(
+                    "Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system.");
+            return getDefault();
+        }
+        if (win instanceof DirectoryTreeTopComponent) {
+            return (DirectoryTreeTopComponent) win;
+        }
+        Logger.getLogger(DirectoryTreeTopComponent.class.getName()).warning(
+                "There seem to be multiple components with the '" + PREFERRED_ID
+                + "' ID. That is a potential source of errors and unexpected behavior.");
+        return getDefault();
+    }
+
+    /**
+     * Overwrite when you want to change default persistence type. Default
+     * persistence type is PERSISTENCE_ALWAYS
+     * 
+     * @return TopComponent.PERSISTENCE_ALWAYS
+     */
+    @Override
+    public int getPersistenceType() {
+        return TopComponent.PERSISTENCE_NEVER;
+    }
+
+    /**
+     * Called only when top component was closed on all workspaces before and
+     * now is opened for the first time on some workspace. The intent is to
+     * provide subclasses information about TopComponent's life cycle across all
+     * existing workspaces. Subclasses will usually perform initializing tasks
+     * here.
+     */
+    @Override
+    public void componentOpened() {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            if (Case.existsCurrentCase()) {
+                Case currentCase = Case.getCurrentCase();
+
+                // close the top component if there's no image in this case
+                if (currentCase.getImageIDs().length == 0) {
+                    //this.close();
+                    ((BeanTreeView) this.jScrollPane1).setRootVisible(false); // hide the root
+                } else {
+                    // if there's at least one image, load the image and open the top component
+                    Node root = new AbstractNode(new RootContentChildren(currentCase.getRootObjects())) {
+
+                        /** to override the right click action in the white blank space
+                         * area on the directory tree window
+                         */
+                        @Override
+                        public Action[] getActions(boolean popup) {
+                            return new Action[]{};
+                        }
+
+                        // Overide the AbstractNode use of DefaultHandle to return
+                        // a handle which can be serialized without a parent
+                        @Override
+                        public Node.Handle getHandle() {
+                            return new Node.Handle() {
+
+                                @Override
+                                public Node getNode() throws IOException {
+                                    return em.getRootContext();
+                                }
+                            };
+                        }
+                    };
+                    /*try {
+                    root = new DirectoryTreeFilterNode(root);
+                    } catch (SQLException ex) {
+                    JOptionPane.showMessageDialog(caller, "Error: problem making directory filter node.\n \nDetail: \n" + ex.getMessage() + " (at " + className + ").", "Error", JOptionPane.ERROR_MESSAGE);
+                    }*/
+
+
+                    // TODO It seems that we can get rid of the first condition. root is an abstract node
+                    if (root instanceof DirectoryTreeFilterNode) {
+                        root = ((DirectoryTreeFilterNode) root).getOriginal();
+                    } else {
+//                    try {
+                        root = new DirectoryTreeFilterNode(root);
+//                    } catch (SQLException ex) {
+//                        JOptionPane.showMessageDialog(caller, "Error: problem making directory filter node.\n \nDetail: \n" + ex.getMessage() + " (at " + className + ").", "Error", JOptionPane.ERROR_MESSAGE);
+//                    }
+                    }
+
+                    em.setRootContext(root);
+                    em.getRootContext().setName(currentCase.getName());
+                    em.getRootContext().setDisplayName(currentCase.getName());
+                    ((BeanTreeView) this.jScrollPane1).setRootVisible(false); // hide the root
+
+
+                    Children imageNodes = em.getRootContext().getChildren();
+                    TreeView tree = getTree();
+
+                    // expand until image node
+                    for (Node image : imageNodes.getNodes()) {
+                        tree.expandNode(image);
+                    }
+
+                    // if the dataResult is not opened
+                    if (!dataResult.isOpened()) {
+                        dataResult.open(); // open the data result top component as well when the directory tree is opened
+                    }
+
+
+                    // select the first image node, if there is one
+                    // (this has to happen after dataResult is opened, because the event
+                    // of changing the selected node fires a handler that tries to make
+                    // dataResult active)
+                    if (imageNodes.getNodesCount() > 0) {
+                        try {
+                            em.setSelectedNodes(new Node[]{imageNodes.getNodeAt(0)});
+                        } catch (Exception ex) {
+                            Logger logger = Logger.getLogger(DirectoryTreeTopComponent.class.getName());
+                            logger.log(Level.SEVERE, "Error setting default selected node.", ex);
+                        }
+                    }
+
+                }
+            }
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    /**
+     * Called only when top component was closed so that now it is closed on all
+     * workspaces in the system. The intent is to provide subclasses information
+     * about TopComponent's life cycle across workspaces. Subclasses will usually
+     * perform cleaning tasks here.
+     */
+    @Override
+    public void componentClosed() {
+        //@@@ push the selection node to null?
+    }
+
+    void writeProperties(java.util.Properties p) {
+        // better to version settings since initial version as advocated at
+        // http://wiki.apidesign.org/wiki/PropertyFiles
+        p.setProperty("version", "1.0");
+        // TODO store your settings
+    }
+
+    Object readProperties(java.util.Properties p) {
+        if (instance == null) {
+            instance = this;
+        }
+        instance.readPropertiesImpl(p);
+        return instance;
+    }
+
+    private void readPropertiesImpl(java.util.Properties p) {
+        String version = p.getProperty("version");
+        // TODO read your settings according to their version
+    }
+
+    /**
+     * Returns the unique ID of this TopComponent
+     *
+     * @return PREFERRED_ID  the unique ID of this TopComponent
+     */
+    @Override
+    protected String preferredID() {
+        return PREFERRED_ID;
+    }
+
+    @Override
+    public boolean canClose() {
+        return !Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0; // only allow this window to be closed when there's no case opened or no image in this case
+    }
+
+    /**
+     * Gets the explorer manager.
+     *
+     * @return the explorer manager
+     */
+    public ExplorerManager getExplorerManager() {
+        return this.em;
+    }
+
+    /**
+     * Right click action for this top component window
+     *
+     * @return actions  the list of actions
+     */
+    @Override
+    public Action[] getActions() {
+        return new Action[]{};
+    }
+
+    /**
+     * Gets the original selected node on the explorer manager
+     *
+     * @return node the original selected Node
+     */
+    // TODO Rename or get rid of it entirely. 
+    public Node getOriginalSelectedNode() {
+        Node result = null;
+
+        Node[] selectedNodes = this.getExplorerManager().getSelectedNodes();
+        if (selectedNodes.length > 0) {
+            result = selectedNodes[0];
+            if (result != null && result instanceof DirectoryTreeFilterNode) {
+                result = ((DirectoryTreeFilterNode) result).getOriginal();
+            }
+        }
+        return result;
+    }
+
+    /**
+     * The "listener" that listens to any changes made in the Case.java class.
+     * It will do something based on the changes in the Case.java class.
+     *
+     * @param evt  the property change event
+     */
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        String changed = evt.getPropertyName();
+        Object oldValue = evt.getOldValue();
+        Object newValue = evt.getNewValue();
+
+        // change in the case name
+        if (changed.equals(Case.CASE_NAME)) {
+            // set the main title of the window
+            String oldCaseName = oldValue.toString();
+            String newCaseName = newValue.toString();
+
+
+            // update the case name
+            if ((!oldCaseName.equals("")) && (!newCaseName.equals(""))) {
+                // change the root name and display name
+                em.getRootContext().setName(newCaseName);
+                em.getRootContext().setDisplayName(newCaseName);
+            }
+        }
+        
+        // changed current case
+        if (changed.equals(Case.CASE_CURRENT_CASE)) {
+            
+            // case opened
+            if (newValue != null) {
+                resetHistoryListAndButtons();
+            }
+        }
+
+        // if the image is added to the case
+        if (changed.equals(Case.CASE_ADD_IMAGE)) {
+            componentOpened();
+//            Image img = (Image)newValue;
+//
+//            int[] imageIDs = Case.getCurrentCase().getImageIDs();
+//
+//            // add the first image
+//            if(imageIDs.length == 1){
+//                
+//            }
+//            else{
+//                // add the additional images
+//                ImageNode newNode = new ImageNode(img);
+//                ((ImageChildren)getOriginalRootContent().getChildren()).addNode(newNode);
+//
+//                // expand the new added node
+//                int count = em.getRootContext().getChildren().getNodesCount();
+//                em.setExploredContext(em.getRootContext().getChildren().getNodeAt(count - 1));
+//            }
+        }
+// not supporting deleting images for now
+//        // if the image is removed from the case
+//        if(changed.equals(Case.CASE_DEL_IMAGE)){
+//            if(Case.getCurrentCase().getImageIDs().length > 0){
+//                // just remove the given image from the directory tree
+//                Image img = (Image)newValue;
+//                int ID = Integer.parseInt(oldValue.toString());
+//                ImageNode tempNode = new ImageNode(img);
+//                ((ImageChildren)getOriginalRootContent().getChildren()).removeNode(tempNode);
+//            }
+//        }
+
+        // change in node selection
+        if (changed.equals(ExplorerManager.PROP_SELECTED_NODES)) {
+
+
+            // Some lock that prevents certian Node operations is set during the
+            // ExplorerManager selection-change, so we must handle changes after the
+            // selection-change event is processed.
+            EventQueue.invokeLater(new Runnable() {
+
+                @Override
+                public void run() {
+                    // change the cursor to "waiting cursor" for this operation
+                    DirectoryTreeTopComponent.this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                    try {
+
+                        // make sure dataResult is open
+                        dataResult.open();
+
+                        ContentNode node = (ContentNode) DirectoryTreeTopComponent.this.getOriginalSelectedNode();
+                        if (node != null) {
+
+                            //pcs.firePropertyChange(DataExplorer.EXPLORER_NODE_SELECTION_CHANGED, "", node);
+                            int count = ((Node) node).getChildren().getNodesCount(true);
+                            if (count > 1000) {
+                                DirectoryTreeTopComponent.this.setCursor(null);
+                                JOptionPane.showMessageDialog(caller, "Note: The selected directory contains " + count + " child files and folders. It may take some time to display them.\n\nAlso note that in the current version of Autopsy this will also make certain functions very slow (thumbnail view in particular, should be fixed in a future version)", "Large Data", JOptionPane.INFORMATION_MESSAGE);
+                                DirectoryTreeTopComponent.this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                            }
+                            DirectoryTreeTopComponent.this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                            DirectoryTreeTopComponent.this.dataResult.setNode(node);
+                        }
+
+                        // set the directory listing to be active
+                        dataResult.requestActive();
+                    } finally {
+                        DirectoryTreeTopComponent.this.setCursor(null);
+                    }
+                }
+            });
+
+            // update the back and forward list
+            Node[] selectedNode = em.getSelectedNodes();
+            if (selectedNode.length > 0 && !backFwdFlag) {
+                Node selectedContext = selectedNode[0];
+
+                backList.add(selectedContext); // add the node to the "backList"
+                if (backList.size() > 1) {
+                    backButton.setEnabled(true);
+                } else {
+                    backButton.setEnabled(false);
+                }
+
+                forwardList.clear(); // clear the "forwardList"
+                forwardButton.setEnabled(false); // disable the forward Button
+            }
+        }
+    }
+
+    @Override
+    public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
+        pcs.addPropertyChangeListener(listener);
+    }
+
+    @Override
+    public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
+        pcs.removePropertyChangeListener(listener);
+    }
+
+    /**
+     * Resets the back and forward list, and also disable the back and forward
+     * buttons.
+     */
+    private void resetHistoryListAndButtons() {
+        // clear the back and forward list
+        backList.clear();
+        forwardList.clear();
+        backButton.setEnabled(false);
+        forwardButton.setEnabled(false);
+    }
+
+    /**
+     * Gets the tree on this DirectoryTreeTopComponent.
+     *
+     * @return tree  the BeanTreeView
+     */
+    public BeanTreeView getTree() {
+        return (BeanTreeView) this.jScrollPane1;
+    }
+
+    @Override
+    public TopComponent getTopComponent() {
+        return this;
+    }
+//    private class HistoryManager<T> {
+//        private Stack<T> past, future;
+//
+//    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentSettings.xml b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentSettings.xml
new file mode 100644
index 0000000000..c3c9c60090
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentSettings.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
+<settings version="1.0">
+    <module name="org.sleuthkit.autopsy.directorytree" spec="1.0"/>
+    <instanceof class="org.openide.windows.TopComponent"/>
+    <instanceof class="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent"/>
+    <instance class="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent" method="getDefault"/>
+</settings>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentWstcref.xml b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentWstcref.xml
new file mode 100644
index 0000000000..a33969d893
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponentWstcref.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE tc-ref PUBLIC "-//NetBeans//DTD Top Component in Mode Properties 2.0//EN" "http://www.netbeans.org/dtds/tc-ref2_0.dtd">
+<tc-ref version="2.0" >
+    <module name="org.sleuthkit.autopsy.directorytree" spec="1.0"/>
+    <tc-id id="DirectoryTreeTopComponent"/>
+    <state opened="false"/>
+</tc-ref>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExternalViewerAction.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExternalViewerAction.java
new file mode 100644
index 0000000000..8b149605d7
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExternalViewerAction.java
@@ -0,0 +1,124 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.Desktop;
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.AbstractAction;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.datamodel.FileNode;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ *
+ * @author jantonius
+ */
+public class ExternalViewerAction extends AbstractAction {
+
+    private byte[] content;
+    private FileNode fileNode;
+    private String fileName;
+    private String extension;
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** the constructor */
+    public ExternalViewerAction(String title, FileNode fileNode) {
+        super(title);
+        this.fileNode = fileNode;
+
+        long size = fileNode.getContent().getSize();
+        String fullFileName = ((Node)fileNode).getDisplayName();
+        if (fullFileName.contains(".") && size > 0) {
+            String tempFileName = fullFileName.substring(0, fullFileName.indexOf("."));
+            String tempExtension = fullFileName.substring(fullFileName.indexOf("."));
+            this.fileName = tempFileName;
+            this.extension = tempExtension;
+        } else {
+            this.fileName = fullFileName;
+            this.extension = "";
+            this.setEnabled(false); // fix this later (right now only extract a file with extension)
+        }
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        try {
+            // @@@ Thing to do: maybe throw confirmation first???
+
+            // the menu should be disabled if we can't read the content (for example: on zero-sized file).
+            // Therefore, it should never throw the TSKException.
+            try {
+                this.content = fileNode.getContent().read(0, fileNode.getContent().getSize());
+            } catch (TskException ex) {
+                Logger.getLogger(this.className).log(Level.WARNING, "Error: can't read the content of the file.", ex);
+            }
+
+            // Get the temp folder path of the case
+            String tempPath = Case.getCurrentCase().getTempDirectory();
+            tempPath = tempPath + File.separator + this.fileName + this.extension;
+
+            // create the temporary file
+            File file = new File(tempPath);
+            if (file.exists()) {
+                file.delete();
+            }
+
+            file.createNewFile();
+
+            // convert char to byte
+            byte[] dataSource = new byte[content.length];
+            for (int i = 0; i < content.length; i++) {
+                dataSource[i] = (byte) content[i];
+            }
+
+            FileOutputStream fos = new FileOutputStream(file);
+            //fos.write(dataSource);
+            fos.write(dataSource);
+            fos.close();
+
+            try {
+                Desktop.getDesktop().open(file);
+            } catch (IOException ex) {
+                // if can't open the file, throw the error saying: "File type not supported."
+                JOptionPane.showMessageDialog(caller, "Error: File type not supported.\n \nDetail: \n" + ex.getMessage() + " (at " + className + ").", "Error", JOptionPane.ERROR_MESSAGE);
+            }
+
+            // delete the file on exit
+            file.deleteOnExit();
+
+        } catch (IOException ex) {
+            // throw an error here
+            Logger.getLogger(this.className).log(Level.WARNING, "Error: can't open the external viewer for this file.", ex);
+        }
+
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExtractAction.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExtractAction.java
new file mode 100644
index 0000000000..d1c4adf529
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ExtractAction.java
@@ -0,0 +1,218 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import org.sleuthkit.autopsy.datamodel.FileNode;
+import java.io.*;
+import java.awt.event.ActionEvent;
+import javax.swing.JFileChooser;
+import java.io.File;
+import java.awt.Component;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.AbstractAction;
+import javax.swing.JPanel;
+import javax.swing.filechooser.FileFilter;
+import org.openide.nodes.Node;
+import org.sleuthkit.autopsy.casemodule.GeneralFilter;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.datamodel.DirectoryNode;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ * This is an action class to extract and save the bytes given as a file.
+ *
+ * @author jantonius
+ */
+public final class ExtractAction extends AbstractAction {
+
+    private JFileChooser fc = new JFileChooser();
+    private byte[] source;
+    private ContentNode contentNode;
+    private String fileName;
+    private String extension;
+    // for error handling
+    private JPanel caller;
+    private String className = this.getClass().toString();
+
+    /** the constructor */
+    public ExtractAction(String title, ContentNode contentNode) {
+        super(title);
+        
+        String fullFileName = ((Node)contentNode).getDisplayName();
+
+        if (fullFileName.equals(".")) {
+            // . folders are not associated with their children in the database,
+            // so get original
+            Node parentNode = ((Node) contentNode).getParentNode();            
+            this.contentNode = (ContentNode) parentNode;
+            fullFileName = parentNode.getDisplayName();
+        } else {
+            this.contentNode = contentNode;
+        }
+        long size = contentNode.getContent().getSize();
+        
+
+
+        /**
+         * Checks first if the the selected it file or directory. If it's a file,
+         * check if the file size is bigger than 0. If it's a directory, check
+         * if it's not referring to the parent directory. Disables the menu otherwise.
+         */
+        if ((contentNode instanceof FileNode && size > 0) || (contentNode instanceof DirectoryNode && !fullFileName.equals(".."))) {
+            if (contentNode instanceof FileNode && fullFileName.contains(".")) {
+                String tempFileName = fullFileName.substring(0, fullFileName.indexOf("."));
+                String tempExtension = fullFileName.substring(fullFileName.indexOf("."));
+                this.fileName = tempFileName;
+                this.extension = tempExtension;
+            } else {
+                this.fileName = fullFileName;
+                this.extension = "";
+            }
+        } else {
+            this.fileName = fullFileName;
+            this.extension = "";
+            this.setEnabled(false); // can't extract zero-sized file or ".." directory
+        }
+
+    }
+
+    /**
+     * Converts and saves the bytes into the file.
+     *
+     * @param e  the action event
+     */
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+
+        // set the filter for FileNode
+        if (contentNode instanceof FileNode && !extension.equals("")) {
+            //FileFilter filter = new ExtensionFileFilter(extension.substring(1).toUpperCase() + " File (*" + extension + ")", new String[]{extension.substring(1)});
+            String[] fileExt = {extension};
+            FileFilter filter = new GeneralFilter(fileExt, extension.substring(1).toUpperCase() + " File (*" + extension + ")", false);
+            fc.setFileFilter(filter);
+        }
+
+
+        fc.setSelectedFile(new File(this.fileName));
+
+        int returnValue = fc.showSaveDialog((Component) e.getSource());
+        if (returnValue == JFileChooser.APPROVE_OPTION) {
+            String path = fc.getSelectedFile().getPath() + extension;
+
+            try {
+                // file extraction
+                if (contentNode instanceof FileNode) {
+                    extractFile(path, (FileNode) contentNode);
+                }
+
+                // directory extraction
+                if (contentNode instanceof DirectoryNode) {
+                    extractDirectory(path, (DirectoryNode) contentNode);
+                }
+            } catch (Exception ex) {
+                Logger.getLogger(this.className).log(Level.WARNING, "Error: Couldn't extract file/directory.", ex);
+            }
+
+        }
+
+    }
+
+    /**
+     * Extracts the content of the given fileNode into the given path.
+     *
+     * @param givenPath  the path to extract the file
+     * @param fileNode   the file node that contain the file
+     */
+    private void extractFile(String givenPath, FileNode fileNode) throws Exception {
+        try {
+            if (fileNode.getContent().getSize() > 0) {
+                try {
+                    this.source = fileNode.getContent().read(0, fileNode.getContent().getSize());
+                } catch (TskException ex) {
+                    throw new Exception("Error: can't read the content of the file.", ex);
+                }
+            } else {
+                this.source = new byte[0];
+            }
+
+            String path = givenPath;
+
+            File file = new File(path);
+            if (file.exists()) {
+                file.delete();
+            }
+            file.createNewFile();
+            // convert char to byte
+            byte[] dataSource = new byte[source.length];
+            for (int i = 0; i < source.length; i++) {
+                dataSource[i] = (byte) source[i];
+            }
+            FileOutputStream fos = new FileOutputStream(file);
+            //fos.write(dataSource);
+            fos.write(dataSource);
+            fos.close();
+        } catch (IOException ex) {
+            throw new Exception("Error while trying to extract the file.", ex);
+        }
+    }
+
+    /**
+     * Extracts the content of the given directoryNode into the given path.
+     *
+     * @param givenPath  the path to extract the directory
+     * @param dirNode    the directory node that contain the directory
+     */
+    private void extractDirectory(String givenPath, DirectoryNode dirNode) throws Exception {
+        String path = givenPath;
+        File dir = new File(path);
+        if (!dir.exists()) {
+            dir.mkdir();
+        }
+
+        int totalChildren = dirNode.getChildren().getNodesCount();
+        for (int i = 0; i < totalChildren; i++) {
+            Node childNode = dirNode.getChildren().getNodeAt(i);
+
+            if (childNode instanceof FileNode) {
+                FileNode fileNode = (FileNode) childNode;
+                String tempPath = path + File.separator + ((Node)fileNode).getDisplayName();
+                try {
+                    extractFile(tempPath, fileNode);
+                } catch (Exception ex) {
+                    throw ex;
+                }
+            }
+
+            if (childNode instanceof DirectoryNode) {
+                DirectoryNode dirNode2 = (DirectoryNode) childNode;
+                String dirNode2Name = ((Node)dirNode2).getDisplayName();
+                
+                if (!dirNode2Name.trim().equals(".") && !dirNode2Name.trim().equals("..")) {
+                    String tempPath = path + File.separator + dirNode2Name;
+                    extractDirectory(tempPath, dirNode2);
+                }
+            }
+        }
+
+
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.form b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.form
new file mode 100644
index 0000000000..6892af7264
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.form
@@ -0,0 +1,384 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace min="-2" pref="367" max="-2" attributes="0"/>
+                      <Component id="OKButton" min="-2" pref="93" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="jSplitPane1" min="-2" pref="786" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSplitPane1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Component id="OKButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="1"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JButton" name="OKButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.OKButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Container class="javax.swing.JSplitPane" name="jSplitPane1">
+      <Properties>
+        <Property name="dividerLocation" type="int" value="180"/>
+        <Property name="orientation" type="int" value="0"/>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
+      <SubComponents>
+        <Container class="javax.swing.JPanel" name="genInfoPanel">
+          <Properties>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+              <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                <EtchetBorder/>
+              </Border>
+            </Property>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[815, 170]"/>
+            </Property>
+          </Properties>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+              <JSplitPaneConstraints position="top"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="-2" pref="95" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="fsTypeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="imgOffsetLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="volumeIDLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="blockSizeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="-2" pref="108" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="genInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="blockSizeValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="volumeIDValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="imgOffsetValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="fsTypeValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
+                                  <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace min="-2" pref="33" max="-2" attributes="0"/>
+                              <Component id="jSeparator1" min="-2" pref="10" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="blockCountLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="rootInumLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="firstInumLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="lastInumLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace min="-2" pref="111" max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="lastInumValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="firstInumValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="rootInumValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Component id="blockCountValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                          </Group>
+                      </Group>
+                      <EmptySpace min="-2" pref="245" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="1" attributes="0">
+                      <EmptySpace pref="23" max="32767" attributes="0"/>
+                      <Component id="genInfoLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="103" groupAlignment="1" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Component id="fsTypeLabel" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Component id="imgOffsetLabel" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Component id="volumeIDLabel" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Component id="blockSizeLabel" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Component id="fsTypeValue" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Group type="103" groupAlignment="3" attributes="0">
+                                          <Component id="imgOffsetValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                                          <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      </Group>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Component id="volumeIDValue" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                      <Group type="103" groupAlignment="3" attributes="0">
+                                          <Component id="blockSizeValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                                          <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      </Group>
+                                  </Group>
+                              </Group>
+                              <Group type="102" alignment="1" attributes="0">
+                                  <Component id="blockCountValue" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="rootInumValue" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="firstInumValue" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="lastInumValue" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <Group type="102" alignment="1" attributes="0">
+                                  <Component id="blockCountLabel" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="rootInumLabel" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="firstInumLabel" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                                  <Component id="lastInumLabel" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                          </Group>
+                          <Component id="jSeparator1" pref="101" max="32767" attributes="1"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+          <SubComponents>
+            <Component class="javax.swing.JLabel" name="fsTypeLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.fsTypeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="imgOffsetLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.imgOffsetLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="volumeIDLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.volumeIDLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="blockSizeLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.blockSizeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="blockCountLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.blockCountLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="rootInumLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.rootInumLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="firstInumLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.firstInumLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="lastInumLabel">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.lastInumLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="fsTypeValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.fsTypeValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="imgOffsetValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.imgOffsetValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="volumeIDValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.volumeIDValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="blockSizeValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.blockSizeValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="blockCountValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.blockCountValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="rootInumValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.rootInumValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="firstInumValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.firstInumValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="lastInumValue">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.lastInumValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="genInfoLabel">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Tahoma" size="18" style="1"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.genInfoLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JSeparator" name="jSeparator1">
+              <Properties>
+                <Property name="orientation" type="int" value="1"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="jLabel2">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JLabel" name="jLabel3">
+              <Properties>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="detailInfoPanel">
+          <Properties>
+            <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+              <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                <EtchetBorder/>
+              </Border>
+            </Property>
+            <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+              <Dimension value="[516, 293]"/>
+            </Property>
+          </Properties>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
+              <JSplitPaneConstraints position="right"/>
+            </Constraint>
+          </Constraints>
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="1" attributes="0">
+                      <EmptySpace pref="278" max="32767" attributes="0"/>
+                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="276" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace pref="235" max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+          <SubComponents>
+            <Component class="javax.swing.JLabel" name="jLabel1">
+              <Properties>
+                <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+                  <Font name="Tahoma" size="18" style="1"/>
+                </Property>
+                <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+                  <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="FileSystemDetailsPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+                </Property>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+  </SubComponents>
+</Form>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.java
new file mode 100644
index 0000000000..31a51334c9
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/FileSystemDetailsPanel.java
@@ -0,0 +1,367 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionListener;
+
+/**
+ * This is the form / panel to show the File System Details.
+ *
+ * @author jantonius
+ */
+class FileSystemDetailsPanel extends javax.swing.JPanel {
+
+    /** Creates new form FileSystemDetailsPanel */
+    FileSystemDetailsPanel() {
+        initComponents();
+    }
+
+    /** 
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        OKButton = new javax.swing.JButton();
+        jSplitPane1 = new javax.swing.JSplitPane();
+        genInfoPanel = new javax.swing.JPanel();
+        fsTypeLabel = new javax.swing.JLabel();
+        imgOffsetLabel = new javax.swing.JLabel();
+        volumeIDLabel = new javax.swing.JLabel();
+        blockSizeLabel = new javax.swing.JLabel();
+        blockCountLabel = new javax.swing.JLabel();
+        rootInumLabel = new javax.swing.JLabel();
+        firstInumLabel = new javax.swing.JLabel();
+        lastInumLabel = new javax.swing.JLabel();
+        fsTypeValue = new javax.swing.JLabel();
+        imgOffsetValue = new javax.swing.JLabel();
+        volumeIDValue = new javax.swing.JLabel();
+        blockSizeValue = new javax.swing.JLabel();
+        blockCountValue = new javax.swing.JLabel();
+        rootInumValue = new javax.swing.JLabel();
+        firstInumValue = new javax.swing.JLabel();
+        lastInumValue = new javax.swing.JLabel();
+        genInfoLabel = new javax.swing.JLabel();
+        jSeparator1 = new javax.swing.JSeparator();
+        jLabel2 = new javax.swing.JLabel();
+        jLabel3 = new javax.swing.JLabel();
+        detailInfoPanel = new javax.swing.JPanel();
+        jLabel1 = new javax.swing.JLabel();
+
+        OKButton.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.OKButton.text")); // NOI18N
+
+        jSplitPane1.setDividerLocation(180);
+        jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
+
+        genInfoPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        genInfoPanel.setPreferredSize(new java.awt.Dimension(815, 170));
+
+        fsTypeLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.fsTypeLabel.text")); // NOI18N
+
+        imgOffsetLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.imgOffsetLabel.text")); // NOI18N
+
+        volumeIDLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.volumeIDLabel.text")); // NOI18N
+
+        blockSizeLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.blockSizeLabel.text")); // NOI18N
+
+        blockCountLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.blockCountLabel.text")); // NOI18N
+
+        rootInumLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.rootInumLabel.text")); // NOI18N
+
+        firstInumLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.firstInumLabel.text")); // NOI18N
+
+        lastInumLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.lastInumLabel.text")); // NOI18N
+
+        fsTypeValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.fsTypeValue.text")); // NOI18N
+
+        imgOffsetValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.imgOffsetValue.text")); // NOI18N
+
+        volumeIDValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.volumeIDValue.text")); // NOI18N
+
+        blockSizeValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.blockSizeValue.text")); // NOI18N
+
+        blockCountValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.blockCountValue.text")); // NOI18N
+
+        rootInumValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.rootInumValue.text")); // NOI18N
+
+        firstInumValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.firstInumValue.text")); // NOI18N
+
+        lastInumValue.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.lastInumValue.text")); // NOI18N
+
+        genInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
+        genInfoLabel.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.genInfoLabel.text")); // NOI18N
+
+        jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
+
+        jLabel2.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.jLabel2.text")); // NOI18N
+
+        jLabel3.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.jLabel3.text")); // NOI18N
+
+        javax.swing.GroupLayout genInfoPanelLayout = new javax.swing.GroupLayout(genInfoPanel);
+        genInfoPanel.setLayout(genInfoPanelLayout);
+        genInfoPanelLayout.setHorizontalGroup(
+            genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(genInfoPanelLayout.createSequentialGroup()
+                .addGap(95, 95, 95)
+                .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(fsTypeLabel)
+                    .addComponent(imgOffsetLabel)
+                    .addComponent(volumeIDLabel)
+                    .addComponent(blockSizeLabel))
+                .addGap(108, 108, 108)
+                .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(genInfoLabel)
+                    .addGroup(genInfoPanelLayout.createSequentialGroup()
+                        .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(blockSizeValue)
+                            .addComponent(volumeIDValue)
+                            .addComponent(imgOffsetValue)
+                            .addComponent(fsTypeValue))
+                        .addGap(31, 31, 31)
+                        .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jLabel2)
+                            .addComponent(jLabel3))
+                        .addGap(33, 33, 33)
+                        .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(31, 31, 31)
+                        .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(blockCountLabel)
+                            .addComponent(rootInumLabel)
+                            .addComponent(firstInumLabel)
+                            .addComponent(lastInumLabel))
+                        .addGap(111, 111, 111)
+                        .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(lastInumValue)
+                            .addComponent(firstInumValue)
+                            .addComponent(rootInumValue)
+                            .addComponent(blockCountValue))))
+                .addGap(245, 245, 245))
+        );
+        genInfoPanelLayout.setVerticalGroup(
+            genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, genInfoPanelLayout.createSequentialGroup()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addComponent(genInfoLabel)
+                .addGap(18, 18, 18)
+                .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                        .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(genInfoPanelLayout.createSequentialGroup()
+                                .addComponent(fsTypeLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(imgOffsetLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(volumeIDLabel)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(blockSizeLabel))
+                            .addGroup(genInfoPanelLayout.createSequentialGroup()
+                                .addComponent(fsTypeValue)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(imgOffsetValue)
+                                    .addComponent(jLabel2))
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addComponent(volumeIDValue)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                                .addGroup(genInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                                    .addComponent(blockSizeValue)
+                                    .addComponent(jLabel3))))
+                        .addGroup(genInfoPanelLayout.createSequentialGroup()
+                            .addComponent(blockCountValue)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(rootInumValue)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(firstInumValue)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(lastInumValue))
+                        .addGroup(genInfoPanelLayout.createSequentialGroup()
+                            .addComponent(blockCountLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(rootInumLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(firstInumLabel)
+                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                            .addComponent(lastInumLabel)))
+                    .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE))
+                .addContainerGap())
+        );
+
+        jSplitPane1.setTopComponent(genInfoPanel);
+
+        detailInfoPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        detailInfoPanel.setPreferredSize(new java.awt.Dimension(516, 293));
+
+        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
+        jLabel1.setText(org.openide.util.NbBundle.getMessage(FileSystemDetailsPanel.class, "FileSystemDetailsPanel.jLabel1.text")); // NOI18N
+
+        javax.swing.GroupLayout detailInfoPanelLayout = new javax.swing.GroupLayout(detailInfoPanel);
+        detailInfoPanel.setLayout(detailInfoPanelLayout);
+        detailInfoPanelLayout.setHorizontalGroup(
+            detailInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, detailInfoPanelLayout.createSequentialGroup()
+                .addContainerGap(278, Short.MAX_VALUE)
+                .addComponent(jLabel1)
+                .addGap(276, 276, 276))
+        );
+        detailInfoPanelLayout.setVerticalGroup(
+            detailInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(detailInfoPanelLayout.createSequentialGroup()
+                .addGap(23, 23, 23)
+                .addComponent(jLabel1)
+                .addContainerGap(259, Short.MAX_VALUE))
+        );
+
+        jSplitPane1.setRightComponent(detailInfoPanel);
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(367, 367, 367)
+                        .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 786, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(18, 18, 18)
+                .addComponent(OKButton)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    /**
+     * Sets the FileSystem type value on this panel.
+     *
+     * @param arg  the file system type
+     */
+    public void setFileSystemTypeValue(String arg) {
+        fsTypeValue.setText(arg);
+    }
+
+    /**
+     * Sets the image offset value on this panel.
+     *
+     * @param arg  the image offset
+     */
+    public void setImageOffsetValue(String arg) {
+        imgOffsetValue.setText(arg);
+    }
+
+    /**
+     * Sets the volume ID value on this panel.
+     *
+     * @param arg  the volume ID
+     */
+    public void setVolumeIDValue(String arg) {
+        volumeIDValue.setText(arg);
+    }
+
+    /**
+     * Sets the block size value on this panel.
+     *
+     * @param arg the block size value
+     */
+    public void setBlockSizeValue(String arg) {
+        blockSizeValue.setText(arg);
+    }
+
+    /**
+     * Sets the block count value on this panel.
+     *
+     * @param arg  the block count value
+     */
+    public void setBlockCountValue(String arg) {
+        blockCountValue.setText(arg);
+    }
+
+    /**
+     * Sets the root Inum value on this panel.
+     *
+     * @param arg  the root Inum value
+     */
+    public void setRootInumValue(String arg) {
+        rootInumValue.setText(arg);
+    }
+
+    /**
+     * Sets the first Inum value on this panel.
+     *
+     * @param arg  the first Inum value
+     */
+    public void setFirstInumValue(String arg) {
+        firstInumValue.setText(arg);
+    }
+
+    /**
+     * Sets the last Inum value on this panel.
+     *
+     * @param arg  the last Inum value
+     */
+    public void setLastInumValue(String arg) {
+        lastInumValue.setText(arg);
+    }
+
+    /**
+     * Sets the action listener on the OK button on this panel.
+     *
+     * @param e  the action listener
+     */
+    public void setOKButtonActionListener(ActionListener e) {
+        OKButton.addActionListener(e);
+    }
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton OKButton;
+    private javax.swing.JLabel blockCountLabel;
+    private javax.swing.JLabel blockCountValue;
+    private javax.swing.JLabel blockSizeLabel;
+    private javax.swing.JLabel blockSizeValue;
+    private javax.swing.JPanel detailInfoPanel;
+    private javax.swing.JLabel firstInumLabel;
+    private javax.swing.JLabel firstInumValue;
+    private javax.swing.JLabel fsTypeLabel;
+    private javax.swing.JLabel fsTypeValue;
+    private javax.swing.JLabel genInfoLabel;
+    private javax.swing.JPanel genInfoPanel;
+    private javax.swing.JLabel imgOffsetLabel;
+    private javax.swing.JLabel imgOffsetValue;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JSeparator jSeparator1;
+    private javax.swing.JSplitPane jSplitPane1;
+    private javax.swing.JLabel lastInumLabel;
+    private javax.swing.JLabel lastInumValue;
+    private javax.swing.JLabel rootInumLabel;
+    private javax.swing.JLabel rootInumValue;
+    private javax.swing.JLabel volumeIDLabel;
+    private javax.swing.JLabel volumeIDValue;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.form b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.form
new file mode 100644
index 0000000000..7913ee465f
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.form
@@ -0,0 +1,138 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace min="-2" pref="89" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="imgNameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="imgTypeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="imgSectorSizeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="imgNameValue" min="-2" max="-2" attributes="0"/>
+                          <Component id="imgTypeValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="imgSectorSizeValue" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="-2" pref="118" max="-2" attributes="0"/>
+                      <Component id="OKButton" min="-2" pref="80" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
+                      <Component id="imageInfoLabel" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace pref="75" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="38" max="-2" attributes="0"/>
+              <Component id="imageInfoLabel" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Component id="imgNameLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="imgTypeLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="imgSectorSizeLabel" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" attributes="0">
+                      <Component id="imgNameValue" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="imgTypeValue" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Component id="imgSectorSizeValue" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace pref="29" max="32767" attributes="0"/>
+              <Component id="OKButton" min="-2" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="22" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="imageInfoLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="18" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imageInfoLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgNameLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgTypeLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgTypeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgSectorSizeLabel">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgSectorSizeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgNameValue">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgNameValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgTypeValue">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgTypeValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="imgSectorSizeValue">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.imgSectorSizeValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="OKButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="ImageDetailsPanel.OKButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.java
new file mode 100644
index 0000000000..eeadbee6d4
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ImageDetailsPanel.java
@@ -0,0 +1,174 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * ImageDetailsPanel.java
+ *
+ * Created on May 2, 2011, 3:53:49 PM
+ */
+
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionListener;
+
+/**
+ *
+ * @author jantonius
+ */
+class ImageDetailsPanel extends javax.swing.JPanel {
+
+    /** Creates new form ImageDetailsPanel */
+    ImageDetailsPanel() {
+        initComponents();
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        imageInfoLabel = new javax.swing.JLabel();
+        imgNameLabel = new javax.swing.JLabel();
+        imgTypeLabel = new javax.swing.JLabel();
+        imgSectorSizeLabel = new javax.swing.JLabel();
+        imgNameValue = new javax.swing.JLabel();
+        imgTypeValue = new javax.swing.JLabel();
+        imgSectorSizeValue = new javax.swing.JLabel();
+        OKButton = new javax.swing.JButton();
+
+        imageInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
+        imageInfoLabel.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imageInfoLabel.text")); // NOI18N
+
+        imgNameLabel.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgNameLabel.text")); // NOI18N
+
+        imgTypeLabel.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgTypeLabel.text")); // NOI18N
+
+        imgSectorSizeLabel.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgSectorSizeLabel.text")); // NOI18N
+
+        imgNameValue.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgNameValue.text")); // NOI18N
+
+        imgTypeValue.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgTypeValue.text")); // NOI18N
+
+        imgSectorSizeValue.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.imgSectorSizeValue.text")); // NOI18N
+
+        OKButton.setText(org.openide.util.NbBundle.getMessage(ImageDetailsPanel.class, "ImageDetailsPanel.OKButton.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(89, 89, 89)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(imgNameLabel)
+                            .addComponent(imgTypeLabel)
+                            .addComponent(imgSectorSizeLabel))
+                        .addGap(29, 29, 29)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(imgNameValue)
+                            .addComponent(imgTypeValue)
+                            .addComponent(imgSectorSizeValue)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(118, 118, 118)
+                        .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(71, 71, 71)
+                        .addComponent(imageInfoLabel)))
+                .addContainerGap(75, Short.MAX_VALUE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(38, 38, 38)
+                .addComponent(imageInfoLabel)
+                .addGap(18, 18, 18)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(imgNameLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(imgTypeLabel)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(imgSectorSizeLabel))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(imgNameValue)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(imgTypeValue)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addComponent(imgSectorSizeValue)))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE)
+                .addComponent(OKButton)
+                .addGap(22, 22, 22))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton OKButton;
+    private javax.swing.JLabel imageInfoLabel;
+    private javax.swing.JLabel imgNameLabel;
+    private javax.swing.JLabel imgNameValue;
+    private javax.swing.JLabel imgSectorSizeLabel;
+    private javax.swing.JLabel imgSectorSizeValue;
+    private javax.swing.JLabel imgTypeLabel;
+    private javax.swing.JLabel imgTypeValue;
+    // End of variables declaration//GEN-END:variables
+
+
+    /**
+     * Sets the image name value on this panel.
+     *
+     * @param arg  the new image name value
+     */
+    public void setImgNameValue(String arg){
+        imgNameValue.setText(arg);
+    }
+
+    /**
+     * Sets the image type value on this panel.
+     *
+     * @param arg  the new image type value
+     */
+    public void setImgTypeValue(String arg){
+        imgTypeValue.setText(arg);
+    }
+
+    /**
+     * Sets the image size value on this panel.
+     * 
+     * @param arg  the new image size value
+     */
+    public void setImgSectorSizeValue(String arg){
+        imgSectorSizeValue.setText(arg);
+    }
+
+    /**
+     * Sets the OK button action listener.
+     *
+     * @param e  the action listener
+     */
+    public void setOKButtonActionListener(ActionListener e){
+        OKButton.addActionListener(e);
+    }
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/NewWindowViewAction.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/NewWindowViewAction.java
new file mode 100644
index 0000000000..81d40916e7
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/NewWindowViewAction.java
@@ -0,0 +1,66 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import javax.swing.AbstractAction;
+import org.openide.windows.Mode;
+import org.openide.windows.WindowManager;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.datamodel.DataConversion;
+import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent;
+import org.sleuthkit.autopsy.logging.Log;
+
+/**
+ * Opens new ContentViewer pane in a detached window
+ */
+class NewWindowViewAction extends AbstractAction{
+
+    private ContentNode contentNode ;
+
+    NewWindowViewAction(String title, ContentNode contentNode){
+        super(title);
+        this.contentNode = contentNode;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+        
+        String[] filePaths = this.contentNode.getDisplayPath();
+        String filePath = DataConversion.getformattedPath(filePaths, 0);
+
+        DataContentTopComponent dctc = DataContentTopComponent.createUndocked(filePath, this.contentNode);
+
+        Mode m = WindowManager.getDefault().findMode("output");
+        m.dockInto(dctc);
+        dctc.open();
+
+        // Undocked it (right now, I do it by pressing the "Alt+Shift+D" to undock.
+        // If there's a better way, change the code below..
+        dctc.requestActive();
+        KeyEvent evt = new KeyEvent(dctc, 401, System.currentTimeMillis(), 585, 68, 'D');
+        WindowManager.getDefault().getMainWindow().dispatchEvent(evt);
+    }
+
+    
+
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ShowDetailActionVisitor.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ShowDetailActionVisitor.java
new file mode 100644
index 0000000000..84e678cb1e
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/ShowDetailActionVisitor.java
@@ -0,0 +1,301 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.directorytree;
+
+import javax.swing.*;
+import java.awt.Toolkit;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.logging.Level;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import org.sleuthkit.autopsy.logging.Log;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.ContentVisitor;
+import org.sleuthkit.datamodel.FileSystem;
+import org.sleuthkit.datamodel.Image;
+import org.sleuthkit.datamodel.TskException;
+import org.sleuthkit.datamodel.Volume;
+
+/**
+ * 
+ *
+ * @author jantonius
+ */
+class ShowDetailActionVisitor extends ContentVisitor.Default<List<? extends Action>> {
+    
+    private static ShowDetailActionVisitor instance = new ShowDetailActionVisitor();
+   
+    public static List<Action> getActions(Content c) {
+        List<Action> actions = new ArrayList<Action>();
+        
+        actions.addAll(c.accept(instance));
+        
+        while (c.isOnto()) {
+            try {
+                List<Content> children = c.getChildren();
+                if (!children.isEmpty()) {
+                    c = c.getChildren().get(0);
+                } else {
+                   return actions;
+                }
+            } catch (TskException ex) {
+                Log.get(ShowDetailActionVisitor.class).log(Level.WARNING, "Error getting show detail actions.", ex);
+                return actions;
+            }
+            actions.addAll(c.accept(instance));
+        }
+        return actions;
+    }
+
+    ShowDetailActionVisitor() {}
+
+    @Override
+    public List<? extends Action> visit(final Image img) {
+        final String title = "Image Details";
+
+        return Collections.singletonList(new AbstractAction(title) {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                // TODO: fix log action
+                Log.noteAction(this.getClass());
+
+                final JFrame frame = new JFrame(title);
+                final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
+                // if we select the Image Details menu
+
+                Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+
+                // set the popUp window / JFrame
+                popUpWindow.setSize(750, 400);
+
+                int w = popUpWindow.getSize().width;
+                int h = popUpWindow.getSize().height;
+
+                // set the location of the popUp Window on the center of the screen
+                popUpWindow.setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2);
+
+                ImageDetailsPanel imgDetailPanel = new ImageDetailsPanel();
+                Boolean counter = false;
+
+                imgDetailPanel.setImgNameValue(img.getName());
+                imgDetailPanel.setImgTypeValue(Image.imageTypeToString(img.getType()));
+                imgDetailPanel.setImgSectorSizeValue(Long.toString(img.getSsize()));
+                counter = true;
+
+                if (counter) {
+                    // add the volume detail panel to the popUp window
+                    popUpWindow.add(imgDetailPanel);
+                } else {
+                    // error handler if no volume matches
+                    JLabel error = new JLabel("Error: No Volume Matches.");
+                    error.setFont(new Font("Arial", Font.BOLD, 24));
+                    popUpWindow.add(error);
+                }
+
+                // add the command to close the window to the button on the Volume Detail Panel
+                imgDetailPanel.setOKButtonActionListener(new ActionListener() {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e) {
+                        popUpWindow.dispose();
+                    }
+                });
+
+
+                popUpWindow.pack();
+                popUpWindow.setResizable(false);
+                popUpWindow.setVisible(true);
+            }
+        });
+    }
+
+    @Override
+    public List<? extends Action> visit(final FileSystem fs) {
+        final String title = "File System Details";
+
+        return Collections.singletonList(new AbstractAction(title) {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+
+                // TODO: fix log action
+                Log.noteAction(this.getClass());
+
+                final JFrame frame = new JFrame(title);
+                final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
+
+                // set the popUp window / JFrame
+
+                popUpWindow.setSize(1000, 500);
+
+                int w = popUpWindow.getSize().width;
+                int h = popUpWindow.getSize().height;
+
+                // set the location of the popUp Window on the center of the screen
+                popUpWindow.setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2);
+
+                String[] columnNames = new String[]{
+                    "fs_id",
+                    "img_offset",
+                    "par_id",
+                    "fs_type",
+                    "block_size",
+                    "block_count",
+                    "root_inum",
+                    "first_inum",
+                    "last_inum"
+                };
+
+
+
+
+                Object[][] rowValues = new Object[1][9];
+
+                Arrays.fill(rowValues, 0, 1, new Object[]{
+                            fs.getId(),
+                            fs.getImg_offset(),
+                            fs.getParent().getId(),
+                            fs.getFs_type(),
+                            fs.getBlock_size(),
+                            fs.getBlock_count(),
+                            fs.getRoot_inum(),
+                            fs.getFirst_inum(),
+                            fs.getLast_inum()
+                        });
+
+
+                JTable table = new JTable(new DefaultTableModel(rowValues, columnNames));
+
+                FileSystemDetailsPanel fsdPanel = new FileSystemDetailsPanel();
+
+                // add the command to close the window to the button on the Volume Detail Panel
+                fsdPanel.setOKButtonActionListener(new ActionListener() {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e) {
+                        popUpWindow.dispose();
+                    }
+                });
+
+                try {
+                    fsdPanel.setFileSystemTypeValue(table.getValueAt(0, 3).toString());
+                    fsdPanel.setImageOffsetValue(table.getValueAt(0, 1).toString());
+                    fsdPanel.setVolumeIDValue(table.getValueAt(0, 2).toString());  //TODO: fix this to parent id, not vol id
+                    fsdPanel.setBlockSizeValue(table.getValueAt(0, 4).toString());
+                    fsdPanel.setBlockCountValue(table.getValueAt(0, 5).toString());
+                    fsdPanel.setRootInumValue(table.getValueAt(0, 6).toString());
+                    fsdPanel.setFirstInumValue(table.getValueAt(0, 7).toString());
+                    fsdPanel.setLastInumValue(table.getValueAt(0, 8).toString());
+
+                    popUpWindow.add(fsdPanel);
+                } catch (Exception ex) {
+                    Log.get(ShowDetailActionVisitor.class).log(Level.WARNING, "Error setting up File System Details panel.", ex);
+                }
+
+                popUpWindow.pack();
+                popUpWindow.setResizable(false);
+                popUpWindow.setVisible(true);
+
+            }
+        });
+    }
+
+    @Override
+    public List<? extends Action> visit(final Volume vol) {
+        final String title = "Volume Details";
+
+        return Collections.singletonList(new AbstractAction(title) {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+
+                // TODO: fix log action
+                Log.noteAction(this.getClass());
+
+                final JFrame frame = new JFrame(title);
+                final JDialog popUpWindow = new JDialog(frame, title, true); // to make the popUp Window to be modal
+
+
+                Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
+
+                // set the popUp window / JFrame
+                popUpWindow.setSize(800, 400);
+
+                int w = popUpWindow.getSize().width;
+                int h = popUpWindow.getSize().height;
+
+                // set the location of the popUp Window on the center of the screen
+                popUpWindow.setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2);
+
+                VolumeDetailsPanel volumeDetailPanel = new VolumeDetailsPanel();
+                Boolean counter = false;
+
+                volumeDetailPanel.setVolumeIDValue(Long.toString(vol.getAddr()));
+                volumeDetailPanel.setStartValue(Long.toString(vol.getStart()));
+                volumeDetailPanel.setLengthValue(Long.toString(vol.getLength()));
+                volumeDetailPanel.setDescValue(vol.getDescription());
+                volumeDetailPanel.setFlagsValue(vol.getFlagsAsString());
+                counter = true;
+
+                if (counter) {
+                    // add the volume detail panel to the popUp window
+                    popUpWindow.add(volumeDetailPanel);
+                } else {
+                    // error handler if no volume matches
+                    JLabel error = new JLabel("Error: No Volume Matches.");
+                    error.setFont(new Font("Arial", Font.BOLD, 24));
+                    popUpWindow.add(error);
+                }
+
+                // add the command to close the window to the button on the Volume Detail Panel
+                volumeDetailPanel.setOKButtonActionListener(new ActionListener() {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e) {
+                        popUpWindow.dispose();
+                    }
+                });
+
+
+                popUpWindow.pack();
+                popUpWindow.setResizable(false);
+                popUpWindow.setVisible(true);
+
+            }
+        });
+    }
+
+    @Override
+    protected List<? extends Action> defaultVisit(Content c) {
+        return Collections.EMPTY_LIST;
+    }
+}
\ No newline at end of file
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.form b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.form
new file mode 100644
index 0000000000..5c73074beb
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.form
@@ -0,0 +1,215 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Component id="jPanel1" max="32767" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="1" attributes="0">
+                      <Component id="OKButton" min="-2" pref="100" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="145" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" max="-2" attributes="0"/>
+              <Component id="jPanel1" max="32767" attributes="0"/>
+              <EmptySpace type="separate" max="-2" attributes="0"/>
+              <Component id="OKButton" min="-2" pref="23" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Container class="javax.swing.JPanel" name="jPanel1">
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" attributes="0">
+                  <Group type="103" groupAlignment="0" attributes="0">
+                      <Group type="102" alignment="0" attributes="0">
+                          <EmptySpace min="-2" pref="112" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="startLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="volumeIDLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="lengthLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="descLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="flagsLabel" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <EmptySpace type="separate" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="0" attributes="0">
+                              <Component id="flagsValue" min="-2" max="-2" attributes="0"/>
+                              <Component id="descValue" min="-2" max="-2" attributes="0"/>
+                              <Component id="lengthValue" min="-2" max="-2" attributes="0"/>
+                              <Component id="startValue" min="-2" max="-2" attributes="0"/>
+                              <Component id="volumeIDValue" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                      <Group type="102" alignment="0" attributes="0">
+                          <EmptySpace min="-2" pref="59" max="-2" attributes="0"/>
+                          <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <EmptySpace pref="58" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <Group type="102" alignment="0" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="jLabel1" min="-2" pref="35" max="-2" attributes="0"/>
+                  <EmptySpace min="-2" pref="11" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="volumeIDLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="volumeIDValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="startLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="startValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="lengthLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="lengthValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="1" attributes="0">
+                      <Group type="102" attributes="0">
+                          <Component id="descLabel" min="-2" pref="14" max="-2" attributes="0"/>
+                          <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="3" attributes="0">
+                              <Component id="flagsLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="flagsValue" alignment="3" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                      <Group type="102" alignment="1" attributes="0">
+                          <Component id="descValue" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="25" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <EmptySpace pref="15" max="32767" attributes="0"/>
+              </Group>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+      <SubComponents>
+        <Component class="javax.swing.JLabel" name="flagsValue">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.flagsValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="descValue">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.descValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lengthValue">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.lengthValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="startValue">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.startValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="startLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.startLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="lengthLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.lengthLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="jLabel1">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="18" style="1"/>
+            </Property>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="volumeIDLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.volumeIDLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_SerializeTo" type="java.lang.String" value="VolumeDetailsPanel_volumeIDLabel"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JLabel" name="volumeIDValue">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.volumeIDValue.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="descLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.descLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+        <Component class="javax.swing.JLabel" name="flagsLabel">
+          <Properties>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+              <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.flagsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+            </Property>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JButton" name="OKButton">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="VolumeDetailsPanel.OKButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.java
new file mode 100644
index 0000000000..3a4aa9660f
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/VolumeDetailsPanel.java
@@ -0,0 +1,205 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.directorytree;
+
+import java.awt.event.ActionListener;
+
+
+/**
+ * This is the form / panel to show the Volume Details.
+ */
+class VolumeDetailsPanel extends javax.swing.JPanel {
+
+    /** Creates new form VolumeDetailPanel */
+    VolumeDetailsPanel() {
+        initComponents();
+    }
+
+    /** 
+     * This method is called from within the constructor to initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is always 
+     * regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jPanel1 = new javax.swing.JPanel();
+        flagsValue = new javax.swing.JLabel();
+        descValue = new javax.swing.JLabel();
+        lengthValue = new javax.swing.JLabel();
+        startValue = new javax.swing.JLabel();
+        startLabel = new javax.swing.JLabel();
+        lengthLabel = new javax.swing.JLabel();
+        jLabel1 = new javax.swing.JLabel();
+        volumeIDLabel = new javax.swing.JLabel();
+        volumeIDValue = new javax.swing.JLabel();
+        descLabel = new javax.swing.JLabel();
+        flagsLabel = new javax.swing.JLabel();
+        OKButton = new javax.swing.JButton();
+
+        flagsValue.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.flagsValue.text")); // NOI18N
+
+        descValue.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.descValue.text")); // NOI18N
+
+        lengthValue.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.lengthValue.text")); // NOI18N
+
+        startValue.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.startValue.text")); // NOI18N
+
+        startLabel.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.startLabel.text")); // NOI18N
+
+        lengthLabel.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.lengthLabel.text")); // NOI18N
+
+        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18));
+        jLabel1.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.jLabel1.text")); // NOI18N
+
+        volumeIDLabel.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.volumeIDLabel.text")); // NOI18N
+
+        volumeIDValue.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.volumeIDValue.text")); // NOI18N
+
+        descLabel.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.descLabel.text")); // NOI18N
+
+        flagsLabel.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.flagsLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(112, 112, 112)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(startLabel)
+                            .addComponent(volumeIDLabel)
+                            .addComponent(lengthLabel)
+                            .addComponent(descLabel)
+                            .addComponent(flagsLabel))
+                        .addGap(18, 18, 18)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(flagsValue)
+                            .addComponent(descValue)
+                            .addComponent(lengthValue)
+                            .addComponent(startValue)
+                            .addComponent(volumeIDValue)))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addGap(59, 59, 59)
+                        .addComponent(jLabel1)))
+                .addContainerGap(58, Short.MAX_VALUE))
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(11, 11, 11)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(volumeIDLabel)
+                    .addComponent(volumeIDValue))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(startLabel)
+                    .addComponent(startValue))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(lengthLabel)
+                    .addComponent(lengthValue))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(descLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(flagsLabel)
+                            .addComponent(flagsValue)))
+                    .addGroup(jPanel1Layout.createSequentialGroup()
+                        .addComponent(descValue)
+                        .addGap(25, 25, 25)))
+                .addContainerGap(15, Short.MAX_VALUE))
+        );
+
+        OKButton.setText(org.openide.util.NbBundle.getMessage(VolumeDetailsPanel.class, "VolumeDetailsPanel.OKButton.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addContainerGap())
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+                        .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(145, 145, 145))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGap(18, 18, 18)
+                .addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap())
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    public void setVolumeIDValue(String arg){
+        volumeIDValue.setText(arg);
+    }
+
+    public void setStartValue(String arg){
+        startValue.setText(arg);
+    }
+
+    public void setLengthValue(String arg){
+        lengthValue.setText(arg);
+    }
+
+    public void setDescValue(String arg){
+        descValue.setText(arg);
+    }
+
+    public void setFlagsValue(String arg){
+        flagsValue.setText(arg);
+    }
+
+    public void setOKButtonActionListener(ActionListener e){
+        OKButton.addActionListener(e);
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton OKButton;
+    private javax.swing.JLabel descLabel;
+    private javax.swing.JLabel descValue;
+    private javax.swing.JLabel flagsLabel;
+    private javax.swing.JLabel flagsValue;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JLabel lengthLabel;
+    private javax.swing.JLabel lengthValue;
+    private javax.swing.JLabel startLabel;
+    private javax.swing.JLabel startValue;
+    private javax.swing.JLabel volumeIDLabel;
+    private javax.swing.JLabel volumeIDValue;
+    // End of variables declaration//GEN-END:variables
+
+}
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_left.gif b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_left.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d0d85dba4b9abc810f454a014fafc142f97f5f16
GIT binary patch
literal 874
zcmZ?wbhEHb6k!ly_|5<V%*@Q1nwmN~I>yGv<>lodp;0^<0wW^?6o0ZXGBEsS&;fZD
zlqVQC+!_9J%6M#8aIl#}SSzMt1A}uj1BZ=@hQcG4Mi!=sIT{X+-P#zO+NPW+XgD#E
h-*=u0XVKH6eH!{{e@;w%<}zDYHtx>J$>|OZ)&M?!B|`uJ

literal 0
HcmV?d00001

diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_right.gif b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/arrow_right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..85272ad99cc0df252748b08468d0649a9c90fcda
GIT binary patch
literal 870
zcmZ?wbhEHb6k!ly_|5<VGBPrup`jqwC>{-g5f%c9KUo+V82&Tpfcy>06AT>A4F5T0
zJT@#i*vuiU6{C@$=)}MvBh@0|pyb#gpv!fHW5FWVK1tQ4HyT1qj<+h?C)vE5u=rTL
UNc^E5jm-<s%(lp9V_~oc0Lob(Pyhe`

literal 0
HcmV?d00001

diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/back-button.png b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/back-button.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6c02aa3dd41f715b488ee3ac11425ccf12a0142
GIT binary patch
literal 1164
zcmeAS@N?(olHy`uVBq!ia0y~yU{GgZU{K~@V_;wqHxgE6U|?V@4sv&5Sa(k5B?AKk
zOS+@4BLl<6e(pbstPBhcoCO|{#S9F5he4R}c>anM1_lPn64!{5;QX|b^2DN4hJeJ(
zyb?V>*ARs=V?9$n3v=s+SOx~>Kb|g*ArbCx!#zD_JBn;;_3F-y^|-3=&Mh!-@v+)o
z>#UVtu?FuJHLX~1Y^es<I&tks2N!iX1uBZaT{*q!Ye3axFa56yaaCHaVqSu}k6u?d
zD__2EuNE~ufT!lno|)h8)qKA9Tiw{qZ2SJ(9CP{(+`4sZ@ztwWt;57;A3b_>`RC7{
zk4>E_8ogS{+}L>W{8_Vpbw<QTL~P(II(_<d`SRt<c^5BUT+PhPY+z@%ug@ia-knRA
zCcQm!<Vg3vefyek-HOV{$Y?lt@Zk62;^H#%Sz$hR|1Mm(aQfW2bK9%-%6<C$dEu^I
zQao&j6Z7-m=lT1eH*+s9|8BN$_3GCwE4KG;Q-AT|#SOJB+qWAp=<hvw@?=ACzR=}w
z8}{%2Us_!JIk2$M@X51hMj~QjPMMjSQ>ISc7}hmul8}JowwPu6I##XHy7l6A@x;Tw
zf*$tWzk210jHrl+gP-5IsSRdP@$vspCKdfqU1b<GTV&>*JvJxKo%_cf85y}e#jfm{
z%y;Ei0W+sepC0X&S5aZHVcojC>5E*?85tWZDl0cP{tAlB>w7(OljvW8i;EU1eSUK6
z*s)25QSlnBTQaJueob{=emSu0oLYP9{MMiU=S`c&#$u$@Vf4Ox?VNd6{H843=IQA<
zh4=E455;=!-+nKdF=-Oh%9ShCb>Dw3ob>eB(_^|9dwYAAZhdmn)YLR|!DQwjFF(J1
zWiD=ROzUcA$%yTjTD(<WPL8j$vy(@}mg)WH!k2UA=xsM%uKkOTo4dKAgX8CkhmxOV
z)cHL%_4N3JgoGp>J$@{?q&B#Ck>2;jQ(-a678VjtPEJ18W3scex4SL=DJvntVQ6UB
zqq1~n)ID?6%R5T?ZiBpcX_m)_H|w`<+_;fx@%HEM-}6VUoi=d~9}5c$gOEx6xvg8b
zPEBB`|M}}zkgP*ViHUPahzRrapEK^vS#dhoB|0;HZ5XqViGSa}`vy(BE?l^f9~T$b
z;1VhFvRf%2e#+9vHGZp(r|zueYMDQOe(IBs1aEI|CaYhs-o5iXdTLQc=!b9L*yQEq
zPoETY+%q}T(8yYADpyleQ-sLN6N(<cpQYrfr@wyrlC$IUMCGOm%`fgv^XJZ;yHbzg
zGH=Nffyh;&-VK_Ix14-+X-9WA_s_dqew<R#dK5of{oRk|pp_}z0kdpvYz|z!IC1Ni
z;#K||ZTr}ym1Wnd_kFgLQ?~zb=;srsCw<u$B+oD7RaaMEAXQjgyqLB8!@|V}%UiUa
zRFlfe!c-50D$PGLaqY#7J>`i>cM4Kco*2%1lP@D9)A#1>TgKqMt=3`xHa|XH)Noyk
z^`Eb<wn&$<&*!kz)TLi1EcSgQe39>c{Q3=Pc8{{p>^dRnxMm^yj}Mh?{?<oRQ=eWt
dUoYQi|6;vU@)Xr`{0s~X44$rjF6*2Ung9R<BbopJ

literal 0
HcmV?d00001

diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/directorytree-helpset.xml b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/directorytree-helpset.xml
new file mode 100644
index 0000000000..70b8cfd113
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/directorytree-helpset.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpsetref PUBLIC "-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN" "http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
+<helpsetref url="nbdocs:/org/sleuthkit/autopsy/directorytree/docs/directorytree-hs.xml"/>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/explorerWsmode.xml b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/explorerWsmode.xml
new file mode 100644
index 0000000000..92b65d8d47
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/explorerWsmode.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE mode PUBLIC
+          "-//NetBeans//DTD Mode Properties 2.0//EN"
+          "http://www.netbeans.org/dtds/mode-properties2_0.dtd">
+
+<mode version="2.0">
+    <module name="org.netbeans.core.ui/1" spec="1.2" />
+    <name unique="explorer" />
+    <kind type="view" />
+    <state type="joined" />
+    <constraints>
+        <path orientation="horizontal" number="20" weight="0.3" />
+        <path orientation="vertical" number="20" weight="0.5" />
+    </constraints>
+    <relative-bounds x="10" y="22" width="32" height="50" />
+    <empty-behavior permanent="true" />
+</mode>
diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/forward-button.png b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/forward-button.png
new file mode 100644
index 0000000000000000000000000000000000000000..f89271f1485ca4835f407c4635fe84363877a866
GIT binary patch
literal 1156
zcmeAS@N?(olHy`uVBq!ia0y~yU{D8P4mJh`hMvWNrVI=WjKx9jP7LeL$-HD>U|>mi
z^mSxl*x1kgCy|wbfq}EYBeIx*f$uN~Gak=hk;1^hAX(xXQ4*Y=R#Ki=l*$m0n3-3i
z=jR%tP-d)Ws%K$t-4M&b!2HG2#W5tp{cX6XM|7abRJ~cPQrub@`wFim9I-fm(9ln?
zP>hqyO>mXPqaN<1yEgb0x(Kr02@$xv^YyMR7ecS!ExG8s@KUJsl=Qs!e?L5(U6U;J
z*;$-Z=3d2n>;Hc5kDfpO{d44jbjC{E3-|A@mz0*ie6qT0_O0&j?p~?hXX)kT<?Ci^
zJrUN{)HKu*;R;xN^?Ge>ZRn@DPuiYs+GMnN|9*Rosa_pjUB8meX1~50psZU|S}NMa
zQOu~n)WpQpbY@3{lM_=*Tbol#%95?CSFe5?$@2R3YhO=K&-;RAYs0vMJpBCF7$w5Z
zJ3BkW3=7UlNlRCYi-@qSXumHlC&wo!D7am1^2@E!EZetlcMkZdtJ&4rS;%E0GtVg|
zMrO&9B@S6xTKALw2u36)KmK4ZEF&ZHq^Y@CQmEz2moMxd-rkRoJ87@Ee520SM(n-%
zq>C3Xx_nr-dGqJDFJHdop6)4R*~9O)?!<``6Ij0lrUd#3NgrF9nw@>xw8`1oIVK`P
zVzI=@Q>UsL&Ybb7^I3aAykCCy=K10&C#+orlK(L1YRnAbUt?usb7p0TmfOdPlP4cm
zwzmGgZ|Ob*vGv{GJx<<uFZyMI;EA&m&C{i&rMZ^t$;rw-HCQZh)GaS>UARNrf+J2%
z@5{@|nB-ME$`#v}rHP1FR#w`4`uzF5qN)0t+v_<uCCNUrESx_{&CX6vN=nLZ-I_If
zCaGB1*_}(|OcYUPWo3<H-8oBW<F;+zE<bvd)WLjk<w{MyZq3ELReSHfUJ!8UWl2Np
zuTzb8-n`LiH#~46)Ya8Bj#aW*h&}oJ>n~qQmN4)9`LmKQc&@0J7?WM497DV$Uvi?~
z9<{6D?-%d;JL8;E(c8Cg=j)1fdl@~ua9!q@)Z(*CmoANC+!wcC&mNhosw%sjygV;;
z=8dsYQI95w2(x&2_=SXoG+fMRxp(j0>BWl|Gb}I7D=nS6dfmD-6&2Rzg9pxYzfJxf
zGgCdNqV}eno7=s)bLQC8IzO;Ip6IY?)-0(NYt~F*4Gj%#2p20UDY>Dhrl!Nr&c5#M
z+TXu_%Pccoy?QnCmIcQh<?r6Q<&~E*qb6TZPcKH<?Vp{sHMfj}#E;%c=Cfzd`dz$q
ziK)MlLm)%8TT4Ft%A<B>JH3t@Gfw-femvIN%4!^!Y%dVTbWh6W0_*n~bLMOj+K}=2
zz^;=1nKLD|8K37H&U@j-^oivkH}jO8k#TYFin?d0w{D1gIZ<WH)~$^H+FN(-+!-%%
zxpbb*;oR8l?Chv7ObbF8y{~+|cW>Uo+|+quckbT3x^De?=6#p<$;!#4RYv{a{6$t?
zK6|52%|WSUb<>nATh5<9KQ%&2X1-mK%(KfcH#ey3CTzaR^e_AmtIXUz3DWPQR2di;
O7(8A5T-G@yGywq8ANrF3

literal 0
HcmV?d00001

diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/layer.xml b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/layer.xml
new file mode 100644
index 0000000000..3b34adc2d7
--- /dev/null
+++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/layer.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <folder name="Actions">
+        <folder name="Window">
+            <!--<file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.directorytree.Bundle#CTL_DirectoryTreeAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>-->
+        </folder>
+    </folder>
+    <folder name="Menu">
+        <folder name="Window">
+            <!--<file name="DirectoryTreeAction.shadow">
+                <attr name="originalFile" stringvalue="Actions/Window/org-sleuthkit-autopsy-directorytree-DirectoryTreeAction.instance"/>
+            </file>-->
+        </folder>
+    </folder>
+    <folder name="Services">
+        <folder name="JavaHelp">
+            <file name="directorytree-helpset.xml" url="directorytree-helpset.xml">
+                <attr name="position" intvalue="3086"/>
+            </file>
+        </folder>
+        <file name="org-sleuthkit-autopsy-directorytree-DirectoryTreeTopComponent.instance">
+            <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer"/>
+            <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent.getDefault"/>
+        </file>
+    </folder>
+    <folder name="Windows2">
+        <folder name="Components">
+            <file name="DirectoryTreeTopComponent.settings" url="DirectoryTreeTopComponentSettings.xml"/>
+        </folder>
+        <!-- Not letting NetBeans manage docking for us at all. It's all handled in CoreComponentInterfaces:CoreComponentControl
+        <folder name="Modes">
+            <folder name="explorer">
+                <file name="DirectoryTreeTopComponent.wstcref" url="DirectoryTreeTopComponentWstcref.xml"/>
+            </folder>
+            <file name="explorer.wsmode" url="explorerWsmode.xml"/>
+        </folder-->
+    </folder>
+</filesystem>
diff --git a/FileSearch/build.xml b/FileSearch/build.xml
new file mode 100644
index 0000000000..78e6fe7c49
--- /dev/null
+++ b/FileSearch/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.filesearch" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.filesearch.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_example.png b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_example.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9cb8a80f2b73946c2626c67d495d77c56f9a2d1
GIT binary patch
literal 13632
zcmeAS@N?(olHy`uVBq!ia0y~yVDx2RV4TUp#K6GNWcy_m0|NtNage(c!@6@aFBupZ
zSkfJR9T^xl_H+M9WMyDr;4JWnEM{QfI}E~%$MaXDFff>0^>lFzsfc@9`+KtN(W%e=
zI{z`Rm}s*_e&g@c@2cb<-j#TNi{seAu6Y~I>i<jZOpv@8m6n$7(5tqmZ1IP_<1GjK
zXKoB{$T_4CeL`qM!skg>goN$}ExxuodTm&_cSM7nnULVU$^EBJg@>kIUAt@hrdOwT
z>{>Ou)adh*@^jPGH~+eK=3upl0|Q5iY@_3K>yCenj0zv-J^8u+&+GUHSA|*ry{rFk
z8~4}Ifu~6G{Qr(C%q$r?uO0O-x^^<~rpwK%|M1YgqEv#>Xy1dMs!QY)9NO5<|F&49
zId8r4R|dupd-_$DS8`R{V=h}B%X0qrxzDCc<P-u9e6IhqyuR+kL3ZmsKD`^W#r6Kb
z+xPq3?>F^7{;1pkUH@|KI_)n`M?Z(oYgu^IH0Zm4#skZn|FYwMOK~opXYzfmKi{P<
zC-cwMA1MC!=Vt$<?uPUV``=w_TCNHx$ZH**x^m|^sjJevR{b=7&a(G@<?|<(E?v5F
zr*K!<!O9=+mwEQwt1th{|0+s+bHzHIxx0S6uCLym_TvAy;JWtoQ?Ijf7D%;e=|`DP
zeOz_#-}d$4msjvF?Rx(9(aJqXi;rbpPZfR0z4zzM^?Ype>r&n=R=)pd%MOmEg^6e9
zKC_(oXMfE@Z<qW>9}XR2+PmM@+WWm;)s)J&x3-@De_dbj<jcRWuCAUo<I&HfDxA)%
z`^Dpb&$gH3dG}BA^n>a3pUl@UHD4W<IW=tUA&u{scV`E!5zD<5?P+*ESH9@vo8IR=
zCygrET3epGJ>93I^@iW>>ssZWC;R^tb6t=BsWm^i=4-lq*Tkmf>;Fu;s#ft&(|B`1
zNrz*DhhNX!`Sb0o-bhUR_F$p&mw(4*=T}wgy{IiLoqBKj^y#b*_kOHV)!uum@}F?w
zZ}mC;>(?!rY4iNuZcjI_jXX0a1v$-8pEkAbQE6w?TBWM3^;&J>YML&gd%d2!tXEO?
z(2n0d)1c(B+t05%4fE4|KA*Y$b>ji=Ouy?>=2WSctnIqcx}ZFYQ(wb!{nOP3dRHFL
zSzo`&;M&86A2!v0eym=<|KDrzxCO8G{{DXX_dfCXFP~z3u6N#R?~@T!Sw2T*Uia6X
z4==NwpUkgzURcPB%Ueq8-AeAbF5$4%CTFiip82V>Q+LVRqP9tP^Tacjem|{uk2k2g
zYU0VyN59)InI5&Rv;R%$liBknc=mnS{ABUG$#<%LPV`?{7!@P&$urb`o`|{q*Kl{c
zGdhP}U(u@k=KUq{Q{+M({jXEyweJe0+I>7BBb+dqF|2ac9zDt1UmJzf|9zf+@8{{~
z^Z)PnxA(nM_iJYQi@!VL-!3fQ-dw-)?QNI$)8lKW-kX1O@9ca3uYZ%>HDlIx`RAUJ
zQ8g)<=dYXdu+5e;wqG){KUc|FVmt5b%d(4^mIr;-Tb+CO`ga-oybx`>Q>%XDTCXhn
z<hCGe+p4^yvZqfz`MLAEorwO%oM8F$vd?VptG?e<Gj(#zpZ%JP?l1rMX@lD2E7Pti
z7fa;Z8=5}Xos{-2$^UJ|;-I)IhgtW1Qr=s%jyd!MOT<bCQ>PHw{by#YpZjzC|CiSK
zx=)&qzS+O6nRKuIl;!&czZ6r0o~T#ZpWysId9Jnn=k@>Q>Mg6Vo34_W@wG7T{IuI_
z&DL_llKpoLCGKoX?VmRD$%or9)9zlM9N4&L;<K6Mp}B5bH$Al87Vx#~?Xoz}-HlN{
zwT-vDzt-+EZ+`82{(s`?m*&5{^lp{R=cW^GrhAU8`0-SJ=GMO*u0``^UNG8wp-aOs
zt~2AyP5Z|t({{c6wQ25pttF>!#y+ZabKhij<J})~|2b-W|8Lj-|0)0PhrIm%hy3!@
zf7najM!h<idtb@0%D(jHt@!-=jw;K`V|_l>m}&p*`uwN*&$sUuXX{O^XQ!>w(L3;Y
zXN#&*)`uzAyO(_5s=ZQN+spIHTa{q$wF`6B?pc+#=)y$lnKt&tPx-$Hoi;1fjW@o3
z$74$Mt?7&JSIsgE@Hs6%=VD8$ZO=L*-<r>^6JLrw6y0R<Gj-B^3)AvvT-qn}Q|9V_
zQfyES<kweXjcC1hEw(o4RAu$cOZEHT+b!CzU=u6NcByx2?b?ceX8wmRJc?Qt|Bp2=
ze5w9F=JU^H{`n=p&*RDO?)YV&bexx%Sg%z+IXUQ2a+J%Jm#f1#By}^rZbh+VF5Nmi
zbbX@>yIsnsKVPQWU+~tweZ+l_Rdd6mpN8|MEIfMLZ0Y+=j87Zy<_2ln#Tr%Cy(-@?
z4o*9T7kODk&foW%WU%GejkfOe|Ht<~5N^@`Q!BltGqOEtUism*7rD6^kA7D6uys(F
z{G9v!Ke_dM$_py$Bv!I>q<s4GWcU8#s}FN%%sa2}m4T7}{O`@NVpUu$Rjmyh^QYX3
zXNyi|VpO;w$?~Rl@qy3hW{Al$GI23}kU7V|va6q=;$E%v;&ulHn|6MN#&^mL^UCiZ
zd!Z=6aQ-2)!-C%&4bSgxH>~1dIZ*tALEwcQ(}T+Ixjk}Bj2~p|uxU5Qn<qbS){Gfe
zbDBS|^W5oqXI(<_3s<gJ%WrS_KPS>ud*1rV%RCqUb21Ci+0nf%A>nUh($uRG`w}|Z
zoYY*3Dr$EHIakgr&N^{cyjW6-C9rX8NAbZali#YkGVN(BJ*u>Gh031D@cR7zS4F4R
zRDF6KUj91B*?eu>^ABI!uLvaERJi|oazN(1>?5~LU#fa){@{|m;(z3gna;asSLYvo
zc1AGaOrwZR_~gYC1Q$-xE{od1bY8Y-xnSI}IO`|HlYKUF?$DU+v*zXJ@+-Rgnl~FZ
z`yJI-v3ceCIc^1-yZuBvCZ9ZZ+&=xxI~mol3*O$_ve$#ZGsySUtUFUzO?)wb8qaIB
z$@AwtseOEPsl^S0EP;XrhhJUyzFS|P#KD`p{qxHxXRT#ElNSq_cbZ+?yz1(kr8mzR
z?rL+}RrM)!>bcvseFwvuUPheNRV_Z{$8UY;-zA&r=cXD>GMdEyPCz@a$UDPHYW~;g
zyc$zW<*W(Mj9*>pStx82d$e+j&uc%~rWKP{teonx?9&^uVo5Kb$+43c)m=4RxPMLf
z>JY8DUv9lp6AszptEZD6a;jqLx%Kg^4*Mgv{hX3ilv2i)n99F&ZKD2V?UDsWJ?l(o
z#aKyog{4HFk>@?0aCrXtpa+)UA2&YmdSNHr^p3NAvc#;O-?uib-)WbBK#KcI|2u=k
ziD5@21%K{w-aP&JF1x%tQyVXSNnT#(mu)9tu<r9g?>*6Rc@>F93{Oigzg;|U@dVMe
z6^t7Lc-svnm*;$5`Z30~;o`iil$B3-G~BjEay<F%Y;`nns_L@xLcg}K{Y$NcW@wi!
zF0r|O>ml><>#MIEHePR7QrFk>{M>>Eiks}Zw>;kYU~7S5rRHKcXPfIvv)k`&<(dA|
ze{HXt#rgV)KDL|O=B!E7NLS%{xHHxI?n<5iffMg+4RLKMSrU;suX}2r*v!kFlV|F?
zzNuKJJNwOtdBPnPC$>I+`|x9o_PkrZXXo?#`<~h{HS57ly$Ls3c<z;Wc8Z?rdj9b4
znXcziXEmQrp0ISiU2}rSgG#s1<276gu{R<nWlR$-t-6*{8TT;wu<=LF!<)Z8IL0CO
zZqMA6Pc}{o5q(|ESNd>|?cde2<hGpMIj73uh@8Pr$7V@`$|c9<A3nK%{_~G9^`{>1
zSY!7rYRg6YDB*Ko9AkbtXkT<Kj|<(sZNs%=9RK&kR)sp4Z?0Hpn?Bi~$hBo%QJ5gd
zVy&a|58uqlerE8mW99Sg^I|Tu>!uoAIUT)w=f^u{lk=+X6*oWcOZJ#BsqU4(^B2t^
z_eUie=3d7?U+7An@OjhCPm?8nUF_+br|E0VyYSjG!560IQ*|Vs{Vq5gospy4@I1MB
z-@mr%bDw`Py7oFOXys^lu4}>-!o*~%%rNgdkH#uyCS4Z>oBV}=3xot#NHTudljaa8
zE0Cec^q`WvmuYH)!&#1o=cdeEuNoY<1sTpqXNas|Vaal1uvsq|5W>z9)xl74&uOuP
zszQJ<(}T*h4U4Q4E;z9q_$(&Hs>RqiOOWAwHk-&*#zrxv3$^p?|89Q%fr)9ZyFz`z
zOV;!MJ6Kq(dKr3?9{enxYi4N0&hn3A-hOw11A+|>+XXYGJ-<J19$#he_l+zS_j1ME
z-*Yq`tE^kAanXTc-eK`Zhs7K{P0#J?^VWZ@O8dUP{C#cW{cios3JD+P<SWj4x5j#s
z><NMM(q9ci?y<4B9r@hs{_M)@wcDRRf99_{$L{y1{J5_lV(tq_*yK0&JGB20l+Zk%
z-X~{oR$f&1@XX82-QLfq$5;R5l|R3n&w6=lrgiJ*g!4b%+ecln^O`V?#dUU(^1S2k
zkG*hYWKw?g^UOuz{ImOvtCJcJSp@z$bn4WrSFaY%l(awpGw<KGg|110^XKh;VH<U!
z{Dpi4pV$|<#=sAMZrc9NTvYez%FW{L=biVa>&MqkUw(7v<4Bw7>hDuzr%fsrnOJ5v
zzqY67*kijRpYLs6@SCBh>G}Eh)t!red}`%>{rYwIx|p8|p3D8_pM0{@BB4Ud@`2gw
zJ4e?zPdR0Ckp2Ab_s{mef2dKh@Bh;9bNcZS(b0<~{AASg;`i6hy(d0>T2X~w|05&+
z_{qf|&L|(RY5$ja?_RY&JHz4!KehMQ`c9a$NJsFu+oZ6tu%gOyGuKUf`0HiOO?U3B
z^A9K4Uub+@@cEvy0oOcvi;9f0vb@BHS9TsfI<;H;x_<1glAlI@qobp@SH`97i=D3X
z?Csuk$M1|1tmi-P7i@ojxb*(%3x^ApFIb%a`1f1kY>Btbjcxny$6dd&>tdBbK0Civ
zzr*H_djjjOg<4kJtJHUAKUn<jck!MEhv$MXe%Be5p5+eU7w8ageD|JTe0}Z$OMw;K
zj34&ssRZ&1Wau+JsI1OqKHK0B%hB+>RI#(F!J%4^;r#7v=?pfOS56Ez>$yFzFtgn1
zW~jIqciX{OAwZmI@AIGQJhwH6W?x=+vZVUXHLaV*N4MNPz363Sf91LI`E!=I+`iRu
z|Dg13zw~@JYcK2VozHpZO=?bRRbnf3<J_8IvEV4f#A_e-AGh&8Gb>L+|NBhQeLVBF
zABc4KU)dnW>=MN=ccoK*<-6YJBG>1h&A6Ets^sf)^6k1C>{5JJ+O8O#sXQbut*4gp
z=)qL~>@exqDvZHwMIYy{YrOM4>gvijE43%*ZBkx;<C^WFjtee5$&y_wpLtx^Bi7B~
zEi1>YuIh2k=<ucZ`FuaTQl00PT)uR+@$|c8w+qAni*%i@GiyCzmUqd>dF_)eX@9o7
zH#|SNGAheh^3c)xW9*9Bn<ss=>HU!t?0r)9Hmk|2=uf{EEQna!C2iyXN9F3tk0$Pt
z^EP&uy9O91E{N_74eJkgd-KTZ<>xsf0xSECIUl+HVKlh=X1zp~tBAL}xZdvBe#dQp
z&7S7b?${@De`Cq?Ot%j;f0VBaNNI>C+*2`IY<fMr>3rw<%!?8BzNbPQinYD}{qOL7
z^YoMAO^x%?=R-3D-&*7tCF#sBFW|rG@vz7|+R!c4vi4!_%IxV|)D-r38ZYQRU!`hy
zYSoJTo}E%xG?y*2lbe@4W7BTG<GmA|UaWsSGco3J#Dkv#I@0xl%IiFLy-2Q=+BfM%
z?%De#i8p1>wzmYo{G4-?Q+=NLQJ<_zruky8d{cM42@yKxdn&rQb!mi^tDmLzSAmZ)
zJ9n~rsGUE1(WiD(#H{$uFXgUHn0#pI)syYk%OB4RtFbw6Hf@!|Y^|RA<=iGO{_crA
z?!Mi8bDEUc)n9XtdP)X;`C7T_+1E3-dz+OfFSS!%D)*pu0@t0Kw`Yppe638gxqfPr
z(fz<%r*Ce&H|4qIVza~<cb29conl>Sa?oP(Uc2ecGtB2nPfa;qoE(<)U}9fFTBzKP
zOU*VeirXLm`?_-m<5LOqT+7J$&Cl1$--}wd!0v#_;#u{bcYLCg*Ia#@=5H0(V)>|2
z(CO^m>rEMt<J(?#?rwfA`HpLz`SIi{JS?}G7%J|Gc{}hcT##XUP+5FqQJTU9F_r_L
zw?!~jF*H6CU^qYfu$U=x<2D6`dE1W)U0~)gX=kXoC$nvZB*zw3#t(aRr!~kqEU;wR
zb@=l+`8CEq?6K@p%eK8Z^=<j@NM+aM75kEp_g%euwSR&T3kUC^Bh@G3>iedjc~v)k
zkLvLYO+V*8`uXeEud}nw?H#-X6ihgTKirW%zx#=<W!pQ2^O`-4kHwf;I4j;gtvtR*
z_4EbP4}Wf7zO1<Z**v`$rjyO@?<##=t0K&Jh{fjnr#;E{CZ)cpssPsu243^7-wgY_
zUu<pg?Veo+KCemao3K)}{@-Wk?8k!N7Joff->p$~(c*mlzdLcSzn*y)|Nh?ZL;J+z
zmpLAIw)1Q9nO{3p9{rpub(!b(#8kKS7tXHSxHD}P)A{0xa|-ISmsJPzsLelT;5_kV
zr0Kmw{+o4cdGw{$F3j$J?(zw<aw)A?mwzzuGbd+?UzOCyyxx}&wsm&qvVY~eJ4b4E
z_A;$QET7BX?}@GI&buu0TWrR^mDOz1)@u|8ojhpkZ<-vt_L`3K_4A)+E<WCWcJ7>b
zi{f8z9$otR^m<(V;p4^U_0nFtHD=v@X!0ie_LOISjV$N&yGtHCOqnpR;zz@Ys-n$O
z+cf)GuFQR6rEBuwdx_-sOCeRCCvUoH_K$sDI&bl%=o0P8{RYWKm(|>suHn2rKjwW>
z(4~uaW^a=>eXO?l0Y-Jk_1E$Jg)=?Y`O|mjXl{!BTqgN`Yp&yzhHZ(n%Oh1Q>N=Os
zO<6bh&#Ozb`R~^KcFy1Qf0E8b<<F&(fex!3rW<An`<~$1x@xObR59ng=O1FKJgoB5
z_a#+KC|Y_&GUmP49-kl4k20*y)%{jX%{Zqo_5A1N>Tj1_{ytf``MKD6;k}t#gf@5H
z-1&Ik*PRbmEZDtu>AIv%+uHoki)vJ*IX&A``1lyp(!bH>S=#FkK3JzNHg8Aw-p?-O
z=6QGZ?|qe7y+HM`*Q=wUPn~jFPQJ+a<d{F-;NYIS*7^Q>kA7`Ak{Gl<knizFy_dl<
zWm=A!g=VL7+X{M4wXMs&_wUcX=^9=7@jD#iZ5Fumyn4SKQq?}Oy8l1U@66V}W!koL
zgl+6SGw)yHmEQI)Ib6%O?)igr$B(KPhEET)Y+f=$d-3$GvlJ3TcV2waVHY8nu$2oG
z{&xAEe_P@$^B#ZKyZ(5E!qOv8w`8?_?96Ig*Zcf;eAUxGpIWzWHSK!nQuOHC*Vory
z))r=-e719+<~D_5r_9>$T)}s57w0lPdwb=bjraZgCK5Tn?DkK|d~a^1Vp+2Dp>*}x
zp2iak%k|FZ&9d|}%@mIEt?E|Z8z%Q)o7W75dDV}1ei1wS?o6SO`~$xUb&up*{de9w
z`q|~+-upMESWR5xouBBjeMQ2HTNVFK<;M%FESKuMVdB%ZWz(idM~Z9R&OP4oWasA7
z+mugiH#`43Sf$c9^4$)P>V1B0lQIuq|Nf(B%854L*=7YZk7rao@O(C*MPs$9;^9q~
z)y!<uPW3z$&U~6HZgXDh*^=!q))`&!&76Hdz3L&?lo!i(1o=(5^RO>yarYF{l3W}6
zf)5woyt#Ae(8}WOZf$Y>b(a^nou2;k{;gY8@AmA?I2ilMZsz1!vvqy;-zvJD8(kNw
zaZQx*5X;9q(&xGNJgqM0IrW2c=hX*&?<@B#OR=5$SMT(NtsiavOBXKwV<(eYw8r3V
z-Ggnn<!;1+^nI|&o^ks7wD)y|ACA7CR>V}arZKiHOS0$0?O9JNSMR%D_x07)#U5%*
zEu4>bn$Igg6TOKi*4akia&unToIRD9nVtVum9uC%He68fIZ&(*FUgiKUp{^M^vncj
zAr1j4NPz|}0A-(4mi(6N^+{a6xPQ&pjpkS8ze_(mbNA-?KATrFUEyO%a$~URzgcxb
zmZL?HVP5+~7EJ{KQ1klCwdQvY3OtM-Y<Sc?7#n8@GMrD|CRf7Fl*rNWJki3Di{nTS
zLxtStuM4aNIGh=5_z!aiIVhyD9QZtAE&JU@2MMMJl@fjvn3xQe8Ri|&v3<eEa!7#T
z{NaKo5rGa##t$}WuN})31lkxX<l2OnG&r2$Xn1ZI&A*Ge(SYT^XM;Hkti!@-C!YLV
z+;6ul_4Ksg6B-ymK2I_%ym|h!`?mc18<UT}diBa3G=6`ihhgK49dDlhWahWouy0@8
z=Vxd6k<}N^T7E%5toZ!`YXJr(A;w2VYUlIs?)qvcB*4J*QQ0Bp+~dkK=fxL7WIxEP
z0}Z`6FrHtpz{sc|V9!)(v;26;dnE|x$kQ`lD_Q5=FFY>W+~ATV_ku5P_JvdTK8Kj?
zQnB3lHsQ~U#q16VCLAIk{uKQbaroT0{~9yDzmH9g!=1&i4<>w`EP3|zq^G7XoC+7r
zS-2|dRtEjLaold&(Xw4rBcDPG<yE&&y8p6Y>3he|_(uBY$;G>a*aJ8?O1K-{D*Oae
zKicryc0Zq9mM52UZ>4yE<jN&#%0`lJQ&-NNefH7aO)^!?EQbV7JpS1$ZSKcEam@-p
zd2X%hhX;G5<!cm0e;tf%-d*P)uNluP?d0J3YWobHlfjyWjVvq;4K58k=KPfDd#B4Y
z{mY8Dn9KjxN}K21UH{~WdzHM(POk%dH)Pj4ZTQ>yC`^%&Wmmt$W*hZC8a=^WOqU*5
zDr+rXIc;XpyjV^?^`u)b3Z~0wuSrz)VC7(J^iv8r@OkoLpWoZ^Jk%Max4oO3YhSng
z%-w?LbEPNcOgw4#a_Nn9)pOtgF8GupcYb~Re!G4amIjAE90JpguRniK`RAJ}e*=T_
zf`;eECxX&}e51|0_}yi>Vw@ZdjXwkx^wQ7WKKS{^+ip1q#x@7W^ZkmD$f~s2U-k7>
zpo#(m%Om%O9dmZxe|_na(BC!BIY3cwsO+GlruVyYU+wR2FJHcV`ZQIF6P#?s8IueP
zEkD~#%e}qrqTV}0c^AgJjSK=i`XhW|j{VHKd!J3fmWAnoWeo#Ii9F+nJ-^M|_!}82
z_~aRw?z%JByx-S*(OH3E-eL9zhwp+6=Xd8Pe-Yqlc>aM=;X*CTfzR)5OHfyPUM~Oq
ze>aOOA~{S_*1Y>HGw+Ggg$c$}*G?1ptvsoXfl<kz=F3I*?KwAvcI=k*oK$1?WA6jY
z8c+8Hmg!9A+rOA3&O*viiJdB*^Squu;Gf5zIqOH4`E#EKKPTK%@Nu@@vTpr){zI4c
z|2%WoJpZ0br55Wv{?7X4P$hjzKF*g*xt_Ru=I;_ZDRADi>&eQHV4MHnzLcC;z2@iZ
zsmGNr6zzL9XXToQ3A1!A-`Q2#ZSkirP{>AIb5j1a=Or%Db&DDofE2bHo4)pGU#_OM
zj4ynXq|fC1SrcYjfBbW5s`lasKhMv<oxOM7&A+ejR>$A?{^+y`i-e8({0k-X?@WCw
z>s-+vsySz6WV+O$AOqiNnHeX2T`J8zEw3Lbo}~2i*kj9ye;!P<{95(;?a!S*gSnTV
z-}h&BxUEfivi<WKwX5wP<UZKcPhIis?N*D)QafiRUM{rB=Lu(HI{&${PSf+q=QY`n
zEbmHT9ewDvnKyZ>uu*nm91nA5+e_P%3J2e{`-wgDIcpVcrSyK54_jW^e1>I*O(K`=
zEPTvX_`76M(Yns(Dz2XvcRV+C_upgs``nvOR<6e`AGx))znJfJHa2FpsqeQrT*5vz
zvBF<zvC+ZLigIsORmAlhzjQNH%RcJDe*SZ%+zz|=hzJSR^Yia+p0D;w-G8p__KJBg
ze4p!fryhNC=VQRU*RRV&FTTB?R~7rlcE)!0bGKQ~I}5S)`hcQdqIh#f-QQoOn@-nE
zDq45aM8)+}@A1#izwdPktoeC}^;fd3?XTea&(@{Cd@k&X<v+LXGSA)s_X`=<W?r(i
zdiM6PQJn8qmh=7Un$Krd_ysL~@blmFILrMtiMhGGNfs05?C@QC>Gz{cL3-zfw_lhs
zC+OaD+sp;W_SACpuev*Ph9di)O3rzQc@xF8R{1y|QS|6ng_xsqzrv>e>Gt)UlZ5$K
z+RowywP+^&F5mjaaaMuIGwsQfU-fUadoOrTW!~k7mNBmLv(C*t^-oYXc<q{%*RHM(
zcfJ;^;%sAI^+n^P`MJ-`?EGiXozvBsW3_$9j-ro`tZbj{ubKI8?b@}sZS-Grl%6;|
z)9sm0>RHyy6~4~*L*k>Nl$hA}z37xUY5wDH*)Kkyi`O5Xd4F<BX^Yj9hd#>1%Qii0
z%G|T;=DynBU%q_#^vTHe<ph^WD*j79{QcGye8*2r`13clIh;1~mlCh|w{6e8?e@{~
z!}sSZo}Yd`cwD~Hd6wF~M`taCE9{n-Yh0e<x+y@;M*fn?N74LqGr9Jj{hP(C**v|^
zA(DsrY4yS4ib<^w3yK}q7;}`&e?Hex)QX8kOPOI_cpD#Uqk{=Y!}E(XxVo4cPjNIn
zpSsZ5Q9*#0=|QE*vZh523yhc^RHnWN5a4iWW~h+sUAaI*U_}o@MVzFS2n*9ig$v^I
z9<MfXNbq1;^l*#+MY)fAuFMQgRF8IC^_!#P^66WjQy*p>_U*6myB&4$+jdv?n-A;+
z3<Lz0PygEY{F<4#@b~-iKP~#Ql!LbhrKoe+rX2WDSI*S?+Ihh(3AcHdt>+of;@xYW
zY`Tswxa*Be`sE9rAzy#;WOea3E@D3Y=ljXxs`JGME5G?w@9ylK{xq+lh&}D|8P>l%
zY&*R-Z>>~VU!Zl<P;c?1qUa+R85Ar0#5?o#eCpE-c9i>f$CRGm+k7y6nRwJ<K}D0Y
z(pT3OMy+5tKl#Qwv$T}m=AUGxUN-$*Klez&S*9Syo$9;qJeqnr?vnNLNk-9*TJtV%
zyWHf~^OW<X<>S<(K3%(P=LUrZYD+n#*Q7L6`KqN}jSby8*;%qKt8i{xO04HOgOC4r
zUd`B+!aGmU`@O>J;K1o^`4>Z)WEMCvoj0Ag`?+?9MZV69t&>BK6fBq=FL3wN$(2ja
zJn;EAM{dQ1Wn1pNTe*AYxorlu@4qm8UR(V>bYoBLk|`{=Y|byvGEV1sHBTz(j!f~N
zi#At+GF24o&+nZ-^WJ+W!#6F?U#*ILE?0+}pTBytWvSkYVuSqf&)-sxr_TNGZ)(jh
z%W94D&gO;Zmh5|A`L-wX(w*lycea01nH=_Py2$C(A8lk^w<tRNS~pu+T`I3fSheS1
zXRk{R%ii+-IejM>)#lFmkX3Oq)9mby@R-l3j#lp%1l=le%b&S=xs=$})lxNUH_W=6
zDHNN^Q@Kd!e@mD6#gb`U9#gxU>JNNy=L=A5eD3;j&e_{<7f&*oCagQx+2&5gyVXms
zh`md?=XY(9?()*|t1<Vv<{e=_d-3avAc6B|HTO<`z9{Xd-mR+^?`I0D_-ZX$opp6m
z+`Xb>e10cNI6S7Q)^WY^?ap4C8m3a*GD%f(r>5biO*b8`EoNJ$<2&=oX2EOhradRz
zbmx9`RBSk7sr2f~#USwqm5S%jKF=#Ux^CI08mafye8>5cFUY@n{rUeVcT<jemoEyI
zcto(BpUk1^#QQx^@T<xHXaABv#ju)PUVS&S>9nHx@!<V8lY-XDg}WZkoN#5jr>BEh
z-})3Cwk*cjwbO$iMSVRTkh5*lg)08S7?w|O3i6UOdKYF1EiCctF_1Z!npwnPUg__0
z;pmCtD$9KR%?5d$YaaYOIa%Fz)vT5+GZq~3$gl}t_k!*3h05K6&xEU9^=UY7^4nj-
z7p=|by|v`nLjJ_g32J9%XkXLcC&~MKYsbS+M(_P4BP+NL%-y}EZPjai<tGgHQUdQz
zVmu#x=uwhs$Mcd`(sOk*m!ItX{<?0S_(!K}&voW#W~q6fRdH#vZ7&WNdNwDt$2;=l
z9Dhfirb>y_uneO}t=HG|1BK83nH%=Q!P#GL^1*iBd!OfBmsD=ezxQszTfYgbTFXnB
zR#q=u@$R0|c}E-lXA#mWEazXQoJ_Hu;}`d~a<%k&rpG(OCc0Hzolx~_>fdtH$M0+J
zW!jWie3OWoz3z3e$ZF%bv%a=dqh9s%WGZrVJ!WkD%I?zJ*}CM*8BLemm&F!4xB07H
zUEGnyGJWY4&L#J_FCCc8KW}^EAxA5L^DjGA+`M_S<nHxV`X@QIa!DFZncOb+&4!Cd
z_g0x@Q3F?}4f{u%j<jTPA)DpGDZ>6w9M^`1tXEIsJ-<aNbKNs8%XoRIxQ9ZfD<-#j
z$2L4qexARA=}58Fq&~k1x(`JJ-pVjNVGtFn<a<=9arv0Gd)cDR$uF&i+$S_RNU|JR
zdHBK4il5TAtZuHn61iFN`9-H?{2U#@?FT;xEb9%=J7L=#Aj8pfy|F!Kum10oJe<N^
z%#AAq8O|>@lb^!Q<jB$R+|j_1gTtklp+au!&jmID98L^2{7sxr4hmT;2R^Sj%l@>{
zL4fH&rGSqB6H}lv!#wv~I}Lu8CIN=?%?V8c0v%F}A8fKdJ60+Pv@lf2u?V*`I9%aq
zcpf;L{}gkh0?V<JpY#3w+xIm65?mX=!K5Ob`+q@&wt$53`OM{ge?pqOcc;5<uzeiq
z<=1|4o6Bc)w;=XzgB@Ya9Hv&$pJ!ZIp|eVeqh~(G)Qd19kGS~m9ocU}mhXHz)7bXq
z#Q74F=ll^Xd6oUyPPZbCiRET!-_Z-luY@dg{5&J%B3EjWU<T`Xez}>!>$l&VH-EPM
z)`DMePVcY0dbqeuEBn#iGY>U5zp))p`D`(R>3hb#<)Y`E9R;LLGiPyI-*5PB-tWom
z^?mOtv5z&+UVKb0R(~#jZjRmV9VK-?w_d;h;bTpfxcvp+BTrARe9~OHqC27KR&Bt%
zJ2t9)m6KjRo<CW1>7-j6i>BvZ^3<6p-n<~gt~5eUUHhu{?qlgT&)k>yhqcw#ubE-e
zS?>QjkM(?d-@J<KZ*y-7bBi47d?X$g78V}PfA&m8rQZ1{v$V(O6mx$~%(=EFwpF?E
z;k-L*=5k)Ic@t#A&#Kt@?AF7}MIo2POs*|C`f_nu{q-dl8{=eMeZ`ZHEm<Cuv+4F@
zjM1*!wuNbL-`x4gGw*c3QJKqe)!hd33U?GeIC<7;yZh14LJB85tKV&A^Ukf!Ql4+$
zm9gH9?ek)7`zW7TB|qj}v#pzFzyG~z*Q3+odTZ9NzbyGhUghPLm&TDc(^JCa@+%V~
z=S6qlx%g{K$8%K&gK!m>ux0zabM^+$TpY@FJND<rq)WkiW;fq{{9N<jd;OgFeH*rI
zb2FS{;pgXn{LTeXyG!l7sM5<j(Z`mhu+7qojr7}OmwvkH{GPkNm}duX^JM0jH=RLI
z_Q{T@pvde+@6O#mYbQ5v)|7sIOPT!!_M2M&TNq{vy$3sU|EJs6Sx%m0dh)TvY^jH~
zw)R1ra=!3u^PEqre=*zZdnnrf?xggHUzh*3$+&!|;SiV<=s7#*w5abT&DYBF8J76J
ztaz~9ZrAe2<x0v2mME_H9rN}_W!-}Z3vb@s+1eWXTueM%FD_=e@C*I;W%b$Fug%Wy
z&d@mcd0z7c*TdUZ`#*kO`S^Z&w)lf>W*=+i*WImfvesuxepY#6`|jPjI|W#7ecgLK
z@Al%wd!^OSTXSjdVr7W}je%QDc2HCZux5Ht`F6r0Cxr`EEC)Vco5{k(*mw&x+1V~4
z%G7vGkzwBUb1DHG99Q}nD&nk{tPtSX!pHbwPpMj?lf!~CmII$}DY~{gEGXq@c)r${
zQ-q0WtFnRLyvN$}Q~VkNcKa`O5^ps8yr)gKclP~HtqZS3Xy^Wy^-h*$mv-+w@S`%W
z$~!q%+kKnlp$wUg8^g5Tz0PS2IGD;*Eus<T$S5MI$h7uB<&SB{YK&V;_B-!vf5=g0
zo_FT1_M6vl7#B7jXZfZPu%?Mg!^nvx>d5B?-QHTi<DZvJdOPc=#DceL4;^Qi-?R7Q
z=D?g1X`AWyuUpEq@HyP7zbPm!;C*P~_XcC9<u1Wnl`nA3YtPHfd0VA+;KJhBI~Q8+
z)-Kcdc4EhD^Zs<>$CrLvi8npCIW@9a`s(SD9TNV>v&&OMW;BBwpX8nVUMA@L74ybo
zzRU^7w{b{rpCb0@$;0e>vtEBwJNS8)V?b^AZ1dN9i@$H*_Qd_t$6bvswUwX}Cv}@i
z+2gH0RbmPw=Gsg<nzdIg-0iH$l~emSre^)DoqO2fLhm_`b@E|Hw^v;~eq`gj9Nwlr
zhQ^Pd_net_>=?_O^QVgYQv@bg<$noVuDMLke%{%h)9+u$ur$?)^%^HEo#Oxe|KpcG
zIOa(EYOowT|5+$nYWeHJ+|x<-Rf7LsJ$dg+WPkFn`OB_^ls%EQnSSs3P63w3mUC=^
zud=m-D;YgC<X3)g;bGwg()uw!bB%4gl<Jp7x^G_FRGq25@#sgT-MZSjTMO37I#?8m
zXZ-&D(2b8nDu=1j@UzX6+jo6ScH5S=DKym1y`8+?!&FlJymBi~7IWhZ0fzI7jU`3c
zn3f7MocDHaV{%XcCAk+qY^{wBnJfoBUz)IxL7;<=@q>-kWXD8>04c@~drVR^7+4lL
zGuZT>O9_zRnBvA@qt7eJ#Xyd6jjL?Zt<9$9<*Z;j`TpqNx4V9CH{G^4x=#N{na@7k
zJ8iFOJsujG$u5#hIo9D&InQ|CM&8Tn%Wur&6#jnS|9zBJWtx+QwD6;pliS;#Cxxd5
zrGK)Pk>B@R$-C8dE6b;+dv{x`TIO!U(tol3Vu=LP(@MQsv%-f?-*tKF6_uTLWhT0n
z=04haqhiv>m^}aR&gY5WjNAHSCvVF9U?Z^iUdPnuJEhOt?q>4$`=oK6IeJsO#o|S0
zo^N;QnH<bmIQPuSwVCU;9ld<q{&-oudDk-abu)ezsd(MK@b$_R!zm@%d^UHFew8r%
zvg5hZ60Vuv0{J%QFHPpI=8JpT`*_jfr2-n~iv#yY&0ijOT2h;-YsR`RLC2UEKlfCe
zDsi=U<t$HjtDf~rMp21%PH@<ki-#+gOjw$7B2jJ6=}C(%xj(w3uUx%&p{@JLN0nkT
zt`%}GJ;V2Ko?^h%=UmI?aBg<>bH23u-n5<%Z}z_mdur?ClJE3*YTcJbd!zK$-0b*p
z(m|}Ku6g_KX>GS=PWZ+Y=W&ZUX4ARy&(+U%yvWmJi8@*==u>-J=Q*$Btyk9%e@^+e
z&`&`~vh~kJ_DzQ_$L^Vsed>a0b<WFq5{&bve+uIWcTMoI3BMeh{pr;5BlFmc=T+|Z
z6FhpmL`qlvS^ILer^5Ngk0u`dJmIj9k-P9^j&FZlOLSr*Th86S`}o2di+rWPtHJ^6
zPIFv2Sp52Z*8T^Lr+a74Ieg1eOX%8{5CP?LX$5Z2mw#V!<jKs~Pb;iz+tPXDXWE#{
z?Oy7g{P9DhoboUK!cRLpwk|SkGh4Xpvy9(i_j49Z&t%maV#~t5tTkeC{%o@+wOsZ6
zG}+VNy$|hX@Kg{`XL|c+XMU!f`nn5J99uXW1wZZaz1ybeuppeH;rU)8bF16IEC)W%
zlajmpPL%0E<@z(d=e~(Be%Q0T&3$`yD?`OS?c&9oZCx2`-miRk@ok(U!@TdO?!3tH
z7i2hJomEk?JDelrY2~?p1&a6czb3`(To4!isrFl7e!Tgf>k)U$FKUQL#Iaww5Xf@s
z^PM~XZvS(;eu%n#bjyegc=o}jgd^j@?~koDt4|ugDeJn$+qy*UYk=<+jw#PAU$6W8
z`Qm~3S<jqJZO*@)Uv({UR^Z3Z{CCSVV~!L@@9W#QsBfK8z`W<z{uLZDm!0Q-@mRpG
zeErMvORe_nU9Vq1>&@3`e;h7v7mrB`y=7Lkr94V&T8``SvX!a(*`D6|Rkopcd(-8t
z!t%VY+LJ;n%NF0+K5703i;N7d7xrh<KfPO4b+xGH<I>gh?!B*@`h4es(^2!IZMJXs
zFWy${?O0w`vRUkQ(%iY%<_AwzRja?Jn{4yEKW5A3?E8FWtiI~oTa9krQOtP0^N-tQ
z-OVPdXKOXrtc_hdXZOmut#j%wFZjH7{i$N^8EY!5y*O))x!y|7+`hnk+0BKv$*bAQ
z%Uv8#tZBQWYxw1@_L`MlFSf4n@{ynOympo1YbEXY{%7kZNgl{rJQr-%x!qOktu3_X
zRex)`WVtwY^^WDmXH+|{XT@zSnD^X#ZPb;W$G<lk-H2;_?m07H-fgLf*{^oqe$)Eo
z%PjWT_kTPp-sSB|J9GP~ghJ%9p9QCOmrPo7_H*p*C8=|BZ#X@wbiDj+&)z%diY-6h
z3ApXz{H{}XxnR+2o91WpmM?l&d}+a)b-%0T|2CJJS8Wz+9RA|gyX>Um@>=_CDQTz6
zG8VhLy<2lnIx~3V7t1*{^XB^QY+7dfxoq9ee+sK>Y`&l2zY<q+WzpWpbAPvccYm+!
z<~@7;Zcwe7)A8SN!so5~f;QjP-W@$n_kCUFf+)YudtKf>c44rQSO4|Pct?V*jmdU7
zwq4Bb9)25`1bX-xKiJsKc1%_X5M%tXM<;0lJJUx+hIz-+jWc*yPAM_Wo9@c<$w9%6
z<-q43Ic&X+4v{PeK5y!9l;b$k&QKvY|Lg)o0gY~kia0UD6U>c21Q^ag-YjXt#*`|^
zaQ?IsTcv`4Jd@nK{~Vkg42^k;4<7!MpV+`4@Is7f#`fdp?9Im<7U(cNsEj<Kz|Zms
zR8yQ!yCA_a#g)NEzgyx-qeBfx!}E_fd8C*dH*qvPPZeyo5$K?YlOI&pnBjEX0;Tiv
zwO=mkMsK?#?yr>V`Fzt02RV)s=0+`>`jp?_WUb5AtXo$n0+LF<v`0G4S--(SlV#P1
zKaK2i5%KZ+D?dMD|EO|lT8Y|O?}f~X3Kw`;R(+V0_FCk`<A*!0Oes-2yF1bB3lql_
zrv*yj$(*{J&Jwos-j?hw*3Ay3^ZMDF4hIVh2e)f)<((Ja#M`>7!J%|sJg1LwurTvX
zwPk5c+^JoGxuMyN=XXEY@WNS@MeEZXx$M2tQ|9eTH`w@gfk5r6dDZi{w5BMR6x?oE
zwLT?wiSe_yQ|GX>E^=RBbzYx+sk%A8nSG|GT!lsF2Vs8sgzuMn7|$;}FU)VhXJ#7X
zBArmB%g<zAiJdN7b?!2!P5-^<i;b%|LZ1Izx?xLjLCNQHE^~|~@#ou>{C>;7cja~E
zyr8<Mrdkj0*V{dAXw6$KR1tU8GeED3MeEa_W4+SLy_d@0IeMe+I=|ok4-by1SbYAk
z`FhL5ogWX1d$iqi{rhX{*NeMCm+-&rsjU9O*UcB=w7}}TxYu&^cT#u09)Zr}OkX<3
zagyr0S4Pun&aG9dJ@DB}uE{CZVS&|o|F$Ky(dKu4?hsk>nm79U+?qe<4mv#D7;O|E
z$LHa8`r&rd%D>YT!`ARt++%HbmDf@XnE3qq`uO?$Ue)_II{IEVuSwR|fBdAje)5!?
z8!|7mO;T!fxi;zk7T?{eouV(Dt&;D>o%9UQsA5_5`A<a-A~c@-+?stoE!lgC@uSL6
zd&iwS1XrB<oV-!>gH2v|>o;eGfQiq;*T>mPMJvq}Jl|d*D$*;_sAaP}zEEFR_hR_@
zz9W-8qAyAAx9`6Zy6~3(N65pU-`?JaOy+7j9h>A4eQBnNJd?HvE7L}$fY#?%uIJv~
z7MRnMUcKYDNAxAjFm1<t1p^r-(Mr3R#TvXU4F@~~8P2<NnM*M<B|9?M$aBBR5aH+%
zVf;|Dq+qe3f`J&zfzKNc^tm<SQh4<9fBsokf=oB1txFgf7#KWV{an^LB{Ts50KjFP

literal 0
HcmV?d00001

diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_usage.png b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/FileSearch_usage.png
new file mode 100644
index 0000000000000000000000000000000000000000..33072549c19123ed1ea25bc1b75b92890aa7eb08
GIT binary patch
literal 14856
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
N22WQ%mvv4FO#t=TPTl|j

literal 0
HcmV?d00001

diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html
new file mode 100644
index 0000000000..f47136dbbb
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-about.html
@@ -0,0 +1,54 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<html>
+    <head>
+        <title>About File Search</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>About File Search</h2>
+        <p>
+            File Search is one of the main windows in Autopsy.
+            By using File Search, you can specify, filter, and show the directories and files that you want to see from the images in the current opened case.
+            <br><br>
+            Currently, Autopsy only supports 3 categories in File Search: Name, Size, and Date based search.<br>
+            <b>Note</b>: For now, Autopsy doesn't support keyword search and regular expression.
+            <br><br>
+        </p>
+
+        <h2>How to Open File Search</h2>
+        <p>
+            To see how to open File Search, click <a href="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html">here</a>.
+            <br><br>
+            <b>Note:</b> The File Search Window is opened and closed automatically. If there's a case opened and there is at least one image inside that case, File Search Window can't be closed.
+            <br><br>
+        </p>
+
+        <h2>How to Use File Search</h2>
+        <p>
+            To see how to use File Search, click <a href="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html">here</a>.
+            <br><br>
+        </p>
+
+        <h2>Example</h2>
+        <p>
+            Here's an example of a File Search window:
+            &nbsp;&nbsp;<img src="FileSearch_example.png" alt="File Search Top Component Window" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-hs.xml b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-hs.xml
new file mode 100644
index 0000000000..13bffc15c5
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-hs.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN" "http://java.sun.com/products/javahelp/helpset_2_0.dtd">
+<helpset version="2.0">
+    <title>FileSearch Help</title>
+    <maps>
+        <homeID>org.sleuthkit.autopsy.filesearch.about</homeID>
+        <mapref location="filesearch-map.xml"/>
+    </maps>
+    <view mergetype="javax.help.AppendMerge">
+        <name>TOC</name>
+        <label>Table of Contents</label>
+        <type>javax.help.TOCView</type>
+        <data>filesearch-toc.xml</data>
+    </view>
+    <view mergetype="javax.help.AppendMerge">
+        <name>Index</name>
+        <label>Index</label>
+        <type>javax.help.IndexView</type>
+        <data>filesearch-idx.xml</data>
+    </view>
+    <view>
+        <name>Search</name>
+        <label>Search</label>
+        <type>javax.help.SearchView</type>
+        <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+    </view>
+</helpset>
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-idx.xml b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-idx.xml
new file mode 100644
index 0000000000..34807378c2
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-idx.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 2.0//EN" "http://java.sun.com/products/javahelp/index_2_0.dtd">
+<index version="2.0">
+    <indexitem text="About FileSearch" target="org.sleuthkit.autopsy.filesearch.about"/>
+    <indexitem text="How to Open FileSearch" target="org.sleuthkit.autopsy.filesearch.open-filesearch"/>
+    <indexitem text="How to Use FileSearch" target="org.sleuthkit.autopsy.filesearch.how-to-use-filesearch"/>
+</index>
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-map.xml b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-map.xml
new file mode 100644
index 0000000000..ee1c91f8c3
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-map.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN" "http://java.sun.com/products/javahelp/map_2_0.dtd">
+<map version="2.0">
+    <mapID target="org.sleuthkit.autopsy.filesearch.about" url="filesearch-about.html"/>
+</map>
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-toc.xml b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-toc.xml
new file mode 100644
index 0000000000..bc5d1b9d05
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/filesearch-toc.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN" "http://java.sun.com/products/javahelp/toc_2_0.dtd">
+<!--
+<toc version="2.0">
+    <tocitem text="FileSearch">
+        <tocitem text="About FileSearch" target="org.sleuthkit.autopsy.filesearch.about"/>
+    </tocitem>
+</toc>
+-->
\ No newline at end of file
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html
new file mode 100644
index 0000000000..5d7839f9f9
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/how-to-use-filesearch.html
@@ -0,0 +1,52 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>How to Use File Search</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>How to Use File Search</h2>
+        <p>
+            Currently, there are 3 categories that you can use to filter and show the directories and files within the images in the current opened case.
+            <br><br>
+            The categories are:
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp; 1. Name <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Search for all files and directory whose name contains the pattern given.<bR>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Note</b>: it doesn't support regular expression and keyword matching.
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp; 2. Size <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Search for all files and directory whose size matches the pattern given. The pattern can be "equal to", "greater than", and "less than". The unit for the size can be "Byte(s)", "KB", "MB", "GB", and "TB".
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp; 3. Date <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Search for all files and directory whose "date property" is within the date range given. The "date properties" are "Modified Date", "Accessed Date", "Changed Date", and "Created Date". You must also specify the timezone for the date given.
+            <br><br><br>
+            To use any of these filters, check the box next to the category and click "Search" button to start the search process. The result will show up in the "<a href="nbdocs:/org/sleuthkit/autopsy/corecomponents/docs/dataresult-about.html">Result Viewer</a>".
+            <br><br>
+        </p>
+        
+        <h2>Example</h2>
+        <p>
+            Here's an example where I try to get all the directories and files whose name contains "hello", has a size greater than 1000 Bytes, and was created between 06/15/2010 and 06/16/2010 (in GMT-5 timezone):
+            <br><br>
+            &nbsp;&nbsp;&nbsp;&nbsp;<img src="FileSearch_usage.png" alt="Example of File Search usage" />
+        </p>
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html
new file mode 100644
index 0000000000..1f765812b8
--- /dev/null
+++ b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open-filesearch.html
@@ -0,0 +1,45 @@
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>How to Open File Search</title>
+        <link rel="stylesheet" href="nbdocs:/org/netbeans/modules/usersguide/ide.css" type="text/css">
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <h2>How to Open File Search</h2>
+        <p>
+            To open the File Search, you can do one of the following thing:
+            <ul type="circle">
+                <li>
+                    Click the File Search tab.
+                    <br><br>
+                    &nbsp;&nbsp;<img src="open_fileSearch1.png" alt="Open File Search Top Component 1" />
+                    <br><br>
+                </li>
+                <li>
+                    Select the "Tools" -> "File Search"
+                    <br><br>
+                    &nbsp;&nbsp;<img src="open_fileSearch2.png" alt="Open File Search Top Component 2" />
+                    <br><br>
+                </li>
+            </ul>
+
+        <b>Note:</b> The File Search Window is opened and closed automatically. If there's a case opened and there is at least one image inside that case, File Search Window can't be closed.
+    </body>
+</html>
+<!--
+Tip: to create a link which will open in an external web browser, try:
+<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
+    <param name="content" value="http://www.netbeans.org/">
+    <param name="text" value="<html><u>http://www.netbeans.org/</u></html>">
+    <param name="textFontSize" value="medium">
+    <param name="textColor" value="blue">
+</object>
+To create a link to a help set from another module, you need to know the code name base and path, e.g.:
+<a href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/configure/configure_options.html">Using the Options Window</a>
+(This link will behave sanely if that module is disabled or missing.)
+-->
\ No newline at end of file
diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch1.png b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch1.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d86d1340881b387b0aefad36ed5409ef2112cef
GIT binary patch
literal 30977
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

literal 0
HcmV?d00001

diff --git a/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch2.png b/FileSearch/javahelp/org/sleuthkit/autopsy/filesearch/docs/open_fileSearch2.png
new file mode 100644
index 0000000000000000000000000000000000000000..afdfc0fb8d81a61af1baaec5ba3aa565d1bf2822
GIT binary patch
literal 22413
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
U#ssdp3=9kmp00i_>zopr0B!j!Q~&?~

literal 0
HcmV?d00001

diff --git a/FileSearch/manifest.mf b/FileSearch/manifest.mf
new file mode 100644
index 0000000000..ee8e710a5e
--- /dev/null
+++ b/FileSearch/manifest.mf
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.filesearch/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/filesearch/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/filesearch/Bundle.properties
+OpenIDE-Module-Requires: org.openide.windows.WindowManager, org.netbeans.api.javahelp.Help
+
diff --git a/FileSearch/nbproject/build-impl.xml b/FileSearch/nbproject/build-impl.xml
new file mode 100644
index 0000000000..84890932f9
--- /dev/null
+++ b/FileSearch/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.filesearch-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/FileSearch/nbproject/genfiles.properties b/FileSearch/nbproject/genfiles.properties
new file mode 100644
index 0000000000..39ec6d5464
--- /dev/null
+++ b/FileSearch/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=782bf133
+build.xml.script.CRC32=c0009852
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=782bf133
+nbproject/build-impl.xml.script.CRC32=2e520747
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/FileSearch/nbproject/project.properties b/FileSearch/nbproject/project.properties
new file mode 100644
index 0000000000..cd238545fe
--- /dev/null
+++ b/FileSearch/nbproject/project.properties
@@ -0,0 +1,5 @@
+file.reference.jcalendarbutton-1.4.5.jar=release/modules/ext/jcalendarbutton-1.4.5.jar
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+javahelp.hs=filesearch-hs.xml
+spec.version.base=0.0
diff --git a/FileSearch/nbproject/project.xml b/FileSearch/nbproject/project.xml
new file mode 100644
index 0000000000..ad25ec5fca
--- /dev/null
+++ b/FileSearch/nbproject/project.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.filesearch</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.settings</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.26.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.15.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.explorer</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.28.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.nodes</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.16.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.casemodule</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponents</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.datamodel</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.directorytree</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.filesearch</package>
+            </public-packages>
+            <class-path-extension>
+                <runtime-relative-path>ext/jcalendarbutton-1.4.5.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/jcalendarbutton-1.4.5.jar</binary-origin>
+            </class-path-extension>
+        </data>
+    </configuration>
+</project>
diff --git a/FileSearch/nbproject/suite.properties b/FileSearch/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/FileSearch/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/FileSearch/release/modules/ext/jcalendarbutton-1.4.5.jar b/FileSearch/release/modules/ext/jcalendarbutton-1.4.5.jar
new file mode 100644
index 0000000000000000000000000000000000000000..4128ca1e05a3e57d1b1a98cf56643daca8e102f2
GIT binary patch
literal 28408
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

literal 0
HcmV?d00001

diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/AbstractFileSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/AbstractFileSearchFilter.java
new file mode 100644
index 0000000000..a65e650d4e
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/AbstractFileSearchFilter.java
@@ -0,0 +1,40 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import javax.swing.JComponent;
+
+/**
+ * Implements common functionality of file search filters
+ * @param <T> Type of component to display in file search panel
+ * @author pmartel
+ */
+abstract class AbstractFileSearchFilter<T extends JComponent> implements FileSearchFilter {
+
+    final private T component;
+
+    AbstractFileSearchFilter(T component) {
+        this.component = component;
+    }
+
+    @Override
+    public T getComponent() {
+        return this.component;
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/Bundle.properties b/FileSearch/src/org/sleuthkit/autopsy/filesearch/Bundle.properties
new file mode 100644
index 0000000000..73aa883be8
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/Bundle.properties
@@ -0,0 +1,45 @@
+CTL_FileSearchAction=FileSearch
+CTL_FileSearchTopComponent=File Search
+HINT_FileSearchTopComponent=This is a FileSearch window
+OpenIDE-Module-Name=FileSearch
+FileSearchTopComponent.searchTermLabel1.text=Search for files that match the following criteria:
+FileSearchTopComponent.searchButton1.text=Search
+FileSearchTopComponent.sizeCheckBox1.text=Size:
+FileSearchTopComponent.noteNameLabel1.text=<html>*Note: Name match is case insensitive and matches<br/> any part of the file name. Regular expressions are<br/> not currently supported. </html>
+FileSearchTopComponent.searchTextField1.text=
+FileSearchTopComponent.nameCheckBox1.text=Name:
+FileSearchTopComponent.jLabel8.text=Timezone:
+FileSearchTopComponent.jLabel7.text=*The date format is mm/dd/yyyy
+FileSearchTopComponent.jLabel6.text=*Empty fields mean "No Limit"
+FileSearchTopComponent.createdCheckBox1.text=Created
+FileSearchTopComponent.accessedCheckBox1.text=Accessed
+FileSearchTopComponent.changedCheckBox1.text=Changed
+FileSearchTopComponent.modifiedCheckBox1.text=Modified
+FileSearchTopComponent.dateToButtonCalendar1.text=
+FileSearchTopComponent.dateToTextField1.text=
+FileSearchTopComponent.jLabel5.text=to
+FileSearchTopComponent.dateFromTextField1.text=
+FileSearchTopComponent.dateFromButtonCalendar1.text=
+FileSearchTopComponent.dateCheckBox1.text=Date:
+FileSearchTopComponent.dateFiltersButton1.text=Date Filters
+KnownStatusSearchPanel.knownCheckBox.text=Known Status:
+KnownStatusSearchPanel.knownBadOptionCheckBox.text=Known bad
+KnownStatusSearchPanel.knownOptionCheckBox.text=Known (NSRL)
+KnownStatusSearchPanel.unknownOptionCheckBox.text=Unknown
+DateSearchPanel.dateCheckBox.text=Date:
+DateSearchPanel.jLabel4.text=Timezone:
+DateSearchPanel.jLabel3.text=*The date format is mm/dd/yyyy
+DateSearchPanel.jLabel2.text=*Empty fields mean "No Limit"
+DateSearchPanel.createdCheckBox.text=Created
+DateSearchPanel.accessedCheckBox.text=Accessed
+DateSearchPanel.changedCheckBox.text=Changed
+DateSearchPanel.modifiedCheckBox.text=Modified
+DateSearchPanel.dateToButtonCalendar.text=
+DateSearchPanel.dateToTextField.text=
+DateSearchPanel.jLabel1.text=to
+DateSearchPanel.dateFromTextField.text=
+DateSearchPanel.dateFromButtonCalendar.text=
+NameSearchPanel.nameCheckBox.text=Name:
+NameSearchPanel.noteNameLabel.text=<html>*Note: Name match is case insensitive and matches<br/> any part of the file name. Regular expressions are<br/> not currently supported. </html>
+NameSearchPanel.searchTextField.text=
+SizeSearchPanel.sizeCheckBox.text=Size:
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterChildren.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterChildren.java
new file mode 100644
index 0000000000..30b56966ca
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterChildren.java
@@ -0,0 +1,46 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+
+/**
+ * This class is used for the creation of all the children for the
+ * DataResultFilterNode that created in the DataResultFilterNode.java.
+ *
+ * @author jantonius
+ */
+public class DataResultFilterChildren extends FilterNode.Children {
+
+    /** the constructor */
+    public DataResultFilterChildren(Node arg) {
+        super(arg);
+    }
+
+    @Override
+    protected Node copyNode(Node arg0) {
+        return new DataResultFilterNode(arg0);
+    }
+
+    @Override
+    protected Node[] createNodes(Node arg0) {
+        return new Node[]{this.copyNode(arg0)};
+    }
+}
\ No newline at end of file
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterNode.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterNode.java
new file mode 100644
index 0000000000..973d0a4343
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DataResultFilterNode.java
@@ -0,0 +1,139 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import org.sleuthkit.autopsy.datamodel.ContentNodeVisitor;
+import org.sleuthkit.autopsy.datamodel.ImageNode;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.datamodel.VolumeNode;
+import org.sleuthkit.autopsy.datamodel.FileNode;
+import org.sleuthkit.autopsy.datamodel.DirectoryNode;
+import java.sql.SQLException;
+import javax.swing.Action;
+import org.openide.nodes.FilterNode;
+import org.openide.nodes.Node;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.TskException;
+import org.sleuthkit.autopsy.directorytree.ChangeViewAction;
+import org.sleuthkit.autopsy.directorytree.ExtractAction;
+
+/**
+ * This class wraps nodes as they are passed to the DataResult viewers.  It 
+ * defines the actions that the node should have. 
+ */
+public class DataResultFilterNode extends FilterNode implements ContentNode {
+
+    private Node currentNode;
+
+    /** the constructor */
+    public DataResultFilterNode(Node arg) {
+        super(arg, new DataResultFilterChildren(arg));
+        this.currentNode = arg;
+    }
+
+    @Override
+    public Node getOriginal() {
+        return super.getOriginal();
+    }
+
+    /**
+     * Right click action for the nodes that we want to pass to the directory
+     * table and the output view.
+     *
+     * @param popup
+     * @return actions
+     */
+    @Override
+    public Action[] getActions(boolean popup) {
+        // right click action(s) for image node
+        if (this.currentNode instanceof ImageNode) {
+            return new Action[]{};
+        } // right click action(s) for volume node
+        else if (this.currentNode instanceof VolumeNode) {
+            return new Action[]{};
+        } // right click action(s) for directory node
+        else if (this.currentNode instanceof DirectoryNode) {
+            return new Action[]{
+                        new ChangeViewAction("View", 0, (ContentNode) currentNode),
+                        new OpenParentFolderAction("Open Parent Directory", ((ContentNode) currentNode).getSystemPath())
+                    };
+        } // right click action(s) for the file node
+        else if (this.currentNode instanceof FileNode) {
+            return new Action[]{
+                        new ExtractAction("Extract", (FileNode) this.currentNode),
+                        new ChangeViewAction("View", 0, (ContentNode) currentNode),
+                        new OpenParentFolderAction("Open Parent Directory", ((ContentNode) currentNode).getSystemPath())
+                    };
+        } else {
+            return new Action[]{};
+        }
+    }
+
+    /**
+     * Double click action for the nodes that we want to pass to the directory
+     * table and the output view.
+     *
+     * @return action
+     */
+    @Override
+    public Action getPreferredAction() {
+        return null;
+    }
+
+    @Override
+    public long getID() {
+        return ((ContentNode) currentNode).getID();
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+        return ((ContentNode) currentNode).getRowValues(rows);
+    }
+
+    @Override
+    public byte[] read(long offset, long len) throws TskException {
+        return ((ContentNode) currentNode).read(offset, len);
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return ((ContentNode) currentNode).getFileIDColumn();
+    }
+
+    @Override
+    public Content getContent() {
+        return ((ContentNode) currentNode).getContent();
+    }
+
+    @Override
+    public String[] getDisplayPath() {
+        return ((ContentNode) currentNode).getDisplayPath();
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        //TODO: figure out how to deal with visitors
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public String[] getSystemPath() {
+        return ((ContentNode) currentNode).getSystemPath();
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchFilter.java
new file mode 100644
index 0000000000..7a7e12a660
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchFilter.java
@@ -0,0 +1,254 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import java.awt.Component;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.SimpleTimeZone;
+import java.util.TimeZone;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JSeparator;
+import javax.swing.ListCellRenderer;
+import javax.swing.border.EmptyBorder;
+import org.sleuthkit.autopsy.casemodule.Case;
+
+/**
+ * Filters file date properties (modified/created/etc.. times)
+ * @author pmartel
+ */
+class DateSearchFilter extends AbstractFileSearchFilter<DateSearchPanel> {
+
+    private static final String NONE_SELECTED_MESSAGE = "At least one date type must be selected!";
+    private static final DateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/yyyy");
+    private static final String SEPARATOR = "SEPARATOR";
+
+    /**
+     * New DateSearchFilter with the default panel
+     */
+    DateSearchFilter() {
+        this(new DateSearchPanel(DATE_FORMAT, DateSearchFilter.createTimeZoneList()));
+    }
+
+    private DateSearchFilter(DateSearchPanel panel) {
+        super(panel);
+        Case.addPropertyChangeListener(this.new CasePropertyChangeListener());
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return this.getComponent().getDateCheckBox().isSelected();
+    }
+
+    @Override
+    public String getPredicate() throws FilterValidationException {
+        String addQuery = "1";
+        DateSearchPanel panel = this.getComponent();
+
+        // first, get the selected timeZone from the dropdown list
+        String tz = this.getComponent().getTimeZoneComboBox().getSelectedItem().toString();
+        String tzID = tz.substring(tz.indexOf(" ") + 1); // 1 index after the space is the ID
+        TimeZone selectedTZ = TimeZone.getTimeZone(tzID); //
+
+        // convert the date from the selected timezone to get the GMT
+        long fromDate = 0;
+        String startDateValue = panel.getDateFromTextField().getText();
+        Calendar startDate = null;
+        try {
+            DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
+            sdf.setTimeZone(selectedTZ); // get the time in the selected timezone
+            Date temp = sdf.parse(startDateValue);
+
+            startDate = Calendar.getInstance(new SimpleTimeZone(0, "GMT"));
+            startDate.setTime(temp); // convert to GMT
+        } catch (ParseException ex) {
+            // for now, no need to show the error message to the user her
+        }
+        if (!startDateValue.equals("")) {
+            if (startDate != null) {
+                fromDate = startDate.getTimeInMillis() / 1000; // divided by 1000 because we want to get the seconds, not miliseconds
+            }
+        }
+
+        long toDate = Date.parse(DATE_FORMAT.format(Calendar.getInstance().getTime())); // get today's date
+        String endDateValue = panel.getDateToTextField().getText();
+        Calendar endDate = null;
+        try {
+            DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
+            sdf.setTimeZone(selectedTZ); // get the time in the selected timezone
+            Date temp2 = sdf.parse(endDateValue);
+
+            endDate = Calendar.getInstance(new SimpleTimeZone(0, "GMT"));
+            endDate.setTime(temp2); // convert to GMT
+            endDate.set(Calendar.HOUR, endDate.get(Calendar.HOUR) + 24); // get the next 24 hours
+        } catch (ParseException ex) {
+            // for now, no need to show the error message to the user here
+        }
+        if (!endDateValue.equals("")) {
+            if (endDate != null) {
+                toDate = endDate.getTimeInMillis() / 1000; // divided by 1000 because we want to get the seconds, not miliseconds
+            }
+        }
+
+        final boolean modifiedChecked = panel.getModifiedCheckBox().isSelected();
+        final boolean changedChecked = panel.getChangedCheckBox().isSelected();
+        final boolean accessedChecked = panel.getAccessedCheckBox().isSelected();
+        final boolean createdChecked = panel.getAccessedCheckBox().isSelected();
+
+
+        if (modifiedChecked || changedChecked || accessedChecked || createdChecked) {
+
+            String subQuery = "0";
+
+            if (modifiedChecked) {
+                subQuery += " or mtime between " + fromDate + " and " + toDate;
+            }
+
+            if (changedChecked) {
+                subQuery += " or ctime between " + fromDate + " and " + toDate;
+            }
+
+            if (accessedChecked) {
+                subQuery += " or atime between " + fromDate + " and " + toDate;
+            }
+
+            if (createdChecked) {
+                subQuery += " or crtime between " + fromDate + " and " + toDate;
+            }
+
+            addQuery += " and (" + subQuery + ")";
+        } else {
+            throw new FilterValidationException(NONE_SELECTED_MESSAGE);
+        }
+
+        return addQuery;
+
+    }
+
+    private void updateTimeZoneList() {
+        this.getComponent().setTimeZones(DateSearchFilter.createTimeZoneList());
+    }
+
+    private static List<String> createTimeZoneList() {
+
+        List<String> timeZones = new ArrayList<String>();
+
+        if (Case.existsCurrentCase()) {
+            // get the latest case
+            Case currentCase = Case.getCurrentCase(); // get the most updated case
+
+            Set<TimeZone> caseTimeZones = currentCase.getTimeZone();
+            Iterator<TimeZone> iterator = caseTimeZones.iterator();
+            while (iterator.hasNext()) {
+                TimeZone zone = iterator.next();
+                int offset = zone.getRawOffset() / 1000;
+                int hour = offset / 3600;
+                int minutes = (offset % 3600) / 60;
+                String item = String.format("(GMT%+d:%02d) %s", hour, minutes, zone.getID());
+                timeZones.add(item);
+            }
+
+            if (caseTimeZones.size() > 0) {
+                timeZones.add(SEPARATOR);
+            }
+
+            // load and add all timezone
+            String[] ids = SimpleTimeZone.getAvailableIDs();
+            for (String id : ids) {
+                TimeZone zone = TimeZone.getTimeZone(id);
+                int offset = zone.getRawOffset() / 1000;
+                int hour = offset / 3600;
+                int minutes = (offset % 3600) / 60;
+                String item = String.format("(GMT%+d:%02d) %s", hour, minutes, id);
+                timeZones.add(item);
+            }
+        }
+
+        return timeZones;
+    }
+
+    /**
+     * Inner class to put the separator inside the combo box.
+     */
+    static class ComboBoxRenderer extends JLabel implements ListCellRenderer {
+
+        JSeparator separator;
+
+        ComboBoxRenderer() {
+            setOpaque(true);
+            setBorder(new EmptyBorder(1, 1, 1, 1));
+            separator = new JSeparator(JSeparator.HORIZONTAL);
+        }
+
+        @Override
+        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+            String str = (value == null) ? "" : value.toString();
+            if (SEPARATOR.equals(str)) {
+                return separator;
+            }
+            if (isSelected) {
+                setBackground(list.getSelectionBackground());
+                setForeground(list.getSelectionForeground());
+            } else {
+                setBackground(list.getBackground());
+                setForeground(list.getForeground());
+            }
+            setFont(list.getFont());
+            setText(str);
+            return this;
+        }
+    }
+
+    private class CasePropertyChangeListener implements PropertyChangeListener {
+
+        @Override
+        public void propertyChange(PropertyChangeEvent evt) {
+            String changed = evt.getPropertyName();
+            Object oldValue = evt.getOldValue();
+            Object newValue = evt.getNewValue();
+
+            if (changed.equals(Case.CASE_CURRENT_CASE)) {
+                // create or open a case
+                if (newValue != null) {
+                    DateSearchFilter.this.updateTimeZoneList();
+                }
+            }
+
+            // if the image is added to the case
+            if (changed.equals(Case.CASE_ADD_IMAGE)) {
+                DateSearchFilter.this.updateTimeZoneList();
+            }
+
+            // if the image is removed from the case
+            if (changed.equals(Case.CASE_DEL_IMAGE)) {
+                DateSearchFilter.this.updateTimeZoneList();
+            }
+        }
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.form b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.form
new file mode 100644
index 0000000000..4d5fad9724
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.form
@@ -0,0 +1,234 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <Component id="dateCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="dateFromTextField" min="-2" pref="92" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+              <Component id="dateFromButtonCalendar" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="dateToTextField" min="-2" pref="92" max="-2" attributes="0"/>
+              <EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
+              <Component id="dateToButtonCalendar" min="-2" max="-2" attributes="0"/>
+          </Group>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="21" pref="21" max="21" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="changedCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="modifiedCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="accessedCheckBox" min="-2" max="-2" attributes="0"/>
+                          <Component id="createdCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="jLabel4" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="timeZoneComboBox" min="-2" pref="193" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="21" pref="21" max="21" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="jLabel3" alignment="0" min="-2" max="-2" attributes="0"/>
+                          <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="103" groupAlignment="3" attributes="0">
+                      <Component id="dateCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                      <Component id="dateFromTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="103" groupAlignment="1" attributes="0">
+                      <Group type="103" alignment="1" groupAlignment="3" attributes="0">
+                          <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="dateToTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <Group type="102" alignment="1" attributes="0">
+                          <Component id="dateToButtonCalendar" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
+                      </Group>
+                      <Component id="dateFromButtonCalendar" alignment="1" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jLabel4" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="timeZoneComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Group type="102" alignment="1" attributes="0">
+                      <Component id="modifiedCheckBox" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="changedCheckBox" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="1" attributes="0">
+                      <Component id="accessedCheckBox" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="23" pref="23" max="23" attributes="0"/>
+                  </Group>
+                  <Component id="createdCheckBox" alignment="1" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JFormattedTextField" name="dateToTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.dateToTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="dateToTextFieldFocusLost"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JFormattedTextField(this.dateFormat);"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel4">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.jLabel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="dateCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.dateCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JComboBox" name="timeZoneComboBox">
+      <Properties>
+        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+          <StringArray count="0"/>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JComboBox(this.timeZones.toArray());"/>
+        <AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="timeZoneComboBox.setRenderer(new DateSearchFilter.ComboBoxRenderer());"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel3">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.jLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="dateFromTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.dateFromTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="dateFromTextFieldFocusLost"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JFormattedTextField(this.dateFormat);"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel2">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.jLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="org.sourceforge.jcalendarbutton.JCalendarButton" name="dateFromButtonCalendar">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.dateFromButtonCalendar.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="dateFromPopupChanged"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="modifiedCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.modifiedCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="changedCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.changedCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="accessedCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.accessedCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="createdCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.createdCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="org.sourceforge.jcalendarbutton.JCalendarButton" name="dateToButtonCalendar">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="DateSearchPanel.dateToButtonCalendar.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="dateToPopupChanged"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.java
new file mode 100644
index 0000000000..9af85af157
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/DateSearchPanel.java
@@ -0,0 +1,313 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.filesearch;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.util.Date;
+import java.util.List;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JFormattedTextField;
+
+/**
+ * Subpanel with controls for file data filtering.
+ */
+class DateSearchPanel extends javax.swing.JPanel {
+
+    DateFormat dateFormat;
+    List<String> timeZones;
+
+    DateSearchPanel(DateFormat dateFormat, List<String> timeZones) {
+        this.dateFormat = dateFormat;
+        this.timeZones = timeZones;
+
+        initComponents();
+    }
+
+    JCheckBox getAccessedCheckBox() {
+        return accessedCheckBox;
+    }
+
+    JCheckBox getChangedCheckBox() {
+        return changedCheckBox;
+    }
+
+    JCheckBox getCreatedCheckBox() {
+        return createdCheckBox;
+    }
+
+    JCheckBox getDateCheckBox() {
+        return dateCheckBox;
+    }
+
+    JFormattedTextField getDateFromTextField() {
+        return dateFromTextField;
+    }
+
+    JFormattedTextField getDateToTextField() {
+        return dateToTextField;
+    }
+
+    JCheckBox getModifiedCheckBox() {
+        return modifiedCheckBox;
+    }
+
+    JComboBox getTimeZoneComboBox() {
+        return timeZoneComboBox;
+    }
+
+    void setTimeZones(List<String> newTimeZones) {
+        this.timeZones = newTimeZones;
+        this.timeZoneComboBox.removeAllItems();
+        for (String tz : newTimeZones) {
+            this.timeZoneComboBox.addItem(tz);
+        }
+    }
+
+    //TODO: calendar button stuff
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        dateToTextField = new JFormattedTextField(this.dateFormat);
+        jLabel1 = new javax.swing.JLabel();
+        jLabel4 = new javax.swing.JLabel();
+        dateCheckBox = new javax.swing.JCheckBox();
+        timeZoneComboBox = new JComboBox(this.timeZones.toArray());
+        timeZoneComboBox.setRenderer(new DateSearchFilter.ComboBoxRenderer());
+        jLabel3 = new javax.swing.JLabel();
+        dateFromTextField = new JFormattedTextField(this.dateFormat);
+        jLabel2 = new javax.swing.JLabel();
+        dateFromButtonCalendar = new org.sourceforge.jcalendarbutton.JCalendarButton();
+        modifiedCheckBox = new javax.swing.JCheckBox();
+        changedCheckBox = new javax.swing.JCheckBox();
+        accessedCheckBox = new javax.swing.JCheckBox();
+        createdCheckBox = new javax.swing.JCheckBox();
+        dateToButtonCalendar = new org.sourceforge.jcalendarbutton.JCalendarButton();
+
+        dateToTextField.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.dateToTextField.text")); // NOI18N
+        dateToTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+            public void focusLost(java.awt.event.FocusEvent evt) {
+                dateToTextFieldFocusLost(evt);
+            }
+        });
+
+        jLabel1.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.jLabel1.text")); // NOI18N
+
+        jLabel4.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.jLabel4.text")); // NOI18N
+
+        dateCheckBox.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.dateCheckBox.text")); // NOI18N
+
+        jLabel3.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.jLabel3.text")); // NOI18N
+
+        dateFromTextField.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.dateFromTextField.text")); // NOI18N
+        dateFromTextField.addFocusListener(new java.awt.event.FocusAdapter() {
+            public void focusLost(java.awt.event.FocusEvent evt) {
+                dateFromTextFieldFocusLost(evt);
+            }
+        });
+
+        jLabel2.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.jLabel2.text")); // NOI18N
+
+        dateFromButtonCalendar.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.dateFromButtonCalendar.text")); // NOI18N
+        dateFromButtonCalendar.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                dateFromPopupChanged(evt);
+            }
+        });
+
+        modifiedCheckBox.setSelected(true);
+        modifiedCheckBox.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.modifiedCheckBox.text")); // NOI18N
+
+        changedCheckBox.setSelected(true);
+        changedCheckBox.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.changedCheckBox.text")); // NOI18N
+
+        accessedCheckBox.setSelected(true);
+        accessedCheckBox.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.accessedCheckBox.text")); // NOI18N
+
+        createdCheckBox.setSelected(true);
+        createdCheckBox.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.createdCheckBox.text")); // NOI18N
+
+        dateToButtonCalendar.setText(org.openide.util.NbBundle.getMessage(DateSearchPanel.class, "DateSearchPanel.dateToButtonCalendar.text")); // NOI18N
+        dateToButtonCalendar.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+            public void propertyChange(java.beans.PropertyChangeEvent evt) {
+                dateToPopupChanged(evt);
+            }
+        });
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(dateCheckBox)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(dateFromTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 0, 0)
+                .addComponent(dateFromButtonCalendar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(dateToTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(0, 0, 0)
+                .addComponent(dateToButtonCalendar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+            .addGroup(layout.createSequentialGroup()
+                .addGap(21, 21, 21)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(changedCheckBox)
+                            .addComponent(modifiedCheckBox))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(accessedCheckBox)
+                            .addComponent(createdCheckBox)))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jLabel4)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(timeZoneComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 193, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(21, 21, 21)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jLabel3)
+                            .addComponent(jLabel2)))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                        .addComponent(dateCheckBox)
+                        .addComponent(dateFromTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                            .addComponent(jLabel1)
+                            .addComponent(dateToTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addGroup(layout.createSequentialGroup()
+                            .addComponent(dateToButtonCalendar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addGap(1, 1, 1))
+                        .addComponent(dateFromButtonCalendar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addGap(4, 4, 4)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jLabel4)
+                    .addComponent(timeZoneComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(modifiedCheckBox)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(changedCheckBox))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(accessedCheckBox)
+                        .addGap(23, 23, 23))
+                    .addComponent(createdCheckBox))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(jLabel2)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jLabel3))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void dateFromTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_dateFromTextFieldFocusLost
+        // set the "from" calendar button to listen to change in the text field
+        String fromDateString = this.dateFromTextField.getText();
+        if (!fromDateString.equals("")) {
+            try {
+                Date fromDate = dateFormat.parse(fromDateString);
+                dateFromButtonCalendar.setTargetDate(fromDate);
+            } catch (ParseException ex) {
+                // for now, no need to show the error message to the user her
+            }
+        }
+    }//GEN-LAST:event_dateFromTextFieldFocusLost
+
+    private void dateToTextFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_dateToTextFieldFocusLost
+        // set the "to" calendar button to listen to change in the text field
+        String toDateString = this.dateToTextField.getText();
+        if (!toDateString.equals("")) {
+            try {
+                Date toDate = dateFormat.parse(toDateString);
+                dateToButtonCalendar.setTargetDate(toDate);
+            } catch (ParseException ex) {
+                // for now, no need to show the error message to the user here
+            }
+        }
+    }//GEN-LAST:event_dateToTextFieldFocusLost
+
+    private void dateFromPopupChanged(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_dateFromPopupChanged
+        if (evt.getNewValue() instanceof Date) {
+            setFromDate((Date) evt.getNewValue());
+        }
+    }//GEN-LAST:event_dateFromPopupChanged
+
+    private void dateToPopupChanged(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_dateToPopupChanged
+        if (evt.getNewValue() instanceof Date) {
+            setToDate((Date) evt.getNewValue());
+        }
+    }//GEN-LAST:event_dateToPopupChanged
+
+    /**
+     * Validate and set the datetime field on the screen given a datetime string.
+     * @param date The date object
+     */
+    private void setFromDate(Date date) {
+        String dateStringResult = "";
+        if (date != null) {
+            dateStringResult = dateFormat.format(date);
+        }
+        dateFromTextField.setText(dateStringResult);
+        dateFromButtonCalendar.setTargetDate(date);
+    }
+
+    /**
+     * Validate and set the datetime field on the screen given a date.
+     * @param date The date object
+     */
+    private void setToDate(Date date) {
+        String dateStringResult = "";
+        if (date != null) {
+            dateStringResult = dateFormat.format(date);
+        }
+        dateToTextField.setText(dateStringResult);
+        dateToButtonCalendar.setTargetDate(date);
+    }
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JCheckBox accessedCheckBox;
+    private javax.swing.JCheckBox changedCheckBox;
+    private javax.swing.JCheckBox createdCheckBox;
+    private javax.swing.JCheckBox dateCheckBox;
+    private org.sourceforge.jcalendarbutton.JCalendarButton dateFromButtonCalendar;
+    private javax.swing.JFormattedTextField dateFromTextField;
+    private org.sourceforge.jcalendarbutton.JCalendarButton dateToButtonCalendar;
+    private javax.swing.JFormattedTextField dateToTextField;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JLabel jLabel4;
+    private javax.swing.JCheckBox modifiedCheckBox;
+    private javax.swing.JComboBox timeZoneComboBox;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchFilter.java
new file mode 100644
index 0000000000..5159ae020a
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchFilter.java
@@ -0,0 +1,62 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import javax.swing.JComponent;
+
+/**
+ * Provides a filter and the panel to display it to the FileSearchTopComponent
+ */
+interface FileSearchFilter {
+
+    /**
+     * Gets the panel to put in the File Search pane.
+     * @return component that provides input to filter
+     */
+    JComponent getComponent();
+
+    /**
+     * Checks if this filter is currently enabled.
+     * @return true if it should be included in the search
+     */
+    boolean isEnabled();
+
+    /**
+     * Gets predicate expression to include in the SQL filter expression
+     * @return SQL expression that evaluates to a boolean true if the
+     * filter matches the file, otherwise false
+     * @throws FilterValidationException with a message if the filter is in an
+     * invalid state
+     */
+    String getPredicate() throws FilterValidationException;
+
+    /**
+     * Thrown if a filter's inputs are invalid
+     */
+    static class FilterValidationException extends Exception {
+
+        FilterValidationException(String message) {
+            super(message);
+        }
+
+        FilterValidationException(String message, Exception cause) {
+            super(message, cause);
+        }
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponent.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponent.java
new file mode 100644
index 0000000000..d02e291974
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponent.java
@@ -0,0 +1,342 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.border.EmptyBorder;
+import org.openide.nodes.Node;
+import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer;
+import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
+import org.sleuthkit.autopsy.filesearch.FileSearchFilter.FilterValidationException;
+import org.sleuthkit.datamodel.FsContent;
+import org.sleuthkit.datamodel.SleuthkitCase;
+
+/**
+ * Top component which displays something.
+ */
+//@ConvertAsProperties(dtd = "-//org.sleuthkit.autopsy.filesearch//FileSearch//EN", autostore = false)
+// Registered as a service provider for DataExplorer in layer.xml
+public final class FileSearchTopComponent extends TopComponent implements DataExplorer {
+
+    private List<FilterArea> filterAreas = new ArrayList();
+    private JButton searchButton;
+    private static FileSearchTopComponent instance;
+    private PropertyChangeSupport pcs;
+    private int index;
+    private static ArrayList<DataResultTopComponent> searchResults = new ArrayList<DataResultTopComponent>();
+    private static final String PREFERRED_ID = "FileSearchTopComponent";
+
+    private FileSearchTopComponent() {
+        initComponents();
+        setListener();
+        setName(NbBundle.getMessage(FileSearchTopComponent.class, "CTL_FileSearchTopComponent"));
+        setToolTipText(NbBundle.getMessage(FileSearchTopComponent.class, "HINT_FileSearchTopComponent"));
+
+        putClientProperty(TopComponent.PROP_CLOSING_DISABLED, Boolean.TRUE);
+
+        this.pcs = new PropertyChangeSupport(this);
+
+        this.index = 1;
+    }
+
+    /**
+     * This method is called from within the constructor to
+     * initialize the form.
+     */
+    private void initComponents() {
+
+        this.setLayout(new BorderLayout());
+
+        JPanel filterPanel = new JPanel();
+        filterPanel.setLayout(new BoxLayout(filterPanel, BoxLayout.Y_AXIS));
+        filterPanel.setBorder(new EmptyBorder(10, 10, 10, 10));
+
+        JScrollPane scrollPane = new JScrollPane(filterPanel);
+        scrollPane.setPreferredSize(this.getSize());
+        this.add(scrollPane, BorderLayout.CENTER);
+
+        JLabel label = new JLabel("Search for files that match the following criteria:");
+        label.setAlignmentX(Component.LEFT_ALIGNMENT);
+        label.setBorder(new EmptyBorder(0, 0, 10, 0));
+        filterPanel.add(label);
+
+        // Create and add filter areas
+        this.filterAreas.add(new FilterArea("Name", new NameSearchFilter()));
+
+        List<FileSearchFilter> metadataFilters = new ArrayList<FileSearchFilter>();
+        metadataFilters.add(new SizeSearchFilter());
+        metadataFilters.add(new DateSearchFilter());
+        this.filterAreas.add(new FilterArea("Metadata", metadataFilters));
+
+        this.filterAreas.add(new FilterArea("Known Status", new KnownStatusSearchFilter()));
+
+        for (FilterArea fa : this.filterAreas) {
+            fa.setMaximumSize(new Dimension(Integer.MAX_VALUE, fa.getMinimumSize().height));
+            fa.setAlignmentX(Component.LEFT_ALIGNMENT);
+            filterPanel.add(fa);
+        }
+
+        // Create and add search button
+        this.searchButton = new JButton("Search");
+        this.searchButton.setAlignmentX(Component.LEFT_ALIGNMENT);
+        this.searchButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                FileSearchTopComponent.this.search();
+            }
+        });
+
+        filterPanel.add(searchButton);
+    }
+
+    /**
+     * @return true if any of the filters in the panel are enabled (checked)
+     */
+    private boolean anyFiltersEnabled() {
+        for (FileSearchFilter filter : this.getFilters()) {
+            if (filter.isEnabled()) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Action when the "Search" button is pressed.
+     *
+     * @param evt  the action event
+     */
+    private void search() {
+        // change the cursor to "waiting cursor" for this operation
+        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        try {
+            if (this.anyFiltersEnabled()) {
+                String title = "File Search Results " + index;
+                String pathText = "Filename Search Results:";
+
+                // try to get the number of matches first
+                Case currentCase = Case.getCurrentCase(); // get the most updated case
+                int totalMatches = 0;
+                ArrayList<FsContent> fsContentList = new ArrayList<FsContent>();
+                try {
+                    List<FsContent> currentDbList;
+                    SleuthkitCase tempDb = currentCase.getSleuthkitCase();
+                    ResultSet rs = tempDb.runQuery(this.getQuery("count(*) as TotalMatches"));
+                    totalMatches = totalMatches + rs.getInt("TotalMatches");
+                    rs = tempDb.runQuery(this.getQuery(null));
+                    currentDbList = tempDb.resultSetToFsContents(rs);
+                    fsContentList.addAll(currentDbList);
+                } catch (SQLException ex) {
+                    Logger logger = Logger.getLogger(this.getClass().getName());
+                    logger.log(Level.WARNING, "Error while trying to get the number of matches.", ex);
+                }
+
+                TopComponent searchResultWin = DataResultTopComponent.createInstance(title, pathText, new SearchNode(fsContentList), totalMatches);
+
+                searchResultWin.requestActive(); // make it the active top component
+
+                searchResultWin.addPropertyChangeListener(this);
+                searchResults.add((DataResultTopComponent) searchResultWin);
+                index++;
+
+                /**
+                 * If total matches more than 1000, pop up a dialog box that say
+                 * the performance maybe be slow and to increase the performance,
+                 * tell the users to refine their search.
+                 */
+                if (totalMatches > 1000) {
+                    // show the confirmation
+                    NotifyDescriptor d = new NotifyDescriptor.Message("Note: " + totalMatches + " matches found. Due to the large number of search results, performance may be slow for some operations. (In particular the thumbnail view in this version of Autospy, should be fixed in a future version) \n\nPlease refine your search to get better search results and improve performance.");
+                    DialogDisplayer.getDefault().notify(d);
+                }
+            } else {
+                throw new FilterValidationException("At least one filter must be selected.");
+            }
+        } catch (FilterValidationException ex) {
+            NotifyDescriptor d = new NotifyDescriptor.Message("Validation Error: " + ex.getMessage());
+            DialogDisplayer.getDefault().notify(d);
+        } finally {
+            this.setCursor(null);
+        }
+    }
+
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    // End of variables declaration//GEN-END:variables
+    /**
+     * Gets default instance. Do not use directly: reserved for *.settings files only,
+     * i.e. deserialization routines; otherwise you could get a non-deserialized instance.
+     * To obtain the singleton instance, use {@link #findInstance}.
+     */
+    public static synchronized FileSearchTopComponent getDefault() {
+        if (instance == null) {
+            instance = new FileSearchTopComponent();
+        }
+        return instance;
+    }
+
+    /**
+     * Obtain the FileSearchTopComponent instance. Never call {@link #getDefault} directly!
+     */
+    public static synchronized FileSearchTopComponent findInstance() {
+        TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
+        if (win == null) {
+            Logger.getLogger(FileSearchTopComponent.class.getName()).warning(
+                    "Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system.");
+            return getDefault();
+        }
+        if (win instanceof FileSearchTopComponent) {
+            return (FileSearchTopComponent) win;
+        }
+        Logger.getLogger(FileSearchTopComponent.class.getName()).warning(
+                "There seem to be multiple components with the '" + PREFERRED_ID
+                + "' ID. That is a potential source of errors and unexpected behavior.");
+        return getDefault();
+    }
+
+    @Override
+    public int getPersistenceType() {
+        return TopComponent.PERSISTENCE_NEVER;
+    }
+
+    @Override
+    public void componentOpened() {
+    }
+
+    @Override
+    public void componentClosed() {
+    }
+
+    @Override
+    protected String preferredID() {
+        return PREFERRED_ID;
+    }
+
+    @Override
+    public boolean canClose() {
+        return !Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0; // only allow this window to be closed when there's no case opened or no image in this case
+    }
+
+    @Override
+    public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
+        pcs.addPropertyChangeListener(listener);
+    }
+
+    @Override
+    public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
+        pcs.removePropertyChangeListener(listener);
+    }
+
+    private void setListener() {
+        Case.addPropertyChangeListener((PropertyChangeListener) this); // add this class to listen to any changes in the Case.java class
+    }
+
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        String changed = evt.getPropertyName();
+        Object newValue = evt.getNewValue();
+
+        // if the one of the "FileSearchResult" window is closed
+        if (changed.equals(DataResultTopComponent.REMOVE_FILESEARCH)) {
+            searchResults.remove((DataResultTopComponent) newValue);
+        }
+
+    }
+
+    public static ArrayList<DataResultTopComponent> getFileSearchResultList() {
+        return searchResults;
+    }
+
+    /**
+     * Gets the SQL query to get the data from the database based on the
+     * criteria that user chooses on the FileSearch.
+     *
+     * @param addition  the additional selection for query. If nothing/null, will select all.
+     * @return query  the SQL query
+     * @throws org.sleuthkit.autopsy.filesearch.FileSearchFilter.FilterValidationException  if an enabled filter is in an invalid state
+     */
+    private String getQuery(String addition) throws FilterValidationException {
+        String tempQuery = "*";
+        if (addition != null && !addition.equals("")) {
+            tempQuery = addition;
+        }
+
+        String query = "select " + tempQuery + " from tsk_files where 1";
+
+        for (FileSearchFilter f : this.getEnabledFilters()) {
+            query += " and (" + f.getPredicate() + ")";
+        }
+
+        return query;
+    }
+
+    private Collection<FileSearchFilter> getFilters() {
+        Collection<FileSearchFilter> filters = new ArrayList<FileSearchFilter>();
+
+        for (FilterArea fa : this.filterAreas) {
+            filters.addAll(fa.getFilters());
+        }
+
+        return filters;
+    }
+
+    private Collection<FileSearchFilter> getEnabledFilters() {
+        Collection<FileSearchFilter> enabledFilters = new ArrayList<FileSearchFilter>();
+
+        for (FileSearchFilter f : this.getFilters()) {
+            if (f.isEnabled()) {
+                enabledFilters.add(f);
+            }
+        }
+
+        return enabledFilters;
+    }
+
+    @Override
+    public TopComponent getTopComponent() {
+        return this;
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentSettings.xml b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentSettings.xml
new file mode 100644
index 0000000000..1e1aace257
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentSettings.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
+<settings version="1.0">
+    <module name="org.sleuthkit.autopsy.filesearch" spec="1.0"/>
+    <instanceof class="org.openide.windows.TopComponent"/>
+    <instanceof class="org.sleuthkit.autopsy.filesearch.FileSearchTopComponent"/>
+    <instance class="org.sleuthkit.autopsy.filesearch.FileSearchTopComponent" method="getDefault"/>
+</settings>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentWstcref.xml b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentWstcref.xml
new file mode 100644
index 0000000000..e492dd24f7
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FileSearchTopComponentWstcref.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE tc-ref PUBLIC "-//NetBeans//DTD Top Component in Mode Properties 2.0//EN" "http://www.netbeans.org/dtds/tc-ref2_0.dtd">
+<tc-ref version="2.0" >
+    <module name="org.sleuthkit.autopsy.filesearch" spec="1.0"/>
+    <tc-id id="FileSearchTopComponent"/>
+    <state opened="false"/>
+</tc-ref>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/FilterArea.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FilterArea.java
new file mode 100644
index 0000000000..c1e8e625cb
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/FilterArea.java
@@ -0,0 +1,126 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import java.awt.Component;
+import java.util.Collections;
+import java.util.List;
+import javax.swing.BoxLayout;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.border.EmptyBorder;
+
+/**
+ * Holds the filters in one category (and in the future controls toggling the
+ * visibility of the category in the search panel) 
+ * @author pmartel
+ */
+class FilterArea extends JPanel {
+
+//    private JButton toggleButton;
+//    private boolean collapsed;
+    private final String title;
+    private List<FileSearchFilter> filters;
+    private JPanel filtersPanel;
+
+    /**
+     * Filter areas with one filter
+     * @param title name of the area
+     * @param filter single filter
+     */
+    FilterArea(String title, FileSearchFilter filter) {
+        this(title, Collections.singletonList(filter));
+    }
+
+    /**
+     * Filter area with multiple filters
+     * @param title name of the area
+     * @param filters multiple filters
+     */
+    FilterArea(String title, List<FileSearchFilter> filters) {
+        this.title = title;
+        this.filters = filters;
+//        this.collapsed = false;
+        this.init();
+        this.refresh();
+    }
+
+    /**
+     * Get the filters for this area
+     * @return all the filters
+     */
+    List<FileSearchFilter> getFilters() {
+        return filters;
+    }
+
+    private void init() {
+
+        // TODO: this icon (and its twin) should be used in the toggle button
+        // this.dateFiltersButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/filesearch/arrow_down.gif"))); // NOI18N
+
+//        toggleButton = new JButton();
+//        toggleButton.setAlignmentX(Component.CENTER_ALIGNMENT);
+//        toggleButton.addActionListener(new ActionListener() {
+//
+//            @Override
+//            public void actionPerformed(ActionEvent e) {
+//                FilterArea.this.toggle();
+//                FilterArea.this.refresh();
+//            }
+//        });
+//
+//        this.add(toggleButton);
+
+        filtersPanel = new JPanel();
+        filtersPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
+
+        BoxLayout filtersPanelLayout = new BoxLayout(filtersPanel, BoxLayout.Y_AXIS);
+        filtersPanel.setLayout(filtersPanelLayout);
+
+        for (FileSearchFilter f : filters) {
+            JComponent filterComponent = f.getComponent();
+            filterComponent.setAlignmentX(Component.LEFT_ALIGNMENT);
+            filterComponent.setBorder(new EmptyBorder(0, 0, 20, 0));
+            filtersPanel.add(filterComponent);
+        }
+
+        this.add(filtersPanel);
+
+        BoxLayout layout = new BoxLayout(this, BoxLayout.Y_AXIS);
+        this.setLayout(layout);
+    }
+
+    private void refresh() {
+//        int height = toggleButton.getHeight();
+//        toggleButton.setMaximumSize(new Dimension(Integer.MAX_VALUE, height));
+//        
+//        filtersPanel.setVisible(!collapsed);
+//        toggleButton.setText(title);
+//        
+//        filtersPanel.setMaximumSize(new Dimension(Integer.MAX_VALUE, filtersPanel.getHeight()));
+//        
+//        this.setPreferredSize(this.getPreferredSize());
+//        
+//        this.revalidate();
+//        this.repaint();
+    }
+//    private void toggle() {
+//        collapsed = !collapsed;
+//    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchFilter.java
new file mode 100644
index 0000000000..3a55bd2b99
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchFilter.java
@@ -0,0 +1,76 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import org.sleuthkit.datamodel.TskData.FileKnown;
+
+/**
+ * Filters on the known status of a file (known/unknown/known-bad)
+ */
+class KnownStatusSearchFilter extends AbstractFileSearchFilter<KnownStatusSearchPanel> {
+
+    private static final String NONE_SELECTED_MESSAGE = "At least one known status must be selected!";
+
+    KnownStatusSearchFilter(KnownStatusSearchPanel panel) {
+        super(panel);
+    }
+
+    KnownStatusSearchFilter() {
+        this(new KnownStatusSearchPanel());
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return this.getComponent().getKnownCheckBox().isSelected();
+    }
+
+    @Override
+    public String getPredicate() throws FilterValidationException {
+        KnownStatusSearchPanel panel = this.getComponent();
+
+        boolean unknown = panel.getUnknownOptionCheckBox().isSelected();
+        boolean known = panel.getKnownOptionCheckBox().isSelected();
+        boolean knownBad = panel.getKnownBadOptionCheckBox().isSelected();
+
+        if (!(unknown || known || knownBad)) {
+            throw new FilterValidationException(NONE_SELECTED_MESSAGE);
+        }
+
+        String expr = "0";
+        if (unknown) {
+            expr += " or " + predicateHelper(FileKnown.UKNOWN);
+        }
+        if (known) {
+            expr += " or " + predicateHelper(FileKnown.KNOWN);
+        }
+        if (knownBad) {
+            expr += " or " + predicateHelper(FileKnown.BAD);
+        }
+        return expr;
+    }
+
+    /**
+     * Make the predicate fragment for a file known status
+     * @param knownStatus status for the file to match
+     * @return un-padded SQL boolean expression
+     */
+    private String predicateHelper(FileKnown knownStatus) {
+        return "known is " + knownStatus.toLong();
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.form b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.form
new file mode 100644
index 0000000000..8eb2e5fe2c
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.form
@@ -0,0 +1,77 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Component id="knownCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="21" pref="21" max="21" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="knownBadOptionCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="unknownOptionCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="knownOptionCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="knownCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="unknownOptionCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="knownOptionCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="knownBadOptionCheckBox" min="-2" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JCheckBox" name="knownCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="KnownStatusSearchPanel.knownCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="unknownOptionCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="KnownStatusSearchPanel.unknownOptionCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="knownOptionCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="KnownStatusSearchPanel.knownOptionCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="knownBadOptionCheckBox">
+      <Properties>
+        <Property name="selected" type="boolean" value="true"/>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="KnownStatusSearchPanel.knownBadOptionCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.java
new file mode 100644
index 0000000000..28475e690c
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/KnownStatusSearchPanel.java
@@ -0,0 +1,111 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * KnownStatusSearchPanel.java
+ *
+ * Created on Oct 19, 2011, 11:45:44 AM
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import javax.swing.JCheckBox;
+
+/**
+ *
+ * @author pmartel
+ */
+class KnownStatusSearchPanel extends javax.swing.JPanel {
+
+    /** Creates new form KnownStatusSearchPanel */
+    KnownStatusSearchPanel() {
+        initComponents();
+    }
+
+    JCheckBox getKnownCheckBox() {
+        return knownCheckBox;
+    }
+
+    JCheckBox getKnownBadOptionCheckBox() {
+        return knownBadOptionCheckBox;
+    }
+
+    JCheckBox getKnownOptionCheckBox() {
+        return knownOptionCheckBox;
+    }
+
+    JCheckBox getUnknownOptionCheckBox() {
+        return unknownOptionCheckBox;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        knownCheckBox = new javax.swing.JCheckBox();
+        unknownOptionCheckBox = new javax.swing.JCheckBox();
+        knownOptionCheckBox = new javax.swing.JCheckBox();
+        knownBadOptionCheckBox = new javax.swing.JCheckBox();
+
+        knownCheckBox.setText(org.openide.util.NbBundle.getMessage(KnownStatusSearchPanel.class, "KnownStatusSearchPanel.knownCheckBox.text")); // NOI18N
+
+        unknownOptionCheckBox.setSelected(true);
+        unknownOptionCheckBox.setText(org.openide.util.NbBundle.getMessage(KnownStatusSearchPanel.class, "KnownStatusSearchPanel.unknownOptionCheckBox.text")); // NOI18N
+
+        knownOptionCheckBox.setSelected(true);
+        knownOptionCheckBox.setText(org.openide.util.NbBundle.getMessage(KnownStatusSearchPanel.class, "KnownStatusSearchPanel.knownOptionCheckBox.text")); // NOI18N
+
+        knownBadOptionCheckBox.setSelected(true);
+        knownBadOptionCheckBox.setText(org.openide.util.NbBundle.getMessage(KnownStatusSearchPanel.class, "KnownStatusSearchPanel.knownBadOptionCheckBox.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(knownCheckBox)
+            .addGroup(layout.createSequentialGroup()
+                .addGap(21, 21, 21)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(knownBadOptionCheckBox)
+                    .addComponent(unknownOptionCheckBox)
+                    .addComponent(knownOptionCheckBox)))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(knownCheckBox)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(unknownOptionCheckBox)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(knownOptionCheckBox)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(knownBadOptionCheckBox))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JCheckBox knownBadOptionCheckBox;
+    private javax.swing.JCheckBox knownCheckBox;
+    private javax.swing.JCheckBox knownOptionCheckBox;
+    private javax.swing.JCheckBox unknownOptionCheckBox;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchFilter.java
new file mode 100644
index 0000000000..fbe3997170
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchFilter.java
@@ -0,0 +1,57 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import org.sleuthkit.autopsy.filesearch.FileSearchFilter.FilterValidationException;
+
+/**
+ *
+ * @author pmartel
+ */
+class NameSearchFilter extends AbstractFileSearchFilter<NameSearchPanel> {
+
+    private static final String EMPTY_NAME_MESSAGE = "Must enter something for name search.";
+
+    public NameSearchFilter() {
+        this(new NameSearchPanel());
+    }
+
+    public NameSearchFilter(NameSearchPanel component) {
+        super(component);
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return this.getComponent().getNameCheckBox().isSelected();
+    }
+
+    @Override
+    public String getPredicate() throws FilterValidationException {
+        String keyword = this.getComponent().getSearchTextField().getText();
+
+        if (keyword.isEmpty()) {
+            throw new FilterValidationException(EMPTY_NAME_MESSAGE);
+        }
+
+        keyword.replace("'", "''"); // escape quotes in string        
+        //TODO: escaping might not be enough, would ideally be part of a prepared statement
+
+        return "name like '%" + keyword + "%'";
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
new file mode 100644
index 0000000000..52702f54dd
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
@@ -0,0 +1,77 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="nameCheckBox" min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
+                      <Component id="noteNameLabel" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" attributes="1">
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="searchTextField" max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="nameCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="searchTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="noteNameLabel" min="-2" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JCheckBox" name="nameCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="NameSearchPanel.nameCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="searchTextField">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="NameSearchPanel.searchTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="searchTextFieldMouseClicked"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="noteNameLabel">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Tahoma" size="10" style="0"/>
+        </Property>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="NameSearchPanel.noteNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
new file mode 100644
index 0000000000..b7e34c745c
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
@@ -0,0 +1,108 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * NameSearchPanel.java
+ *
+ * Created on Oct 19, 2011, 11:58:53 AM
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import javax.swing.JCheckBox;
+import javax.swing.JTextField;
+
+/**
+ *
+ * @author pmartel
+ */
+class NameSearchPanel extends javax.swing.JPanel {
+
+    /** Creates new form NameSearchPanel */
+    NameSearchPanel() {
+        initComponents();
+    }
+
+    JCheckBox getNameCheckBox() {
+        return nameCheckBox;
+    }
+
+    JTextField getSearchTextField() {
+        return searchTextField;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        nameCheckBox = new javax.swing.JCheckBox();
+        searchTextField = new javax.swing.JTextField();
+        noteNameLabel = new javax.swing.JLabel();
+
+        nameCheckBox.setText(org.openide.util.NbBundle.getMessage(NameSearchPanel.class, "NameSearchPanel.nameCheckBox.text")); // NOI18N
+
+        searchTextField.setText(org.openide.util.NbBundle.getMessage(NameSearchPanel.class, "NameSearchPanel.searchTextField.text")); // NOI18N
+        searchTextField.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                searchTextFieldMouseClicked(evt);
+            }
+        });
+
+        noteNameLabel.setFont(new java.awt.Font("Tahoma", 0, 10));
+        noteNameLabel.setText(org.openide.util.NbBundle.getMessage(NameSearchPanel.class, "NameSearchPanel.noteNameLabel.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(nameCheckBox)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(12, 12, 12)
+                        .addComponent(noteNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addContainerGap())
+                    .addGroup(layout.createSequentialGroup()
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(searchTextField))))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(nameCheckBox)
+                    .addComponent(searchTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(noteNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void searchTextFieldMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_searchTextFieldMouseClicked
+
+        this.nameCheckBox.setSelected(true);     }//GEN-LAST:event_searchTextFieldMouseClicked
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JCheckBox nameCheckBox;
+    private javax.swing.JLabel noteNameLabel;
+    private javax.swing.JTextField searchTextField;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/OpenParentFolderAction.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/OpenParentFolderAction.java
new file mode 100644
index 0000000000..781e136642
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/OpenParentFolderAction.java
@@ -0,0 +1,88 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.filesearch;
+
+
+import java.awt.event.ActionEvent;
+import java.util.Arrays;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.AbstractAction;
+import org.openide.explorer.ExplorerManager;
+import org.openide.nodes.Node;
+import org.openide.nodes.NodeOp;
+import org.openide.windows.TopComponent;
+import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent;
+import org.sleuthkit.autopsy.logging.Log;
+
+
+/**
+ * The action to open the parent folder of the given Node
+ */
+public class OpenParentFolderAction extends AbstractAction{
+
+    private String[] paths;
+
+    // for error handling
+    private String className = this.getClass().toString();
+
+    public OpenParentFolderAction(String title, String[] paths){
+        super(title);
+        this.paths = paths;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        Log.noteAction(this.getClass());
+        
+        try {
+
+            ExplorerManager em = DirectoryTreeTopComponent.findInstance().getExplorerManager();
+            Node root = em.getRootContext();
+
+            if(paths.length > 1 && root != null) {
+                String[] parentPath = Arrays.copyOf(paths, paths.length - 1);
+                
+                Node parentNode = NodeOp.findPath(root, parentPath);
+                
+                em.setExploredContextAndSelection(parentNode, new Node[]{parentNode});
+                TopComponent dirTree = DirectoryTreeTopComponent.findInstance();
+                if(!dirTree.isOpened()){ dirTree.open(); }
+                dirTree.requestActive(); // make the directory tree the active top component
+
+//                TopComponent resultTable = new DataResultTopComponent();
+//                if(!resultTable.isOpened()){ resultTable.open(); }
+//                resultTable.requestActive(); // make the directory tree the active top component
+                ((DirectoryTreeTopComponent)dirTree).setDirectoryListingActive();
+
+                // make the node table the active top component
+                // @@@ Make the node table the active top component
+
+
+                }
+        
+        } catch (Exception ex) {
+            // throw an error here
+           Logger.getLogger(this.className).log(Level.WARNING, "Error: error while trying to open the parent directory.", ex);
+        }
+    }
+
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchChildren.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchChildren.java
new file mode 100644
index 0000000000..d13811e214
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchChildren.java
@@ -0,0 +1,61 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.filesearch;
+
+
+import java.util.ArrayList;
+import org.openide.nodes.Children;
+import org.openide.nodes.Node;
+import org.sleuthkit.datamodel.Directory;
+import org.sleuthkit.autopsy.datamodel.DirectoryNode;
+import org.sleuthkit.datamodel.File;
+import org.sleuthkit.autopsy.datamodel.FileNode;
+import org.sleuthkit.datamodel.FsContent;
+
+
+/**
+ * Makes nodes for search results.
+ */
+class SearchChildren extends Children.Keys<FsContent> {
+
+    SearchChildren(boolean lazy, ArrayList<FsContent> fsContentList) {
+        super(lazy);
+        this.setKeys(fsContentList);
+    }
+
+
+    @Override
+    protected Node[] createNodes(FsContent t) {
+        Node[] node = new Node[1];
+            if(t.isDir()){
+                node[0] = new DataResultFilterNode(new DirectoryNode((Directory) t));
+
+                //node[0] = new DirectoryNode((Directory)t);
+                return node;
+            }
+            else{
+                node[0] = new DataResultFilterNode(new FileNode((File)t));
+                //node[0] = new FileNode((File)t);
+                return node;
+            }
+    }
+
+    
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchNode.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchNode.java
new file mode 100644
index 0000000000..f38d584e7a
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SearchNode.java
@@ -0,0 +1,119 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.filesearch;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import org.openide.nodes.AbstractNode;
+import org.openide.nodes.Node.Property;
+import org.sleuthkit.autopsy.datamodel.ContentNode;
+import org.sleuthkit.autopsy.datamodel.ContentNodeVisitor;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.FsContent;
+import org.sleuthkit.datamodel.TskException;
+
+/**
+ *
+ * @author jantonius
+ */
+class SearchNode extends AbstractNode implements ContentNode {
+
+    private SearchChildren children;
+
+    SearchNode(ArrayList<FsContent> keys) {
+        super(new SearchChildren(true, keys));
+        this.children = (SearchChildren)this.getChildren();
+    }
+
+    @Override
+    public String getName() {
+        return "Search Result";
+    }
+
+    @Override
+    public long getID() {
+        return -1; // change this later when needed
+    }
+
+    @Override
+    public Object[][] getRowValues(int rows) throws SQLException {
+        int totalNodes = children.getNodesCount();
+
+        Object[][] objs;
+        int maxRows = 0;
+        if(totalNodes > rows){
+            objs = new Object[rows][];
+            maxRows = rows;
+        }
+        else{
+            objs = new Object[totalNodes][];
+            maxRows = totalNodes;
+        }
+
+        for(int i = 0; i < maxRows; i++){
+            PropertySet[] props = children.getNodeAt(i).getPropertySets();
+            Property[] property = props[0].getProperties();
+            objs[i] = new Object[property.length];
+
+            for(int j = 0; j < property.length; j++){
+                try {
+                    objs[i][j] = property[j].getValue();
+                } catch (Exception ex) {
+                    objs[i][j] = "n/a";
+                }
+            }
+        }
+        return objs;
+    }
+
+
+    @Override
+    public byte[] read(long offset, long len) throws TskException {
+        // change this in the future when needed
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public int getFileIDColumn() {
+        return -1; // change this later when needed
+    }
+
+    @Override
+    public Content getContent() {
+        return null;
+    }
+
+    @Override
+    public String[] getDisplayPath() {
+        return new String[]{"KeyWord Search Result:"};
+    }
+
+    @Override
+    public <T> T accept(ContentNodeVisitor<T> v) {
+        //TODO: figure out how to deal with visitors
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+    
+    @Override
+    public String[] getSystemPath() {
+        // Shouldn't be used
+        throw new UnsupportedOperationException("Not supported yet.");
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java
new file mode 100644
index 0000000000..b960a679c3
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java
@@ -0,0 +1,66 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.filesearch;
+
+import javax.swing.JComboBox;
+import org.sleuthkit.autopsy.filesearch.FileSearchFilter.FilterValidationException;
+
+/**
+ *
+ * @author pmartel
+ */
+class SizeSearchFilter extends AbstractFileSearchFilter<SizeSearchPanel> {
+
+    SizeSearchFilter() {
+        this(new SizeSearchPanel());
+    }
+
+    SizeSearchFilter(SizeSearchPanel component) {
+        super(component);
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return this.getComponent().getSizeCheckBox().isSelected();
+    }
+
+    @Override
+    public String getPredicate() throws FilterValidationException {
+        int size = ((Number) this.getComponent().getSizeTextField().getValue()).intValue(); // note: already only allow number to the text field
+        String operator = compareComboBoxToOperator(this.getComponent().getSizeCompareComboBox());
+        int unit = this.getComponent().getSizeUnitComboBox().getSelectedIndex();
+        int divider = (int) Math.pow(2, (unit * 10));
+        size = size * divider;
+        return "size " + operator + " " + size;
+    }
+
+    private String compareComboBoxToOperator(JComboBox compare) {
+        String compareSize = compare.getSelectedItem().toString();
+
+        if (compareSize.equals("equal to")) {
+            return "=";
+        } else if (compareSize.equals("greater than")) {
+            return ">";
+        } else if (compareSize.equals("less than")) {
+            return "<";
+        } else {
+            throw new IllegalArgumentException();
+        }
+    }
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.form b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.form
new file mode 100644
index 0000000000..4c4414ff5c
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.form
@@ -0,0 +1,87 @@
+<?xml version="1.1" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="sizeCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="sizeCompareComboBox" min="-2" pref="95" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="sizeTextField" min="-2" pref="79" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="sizeUnitComboBox" min="-2" pref="72" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+              <Component id="sizeCompareComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
+              <Component id="sizeTextField" alignment="3" min="-2" max="-2" attributes="0"/>
+              <Component id="sizeUnitComboBox" alignment="3" min="-2" max="-2" attributes="0"/>
+              <Component id="sizeCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JComboBox" name="sizeUnitComboBox">
+      <Properties>
+        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+          <StringArray count="5">
+            <StringItem index="0" value="Byte(s)"/>
+            <StringItem index="1" value="KB"/>
+            <StringItem index="2" value="MB"/>
+            <StringItem index="3" value="GB"/>
+            <StringItem index="4" value="TB"/>
+          </StringArray>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JFormattedTextField" name="sizeTextField">
+      <Properties>
+        <Property name="value" type="java.lang.Object" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="0" type="code"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="sizeTextFieldMouseClicked"/>
+      </Events>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new JFormattedTextField(NumberFormat.getIntegerInstance())"/>
+      </AuxValues>
+    </Component>
+    <Component class="javax.swing.JComboBox" name="sizeCompareComboBox">
+      <Properties>
+        <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
+          <StringArray count="3">
+            <StringItem index="0" value="equal to"/>
+            <StringItem index="1" value="greater than"/>
+            <StringItem index="2" value="less than"/>
+          </StringArray>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="sizeCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/sleuthkit/autopsy/filesearch/Bundle.properties" key="SizeSearchPanel.sizeCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+  </SubComponents>
+</Form>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.java b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.java
new file mode 100644
index 0000000000..ca97944e42
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/SizeSearchPanel.java
@@ -0,0 +1,114 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.filesearch;
+
+import java.text.NumberFormat;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JFormattedTextField;
+
+/**
+ *
+ * @author pmartel
+ */
+class SizeSearchPanel extends javax.swing.JPanel {
+
+    /** Creates new form SizeSearchPanel */
+    SizeSearchPanel() {
+        initComponents();
+    }
+
+    JCheckBox getSizeCheckBox() {
+        return sizeCheckBox;
+    }
+
+    JComboBox getSizeCompareComboBox() {
+        return sizeCompareComboBox;
+    }
+
+    JFormattedTextField getSizeTextField() {
+        return sizeTextField;
+    }
+
+    JComboBox getSizeUnitComboBox() {
+        return sizeUnitComboBox;
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    @SuppressWarnings("unchecked")
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        sizeUnitComboBox = new javax.swing.JComboBox();
+        sizeTextField = new JFormattedTextField(NumberFormat.getIntegerInstance());
+        sizeCompareComboBox = new javax.swing.JComboBox();
+        sizeCheckBox = new javax.swing.JCheckBox();
+
+        sizeUnitComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Byte(s)", "KB", "MB", "GB", "TB" }));
+
+        sizeTextField.setValue(0);
+        sizeTextField.addMouseListener(new java.awt.event.MouseAdapter() {
+            public void mouseClicked(java.awt.event.MouseEvent evt) {
+                sizeTextFieldMouseClicked(evt);
+            }
+        });
+
+        sizeCompareComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "equal to", "greater than", "less than" }));
+
+        sizeCheckBox.setText(org.openide.util.NbBundle.getMessage(SizeSearchPanel.class, "SizeSearchPanel.sizeCheckBox.text")); // NOI18N
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addComponent(sizeCheckBox)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(sizeCompareComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(sizeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(sizeUnitComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                .addComponent(sizeCompareComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(sizeTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(sizeUnitComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(sizeCheckBox))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void sizeTextFieldMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_sizeTextFieldMouseClicked
+        this.sizeCheckBox.setSelected(true);
+        this.sizeTextField.selectAll(); // select all so user can change it easily
+    }//GEN-LAST:event_sizeTextFieldMouseClicked
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JCheckBox sizeCheckBox;
+    private javax.swing.JComboBox sizeCompareComboBox;
+    private javax.swing.JFormattedTextField sizeTextField;
+    private javax.swing.JComboBox sizeUnitComboBox;
+    // End of variables declaration//GEN-END:variables
+}
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_down.gif b/FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_down.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1151f48f9a1122e8c97c4a468f36de44bb0e8722
GIT binary patch
literal 848
zcmZ?wbhEHb<Y(Yw_|5<V0s;cU!os4WqT=G>GBPsW-rhk$K_H1yJQ@PSJp>egvM@3*
z{AbVsc@&f<7&vqp{&UKBY*=uxnVFv<;=~3;24-eiFC7mDr3OZJU8O(j4T%lCOp;A9
M5eZLDG%#2L0NaokZvX%Q

literal 0
HcmV?d00001

diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_right.gif b/FileSearch/src/org/sleuthkit/autopsy/filesearch/arrow_right.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f85fe5e22577aeb8047714a2d6e21a3c235c44ea
GIT binary patch
literal 861
zcmZ?wbhEHb<Y(Y#_|5<VGBPrup`jqwC>{-g5f%c9KUo+V82&Tpfcy>06AT<y4F5Sr
zG!hmZY-VC)a5xc=$k4_vs?}l<pw!SVqU+bP;-iv#uY_RP84be}=S~sfDxaVE%BP!j
JlG#`otO1*s8ZQ6<

literal 0
HcmV?d00001

diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/filesearch-helpset.xml b/FileSearch/src/org/sleuthkit/autopsy/filesearch/filesearch-helpset.xml
new file mode 100644
index 0000000000..4cf665f139
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/filesearch-helpset.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+To change this template, choose Tools | Templates
+and open the template in the editor.
+-->
+<!DOCTYPE helpsetref PUBLIC "-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN" "http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
+<helpsetref url="nbdocs:/org/sleuthkit/autopsy/filesearch/docs/filesearch-hs.xml"/>
diff --git a/FileSearch/src/org/sleuthkit/autopsy/filesearch/layer.xml b/FileSearch/src/org/sleuthkit/autopsy/filesearch/layer.xml
new file mode 100644
index 0000000000..36332b2899
--- /dev/null
+++ b/FileSearch/src/org/sleuthkit/autopsy/filesearch/layer.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <folder name="Actions">
+        <folder name="Window">
+            <file name="org-sleuthkit-autopsy-filesearch-FileSearchAction.instance">
+                <attr name="component" methodvalue="org.sleuthkit.autopsy.filesearch.FileSearchTopComponent.findInstance"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.filesearch.Bundle#CTL_FileSearchAction"/>
+                <attr name="instanceCreate" methodvalue="org.openide.windows.TopComponent.openAction"/>
+            </file>
+        </folder>
+    </folder>
+    <folder name="Menu">
+        <folder name="Window"/>
+    </folder>
+    <folder name="Services">
+        <folder name="JavaHelp">
+            <file name="filesearch-helpset.xml" url="filesearch-helpset.xml">
+                <attr name="position" intvalue="3662"/>
+            </file>
+        </folder>
+        <file name="org-sleuthkit-autopsy-filesearch-FileSearchTopComponent.instance">
+            <attr name="instanceOf" stringvalue="org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer"/>
+            <attr name="instanceCreate" methodvalue="org.sleuthkit.autopsy.filesearch.FileSearchTopComponent.getDefault"/>
+        </file>
+    </folder>
+    <folder name="Windows2">
+        <folder name="Components">
+            <file name="FileSearchTopComponent.settings" url="FileSearchTopComponentSettings.xml"/>
+        </folder>
+
+        <!-- Not letting NetBeans manage docking for us at all. It's all handled in CoreComponentInterfaces:CoreComponentControl
+        <folder name="Modes">
+            <folder name="explorer">
+                <file name="FileSearchTopComponent.wstcref" url="FileSearchTopComponentWstcref.xml"/>
+            </folder>
+        </folder-->
+    </folder>
+</filesystem>
diff --git a/LICENSE-2.0.txt b/LICENSE-2.0.txt
new file mode 100644
index 0000000000..d645695673
--- /dev/null
+++ b/LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/Logging/build.xml b/Logging/build.xml
new file mode 100644
index 0000000000..fbf2530e25
--- /dev/null
+++ b/Logging/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.logging" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.logging.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/Logging/manifest.mf b/Logging/manifest.mf
new file mode 100644
index 0000000000..7883520189
--- /dev/null
+++ b/Logging/manifest.mf
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.logging/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Install: org/sleuthkit/autopsy/logging/Installer.class
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/logging/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/logging/Bundle.properties
+
diff --git a/Logging/nbproject/build-impl.xml b/Logging/nbproject/build-impl.xml
new file mode 100644
index 0000000000..0b474da861
--- /dev/null
+++ b/Logging/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.logging-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/Logging/nbproject/genfiles.properties b/Logging/nbproject/genfiles.properties
new file mode 100644
index 0000000000..d94cf24310
--- /dev/null
+++ b/Logging/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=cacaba65
+build.xml.script.CRC32=5960e63f
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=cacaba65
+nbproject/build-impl.xml.script.CRC32=db164ed0
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/Logging/nbproject/platform.properties b/Logging/nbproject/platform.properties
new file mode 100644
index 0000000000..319807f1cd
--- /dev/null
+++ b/Logging/nbproject/platform.properties
@@ -0,0 +1,7 @@
+cluster.path=\
+    ${nbplatform.active.dir}/platform
+disabled.modules=\
+    org.netbeans.libs.jsr223,\
+    org.openide.compat,\
+    org.openide.util.enumerations
+nbplatform.active=default
diff --git a/Logging/nbproject/private/platform-private.properties b/Logging/nbproject/private/platform-private.properties
new file mode 100644
index 0000000000..feb70af372
--- /dev/null
+++ b/Logging/nbproject/private/platform-private.properties
@@ -0,0 +1 @@
+user.properties.file=C:\\Users\\pmartel\\.netbeans\\6.9\\build.properties
diff --git a/Logging/nbproject/private/private.xml b/Logging/nbproject/private/private.xml
new file mode 100644
index 0000000000..137618d8d2
--- /dev/null
+++ b/Logging/nbproject/private/private.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1">
+        <file>
+            <url>src/org/sleuthkit/autopsy/logging/Installer.java</url>
+            <line>62</line>
+        </file>
+    </editor-bookmarks>
+</project-private>
diff --git a/Logging/nbproject/project.properties b/Logging/nbproject/project.properties
new file mode 100644
index 0000000000..c51692cafc
--- /dev/null
+++ b/Logging/nbproject/project.properties
@@ -0,0 +1,3 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+spec.version.base=0.0
diff --git a/Logging/nbproject/project.xml b/Logging/nbproject/project.xml
new file mode 100644
index 0000000000..0adbf513ee
--- /dev/null
+++ b/Logging/nbproject/project.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.netbeans.core</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>2</release-version>
+                        <implementation-version/>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.dialogs</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.15.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.logging</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/Logging/nbproject/suite.properties b/Logging/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/Logging/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/AutopsyExceptionHandler.java b/Logging/src/org/sleuthkit/autopsy/logging/AutopsyExceptionHandler.java
new file mode 100644
index 0000000000..22b7779e00
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/AutopsyExceptionHandler.java
@@ -0,0 +1,154 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.logging;
+
+import java.awt.Component;
+import java.util.logging.Filter;
+import java.util.logging.Handler;
+import java.util.logging.Level;
+import java.util.logging.LogRecord;
+import java.util.logging.SimpleFormatter;
+import javax.swing.JOptionPane;
+import javax.swing.SwingUtilities;
+import org.openide.util.lookup.ServiceProvider;
+import org.netbeans.core.NbErrorManager;
+
+/**
+ * Replaces default NetBeans exception handler. Displays messages in a dialog.
+ */
+@ServiceProvider(service = Handler.class, supersedes = "org.netbeans.core.NbErrorManager")
+public class AutopsyExceptionHandler extends Handler {
+
+    static final int INFO_VALUE = Level.INFO.intValue();
+    static final int WARNING_VALUE = Level.WARNING.intValue();
+    static final int SEVERE_VALUE = Level.SEVERE.intValue();
+    static final Handler nbErrorManager = new NbErrorManager(); // Default NetBeans handler
+
+    public AutopsyExceptionHandler() {
+        super();
+        // Only display messages for WARNING level and above, that come from an uncaught exception.
+        this.setLevel(Level.WARNING);
+        this.setFilter(new ExceptionFilter());
+        this.setFormatter(new SimpleFormatter());
+    }
+
+    @Override
+    public void publish(LogRecord record) {
+
+        if (isLoggable(record)) {
+
+            if (record.getMessage() != null) {
+                // Throwable was anticipated, caught and logged. Display log message and throwable message.
+
+                final int levelValue = record.getLevel().intValue();
+                
+                final Component parentComponent = null; // Use default window frame.
+                final String message = formatExplanation(record);
+                final String title = getTitleForLevelValue(levelValue);
+                final int messageType = getMessageTypeForLevelValue(levelValue);
+
+                // publish() was probably not called from the EDT, so run the message box there instead of here.
+                SwingUtilities.invokeLater(new Runnable() {
+
+                    @Override
+                    public void run() {
+                        JOptionPane.showMessageDialog(
+                                parentComponent,
+                                message,
+                                title,
+                                messageType);
+                    }
+                });
+            } else {
+                // Throwable (unanticipated) error. Use built-in exception handler to offer details, stacktrace.
+                nbErrorManager.publish(record);
+            }
+        }
+    }
+
+
+    /**
+     * Filter only accepts records with exceptions attached.
+     */
+    private static class ExceptionFilter implements Filter {
+        @Override
+        public boolean isLoggable(LogRecord record) {
+            // True if there is an uncaught exception being thrown.
+            return record.getThrown() != null;
+        }
+    }
+
+    /**
+     *
+     * @param record A LogRecord with both a message and associated Throwable set.
+     * @return A String containing the log message and the cause of the Throwable (if there is one).
+     */
+    private String formatExplanation(LogRecord record) {
+        final String logMessage = getFormatter().formatMessage(record);
+        String explanation = record.getThrown().getMessage();
+        String causeMessage = (explanation != null) ? "\nCaused by: " + explanation : "";
+
+        return logMessage + causeMessage;
+    }
+
+//    It's harder to do this cleanly than I thought, because Exceptions
+//    initialized with no message copy and prepend the cause's message
+//
+//    private String recursiveExplanation(Throwable e) {
+//        String message = e.getMessage();
+//        String explanation = (message != null) ? "\nCaused by: " + message : "";
+//        Throwable cause = e.getCause();
+//        if (cause == null) {
+//            return explanation;
+//        } else {
+//            return explanation + recursiveExplanation(cause);
+//        }
+//    }
+
+    private static int getMessageTypeForLevelValue(int levelValue) {
+        if (levelValue >= SEVERE_VALUE) {
+            return JOptionPane.ERROR_MESSAGE;
+        } else if (levelValue >= WARNING_VALUE) {
+            return JOptionPane.WARNING_MESSAGE;
+        } else {
+            return JOptionPane.INFORMATION_MESSAGE;
+        }
+    }
+
+    private static String getTitleForLevelValue(int levelValue) {
+        if (levelValue >= SEVERE_VALUE) {
+            return "Error";
+        } else if (levelValue >= WARNING_VALUE) {
+            return "Warning";
+        } else {
+            return "Message";
+        }
+    }
+
+    @Override
+    public void flush() {
+        // no buffer to flush
+    }
+
+    @Override
+    public void close() throws SecurityException {
+        // no resources to close
+    }
+}
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/Bundle.properties b/Logging/src/org/sleuthkit/autopsy/logging/Bundle.properties
new file mode 100644
index 0000000000..7ff32e866b
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/Bundle.properties
@@ -0,0 +1,2 @@
+CTL_TestLogger=Test log
+OpenIDE-Module-Name=Logging
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/Installer.java b/Logging/src/org/sleuthkit/autopsy/logging/Installer.java
new file mode 100644
index 0000000000..f8fa016254
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/Installer.java
@@ -0,0 +1,63 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.logging;
+
+import java.io.IOException;
+import java.util.logging.FileHandler;
+import org.openide.modules.ModuleInstall;
+import java.util.logging.Logger;
+import java.util.logging.Handler;
+import java.util.logging.SimpleFormatter;
+
+
+
+/**
+ * Manages a this module's lifecycle. Sets up logging to file.
+ */
+public class Installer extends ModuleInstall {
+
+    static final Logger autopsyLogger = Logger.getLogger("");
+    static final String LOG_FILENAME_PATTERN = System.getProperty("netbeans.user") + "/var/log/autopsy.log"; //%t is system temp dir, %g is log number
+    static final int LOG_SIZE = 0; // in bytes, zero is unlimited
+    static final int LOG_FILE_COUNT = 10;
+    static Handler logs;
+
+    @Override
+    public void restored() {
+        if (logs == null) {
+            try {
+                logs = new FileHandler(LOG_FILENAME_PATTERN, LOG_SIZE, LOG_FILE_COUNT);;
+            } catch (IOException ex) {
+                throw new RuntimeException(ex);
+            }
+            logs.setFormatter(new SimpleFormatter());
+            autopsyLogger.addHandler(logs);
+        }
+    }
+    
+    @Override
+    public void uninstalled() {
+        autopsyLogger.removeHandler(logs);
+        logs.close();
+        logs = null;
+    }
+
+
+}
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/Log.java b/Logging/src/org/sleuthkit/autopsy/logging/Log.java
new file mode 100644
index 0000000000..a8df07d91b
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/Log.java
@@ -0,0 +1,42 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.logging;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Helper class to slightly simplify getting the logger for a class, and other
+ * common log tasks.
+ */
+public class Log {
+    static public void noteAction(Class actionClass) {
+        get(actionClass).log(Level.INFO, "Action performed: {0}", actionClass.getName());
+    }
+
+
+    static public Logger get(Class clazz) {
+        return Logger.getLogger(clazz.getName());
+    }
+    
+    static public Logger get(String loggerName) {
+        return Logger.getLogger(loggerName);
+    }
+}
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/LogIcon.png b/Logging/src/org/sleuthkit/autopsy/logging/LogIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e2908c13a57e3f3d1bb6b1678f0a10094388093
GIT binary patch
literal 980
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T#^NA%Cx&(BWL`2bFtDUM
z`Z_W&Z0zU$lgP@zz|0Wf6XMFiz`()5;ppfXA0J;{Uf$T)ICJLA<;$1v-@pI-`STAS
zK78@w#k+U!K7IQ1<;$0^U%!6)_U*@yAAkP*`TO_pzkmP!|NqZ03PwX<$cDg@k3xqS
z7#KJUJR*x382Ao@Fyrz36)6l143Z_T5hcO-X(i=}MX3w{iJ5sNdVa1U3T4K6rg|3U
z)(x=?3=9^YE{-7@!N~~<!W#+~WIlQ3E}Zb(SvcXLt8l_IN8tofH{l0Di3tfQPC`#a
jL<K~g!d;h%Z^&e3Xkush{WR7m929h(u6{1-oD!M<>B(r;

literal 0
HcmV?d00001

diff --git a/Logging/src/org/sleuthkit/autopsy/logging/TestLogger.java b/Logging/src/org/sleuthkit/autopsy/logging/TestLogger.java
new file mode 100644
index 0000000000..54dd06b40a
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/TestLogger.java
@@ -0,0 +1,43 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.logging;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.logging.Formatter;
+import java.util.logging.Logger;
+import java.util.logging.Level;
+
+/*
+ * Toolbar button for testing logging. Not a normal part of application.
+ */
+public final class TestLogger implements ActionListener {
+
+    static final Logger logger = Logger.getLogger(TestLogger.class.getName());
+    Formatter fmt;
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        
+        logger.log(Level.WARNING, "Testing log!", new Exception(new Exception(new Exception(new Exception("original reason with asdfasdfasdfasdfasd fasdfasdfasdf sdfasdfasdfa asdfasdf asdfa sdfas ", new Exception("more original reason"))))));
+        //throw new RuntimeException("othe");
+
+        //logger.log(Level.WARNING, "Testing log!");
+    }
+}
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/TimestampingFormatter.java b/Logging/src/org/sleuthkit/autopsy/logging/TimestampingFormatter.java
new file mode 100644
index 0000000000..5e52520e0c
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/TimestampingFormatter.java
@@ -0,0 +1,50 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.sleuthkit.autopsy.logging;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.logging.Formatter;
+import java.util.logging.LogRecord;
+
+/*
+ * Formatter to wrap another formatter and prepend a timestampe to each formatted string
+ * Not currently used.
+ */
+public class TimestampingFormatter extends Formatter {
+
+    Formatter original;
+    DateFormat timestampFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.US);
+    String lineSeparator = System.getProperty("line.separator");
+
+    TimestampingFormatter(Formatter original) {
+        this.original = original;
+    }
+
+    @Override
+    public String format(LogRecord record) {
+        long millis = record.getMillis();
+        String timestamp = timestampFormat.format(new Date(millis));
+
+        return timestamp + lineSeparator + original.format(record);
+    }
+}
diff --git a/Logging/src/org/sleuthkit/autopsy/logging/layer.xml b/Logging/src/org/sleuthkit/autopsy/logging/layer.xml
new file mode 100644
index 0000000000..25d015eaf5
--- /dev/null
+++ b/Logging/src/org/sleuthkit/autopsy/logging/layer.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <folder name="Actions">
+        <folder name="Edit"/>
+    </folder>
+    <folder name="Toolbars">
+        <folder name="File"/>
+    </folder>
+</filesystem>
diff --git a/MenuActions/build.xml b/MenuActions/build.xml
new file mode 100644
index 0000000000..7f26f62e4a
--- /dev/null
+++ b/MenuActions/build.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.sleuthkit.autopsy.menuactions" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.sleuthkit.autopsy.menuactions.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>
diff --git a/MenuActions/manifest.mf b/MenuActions/manifest.mf
new file mode 100644
index 0000000000..c92eae3577
--- /dev/null
+++ b/MenuActions/manifest.mf
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.sleuthkit.autopsy.menuactions/0
+OpenIDE-Module-Implementation-Version: 1
+OpenIDE-Module-Layer: org/sleuthkit/autopsy/menuactions/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/menuactions/Bundle.properties
+
diff --git a/MenuActions/nbproject/build-impl.xml b/MenuActions/nbproject/build-impl.xml
new file mode 100644
index 0000000000..2502efc722
--- /dev/null
+++ b/MenuActions/nbproject/build-impl.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.sleuthkit.autopsy.menuactions-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>
diff --git a/MenuActions/nbproject/genfiles.properties b/MenuActions/nbproject/genfiles.properties
new file mode 100644
index 0000000000..4ab1b65f73
--- /dev/null
+++ b/MenuActions/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=b49f5bc1
+build.xml.script.CRC32=46209f11
+build.xml.stylesheet.CRC32=a56c6a5b@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=b49f5bc1
+nbproject/build-impl.xml.script.CRC32=cb422238
+nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.42.2
diff --git a/MenuActions/nbproject/project.properties b/MenuActions/nbproject/project.properties
new file mode 100644
index 0000000000..c51692cafc
--- /dev/null
+++ b/MenuActions/nbproject/project.properties
@@ -0,0 +1,3 @@
+javac.source=1.6
+javac.compilerargs=-Xlint -Xlint:-serial
+spec.version.base=0.0
diff --git a/MenuActions/nbproject/project.xml b/MenuActions/nbproject/project.xml
new file mode 100644
index 0000000000..32ed35628a
--- /dev/null
+++ b/MenuActions/nbproject/project.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.sleuthkit.autopsy.menuactions</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.23.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.explorer</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.28.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.17.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.6.2</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.lookup</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.3.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.33.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.casemodule</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponentinterfaces</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.corecomponents</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.directorytree</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.filesearch</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.sleuthkit.autopsy.logging</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>0-1</release-version>
+                        <specification-version>0.0</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <package>org.sleuthkit.autopsy.menuactions</package>
+            </public-packages>
+        </data>
+    </configuration>
+</project>
diff --git a/MenuActions/nbproject/suite.properties b/MenuActions/nbproject/suite.properties
new file mode 100644
index 0000000000..29d7cc9bd6
--- /dev/null
+++ b/MenuActions/nbproject/suite.properties
@@ -0,0 +1 @@
+suite.dir=${basedir}/..
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/Bundle.properties b/MenuActions/src/org/sleuthkit/autopsy/menuactions/Bundle.properties
new file mode 100644
index 0000000000..090b77bcef
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/Bundle.properties
@@ -0,0 +1,2 @@
+CTL_FileBrowserAction=File Browser
+OpenIDE-Module-Name=MenuActions
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentDynamicMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentDynamicMenu.java
new file mode 100644
index 0000000000..661fca1f33
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentDynamicMenu.java
@@ -0,0 +1,85 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import java.util.List;
+import javax.swing.JComponent;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import org.openide.awt.DynamicMenuContent;
+import org.openide.util.Lookup;
+import org.openide.windows.TopComponent;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent;
+import org.sleuthkit.autopsy.corecomponents.DataContentTopComponent;
+
+/**
+ *
+ * @author jantonius
+ */
+public class DataContentDynamicMenu extends JMenuItem implements DynamicMenuContent {
+
+    @Override
+    public JComponent[] getMenuPresenters() {
+        List<DataContentTopComponent> newWindowLists = DataContentTopComponent.getNewWindowList();
+
+        // Get DataContent provider to include in the menu
+        DataContent dataContent = Lookup.getDefault().lookup(DataContent.class);
+        int totalItems = newWindowLists.size() > 0 ? 2 : 1;
+        JComponent[] comps = new JComponent[totalItems];
+        int counter = 0;
+        
+        TopComponent contentWin = dataContent.getTopComponent();
+        JMenuItem defaultItem = new JMenuItem(contentWin.getName()); // set the main name
+
+        defaultItem.addActionListener(new OpenTopComponentAction(contentWin));
+
+        if (!Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0) {
+            defaultItem.setEnabled(false); // disable the menu items when no case is opened
+        } else {
+            defaultItem.setEnabled(true); // enable the menu items when there's a case opened / created
+        }
+
+        comps[counter++] = defaultItem;
+
+        // add the submenu
+        if (newWindowLists != null) {
+            if (newWindowLists.size() > 0) {
+
+                JMenu submenu = new JMenu("Data Content Windows");
+                for (int i = 0; i < newWindowLists.size(); i++) {
+                    DataContentTopComponent dctc = newWindowLists.get(i);
+                    JMenuItem item = new JMenuItem(dctc.getName());
+                    item.addActionListener(new OpenTopComponentAction(dctc));
+                    submenu.add(item);
+                }
+
+                comps[counter++] = submenu;
+            }
+        }
+
+        return comps;
+    }
+
+    @Override
+    public JComponent[] synchMenuPresenters(JComponent[] jcs) {
+        return getMenuPresenters();
+    }
+}
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentMenu.java
new file mode 100644
index 0000000000..4468794852
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataContentMenu.java
@@ -0,0 +1,54 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import javax.swing.JMenuItem;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+
+/**
+ * Menu item that displays DataContentViewers
+ */
+public class DataContentMenu extends CallableSystemAction implements Presenter.Menu {
+
+    DataContentMenu(){}
+
+    @Override
+    public JMenuItem getMenuPresenter() {
+        return new DataContentDynamicMenu();
+    }
+
+    @Override
+    public void performAction() {
+
+    }
+
+    @Override
+    public String getName() {
+        return "DataContent Menu";
+    }
+
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+
+}
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerDynamicMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerDynamicMenu.java
new file mode 100644
index 0000000000..9321e4a3d0
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerDynamicMenu.java
@@ -0,0 +1,71 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import java.util.Collection;
+import javax.swing.JComponent;
+import javax.swing.JMenuItem;
+import org.openide.awt.DynamicMenuContent;
+import org.openide.util.Lookup;
+import org.openide.windows.TopComponent;
+import org.sleuthkit.autopsy.casemodule.Case;
+import org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer;
+
+/**
+ * Populates the top-level menu with the list of DataExplorers.
+ * 
+ * @author jantonius
+ */
+public class DataExplorerDynamicMenu extends JMenuItem implements DynamicMenuContent{
+   DataExplorerDynamicMenu(){
+    }
+
+    @Override
+    public JComponent[] getMenuPresenters() {
+        Collection<? extends DataExplorer> dataExplorers = Lookup.getDefault().lookupAll(DataExplorer.class);
+
+        int totalItem = dataExplorers.size();
+        JComponent[] comps = new JComponent[totalItem];
+        
+        int i = 0;
+        for(DataExplorer dx : dataExplorers){
+            TopComponent explorerWin = dx.getTopComponent();
+            JMenuItem item = new JMenuItem(explorerWin.getName());
+            item.addActionListener(new OpenTopComponentAction(explorerWin));
+
+            if(!Case.existsCurrentCase() || Case.getCurrentCase().getRootObjectsCount() == 0){
+                item.setEnabled(false); // disable the menu when no case is opened
+            }
+            else{
+                item.setEnabled(true); // enable the menu if the case is opened or created
+            }
+
+            comps[i++] = item;
+        }
+
+        return comps;
+    }
+
+    @Override
+    public JComponent[] synchMenuPresenters(JComponent[] jcs) {
+        return getMenuPresenters();
+    }
+
+}
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerMenu.java
new file mode 100644
index 0000000000..6106690768
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataExplorerMenu.java
@@ -0,0 +1,52 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import javax.swing.JMenuItem;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+
+/**
+ * Menu item that tracks available DataExplorers.
+ * @author jantonius
+ */
+public class DataExplorerMenu extends CallableSystemAction implements Presenter.Menu {
+
+    @Override
+    public JMenuItem getMenuPresenter() {
+        return new DataExplorerDynamicMenu();
+    }
+
+    @Override
+    public void performAction() {
+
+    }
+
+    @Override
+    public String getName() {
+        return "DataExplorer Tools";
+    }
+
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+} 
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataResultMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataResultMenu.java
new file mode 100644
index 0000000000..06c67001df
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/DataResultMenu.java
@@ -0,0 +1,83 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import org.openide.util.HelpCtx;
+import org.openide.util.actions.CallableSystemAction;
+import org.openide.util.actions.Presenter;
+import org.sleuthkit.autopsy.casemodule.Case;
+
+/**
+ * Menu item tracks the DataResult windows
+ */
+public class DataResultMenu extends CallableSystemAction implements Presenter.Menu, PropertyChangeListener {
+
+    JMenu menu = new JMenu("DataResult Windows");
+
+    DataResultMenu(){
+    }
+
+    @Override
+    public JMenuItem getMenuPresenter() {
+        return new SearchResultMenu();
+    }
+
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+        String changed = evt.getPropertyName();
+        Object oldValue = evt.getOldValue();
+        Object newValue = evt.getNewValue();
+
+        if (changed.equals(Case.CASE_CURRENT_CASE)) {
+            if (newValue != null) {
+                // enable all menus when a case is created / opened
+                int totalMenus = menu.getItemCount();
+                for (int i = 0; i < totalMenus; i++) {
+                    menu.getItem(i).setEnabled(true);
+                }
+            } else {
+                // disable all menus when the case is closed
+                int totalMenus = menu.getItemCount();
+                for (int i = 0; i < totalMenus; i++) {
+                    menu.getItem(i).setEnabled(false);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void performAction() {
+        
+    }
+
+    @Override
+    public String getName() {
+        return "DataResult Menu";
+    }
+
+    @Override
+    public HelpCtx getHelpCtx() {
+        return HelpCtx.DEFAULT_HELP;
+    }
+}
\ No newline at end of file
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/OpenTopComponentAction.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/OpenTopComponentAction.java
new file mode 100644
index 0000000000..42c9aac62c
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/OpenTopComponentAction.java
@@ -0,0 +1,45 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import java.awt.event.ActionEvent;
+import javax.swing.AbstractAction;
+import org.openide.windows.TopComponent;
+
+/**
+ * This action opens the TopComponent passed to the constructor
+ */
+public class OpenTopComponentAction extends AbstractAction{
+
+    TopComponent tc;
+
+    OpenTopComponentAction(TopComponent top){
+        this.tc = top;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        if(!this.tc.isOpened()){
+            this.tc.open();
+        }
+        this.tc.requestActive();
+    }
+
+}
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/SearchResultMenu.java b/MenuActions/src/org/sleuthkit/autopsy/menuactions/SearchResultMenu.java
new file mode 100644
index 0000000000..60eafc3b58
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/SearchResultMenu.java
@@ -0,0 +1,77 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2011 Basis Technology Corp.
+ * Contact: carrier <at> sleuthkit <dot> org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sleuthkit.autopsy.menuactions;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JComponent;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import org.openide.awt.DynamicMenuContent;
+import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
+import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent;
+import org.sleuthkit.autopsy.filesearch.FileSearchTopComponent;
+
+/**
+ * Menu item lists DataResult tabs.w
+ */
+public class SearchResultMenu extends JMenuItem implements DynamicMenuContent {
+
+    SearchResultMenu(){
+    }
+
+    @Override
+    public JComponent[] getMenuPresenters() {
+        List<DataResultTopComponent> searchResults = FileSearchTopComponent.getFileSearchResultList();
+        DirectoryTreeTopComponent directoryTree = DirectoryTreeTopComponent.findInstance();
+        DataResultTopComponent directoryListing = directoryTree.getDirectoryListing();
+
+
+
+        List<JComponent> menuItems = new ArrayList<JComponent>();
+        
+        // add the main "DirectoryListing"
+        JMenuItem dlItem = new JMenuItem(directoryListing.getName());
+        dlItem.addActionListener(new OpenTopComponentAction(directoryListing));
+        dlItem.setEnabled(directoryTree.isOpened());
+
+        menuItems.add(dlItem);
+
+
+        // add search results if there are any
+        if(searchResults.size() > 0){
+            JMenu submenu = new JMenu("File Search Results");
+            for(DataResultTopComponent resultTab : searchResults){
+                JMenuItem item = new JMenuItem(resultTab.getName());
+                item.addActionListener(new OpenTopComponentAction(resultTab));
+                submenu.add(item);
+            }
+
+            menuItems.add(submenu);
+        }
+
+        return menuItems.toArray(new JComponent[menuItems.size()]);
+    }
+
+    @Override
+    public JComponent[] synchMenuPresenters(JComponent[] jcs) {
+        return getMenuPresenters();
+    }
+}
diff --git a/MenuActions/src/org/sleuthkit/autopsy/menuactions/layer.xml b/MenuActions/src/org/sleuthkit/autopsy/menuactions/layer.xml
new file mode 100644
index 0000000000..9b009d6f12
--- /dev/null
+++ b/MenuActions/src/org/sleuthkit/autopsy/menuactions/layer.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
+<filesystem>
+    <folder name="Actions">
+        <folder name="Tools">
+            <file name="org-sleuthkit-autopsy-menuactions-FileBrowserAction.instance">
+                <attr name="delegate" newvalue="org.sleuthkit.autopsy.menuactions.FileBrowserAction"/>
+                <attr name="displayName" bundlevalue="org.sleuthkit.autopsy.menuactions.Bundle#CTL_FileBrowserAction"/>
+                <attr name="noIconInMenu" boolvalue="false"/>
+            </file>
+        </folder>
+        <folder name="Window">
+        </folder>
+    </folder>
+    <folder name="Menu">
+        <folder name="Tools">
+            <file name="org-sleuthkit-autopsy-menuactions-DataExplorerMenu.instance">
+                <attr name="position" intvalue="1225"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-DataExplorerMenu-separatoAfter.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="1250"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-FileBrowserAction-separatorAfter.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="1301"/>
+            </file>
+        </folder>
+        <folder name="Window">
+            <file name="org-netbeans-modules-favorites-View.shadow_hidden"/>
+            <file name="org-sleuthkit-autopsy-menuactions-DataResultMenu-separatoBefore.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="75"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-DataResultMenu.instance">
+                <attr name="originalFile" stringvalue="Actions/Tools/org-sleuthkit-autopsy-menuactions-DataResultMenu.instance"/>
+                <attr name="position" intvalue="100"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-DataResultMenu-separatoAfter.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="125"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-DataContentMenu.instance">
+                <attr name="originalFile" stringvalue="Actions/Tools/org-sleuthkit-autopsy-menuactions-DataContentMenu.instance"/>
+                <attr name="position" intvalue="150"/>
+            </file>
+            <file name="org-sleuthkit-autopsy-menuactions-DataContentMenu-separatorAfter.instance">
+                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
+                <attr name="position" intvalue="175"/>
+            </file>
+       </folder>
+    </folder>
+</filesystem>
diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
new file mode 100644
index 0000000000..dbffcdccee
--- /dev/null
+++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
@@ -0,0 +1,8 @@
+currentVersion=Autopsy {0}
+LBL_splash_window_title=Starting Autopsy
+SPLASH_HEIGHT=288
+SPLASH_WIDTH=538
+SplashProgressBarBounds=3,236,533,6
+SplashRunningTextBounds=5,212,530,17
+SplashRunningTextColor=0x0
+SplashRunningTextFontSize=18
diff --git a/branding/core/core.jar/org/netbeans/core/startup/frame.gif b/branding/core/core.jar/org/netbeans/core/startup/frame.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08dc748a0046d27fd09fc9c9d046e6971bcc241e
GIT binary patch
literal 213
zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7=6Jd|hE&{|J2{Z6K|#Pp
zb;<e{n}thy`fi1{zhs%K*5Z_$6jK%~%w{s{`5Qf}<vRC&c0Y|0^Ev)a<K6R(jEB;~
zM2{GSJEoLeyAVD_>2;ceO}p_8hP8#C%8VKNy_uK%-KWMlsaMRtUX_7?Nu}{jw5ai=
z6wfuw3TyNpi#w<}NUmg;YOvN<bY+;mRm5OFLvG8h?Wv!3Zv0Y{J^u@@dScw%H^I5_
Q3=9kmp00i_>zopr0QrSa<NyEw

literal 0
HcmV?d00001

diff --git a/branding/core/core.jar/org/netbeans/core/startup/frame32.gif b/branding/core/core.jar/org/netbeans/core/startup/frame32.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0cc097241a9227807e7d92aa191e00752cb23270
GIT binary patch
literal 1795
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
Y(#UB})YMdV1_lNOPgg&ebxsLQ0OU(>EdT%j

literal 0
HcmV?d00001

diff --git a/branding/core/core.jar/org/netbeans/core/startup/frame48.gif b/branding/core/core.jar/org/netbeans/core/startup/frame48.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3c6cdfd5870d5af946cdc2106774eb357753ccb6
GIT binary patch
literal 3325
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

literal 0
HcmV?d00001

diff --git a/branding/core/core.jar/org/netbeans/core/startup/splash.gif b/branding/core/core.jar/org/netbeans/core/startup/splash.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a02e27f26bf3d2d842592562cadb46e775236905
GIT binary patch
literal 19506
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

literal 0
HcmV?d00001

diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
new file mode 100644
index 0000000000..3400dcc9c9
--- /dev/null
+++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
@@ -0,0 +1,2 @@
+CTL_MainWindow_Title=Autopsy {0}
+CTL_MainWindow_Title_No_Project=Autopsy {0}
diff --git a/build-unix.xml b/build-unix.xml
new file mode 100644
index 0000000000..2cb9866ffb
--- /dev/null
+++ b/build-unix.xml
@@ -0,0 +1,8 @@
+<project name="AutopsyTSKTargets">
+    <target name="copyTSKLibs">
+    <property environment="env"/>
+        <copy file="${env.TSK_HOME}/bindings/java/jni/.libs/libtsk_jni.dylib" tofile="${basedir}/DataModel/release/modules/lib/libtsk_jni.dylib"/>
+        <!-- <copy file="${env.TSK_HOME}/win32/libewf/msvscpp/Release/libewf.dll" tofile="${basedir}/DataModel/release/modules/lib/libewf.dll"/> 
+        <copy file="${env.TSK_HOME}/win32/libewf/msvscpp/zlib/zlib1.dll" tofile="${basedir}/DataModel/release/modules/lib/zlib1.dll"/> -->
+    </target>
+</project>
diff --git a/build-windows.xml b/build-windows.xml
new file mode 100644
index 0000000000..aef7006231
--- /dev/null
+++ b/build-windows.xml
@@ -0,0 +1,14 @@
+<project name="AutopsyTSKTargets">
+    <target name="copyTSKLibs">
+        <property environment="env"/>
+        <condition property="ewfFound">
+            <isset property="env.LIBEWF_HOME"/>
+        </condition>
+        <fail unless="ewfFound" message="LIBEWF_HOME must be set as an environment variable."/>
+
+        <!-- Need a way to specify Debug versus release -->
+        <copy file="${env.TSK_HOME}/win32/release/libtsk_jni.dll" tofile="${basedir}/DataModel/release/modules/lib/libtsk_jni.dll"/>
+        <copy file="${env.LIBEWF_HOME}/msvscpp/Release/libewf.dll" tofile="${basedir}/DataModel/release/modules/lib/libewf.dll"/> 
+        <copy file="${env.LIBEWF_HOME}/msvscpp/zlib/zlib1.dll" tofile="${basedir}/DataModel/release/modules/lib/zlib1.dll"/>
+    </target>
+</project>
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000000..614f35e862
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="Autopsy3" basedir=".">
+    <description>Builds the module suite Autopsy3.</description>
+    <import file="nbproject/build-impl.xml"/>
+
+    
+    <condition property="os.family" value="unix">  
+        <os family="unix"/>  
+    </condition>  
+    <condition property="os.family" value="windows">  
+        <os family="windows"/>  
+    </condition>  
+    <import file="build-${os.family}.xml"/>  
+
+    
+    <!-- This seems really bad to be hard coded, but I couldn't find a better solution -->
+    <path id="jni-path">
+        <pathelement location="./build/cluster/modules/org-sleuthkit-datamodel.jar"/>
+        <path refid="cluster.path.id" />
+    </path>
+
+    <!-- Verify that the TSK_HOME env variable is set -->
+    <target name="findTSK">
+        <property environment="env"/>
+        <condition property="tskFound">
+            <isset property="env.TSK_HOME"/>
+        </condition>
+        <fail unless="tskFound" message="TSK_HOME must be set as an environment variable."/>
+        <echo> TSK_HOME: ${env.TSK_HOME}</echo>
+        
+    </target>
+
+    <target name="getExternals" depends="findTSK,copyTSKLibs">
+        <property environment="env"/>
+        <copy file="${env.TSK_HOME}/bindings/java/dist/Tsk_DataModel.jar" tofile="${basedir}/DataModel/release/modules/ext/Tsk_DataModel.jar"/>
+        <copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.6.20.jar" tofile="${basedir}/DataModel/release/modules/ext/sqlite-jdbc-3.6.20.jar"/>
+        <!--<copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.6.20-javadoc.jar" tofile="${basedir}/DataModel/release/modules/ext/sqlite-jdbc-3.6.20-javadoc.jar"/>
+        <copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.6.20-sources.jar" tofile="${basedir}/DataModel/release/modules/ext/sqlite-jdbc-3.6.20-sources.jar"/> -->
+    </target>
+
+    <!-- This target will create a custom ZIP file for us.  It first uses the general
+      ZIP target and then opens it up and adds in any files that we want.  This is where we customize the
+      version number. -->
+    <target name="build-zip" depends="suite.build-zip">
+        <property name="nbdist.dir" value="dist"/>
+        <property name="release.dir" value="${nbdist.dir}/${app.name}"/>
+
+        <!-- step (2) unzip the result  -->
+        <property name="zip-tmp" value="${nbdist.dir}/tmp"/>
+        <delete dir="${zip-tmp}"/>
+        <mkdir dir="${zip-tmp}"/>
+        <unzip src="${nbdist.dir}/${app.name}.zip" dest="${zip-tmp}"/>
+
+        <!-- step (3) do your copying stuff here, check the ant doc for copy, move, etc file -->
+        <copy file="${basedir}/README.txt" tofile="${zip-tmp}/${app.name}/README.txt"/>
+        <copy file="${basedir}/LICENSE-2.0.txt" tofile="${zip-tmp}/${app.name}/LICENSE-2.0.txt"/>
+        
+        <!-- step (4) zip again, but with the version numbers in the dir -->
+        <zip destfile="${nbdist.dir}/${app.name}-${app.version}.zip">
+            <zipfileset dir="${zip-tmp}/${app.name}" prefix="${app.name}-${app.version}"/>
+        </zip>
+
+        <delete dir="${zip-tmp}"/>
+        <delete file="${nbdist.dir}/${app.name}.zip"/>
+
+        <echo message=" "/>
+        <echo message="cleaning and finalizing release" />
+        <delete dir="${release.dir}"/>
+    </target>
+
+
+    <target name="-init" depends="-taskdefs,-convert-old-project,getExternals">
+        <convertclusterpath from="${cluster.path.evaluated}" to="cluster.path.final" id="cluster.path.id"/>
+        <property file="nbproject/private/private.properties"/>
+        <property file="nbproject/project.properties"/>
+        <sortsuitemodules unsortedmodules="${modules}" sortedmodulesproperty="modules.sorted"/>
+        <property name="cluster" location="build/cluster"/>
+        <echo level="verbose">Suite in ${basedir} with clusters ${cluster.path.final}, build cluster ${cluster}, and sorted modules ${modules.sorted}</echo>
+        <!-- synchronize with SuiteProject -->
+        <property name="disabled.modules" value=""/>
+        <property name="enabled.clusters" value=""/>
+        <property name="disabled.clusters" value=""/>
+        <property name="app.version" value="0.1"/>
+        <property name="branding.dir" location="branding"/>
+        <property name="dist.dir" location="dist"/>
+        <!-- MOVE THE .DLL FILES TO THE NETBEANS DIRECTORY -->
+
+        <condition property="run.branding"> <!-- #84689 -->
+            <and>
+                <available file="${branding.dir}" type="dir"/>
+                <isset property="branding.token"/>
+            </and>
+        </condition>
+    </target>
+
+    <target name="jni" depends="build,findTSK">
+        <javah verbose="yes" outputFile="${env.TSK_HOME}/bindings/java/tsk_jni/tsk_jni/dataModel_SleuthkitJNI.h">
+            <class name="org.sleuthkit.datamodel.SleuthkitJNI" />
+            <classpath  refid="jni-path"/>
+        </javah>
+    </target>
+    
+    <target name="javadoc" depends="-init,-hide-excluded-modules">
+        <subant target="javadoc" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false" />
+    </target>
+</project>
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
new file mode 100644
index 0000000000..253a284f00
--- /dev/null
+++ b/nbproject/build-impl.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="Autopsy3-impl" basedir=".." xmlns:sproject="http://www.netbeans.org/ns/nb-module-suite-project/1">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/platform-private.properties"/>
+    <property file="nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-suite-project/1">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-suite-project/1">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <sproject:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir"/>
+    <sproject:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir"/>
+    <sproject:evalprops property="cluster.path.evaluated" value="${cluster.path}"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <fail message="Cannot find NetBeans build harness. ${line.separator}Check that nbplatform.${nbplatform.active}.netbeans.dest.dir and nbplatform.${nbplatform.active}.harness.dir are defined. ${line.separator}On a developer machine these are normally defined in ${user.properties.file}=${netbeans.user}/build.properties ${line.separator}but for automated builds you should pass these properties to Ant explicitly.">
+        <condition>
+            <not>
+                <available type="dir" file="${harness.dir}"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/suite.xml"/>
+</project>
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
new file mode 100644
index 0000000000..542aedb4cc
--- /dev/null
+++ b/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=2e7964b0
+build.xml.script.CRC32=f6b177dc
+build.xml.stylesheet.CRC32=eaf9f76a@1.42.2
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=2e7964b0
+nbproject/build-impl.xml.script.CRC32=14b0b78d
+nbproject/build-impl.xml.stylesheet.CRC32=183e6ef3@1.42.2
diff --git a/nbproject/platform.properties b/nbproject/platform.properties
new file mode 100644
index 0000000000..38ecd5a92e
--- /dev/null
+++ b/nbproject/platform.properties
@@ -0,0 +1,99 @@
+cluster.path=\
+    ${nbplatform.active.dir}/java:\
+    ${nbplatform.active.dir}/platform
+disabled.modules=\
+    org.apache.tools.ant.module,\
+    org.netbeans.api.debugger.jpda,\
+    org.netbeans.api.java,\
+    org.netbeans.libs.cglib,\
+    org.netbeans.libs.javacapi,\
+    org.netbeans.libs.javacimpl,\
+    org.netbeans.libs.jsr223,\
+    org.netbeans.libs.springframework,\
+    org.netbeans.modules.ant.browsetask,\
+    org.netbeans.modules.ant.debugger,\
+    org.netbeans.modules.ant.freeform,\
+    org.netbeans.modules.ant.grammar,\
+    org.netbeans.modules.ant.kit,\
+    org.netbeans.modules.beans,\
+    org.netbeans.modules.classfile,\
+    org.netbeans.modules.dbschema,\
+    org.netbeans.modules.debugger.jpda,\
+    org.netbeans.modules.debugger.jpda.ant,\
+    org.netbeans.modules.debugger.jpda.projects,\
+    org.netbeans.modules.debugger.jpda.ui,\
+    org.netbeans.modules.form,\
+    org.netbeans.modules.form.j2ee,\
+    org.netbeans.modules.form.kit,\
+    org.netbeans.modules.hibernate,\
+    org.netbeans.modules.hibernatelib,\
+    org.netbeans.modules.hudson.ant,\
+    org.netbeans.modules.hudson.maven,\
+    org.netbeans.modules.i18n,\
+    org.netbeans.modules.i18n.form,\
+    org.netbeans.modules.j2ee.core.utilities,\
+    org.netbeans.modules.j2ee.eclipselink,\
+    org.netbeans.modules.j2ee.eclipselinkmodelgen,\
+    org.netbeans.modules.j2ee.jpa.refactoring,\
+    org.netbeans.modules.j2ee.jpa.verification,\
+    org.netbeans.modules.j2ee.metadata,\
+    org.netbeans.modules.j2ee.metadata.model.support,\
+    org.netbeans.modules.j2ee.persistence,\
+    org.netbeans.modules.j2ee.persistence.kit,\
+    org.netbeans.modules.j2ee.persistenceapi,\
+    org.netbeans.modules.j2ee.toplinklib,\
+    org.netbeans.modules.java.api.common,\
+    org.netbeans.modules.java.debug,\
+    org.netbeans.modules.java.editor,\
+    org.netbeans.modules.java.editor.lib,\
+    org.netbeans.modules.java.examples,\
+    org.netbeans.modules.java.freeform,\
+    org.netbeans.modules.java.guards,\
+    org.netbeans.modules.java.helpset,\
+    org.netbeans.modules.java.hints,\
+    org.netbeans.modules.java.hints.processor,\
+    org.netbeans.modules.java.j2seplatform,\
+    org.netbeans.modules.java.j2seproject,\
+    org.netbeans.modules.java.kit,\
+    org.netbeans.modules.java.lexer,\
+    org.netbeans.modules.java.navigation,\
+    org.netbeans.modules.java.platform,\
+    org.netbeans.modules.java.preprocessorbridge,\
+    org.netbeans.modules.java.project,\
+    org.netbeans.modules.java.source,\
+    org.netbeans.modules.java.source.ant,\
+    org.netbeans.modules.java.sourceui,\
+    org.netbeans.modules.javadoc,\
+    org.netbeans.modules.javawebstart,\
+    org.netbeans.modules.jellytools,\
+    org.netbeans.modules.jellytools.java,\
+    org.netbeans.modules.junit,\
+    org.netbeans.modules.maven,\
+    org.netbeans.modules.maven.coverage,\
+    org.netbeans.modules.maven.embedder,\
+    org.netbeans.modules.maven.grammar,\
+    org.netbeans.modules.maven.graph,\
+    org.netbeans.modules.maven.hints,\
+    org.netbeans.modules.maven.indexer,\
+    org.netbeans.modules.maven.junit,\
+    org.netbeans.modules.maven.kit,\
+    org.netbeans.modules.maven.model,\
+    org.netbeans.modules.maven.osgi,\
+    org.netbeans.modules.maven.persistence,\
+    org.netbeans.modules.maven.repository,\
+    org.netbeans.modules.maven.search,\
+    org.netbeans.modules.maven.spring,\
+    org.netbeans.modules.projectimport.eclipse.core,\
+    org.netbeans.modules.projectimport.eclipse.j2se,\
+    org.netbeans.modules.refactoring.java,\
+    org.netbeans.modules.spellchecker.bindings.java,\
+    org.netbeans.modules.spring.beans,\
+    org.netbeans.modules.swingapp,\
+    org.netbeans.modules.websvc.jaxws21,\
+    org.netbeans.modules.websvc.jaxws21api,\
+    org.netbeans.modules.websvc.saas.codegen.java,\
+    org.netbeans.modules.xml.jaxb,\
+    org.netbeans.modules.xml.tools.java,\
+    org.openide.compat,\
+    org.openide.util.enumerations
+nbplatform.active=default
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644
index 0000000000..1cf6268547
--- /dev/null
+++ b/nbproject/project.properties
@@ -0,0 +1,28 @@
+app.icon=branding/core/core.jar/org/netbeans/core/startup/frame48.gif
+app.name=autopsy
+app.title=Autopsy
+app.version=3.0.0b1
+auxiliary.org-netbeans-modules-apisupport-installer.license-type=apache.v2
+auxiliary.org-netbeans-modules-apisupport-installer.os-linux=false
+auxiliary.org-netbeans-modules-apisupport-installer.os-macosx=false
+auxiliary.org-netbeans-modules-apisupport-installer.os-solaris=false
+auxiliary.org-netbeans-modules-apisupport-installer.os-windows=true
+auxiliary.org-netbeans-modules-apisupport-installer.pack200-enabled=false
+branding.token=${app.name}
+modules=\
+    ${project.org.sleuthkit.autopsy.directorytree}:\
+    ${project.org.sleuthkit.autopsy.menuactions}:\
+    ${project.org.sleuthkit.autopsy.corecomponentinterfaces}:\
+    ${project.org.sleuthkit.autopsy.corecomponents}:\
+    ${project.org.sleuthkit.autopsy.filesearch}:\
+    ${project.org.sleuthkit.autopsy.datamodel}:\
+    ${project.org.sleuthkit.autopsy.logging}:\
+    ${project.org.sleuthkit.autopsy.casemodule}
+project.org.sleuthkit.autopsy.casemodule=Case
+project.org.sleuthkit.autopsy.corecomponentinterfaces=CoreComponentInterfaces
+project.org.sleuthkit.autopsy.corecomponents=CoreComponents
+project.org.sleuthkit.autopsy.directorytree=DirectoryTree
+project.org.sleuthkit.autopsy.filesearch=FileSearch
+project.org.sleuthkit.autopsy.logging=Logging
+project.org.sleuthkit.autopsy.menuactions=MenuActions
+project.org.sleuthkit.autopsy.datamodel=DataModel
diff --git a/nbproject/project.xml b/nbproject/project.xml
new file mode 100644
index 0000000000..d93a72bfcc
--- /dev/null
+++ b/nbproject/project.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project.suite</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-suite-project/1">
+            <name>Autopsy3</name>
+        </data>
+    </configuration>
+</project>
-- 
GitLab