UM]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ <A collection of Websocket functions to ease converting a URINone     ,Internal definitions for EJson functionalityNone26HM( !"]^_`abcdefghijklmno !" !"  !"]^_`abcdefghijklmno2Making EJsonValue Control.Lens compatible through psNoneHM#l_EJObject is a prism that allows access to the value represented by a lookup via a key in to an EJObject.This is constructed as a convenience so that you do not need to compose, or even have knowledge of the underlying HashMap implementaiton of EJObject.$\_EJString is a prism that points to the EJString constructor of the EJsonValue data-type.#qr$s#$#$#qr$sAeson instances for EJsonValueNone%qA ToJSON instance is provided for EJsonValue in order to be able to take advantage of the Aeson functionality.This is not used internally.&sA FromJSON instance is provided for EJsonValue in order to be able to take advantage of the Aeson functionality.This is not used internally.%&&%%& ;Convert between Aeson values and EJson Extended JSON valuesNone !"#$'Basic communication primitives for DDP.None'?Sends an EJsonValue to the server over the connection provided.(HPossibly gets an EJsonValue from the server over the connection provided'('('('(;An EDSL designed to make writing deadpan applications easy!NoneBHM+1The callback to run when no other callbacks match,%Callbacks to match against by message-Shared data Expected to be an EJObject , _localState :: ls -- ^ Thread-Local state -- TODO: Currently disabled;-The order of these args match that of runRWST?A low-level function intended to be able to send any arbitrary data to the server. Given that all messages to the server are intended to fit the "message" format, You should probably use @T instead. TODO: Decide if this should perform the request in a seperate thread...@Send a particular type of message (indicated by the key) to the server. This should be the primary means of [client -> server] communication by a client application.CmProvides a way to fork a background thread running the app provided TODO: Consider returning the thread-id)*+,-./0123456789:;<=>?@ABCDEF2 !"#$)*+,-./012345:;<=>?@ABCDEF.)*+,-5432/019876:;<=>?@ABCDEF)*+,-./0123456789:;<=>?@ABCDEFAIntended to provide a set of callbacks for various server events.NoneH<Initiate a subscription to a named collection on the server.5Provide an id to refer to the subscription in future. H sub (client -> server): id: string (an arbitrary client-determined identifier for this subscription) name: string (the name of the subscription) params: optional array of EJSON items (parameters to the subscription) I Synonym for HJ>Unsubscribe from an existing subscription indicated by its ID. = unsub (client -> server): id: string (the id passed to sub) K Synonym for JL-As explained in the Meteor DDP documentation: j method: string (method name) params: optional array of EJSON items (parameters to the method) id: string (an arbitrary client-determined identifier for this method call) randomSeed: optional JSON value (an arbitrary client-determined seed for pseudo-random generators) GHIJKLMNOPQRSTUVGHIJKLMNOPQRSTUVGHIJKLMNOPQRSTUVGHIJKLMNOPQRSTUVJA collection of utilities to provide a way to create and run Deadpan apps.NoneW7Run a DeadpanApp against a set of connection parametersyAutomatically spawns a background thread to respond to server messages using the callback set provided in the App State.X7Run a DeadpanApp against a set of connection parametersfDoes not register any callbacks to handle server messages automatically. This can be done with the D function from Web.DDP.Deadpan.DSL.FUseful for running one-shot command-set applications... Not much else.YA client that registers no initial callbacks Note: !!! This does not respond to ping, so you better perform your actions quickly!Z>A client that only responds to pings so that it can stay alive[>A client that logs all server sent messages, responds to pings\5A client that responds to server collection messages.TODO: NOT YET IMPLEMENTEDWXYZ[\utuvwxyz{|}~  !"#$)*+,-./012345:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ WXYZ[\ WXYZ[\   !"#$%&'()*+,-./01234567789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Deadpan-DDP-0.3.0.2Web.DDP.Deadpan.DSLWeb.DDP.DeadpanWeb.DDP.Deadpan.WebsocketsData.EJson.EJsonData.EJson.PrismData.EJson.AesonWeb.DDP.Deadpan.CommsWeb.DDP.Deadpan.Callbacks Data.EJson text-1.2.0.0Data.Text.InternalTexttransformers-0.3.0.0Control.Monad.IO.ClassliftIOParamsErrorPathPortDomainURL?>>>getURIprop_getURI_fullprop_getURI_missingPortexecURIsetupApp EJsonValueEJNullEJUserEJBinaryEJDateEJBoolEJNumberEJStringEJArrayEJObject ejson2value value2EJsonejobjectejarrayejstringejnumberejboolejdateejbinaryejuserejnull _EJObject _EJString$fToJSONEJsonValue$fFromJSONEJsonValuesendEJgetEJAppState_defaultCallback _callbackSet _collectionsLookup DeadpanApp _deadpanAppCallback callbackSet collectionsdefaultCallback$fMonadIODeadpanApp$fApplicativeDeadpanApp$fFunctorDeadpanApp$fMonadDeadpanApp deadpanApp runDeadpan setHandler deleteHandlersetDefaultHandlersendData sendMessage getAppStateconnectforksetupgetServerMessagerespondToMessage pingCallback clientDataSub subscribeclientDataUnsub unsubscribeclientRPCMethodserverDataNosubserverDataAddedserverDataChangedserverDataRemovedserverDataReadyserverDataAddedBeforeserverDataMovedBeforeserverRPCResultserverRPCUpdated serverError runClientrunUnhookedClient bareClient pingClient loggingClientcollectiveClient simpleKey integer2date parseDate parseBinary parseUser parseEscapedisDateisBinaryisUser isEscaped simpleObj escapeObject makeJsonDatemakeUser$fConvertibleCTimeScientific$fNumEJsonValue$fMonoidEJsonValue$fIsStringEJsonValue$fShowEJsonValuelens-4.6Control.Lens.TypePrismprop_ejopristest_nullprop_ejopristest_objectprop_ejspristest_stringbaseGHC.Basefail>>=>>fmapreturn Control.MonadguardliftMjoinMonadFunctor MonadPlusmplusmzeromfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<