anchor.diff:    finally
       FreeMem(OutBuf, OutBytes);
     end;
  -{$ifend}
   
  -
  -  //ZLib.ZDecompress(pvInStream, pvOutStream);
   end;
   
   end.
  
positive.code:   finally
      FreeMem(OutBuf, OutBytes);
    end;
    {$ifend}
  
  
  
  //  if pvInStream= nil then Exit;
  //  if pvInStream.Size = 0 then Exit;
  //  ZLib.ZDecompressStream(pvInStream, pvOutStream);
  end;
  
  class function TZipTools.verifyData(const buf; len: Cardinal): Cardinal;
  
negative.code: end;
  
  class procedure TZipTools.ZipStream(const pvInStream, pvOutStream: TStream);
  var
    lvInBuf: TBytes;
    OutBuf: Pointer;
    OutBytes: Integer;
    l: Integer;
  
  begin
    if pvInStream= nil then exit;
    l := pvInStream.Size;
    if l = 0 then Exit;
  
    SetLength(lvInBuf, l);
    pvInStream.Position := 0;
    pvInStream.ReadBuffer(lvInBuf[0], l);
  {$if defined(NEWZLib)}
    ZLib.ZCompress(@lvInBuf[0], l, OutBuf, OutBytes);
  {$ELSE}
    ZLib.CompressBuf(@lvInBuf[0], l, OutBuf, OutBytes);
  {$ifend}
    try
      pvOutStream.Size := OutBytes;
      pvOutStream.Position := 0;
  