!G3      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                   NoneSX5 streaming-commonsA buffer allocation strategy (buf0, nextBuf)F specifies the initial buffer to use and how to compute a new buffer nextBuf minSize buf with at least size minSize from a filled buffer buf. The double nesting of the IO? monad helps to ensure that the reference to the filled buffer bufZ is lost as soon as possible, but the new buffer doesn't have to be allocated too early.Since 0.1.10.0streaming-commons A buffer Buffer fpbuf p0 op ope4 describes a buffer with the underlying byte array  fpbuf..ope, the currently written slice p0..op and the free space op..ope.Since 0.1.10.0 streaming-commons)The size of the free space of the buffer.Since 0.1.10.0 streaming-commons,The size of the written slice in the buffer.Since 0.1.10.0 streaming-commons7The size of the whole byte array underlying the buffer.Since 0.1.10.0 streaming-commonsallocBuffer size allocates a new buffer of size size.Since 0.1.10.0 streaming-commonsnResets the beginning of the next slice and the next free byte such that the whole buffer can be filled again.Since 0.1.10.0streaming-commonsConvert the buffer to a bytestring. This operation is unsafe in the sense that created bytestring shares the underlying byte array with the buffer. Hence, depending on the later use of this buffer (e.g., if it gets reset and filled again) referential transparency may be lost.Since 0.1.10.0streaming-commons0Convert a buffer to a non-empty bytestring. See : for the explanation of why this operation may be unsafe.Since 0.1.10.0streaming-commons Update the end of slice pointer.Since 0.1.10.0streaming-commonsMove the beginning of the slice to the next free byte such that the remaining free space of the buffer can be filled further. This operation is safe and can be used to fill the remaining part of the buffer after a direct insertion of a bytestring or a flush.Since 0.1.10.0streaming-commonsThe simplest buffer allocation strategy: whenever a buffer is requested, allocate a new one that is big enough for the next build step to execute.NOTE that this allocation strategy may spill quite some memory upon direct insertion of a bytestring by the builder. Thats no problem for garbage collection, but it may lead to unreasonably high memory consumption in special circumstances.Since 0.1.10.0streaming-commonsAn unsafe, but possibly more efficient buffer allocation strategy: reuse the buffer, if it is big enough for the next build step to execute.Since 0.1.10.0  None>SXIstreaming-commonsProvides a series of  ByteString4s until empty, at which point it provides an empty  ByteString.Since 0.1.10.0streaming-commonsUse a pre-existing buffer to . Since 0.1.9streaming-commonstoByteStringIOWith bufSize io b runs the builder b% with a buffer of at least the size bufSize and executes the  action io whenever the buffer is full. Compared to toLazyByteStringWith this function requires less allocation, as the output buffer is only allocated once at the start of the serialization and whenever something bigger than the current buffer size has to be copied into the buffer, which should happen very seldomly for the default buffer size of 32kb. Hence, the pressure on the garbage collector is reduced, which can be an advantage when building long sequences of bytes. Since 0.1.9streaming-commonsRun the builder with a  d buffer and execute the given 4 action whenever the buffer is full or gets flushed.   =   Since 0.1.9streaming-commonsGBuffer size (upper bounds the number of bytes forced per call to the  action).streaming-commonsG action to execute per full buffer, which is referenced by a strict .streaming-commons to run.  NoneJ}  Safe2XL##streaming-commonssymlink to file%streaming-commonssymlink to a directory !"$&#%'( '!"$&#%(Nonea$ -streaming-commonsThe data passed to an  Application.5streaming-commons&Representation of a single UDP message9streaming-commons)The data passed to a Unix domain sockets  Application.=streaming-commons*Settings for a Unix domain sockets client.Astreaming-commons*Settings for a Unix domain sockets server.Fstreaming-commonsWhich host to bind. Note: The IsString2 instance recognizes the following special values:* means HostAny - "any IPv4 or IPv6 hostname"*4 means HostIPv4. - "any IPv4 or IPv6 hostname, IPv4 preferred"!4 means  HostIPv4Only - "any IPv4 hostname"*6 means HostIPv6/@ - "any IPv4 or IPv6 hostname, IPv6 preferred"!6 means  HostIPv6Only - "any IPv6 hostname"Note that the permissive * values allow binding to an IPv4 or an IPv6 hostname, which means you might be able to successfully bind to a port more times than you expect (eg once on the IPv4 localhost 127.0.0.1 and again on the IPv6 localhost 0:0:0:0:0:0:0:1).oAny other value is treated as a hostname. As an example, to bind to the IPv4 local host only, use "127.0.0.1".Mstreaming-commonsCSettings for a TCP client, specifying how to connect to the server.Sstreaming-commons^Settings for a TCP server. It takes a port to listen on, and an optional hostname to bind to.Wstreaming-commonslistening socket.-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ.STUVWXYZMNOPQRFGHIJKL5678-./01234ABCDE=>?@9:;<NoneX$'dstreaming-commons Since 0.1.13lstreaming-commons$Attempt to connect to the given hostportaddress family using given  SocketType. Since 0.1.3mstreaming-commons6Attempt to connect to the given host/port using given  SocketType.nstreaming-commonsAttempt to bind a listening Socket% on the given host/port using given  SocketType<. If no host is given, will use the first address available.ostreaming-commonsAttempt to bind a listening Socket8 on the given host/port using given socket options and  SocketType<. If no host is given, will use the first address available. Since 0.1.17pstreaming-commonsJBind to a random port number. Especially useful for writing network tests. Since 0.1.1streaming-commonsJTop 10 Largest IANA unassigned port ranges with no unauthorized uses knownrstreaming-commons2Get a port from the IANA list of unassigned ports."Internally, this function uses an IORef# to cycle through the list of portssstreaming-commons*Attempt to connect to the given host/port.tstreaming-commonsAttempt to bind a listening SocketT on the given host/port. If no host is given, will use the first address available.ustreaming-commonsBind a random UDP port.See p Since 0.1.1vstreaming-commons8Attempt to connect to the given Unix domain socket path.wstreaming-commonsAAttempt to bind a listening Unix domain socket at the given path.xstreaming-commonsSmart constructor.ystreaming-commonsSmart constructor.{streaming-commonsSmart constructor.|streaming-commonsSmart constructor.}streaming-commonsCreate a server settings that uses an already available listening socket. Any port and host modifications made to this value will be ignored. Since 0.1.1~streaming-commonsSmart constructor.streaming-commonsSmart constructor.streaming-commons$Attempt to connect to the given hostportaddress family. Since 0.1.3streaming-commons*Attempt to connect to the given host/port.streaming-commonsAttempt to bind a listening SocketV on the given host/port. If no host is given, will use the first address available. maxListenQueue is topically 128 which is too short for high performance servers. So, we specify 'max 2048 maxListenQueue' to the listen queue.streaming-commonsBind a random TCP port.See p. Since 0.1.1streaming-commonsETry to accept a connection, recovering automatically from exceptions.As reported by Kazu against Warp, "resource exhausted (Too many open files)" may be thrown by accept(). This function will catch that exception, wait a second, and then try again.streaming-commons.Set the address family for the given settings. Since 0.1.3streaming-commons.Get the address family for the given settings. Since 0.1.3streaming-commons.Get buffer size used when reading from socket. Since 0.1.13streaming-commons.Set buffer size used when reading from socket. Since 0.1.13streaming-commonsRun an  Application with the given settings. This function will create a new listening socket, accept connections on it, and spawn a new thread for each connection.streaming-commonsRun an  Application' by connecting to the specified server.streaming-commonsjClose the underlying connection. One possible use case is simulating connection failures in a test suite. Since 0.1.6streaming-commonsGet the raw socket for this AppData, if available. Since 0.1.12streaming-commonsRun an  Application with the given settings. This function will create a new listening socket, accept connections on it, and spawn a new thread for each connection.streaming-commonsRun an  Application' by connecting to the specified server.streaming-commons Since 0.1.14streaming-commons Since 0.1.13streaming-commons Since 0.1.13streaming-commons Since 0.1.13xstreaming-commonspath to bind toystreaming-commonspath to connect to{streaming-commonsport to bind tostreaming-commonshost binding preferences|streaming-commonsport to bind tostreaming-commonshost binding preferences~streaming-commonsport to connect tostreaming-commonshost to connect tostreaming-commonsport to connect tostreaming-commonshost to connect toJ-56789=AFMS`abcdefghijklmnopqrstuvwxyz{|}~JSMF5678-A=9|}{~xyjkfg`abdehinopmlqrzctuswvSafestreaming-commonsWraps up the standard  ProcessHandle to avoid the waitForProcessV deadlock. See the linked documentation from the module header for more information. Since 0.1.4streaming-commonsLClass for all things which can be used to consume standard output or error. Since 0.1.4streaming-commonsAClass for all things which can be used to provide standard input. Since 0.1.4 Safe2/ streaming-commons>Indicates that a process exited with an non-success exit code. Since 0.1.7streaming-commons(Close the stream with the child process.You usually do not want to use this, as it will leave the corresponding file descriptor unassigned and hence available for re-use in the child process. Since 0.1.4streaming-commons,Inherit the stream from the current process. Since 0.1.4streaming-commonsUse the Handle provided by the  CreateProcess9 value. This would allow you, for example, to open up a Handle to a file, set it as std_outZ, and avoid any additional overhead of dealing with providing that data to your process. Since 0.1.4streaming-commons,Blocking call to wait for a process to exit. Since 0.1.4streaming-commonsSTM version of waitForStreamingProcess. Since 0.1.4streaming-commons3Non-blocking call to check for a process exit code. Since 0.1.4streaming-commonsSTM version of getStreamingProcessExitCode. Since 0.1.4streaming-commons Get the raw  ProcessHandle from a StreamingProcessHandleo. Note that you should avoid using this to get the process exit code, and instead use the provided functions. Since 0.1.4streaming-commonsGet the TMVar storing the process exit code. In general, one of the above functions should be used instead to avoid accidentally corrupting the variable's state.. Since 0.1.4streaming-commonsNThe primary function for running a process. Note that, with the exception of , the values for std_in, std_out and std_err" will be ignored by this function. Since 0.1.4streaming-commonsFree any resources (e.g. Handles) acquired by a call to .streaming-commonsRun a process and supply its streams to the given callback function. After the callback completes, wait for the process to complete and check its exit code. If the exit code is not a success, throw a .NOTE: This function does not kill the child process or ensure resources are cleaned up in the event of an exception from the provided function. For that, please use withCheckedProcessCleanup from the  conduit-extra package. Since 0.1.7K !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO SafeNone2streaming-commons<An IO action that returns the next chunk of data, returning * when there is no more data to be popped.streaming-commonsException that can be thrown from the FFI code. The parameter is the numerical error code from the zlib library. Quoting the zlib.h file directly: #define Z_OK 0#define Z_STREAM_END 1#define Z_NEED_DICT 2#define Z_ERRNO (-1)#define Z_STREAM_ERROR (-2)#define Z_DATA_ERROR (-3)#define Z_MEM_ERROR (-4)#define Z_BUF_ERROR (-5)#define Z_VERSION_ERROR (-6)streaming-commons~The state of a deflation (eg, compression) process. All allocated memory is automatically reclaimed by the garbage collector.streaming-commonsThe state of an inflation (eg, decompression) process. All allocated memory is automatically reclaimed by the garbage collector. Also can contain the inflation dictionary that is used for decompression.Pstreaming-commons3Some constants for the error codes, used internallystreaming-commons/Initialize an inflation process with the given . You will need to call & to feed compressed data to this and 1 to extract the final chunk of decompressed data.streaming-commons/Initialize an inflation process with the given i. Unlike initInflate a dictionary for inflation is set which must match the one set during compression.streaming-commonsEInitialize a deflation process with the given compression level and . You will need to call ( to feed uncompressed data to this and 1 to extract the final chunks of compressed data.streaming-commonsFInitialize an deflation process with the given compression level and 8. Unlike initDeflate a dictionary for deflation is set.streaming-commonsFeed the given  to the inflater. Return a K, an IO action that returns the decompressed data a chunk at a time. The / must be called to exhaustion before using the  object again.=Note that this function automatically buffers the output to , and therefore you won't get any data from the popper until that much decompressed data is available. After you have fed all of the compressed data to this function, you can extract your final chunk of decompressed data using .Qstreaming-commonsEnsure that the given  ByteString is not deallocated.streaming-commonsAs explained in <, inflation buffers your decompressed data. After you call  with your last chunk of compressed data, you will likely have some data still sitting in the buffer. This function will return it to you.streaming-commons?Flush the inflation buffer. Useful for interactive application.This is actually a synonym for -. It is provided for its more semantic name. Since 0.0.3streaming-commonsURetrieve any data remaining after inflating. For more information on motivation, see: 3https://github.com/fpco/streaming-commons/issues/20 Since 0.1.11streaming-commonseReturns True if the inflater has reached end-of-stream, or False if it is still expecting more data. Since 0.1.18streaming-commonsFeed the given  to the deflater. Return a I, an IO action that returns the compressed data a chunk at a time. The / must be called to exhaustion before using the  object again.=Note that this function automatically buffers the output to , and therefore you won't get any data from the popper until that much compressed data is available. After you have fed all of the decompressed data to this function, you can extract your final chunks of compressed data using .streaming-commonsAs explained in :, deflation buffers your compressed data. After you call l with your last chunk of uncompressed data, use this to flush the rest of the data and signal end of input.streaming-commonsyFlush the deflation buffer. Useful for interactive application. Internally this passes Z_SYNC_FLUSH to the zlib library.Unlike , V does not signal end of input, meaning you can feed more uncompressed data afterward. Since 0.0.3streaming-commonsFull flush the deflation buffer. Useful for interactive applications where previously streamed data may not be available. Using h too often can seriously degrade compression. Internally this passes Z_FULL_FLUSH to the zlib library.Like , V does not signal end of input, meaning you can feed more uncompressed data afterward. Since 0.1.5streaming-commonsCompression levelstreaming-commonsCompression levelstreaming-commonsDeflate dictionary j(c) 2008, 2009 Tom Harper, (c) 2009 Bryan O'Sullivan, (c) 2009 Duncan Coutts BSD-stylebos@serpentine.com experimentalGHCNoneFRST p(c) 2008, 2009 Tom Harper, (c) 2009, 2010 Bryan O'Sullivan, (c) 2009 Duncan Coutts BSD-stylebos@serpentine.com experimentalportableSafeEU(c) Bryan O'Sullivan 2009 BSD-stylebos@serpentine.com experimentalGHCNoneF!Vstreaming-commonsThis is a workaround for poor optimisation in GHC 6.8.2. It fails to notice constant-width shifts, and adds a test and branch to every shift. This imposes about a 10% performance hit.sThese functions are undefined when the amount being shifted by is greater than the size in bits of a machine Int#.VWXp(c) 2008, 2009 Tom Harper, (c) 2009, 2010 Bryan O'Sullivan, (c) 2009 Duncan Coutts BSD-stylebos@serpentine.com experimentalGHCNoneF&Ystreaming-commonsNWrite a character into the array at the given offset. Returns the number of Z s written.[\]^Yp(c) 2008, 2009 Tom Harper, (c) 2009, 2010 Bryan O'Sullivan, (c) 2009 Duncan Coutts BSD-stylebos@serpentine.com experimentalGHCNoneF*q_streaming-commons byte to checkstreaming-commons lower boundstreaming-commons upper bound `abcdefghi None FMSX3streaming-commonsO(n) Convert a - into a 'Stream Char', using UTF-8 encoding.streaming-commonsO(n) Convert a - into a 'Stream Char', using UTF-8 encoding.streaming-commonsO(n) Convert a < into a 'Stream Char', using little endian UTF-16 encoding.streaming-commonsO(n) Convert a 9 into a 'Stream Char', using big endian UTF-16 encoding. streaming-commonsO(n) Convert a < into a 'Stream Char', using little endian UTF-32 encoding. streaming-commonsO(n) Convert a 9 into a 'Stream Char', using big endian UTF-32 encoding.     j !"#$%&'()*+,-./0123456789:;<=>?@AABCDEFGHHIJKKLMNNOPQQRSTUVWXYZ[\\]^_`aabcdefghijklmnopqrstuvwxyz{|}~                                    !"#$%&'(&')&'*&'+&',&'-&'.&'/&'0&'1&'2&'3&'4&'5&'6&'7&'8&'9&':&';&'<&'=&'>&'?&'@&AB&AC&AD&AE&FG&FG&FH&FI&FJ&FK&FL&FM&FN&FO&FP&FQ&FR&FS&FT&FU&FV&FW&FX&FY&FZ&F[&F\&F]&F^&F_`a b c d efghijklmnopqrstbuvcdwxy0streaming-commons-0.2.2.0-B9BMthzzVxUHPCrUY0LWgbData.Streaming.FilesystemData.Streaming.Zlib(Data.Streaming.ByteString.Builder.Buffer!Data.Streaming.ByteString.BuilderData.Streaming.FileReadData.Streaming.Network.InternalData.Streaming.NetworkData.Streaming.Process.InternalData.Streaming.ProcessData.Streaming.Zlib.LowlevelData.Streaming.Text!Data.Text.Internal.Encoding.Utf16!Data.Text.Internal.Encoding.Utf32Data.Text.Internal.Unsafe.ShiftData.Text.Internal.Unsafe.Char Data.Text.Internal.Encoding.Utf8 unix-2.7.2.2System.Posix.Directory openDirStreamSystem.Posix.Directory.CommoncloseDirStream DirStream#zlib-0.6.2.1-JkgnCzQLE4d9AnItMNCDCpCodec.Compression.Zlib.StreamdefaultWindowBits WindowBitsBufferAllocStrategyBufferfreeSize sliceSize bufferSize allocBuffer reuseBufferunsafeFreezeBufferunsafeFreezeNonEmptyBufferupdateEndOfSlice nextSliceallNewBuffersStrategyreuseBufferStrategydefaultStrategy BuilderFinish BuilderRecv BuilderPoppernewBuilderRecvnewByteStringBuilderRecvtoByteStringIOWithBuffertoByteStringIOWithtoByteStringIO ReadHandleopenFile closeFile readChunkFileTypeFTFile FTFileSym FTDirectoryFTDirectorySymFTOther readDirStream getFileType$fShowFileType$fReadFileType $fEqFileType $fOrdFileTypeAppDataappRead' appWrite' appSockAddr' appLocalAddr'appCloseConnection' appRawSocket'MessagemsgData msgSender AppDataUnix appReadUnix appWriteUnixClientSettingsUnix clientPathclientReadBufferSizeUnixServerSettingsUnix serverPathserverAfterBindUnixserverReadBufferSizeUnixHostPreferenceHostAnyHostIPv4 HostIPv4OnlyHostIPv6 HostIPv6OnlyHostClientSettings clientPort clientHostclientAddrFamilyclientReadBufferSizeServerSettings serverPort serverHost serverSocketserverAfterBindserverNeedLocalAddrserverReadBufferSize$fIsStringHostPreference$fEqHostPreference$fOrdHostPreference$fShowHostPreference$fReadHostPreference HasReadWritereadLens writeLensConnectionHandleHasReadBufferSizereadBufferSizeLens HasAfterBind afterBindLensHasPathpathLensHasPortportLensgetSocketFamilyGen getSocketGen bindPortGen bindPortGenExbindRandomPortGenunassignedPortsgetUnassignedPort getSocketUDP bindPortUDPbindRandomPortUDP getSocketUnixbindPathserverSettingsUnixclientSettingsUnixsafeRecvserverSettingsUDPserverSettingsTCPserverSettingsTCPSocketclientSettingsUDPclientSettingsTCPgetSocketFamilyTCP getSocketTCP bindPortTCPbindRandomPortTCP acceptSafemessagegetPortsetPortsetHostgetHost setAddrFamily getAddrFamilygetPathsetPathsetNeedLocalAddrgetNeedLocalAddr getAfterBind setAfterBindgetReadBufferSizesetReadBufferSizerunTCPServerWithHandle runTCPServer runTCPClient appLocalAddr appSockAddrappCloseConnection appRawSocketappReadappWrite runUnixServer runUnixClient$fHasPortClientSettings$fHasPortServerSettings$fHasPathClientSettingsUnix$fHasPathServerSettingsUnix $fHasAfterBindServerSettingsUnix$fHasAfterBindServerSettings%$fHasReadBufferSizeClientSettingsUnix%$fHasReadBufferSizeServerSettingsUnix!$fHasReadBufferSizeClientSettings!$fHasReadBufferSizeServerSettings$fHasReadWriteAppDataUnix$fHasReadWriteAppDataStreamingProcessHandle OutputSink osStdStream InputSource isStdStream$fInputSourceHandle$fOutputSinkHandleProcessExitedUnsuccessfully ClosedStream InheritedUseProvidedHandlewaitForStreamingProcesswaitForStreamingProcessSTMgetStreamingProcessExitCodegetStreamingProcessExitCodeSTMstreamingProcessHandleRawstreamingProcessHandleTMVarstreamingProcesscloseStreamingProcessHandlewithCheckedProcess$fOutputSinkUseProvidedHandle$fInputSourceUseProvidedHandle$fOutputSinkInherited$fInputSourceInherited$fOutputSinkClosedStream$fInputSourceClosedStream&$fExceptionProcessExitedUnsuccessfully!$fShowProcessExitedUnsuccessfullyStrategyStrategyDefaultStrategyFilteredStrategyHuffman StrategyRLE StrategyFixedZStream' ZStreamStructc_call_inflate_set_dictionaryc_call_deflate_set_dictionaryc_call_deflate_full_flushc_call_deflate_flushc_call_deflate_finishc_call_deflate_noflushc_call_inflate_noflush c_get_next_inc_get_avail_inc_get_avail_outc_set_avail_outc_set_avail_inc_free_z_stream_deflatec_free_z_stream_inflate zstreamNew deflateInit2 inflateInit2$fShowStrategy $fEqStrategy $fOrdStrategy$fEnumStrategy PopperResPRDonePRNextPRErrorPopper ZlibExceptionDeflateInflate initInflateinitInflateWithDictionary initDeflateinitDeflateWithDictionary feedInflate finishInflate flushInflategetUnusedInflateisCompleteInflate feedDeflate finishDeflate flushDeflatefullFlushDeflate$fExceptionZlibException$fShowZlibException$fShowPopperRes DecodeResultDecodeResultSuccessDecodeResultFailure decodeUtf8decodeUtf8Pure decodeUtf16LE decodeUtf16BE decodeUtf32LE decodeUtf32BE$fShowS $fEqCodePoint$fShowCodePoint$fNumCodePoint$fStorableCodePoint$fEqDecoderState$fShowDecoderState$fNumDecoderState$fStorableDecoderStateghc-prim GHC.TypesIObytestring-0.10.8.2Data.ByteString.Lazy.InternaldefaultChunkSizeData.ByteString.Internal ByteString Data.ByteString.Builder.InternalBuilderunassignedPortsListprocess-1.6.3.0System.Process rawSystemsystemrunInteractiveProcessrunInteractiveCommand runProcess runCommandterminateProcessgetProcessExitCodewaitForProcessgetPidshowCommandForUserreadCreateProcessWithExitCodereadProcessWithExitCodereadCreateProcess readProcess callCommand callProcess spawnCommand spawnProcesscleanupProcesswithCreateProcess createProcessshellprocPidSystem.Process.InternalsinterruptProcessGroupOf createPipeFd createPipecreateProcess_System.Process.Common CreateProcesscmdspeccwdenvstd_instd_outstd_err close_fds create_group delegate_ctlcdetach_consolecreate_new_console new_session child_group child_useruse_process_jobsCmdSpec ShellCommand RawCommand StdStreamInherit UseHandle CreatePipeNoStream ProcessHandle zStreamEnd keepAlivechr2 validate1 validate2validate UnsafeShiftshiftLshiftR unsafeWritebaseGHC.WordWord16ord unsafeChr unsafeChr8 unsafeChr32betweenord2ord3ord4chr3chr4 validate3 validate4