/// <summary>
 /// Creates an encrypted Halva package in memory. This is used to update an archive or export some files.
 /// </summary>
 /// <param name="source">The archive you want to open.</param>
 /// <param name="pwsd">The password of the archive (if it's encrypted).</param>
 public EncryptedHalvaPackage(string source, string pwsd)
 {
     WorkingArchive      = ReserveRandomArchive();
     Password            = pwsd;
     SourceLocation      = new StringBuilder(Path.GetDirectoryName(source));
     DestinationLocation = new StringBuilder(source);
     EncryptedPackageUtilities.DecompressArchive(DestinationLocation.ToString(), Password, WorkingArchive);
     ArchiveMemoryStream = ZipFile.Open(WorkingArchive, ZipArchiveMode.Update);
     PullFiles(ArchiveMemoryStream);
 }
 /// <summary>
 /// Reloads the archive for editing.
 /// </summary>
 public void ReloadArchive()
 {
     EncryptedPackageUtilities.DecompressArchive(DestinationLocation.ToString(), Password);
     ArchiveMemoryStream = ZipFile.Open(PackageUtilities.TempArchive, ZipArchiveMode.Update);
 }