Îõ³h&¹Ã)      !"#$%&'(.Run processes and interact with them in reflexNone'(?ÏÙ^reflex-processThe output of a processreflex-process«Fires whenever there's some new stdout output. Depending on the buffering strategy of the implementation, this could be anything from whole lines to individual characters.reflex-process;Fires whenever there's some new stderr output. See note on .reflex-process&Fires when the process is over and no stdout or stderr* data is left. Once this fires, no other )"s for the process will fire again.reflex-process?Fires when a signal has actually been sent to the process (via  ).reflex-processThe inputs to a process reflex-processstdin input to be fed to the process reflex-processSignals to send to the process reflex-processôA message that's sent to the underlying process. This does NOT include a trailing newline when sending your message. reflex-processßSend an EOF to the underlying process. Once this is sent no further messages will be processed.reflex-processáSend the last message along with an EOF. Once this is sent no further messages will be processed.reflex-process A default  where stdin and signals are never sent.You can also use *.reflex-process+Create a process feeding it input using an ) and exposing its output )&s representing the process exit code, stdout, and stderr.The stdout and stderr +s are line-buffered.ÝN.B. The process input is buffered with an unbounded channel! For more control of this, use  directly. N.B.: The ,, -, and . parameters of the provided /Ê are replaced with new pipes and all output is redirected to those pipes.reflex-process+Create a process feeding it input using an ) and exposing its output with )s for its exit code, stdout, and stderrÖ. The input is fed via a buffer represented by a reading action and a writing action.The stdout and stderr +s are line-buffered.For example, you may use Chan for an unbounded buffer (like  does) like this: ç channel <- liftIO newChan createProcessBufferingInput (readChan channel) (writeChan channel) myConfigSimilarly you could use TChan.ÊBounded buffers may cause the Reflex network to block when you trigger an ); that would cause more data to be sent to a process whose stdin is blocked.ÿIf an unbounded channel would lead to too much memory usage you will want to consider * speeding up the consuming process. * buffering with the file system or another persistent storage to reduce memory usage. * if your usa case allows, dropping )$s or messages that aren't important. N.B.: The ,, -, and . parameters of the provided /Ê are replaced with new pipes and all output is redirected to those pipes.reflex-processRuns a process and uses the given input and output handler functions to interact with the process via the standard streams. Used to implement . N.B.: The ,, -, and . parameters of the provided /Ê are replaced with new pipes and all output is redirected to those pipes.reflex-process"Specification of process to createreflex-process*Reflex-level configuration for the processreflex-process”An action that reads a value from the input stream buffer. This will run in a separate thread and must block when the buffer is empty or not ready.reflex-process9An action that writes a value to the input stream buffer.reflex-process"Specification of process to createreflex-process*Reflex-level configuration for the processreflex-process…Builder for the standard input handler. This is provided so you can link any new threads to this one to avoid leaking threads. The +" is the write end of the process' stdin and the resulting  i -> IO (): is a function that writes each input 'Event t i' to into +È. This function must not block or the entire Reflex network will block.reflex-process-Builder for the standard output handler. The +! is the read end of the process' stdout and the  o -> IO (), is a function that will trigger the output  Event t o when called. The resulting IO ()Ô will be run in a separate thread and must block until there is no more data in the + to process.reflex-process,Builder for the standard error handler. The +! is the read end of the process' stderr and the  e -> IO (), is a function that will trigger the output  Event t e when called. The resulting IO ()Ô will be run in a separate thread and must block until there is no more data in the + to process.reflex-process"Specification of process to createreflex-process*Reflex-level configuration for the process  None ©reflex-processÖAccumulator for line-based output that keeps track of any dangling, unterminated linereflex-process Empty outputreflex-processAdd some raw output to a .. This will chop the raw output up into lines.reflex-process Convert a 0 into a reflex-process Convert a  back into a 0 reflex-process;Convenience accessor for the last whole line received by a 1. Ignores any unterminated line that may follow.!reflex-processõSplit lines into two. The sequence that satisfies the predicate is consumed and will not appear in either resulting ."reflex-process±Given an event of raw bytes, fire an output event of *terminated* lines. Unterminated lines are held until the line they belong to is completed or until the flush event fires."reflex-process3Event that flushes any remaining unterminated linesreflex-processêThese will be complete lines except when the flush event fires, in which it may include unterminated lines  !"  !"1       !"#$%&'()*+,-./0123423523623789:;reflex-process-0.3.3.1-inplaceReflex.ProcessReflex.Process.LinesProcess_process_handle_process_stdout_process_stderr _process_exit_process_signal ProcessConfig_processConfig_stdin_processConfig_signalSendPipeSendPipe_Message SendPipe_EOFSendPipe_LastMessagedefProcessConfig createProcesscreateProcessBufferingInputunsafeCreateProcessWithHandlescreateRedirectedProcess$fDefaultProcessConfig$fShowSendPipe $fEqSendPipe $fOrdSendPipeLines_lines_terminated_lines_unterminated emptyLinesaddLines linesFromBSunLines lastWholeLine splitLinesOnnewLines $fMonoidLines$fSemigroupLines $fShowLines $fEqLines $fOrdLines $fReadLines%reflex-0.9.2.0-DJsB8yJNFPL22OpLTh8m38 Reflex.ClassEvent1data-default-class-0.1.2.0-4OJAKciMHbRGHw1F8M9yGOData.Default.ClassdefbaseGHC.IO.Handle.TypesHandleprocess-1.6.13.2System.Process.Commonstd_instd_outstd_err CreateProcessbytestring-0.10.12.0Data.ByteString.Internal ByteString