úÎ4U/ü2      !"#$%&'()*+,-./01portablejmillikin@gmail.com234Parse a strict 5, such as those received from  OS libraries, into a . 6 Check if a ( is valid; that is, it must not contain A any illegal characters, and must have a root appropriate to the  current . Split a search path, such as $PATH or  $PYTHONPATH, into  a list of s. <Remove redundant characters. On case-insensitive platforms, 1 also lowercases any ASCII uppercase characters. 789:;<=>?@AB2A file path with no root, components, or filename C2346789:;<=>?@ABC23462346789:;789:;<?>==>?@ABCportablejmillikin@gmail.com null p == (p == )Retrieves the 's root. Retrieves the '&s directory. If the path is already a & directory, it is returned unchanged. Retrieves the 's parent directory. %Retrieve the filename component of a .   filename "foo/bar.txt" == "bar.txt". %Retrieve the basename component of a .   filename "foo/bar.txt" == "bar". %Return whether the path is absolute. %Return whether the path is relative.  Appends two 2s. If the second path is absolute, it is returned  unchanged.  An alias for .  A fold over . ,Find the greatest common prefix between two s. Get a 's last extension, or D if it has no  extensions. Get a 's full extension list. Get whether a '#s last extension is the predicate. $Append an extension to the end of a . 'Append many extensions to the end of a .  An alias for .  Remove a 's last extension. Remove all extensions from a .  Replace a 's last extension. Remove all extensions from a , and replace them with a new  list.  splitExtension p = ( p,  p) splitExtensions p = ( p,  p)EF   portablejmillikin@gmail.comCheck if two different $s refer to the same file. This does D not perform any link resolution, so some equivalent files might be  missed.  Convert a  into a strict 5, suitable for passing  to OS libraries. ! Convert a  into a lazy G. " Parse a lazy G into a . # Convert a  into a lazy H. This is useful for E interoperating with legacy libraries. No decoding is performed; the  string'*s character ordinals are equal to the path's original bytes. If you  need to display a  to the user, use ! and an  appropriate decoding function. $ Parse a lazy H into a . This is useful for A interoperating with legacy libraries. No encoding is performed; = characters are truncated to 8 bits. If you need to accept a   from the user, use "' and an appropriate encoding function. IJK%LMNOP&QRST  !"#$%&%& !#"$ !"#$%&portablejmillikin@gmail.com '(See  )See  *See  +See   ,See ! -See # .See  /See " 0See $ 1See  % '()*+,-./01 '()*+,-./01 '()*+,-./01U      !"#$%&'()*+, $%&(')-./012 3456789:;<=>?@ABC/D1?EFGHIJKLMNOPQRSsystem-filepath-0.1.1System.FilePath.RulesSystem.FilePathSystem.FilePath.CurrentOSSystem.FilePath.InternalRules fromBytesvalidsplitSearchPath normaliseFilePathemptynullroot directoryparentfilenamebasenameabsoluterelativeappendconcat commonPrefix extension extensions hasExtension addExtension addExtensions<.> dropExtensiondropExtensionsreplaceExtensionreplaceExtensionssplitExtensionsplitExtensions equivalenttoBytes toLazyBytes fromLazyBytestoString fromStringposixwindows currentOS rulesName toByteChunksbytestring-0.9.2.0Data.ByteString.Internal ByteString caseSensitivepathRootpathComponents pathBasenamepathExtensionsRootRootWindowsCurrentVolumeRootWindowsVolume RootPosix ExtensionBasename Component filenameBytesbase Data.MaybeNothingsafeInitsafeHeadData.ByteString.Lazy.InternalGHC.BaseString rootBytesbyteComponents upperBytesposixToByteChunksposixFromBytes posixValidposixSplitSearchposixNormalisewinToByteChunks winFromByteswinValid winNormalise