anchor.diff:  
         function Connect: boolean;
         procedure Disconnect;
  -      function GetProto: string;
  +      function CheckProto: boolean;
         procedure Log(Message: string);
         procedure ParseHGDPacket(Packet: string; List: TStringList);
         function ProcessReply(Reply: string; var Msg: string): boolean;
  
positive.code:   end;
  end;
  
  function THGDClient.GetProto: string;
  var
    Reply: ansistring;
  begin
    Result := '';
    Log('Getting Proto...');
    Socket.SendString('proto' + ProtoLineEnding);
    Reply := ReceiveString();
    Log('proto reply: ' + Reply);
    if not ProcessReply(Reply, Result) then
      Result := '';
  end;
  
  function THGDClient.GetPlaylist(var PList: TPlaylist): boolean;
  
negative.code:   Classes, SysUtils, BlckSock, StdCtrls, FileUtil, ssl_openssl, LCLProc;
  
  const
    HGD_PROTO_MAJOR: integer = 8;
    HGD_PROTO_MINOR: integer = 0;
  
    //The hgd protocol is telnet based, use CRLF as LineEnding
    ProtoLineEnding = CRLF;
  
  