{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ChaosTheoryGraphics (
    version,
    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
    getDataFileName, getSysconfDir
  ) where


import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude


#if defined(VERSION_base)

#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif

#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch

version :: Version
version = Version [0,1,0,0] []

getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
  dir <- getDataDir
  return (dir `joinFileName` name)

getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath



bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir     = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/bin"
libdir     = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/lib/x86_64-osx-ghc-9.4.7/ChaosTheoryGraphics-0.1.0.0-BE6lMJUcSBLDPiKXHaRkAD-ChaosTheoryGraphics-test"
dynlibdir  = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/lib/x86_64-osx-ghc-9.4.7"
datadir    = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/share/x86_64-osx-ghc-9.4.7/ChaosTheoryGraphics-0.1.0.0"
libexecdir = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/libexec/x86_64-osx-ghc-9.4.7/ChaosTheoryGraphics-0.1.0.0"
sysconfdir = "/Users/muqi/Desktop/Intro to Computation/Functional Programming/FP Competition 2023/ChaosTheoryGraphics/.stack-work/install/x86_64-osx/921db159e47117458c4e277b15a5715356aba5185e2f83530ca9f51ca3d479e8/9.4.7/etc"

getBinDir     = catchIO (getEnv "ChaosTheoryGraphics_bindir")     (\_ -> return bindir)
getLibDir     = catchIO (getEnv "ChaosTheoryGraphics_libdir")     (\_ -> return libdir)
getDynLibDir  = catchIO (getEnv "ChaosTheoryGraphics_dynlibdir")  (\_ -> return dynlibdir)
getDataDir    = catchIO (getEnv "ChaosTheoryGraphics_datadir")    (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ChaosTheoryGraphics_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ChaosTheoryGraphics_sysconfdir") (\_ -> return sysconfdir)




joinFileName :: String -> String -> FilePath
joinFileName ""  fname = fname
joinFileName "." fname = fname
joinFileName dir ""    = dir
joinFileName dir fname
  | isPathSeparator (List.last dir) = dir ++ fname
  | otherwise                       = dir ++ pathSeparator : fname

pathSeparator :: Char
pathSeparator = '/'

isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'
