:w2\]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\None0 ]^_`ab      ]^_`abNone0 cdefgh    cdefghNone0!"#$%&'()*+,-./ijklmn!"#$%&'()*+,-./+,-./%&'()*!"#$ !"#$%&'()*+,-./ijklmnNone00123456789:;<=>opqrst0123456789:;<=>89:;<=>45670123 0123456789:;<=>opqrstNone0?@ABCDEFGHIJuvwxyz?@ABCDEFGHIJGHIJCDEF?@AB ?@ABCDEFGHIJuvwxyzNone0 KLMNOPQ{|}~ KLMNOPQ NOPQKLMKLMNOPQ{|}~*Haskell version of the Help.com ESB Client(c) Help.com, LLC, 2014MITalex.martin@help.comStableUNIXNone06The  is similar to R5, just with an option to involve external resources.The 6 method takes a socket and reads some kind of payload.RThe RA class determines how a message from the ESB should be recieved.SThe S6 method takes a socket and reads some kind of payload.The  is similar to T5, just with an option to involve external resources.The 7 method takes a socket and writes some kind of payload.TThe T: class determines how a message should be sent to the ESB.UThe U7 method takes a socket and writes some kind of payload.VThe VR function simply logs out in a consistent way. Will be updated to be more robust.WThe WH function takes a host and port and connects to and returns the socket.XThe Xp function accepts a socket and bytes, converts the bytes to cleaned up JSON, and writes the JSON to the socket.YThe YS function accepts a socket and grabs whatever data might be in the latest message.ZThe Ze function accepts a socket, reads and cleans up any JSON for parsing, and returns the bytes of JSON.[The [C function initializes the socket connection and logs into the ESB.\The \E function performs all essential listening logic for any ESB client.The R instance for a Login response.The T$ instance for an Event post request.The T* instance for an Event Group post request.The T instance for a login request.The socket connection. The payload.:Another resource to be used, i.e. DB connection, API, etc.Any IO output.RSThe socket connection. The payload.Any IO output.The socket connection. The payload.:Another resource to be used, i.e. DB connection, API, etc.Any IO output.TUThe socket connection. The payload.Any IO output.VMessaged to be logged. IO output.W Host address. Host port.The socket connection.XThe socket connection.The JSON bytestring payload.Any IO output.YThe socket connection.Any IO output.ZThe socket connection.The JSON bytestring payload.[ Group name.Subscriptions./Host address or Nothing. Defaults to 127.0.0.1.'Host port or Nothing. Defaults to 8900.The socket connection.\The socket connection.The JSON bytestring payload.'RSTUVWXYZ[\TURSWXYZ[\VRSTUVWXYZ[\    !"#$ %&'()*+,-./0123456789:56789:56789:56789:56789:578:;<=>?@ABCDECDFCDGCDHCDICDJCDKCDLCDMCNOPQRPSTPSUPSVPSWPSXPSYPSZPS[PS\PS]PS^PS_PS`ahelp-esb-0.1.4JSON.Basic.Request HelpEsbClientJSON.API.Event.Post.Request JSON.API.EventGroup.Post.RequestJSON.Login.ResponseJSON.Login.RequestJSON.Basic.Response aeson-0.8.0.2 Data.Aeson eitherDecodedecodeData.Aeson.Encode.ByteStringencodenetwork-2.6.0.2Network.Socket.TypesSocketMessageh_metah_dataDatah_nameh_subscriptionsMetah_typeh_id h_createdAt h_content h_eventType h_senderType h_senderId h_customerIdh_grouph_eventGroupTypeh_eventGroupId h_ownerType h_ownerIdh_heartbeatInterval h_channelIdh_source h_replyToh_result EsbRecieve esbRecieveEsbSendesbSendlogger getSocketsendSocketDatareadSocketDataRawreadSocketDataesbInit esbListen$fToJSONMessage $fToJSONData $fToJSONMeta$fFromJSONMessage$fFromJSONData$fFromJSONMetaEsbRecieveExternalesbRecieveExternalEsbSendExternalesbSendExternal$fEsbRecieveMessage $fEsbSendData$fEsbSendData0$fEsbSendData1baseSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath uuid-1.3.4 Data.UUID.V4 nextRandomData.UUID.InternalfromLazyASCIIBytestoLazyASCIIBytesfromASCIIBytes toASCIIBytestoString fromString toByteStringfromByteStringnilnull fromWordstoWordsUUID