From ee7ffadfbdb35511cbbab5d08dc7cda7c9231819 Mon Sep 17 00:00:00 2001 From: Christian Damken Date: Tue, 23 Apr 2013 12:51:52 +0200 Subject: [PATCH] - moved doc/reference.rtf to doc/protocol_reference.odt - asrc-server.py structured and commented - minor changes to protocol - protocol partly implemented in asrc-server.py --- asrc-server.py | 172 ++++++++++++++++++++----------------- doc/protocol_reference.odt | Bin 0 -> 19548 bytes doc/reference.rtf | 149 -------------------------------- 3 files changed, 95 insertions(+), 226 deletions(-) create mode 100644 doc/protocol_reference.odt delete mode 100644 doc/reference.rtf diff --git a/asrc-server.py b/asrc-server.py index b369a83..b65105f 100755 --- a/asrc-server.py +++ b/asrc-server.py @@ -25,8 +25,8 @@ # aSRC (Aliased Server Remote Control) # - SERVER - # -# program version: 0.0.0.20130422 -# protocol version: 0.2.20130422 +# program version: 0.0.0.20130423 +# protocol version: 0.2.20130423 # # @@ -35,6 +35,81 @@ import sys, os, socket, socketserver, threading, time +def motd(): + return MOTD + + +def content(client_address, data): + ret = "" + + ret = ret + + "{BEGIN}\n"\ + "asrcp" + ProtocolVersion + "\n" + + # Look if the received message is an + # valid alias or a predefined command + + # if it's 'version', return the server and protocol version + if data == "version": + + if DEBUGLEVEL >= 2: print("Got valid service command from" + + str(client_address) + ": ", data) + + ret = ret + + "202 Valid Service Command\n"\ + "002 Version\n"\ + "ServerVersion:" + ServerVersion + "\n"\ + "ProtocolVersion:" + ProtocolVersion + "\n" + + # if it's 'help', give a little help + elif data == 'help': + + if DEBUGLEVEL >= 2: print("Got valid command from" + + str(client_address) + ": ", data) + + # send status code + ret = ret + "202 Valid Service Command\n\n" + + # send the list of aliases + ret = ret + "Aviable aliases:\n" + for i in aliases.keys(): + ret = ret + str(i) + "\n" + + # if it's a valid userdefined command + elif data in aliases: + + # send status code + ret = ret + "201 Valid Command\n\n" + + # ohmagawd! a debug message!!1! + if DEBUGLEVEL >= 2: print("Got valid command from" + + str(client_address) + ": ", data) + + # execute the aliased command + g_dict, l_dict = {}, {} + exec(str(aliases[data]), g_dict, l_dict) + + # send may contain data to send to the client + if l_dict["send"]: + content = str(l_dict["send"]).replace('{', '\{') + content = content.replace('}', '\}') + + ret = ret + content + "\n" + + # ALL IS LOST!!1! this has to be invalid! + else: + + # send status code + ret = ret + "203 Invalid Command\n" + + if DEBUGLEVEL >= 2: print("Got invalid command from", + str(client_address), ": ", data) + + ret = ret + "{END}\n" + + return ret + + class ThreadedRequestHandler(socketserver.StreamRequestHandler): def handle(self): @@ -46,76 +121,19 @@ class ThreadedRequestHandler(socketserver.StreamRequestHandler): if DEBUGLEVEL >=3: print("Client connected: " + str(self.client_address)) - # Send MOTD - self.request.sendall(bytes(motd + "\r\n", ENCODING)) + # send header line 1 + self.request.sendall(bytes + ("asrpc " + ProtocolVersion + "\n", ENCODING)) + + # send motd + self.request.sendall(bytes(motd() + "\n", ENCODING)) # Receive data self.data = str(self.rfile.readline().strip(), ENCODING) - - # Look if the received message is an - # valid alias or a predefined command - - # if it's 'version', return the server and protocol version - if self.data == "version": - - if DEBUGLEVEL >= 2: print("Got valid service command from" - + str(self.client_address) + ": ", self.data) - - # send status code - self.request.sendall(bytes("000 Received 'version'", ENCODING)) - - # send response - self.request.sendall(bytes( - "Server: " + ServerVersion + "\r\n"\ - "Protocol: " + ProtocolVersion + "\r\n", ENCODING)) - - # if it's 'help', give a little help - elif self.data == 'help': - - if DEBUGLEVEL >= 2: print("Got valid command from" - + str(self.client_address) + ": ", self.data) - - # send status code - self.request.sendall(bytes("000 Received 'help'", ENCODING)) - - # send the list of aliases - self.request.sendall(bytes("Aviable aliases:\r\n", ENCODING)) - for i in aliases.keys(): - self.request.sendall(bytes(str(i) + "\r\n", ENCODING)) - self.request.sendall(bytes("\r\n", ENCODING)) - - # if it's a valid userdefined command - elif self.data in aliases: - - # send status code - self.request.sendall(bytes( - "<<:0x0130:Received valid command\r\n", ENCODING)) - - # ohmagawd! a debug message!!1! - if DEBUGLEVEL >= 2: print("Got valid command from" - + str(self.client_address) + ": ", self.data) - - # execute the aliased command - g_dict, l_dict = {}, {} - exec(str(aliases[self.data]), g_dict, l_dict) - - # send may contain data to send to the client - if l_dict["send"]: - self.request.sendall(bytes(str( - l_dict["send"]) + "\r\n", ENCODING)) - else: - self.request.sendall(bytes("\r\n", ENCODING)) - - # ALL IS LOST!!1! this have to be invalid! - else: - - # send status code - self.request.sendall(bytes( - "<<:0x0230:Received invalid command\r\n", ENCODING)) - - if DEBUGLEVEL >= 2: print("Got invalid command from", - str(self.client_address), ": ", self.data) + # content handler + self.request.sendall(bytes( + content(str(self.client_address), self.data), ENCODING)) class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer): @@ -123,10 +141,10 @@ class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer): def main(): - print("aSRC Server\r\n"\ - "Server version: " + ServerVersion + "\r\n"\ - "Protocol version: " + ProtocolVersion + "\r\n\r\n"\ - "To stop the server, press Ctrl-C\r\n") + print("aSRC Server\n"\ + "Server version: " + ServerVersion + "\n"\ + "Protocol version: " + ProtocolVersion + "\n\n"\ + "To stop the server, press Ctrl-C\n") try: if DEBUGLEVEL >= 1: print("Initializing server...") @@ -146,24 +164,24 @@ def main(): time.sleep(10) except KeyboardInterrupt: - print("\r\nGot Ctrl-C, shutting down server...") + print("\nGot Ctrl-C, shutting down server...") try: server.shutdown() except: print("Failed to shutdown server correctly, "\ "socket may be still in use or wasn't even started:", sys.exc_info()) except: - print("\r\nAn error occured:\r\n", sys.exc_info(), "\r\n") + print("\nAn error occured:\n", sys.exc_info(), "\n") - if DEBUGLEVEL >= 3: input("Press Enter to continue\r\n") + if DEBUGLEVEL >= 3: input("Press Enter to continue\n") return 0 if __name__ == '__main__': ServerVersion = "0.0.0" - ProtocolVersion = "0.0.0" + ProtocolVersion = "0.2" ############## @@ -213,7 +231,7 @@ send = subprocess.check_output(["ping", "-c 2", "fanir.de"]) ''') # This is sent to the client after the connection is established - motd = "Welcome! This is only a test server, for developing purposes.\r\n"\ + MOTD = "Welcome! This is only a test server, for developing purposes.\n"\ "Here (may) be more text..." # Verbosity of logging. diff --git a/doc/protocol_reference.odt b/doc/protocol_reference.odt new file mode 100644 index 0000000000000000000000000000000000000000..174b91b7b8dda8a2ad5d8d88233ed68eeb63378e GIT binary patch literal 19548 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 literal 0 HcmV?d00001 diff --git a/doc/reference.rtf b/doc/reference.rtf deleted file mode 100644 index 20a35aa..0000000 --- a/doc/reference.rtf +++ /dev/null @@ -1,149 +0,0 @@ -{\rtf1\ansi\deff3\adeflang1025 -{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset128 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset128 Liberation Sans{\*\falt Arial};}{\f5\fmodern\fprq1\fcharset128 DejaVu Sans Mono;}{\f6\fnil\fprq2\fcharset128 WenQuanYi Zen Hei Sharp;}{\f7\fmodern\fprq1\fcharset128 WenQuanYi Zen Hei Sharp;}{\f8\fnil\fprq2\fcharset128 Lohit Devanagari;}{\f9\fnil\fprq0\fcharset128 Lohit Devanagari;}{\f10\fmodern\fprq1\fcharset128 Lohit Devanagari;}} -{\colortbl;\red0\green0\blue0;\red128\green0\blue0;\red255\green255\blue0;\red128\green128\blue128;} -{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af6\langfe2052\dbch\af8\afs24\alang1081\loch\f3\fs24\lang1031 Standard;} -{\s1\sbasedon15\snext16\ilvl0\outlinelevel0\sb240\sa120\keepn\b\hich\af6\dbch\af8\afs32\ab\loch\f4\fs32 \u220\'3fberschrift 1;} -{\s2\sbasedon15\snext16\ilvl1\outlinelevel1\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs28\ai\ab\loch\f4\fs28 \u220\'3fberschrift 2;} -{\s3\sbasedon15\snext16\ilvl2\outlinelevel2\sb240\sa120\keepn\b\hich\af6\dbch\af8\afs28\ab\loch\f4\fs28 \u220\'3fberschrift 3;} -{\s4\sbasedon15\snext16\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23 \u220\'3fberschrift 4;} -{\s15\sbasedon0\snext16\sb240\sa120\keepn\hich\af6\dbch\af8\afs28\loch\f4\fs28 \u220\'3fberschrift;} -{\s16\sbasedon0\snext16\sb0\sa120 Textk\u246\'3frper;} -{\s17\sbasedon16\snext17\sb0\sa120\dbch\af9 Liste;} -{\s18\sbasedon0\snext18\sb120\sa120\noline\i\dbch\af9\afs24\ai\fs24 Beschriftung;} -{\s19\sbasedon0\snext19\noline\dbch\af9 Verzeichnis;} -{\s20\sbasedon0\snext20\li0\ri0\lin0\rin0\fi0\sb0\sa0\hich\af7\dbch\af10\afs20\loch\f5\fs20 Vorformatierter Text;} -{\s21\sbasedon0\snext21\noline Tabellen Inhalt;} -{\s22\sbasedon21\snext22\qc\noline\b\ab Tabellen \u220\'3fberschrift;} -}{\*\listtable{\list\listtemplateid1 -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-432\li432} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-576\li576} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-720\li720} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-864\li864} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1008\li1008} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1152\li1152} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1296\li1296} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1440\li1440} -{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1584\li1584}\listid1} -}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}{\info{\author Fanir }{\creatim\yr2013\mo4\dy22\hr21\min58}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern3500}}\deftab709\deftab643 - -{\*\pgdsctbl -{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}} -\formshade\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc -\pgndec\pard\plain \s1\ilvl0\outlinelevel0\sb240\sa120\keepn\b\hich\af6\dbch\af8\afs32\ab\loch\f4\fs32{\listtext\pard\plain \tab}\ls1 \li432\ri0\lin432\rin0\fi-432\sb240\sa120{\rtlch \ltrch\loch\lang1033 -Protocol reference} -\par \pard\plain \s2\ilvl1\outlinelevel1\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs28\ai\ab\loch\f4\fs28{\listtext\pard\plain \tab}\ls1 \li576\ri0\lin576\rin0\fi-576{\rtlch \ltrch\loch\lang1033 -Abstract} -\par \pard\plain \s16\sb0\sa120{\rtlch \ltrch\loch\lang1033 -The current protocol version is 0.2.20130422} -\par \pard\plain \s16\sb0\sa120{\i\ai\rtlch \ltrch\loch\lang1033 -Warning: The protocol is still in development and may change often!} -\par \pard\plain \s2\ilvl1\outlinelevel1\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs28\ai\ab\loch\f4\fs28{\listtext\pard\plain \tab}\ls1 \li576\ri0\lin576\rin0\fi-576{\rtlch \ltrch\loch\lang1033 -Structure} -\par \pard\plain \s20\li0\ri0\lin0\rin0\fi0\sb0\sa0\hich\af7\dbch\af10\afs20\loch\f5\fs20{\rtlch \ltrch\loch\lang1033 -asrcp \line \line

\line \line } -\par \pard\plain \s2\ilvl1\outlinelevel1\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs28\ai\ab\loch\f4\fs28{\listtext\pard\plain \tab}\ls1 \li576\ri0\lin576\rin0\fi-576{\rtlch \ltrch\loch\lang1033 -Header lines} -\par \pard\plain \s16\sb0\sa120{\rtlch \ltrch\loch\lang1033 -Header lines have the form:} -\par \pard\plain \s16\sb0\sa120{\rtlch \ltrch\loch\lang1033 -name=value} -\par \pard\plain \s16\sb0\sa120{\rtlch \ltrch\loch\lang1033 -The following attributes are available:} -\par \pard\plain \s16\sb0\sa120{\rtlch \ltrch\loch\lang1033 -[[[[ INSART MOAR 'ERE!!1! ^_^ ]]]]} -\par \pard\plain \s2\ilvl1\outlinelevel1\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs28\ai\ab\loch\f4\fs28{\listtext\pard\plain \tab}\ls1 \li576\ri0\lin576\rin0\fi-576{\rtlch \ltrch\loch\lang1033 -Status Codes} -\par \trowd\trql\ltrrow\trrh472\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s22\qc\noline\b\ab\intbl{\rtlch \ltrch\loch\lang1033 -Code}\cell\pard\plain \s22\qc\noline\b\ab\intbl{\rtlch \ltrch\loch\lang1033 -Description}\cell\pard\plain \s22\qc\noline\b\ab\intbl{\rtlch \ltrch\loch\lang1033 -Annotations}\cell\row\pard\trowd\trql\ltrrow\trrh472\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s3\ilvl2\outlinelevel2\sb240\sa120\keepn\b\hich\af6\dbch\af8\afs28\ab\loch\f4\fs28\intbl{\listtext\pard\plain \tab}\ls1 \li720\ri0\lin720\rin0\fi-720\sb240\sa120{\rtlch \ltrch\loch\lang1033 -000 - 400 server side}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -000 information}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -001}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -OK}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -002}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Server Version}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -003}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Protocol Version}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -004}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -MOTD}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -100 authentication and maintenance}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -101}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Challenge}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -102}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Success}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -103}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Failure}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -104}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Too Many Tries}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -200 command}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -201}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Valid}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -202}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Valid Service Command}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -203}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Invalid}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -204}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Failed}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -205}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Continue}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -300 program}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -301}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Unhandled Exception}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -302}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Shutting Down}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -303}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Restarting}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -305}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Encoding Failure}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -306}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -SSL Error}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s3\ilvl2\outlinelevel2\sb240\sa120\keepn\b\hich\af6\dbch\af8\afs28\ab\loch\f4\fs28\intbl{\listtext\pard\plain \tab}\ls1 \li720\ri0\lin720\rin0\fi-720\sb240\sa120{\rtlch \ltrch\loch\lang1033 -500 - 900 client side}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -500 information}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -501}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -OK}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -502}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Client Version}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -503}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Protocol Version}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -600 authentication and maintenance}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -601}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Response}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -602}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Failure}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -700 command}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -700}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Request}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -701}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -Cancel}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrt\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s4\ilvl3\outlinelevel3\sb240\sa120\keepn\i\b\hich\af6\dbch\af8\afs23\ai\ab\loch\f4\fs23\intbl{\listtext\pard\plain \tab}\ls1 \li864\ri0\lin864\rin0\fi-864\sb240\sa120{\rtlch \ltrch\loch\lang1033 -800 Program}\cell\row\pard\trowd\trql\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx698\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\cellx4113\clbrdrl\brdrhair\brdrw1\brdrcf1\clbrdrb\brdrhair\brdrw1\brdrcf1\clbrdrr\brdrhair\brdrw1\brdrcf1\cellx9638\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -801}\cell\pard\plain \s21\noline\intbl{\rtlch \ltrch\loch\lang1033 -SSL Error}\cell\pard\plain \s21\noline\intbl\rtlch \ltrch\loch\lang1033 -\cell\row\pard\pard\plain \s16\sb0\sa120\sb0\sa120\rtlch \ltrch\loch\lang1033 - -\par } \ No newline at end of file