{-# LANGUAGE OverloadedStrings #-}
module Network.Mime
    ( -- * Lookups
      mimeByExt
    , defaultMimeLookup
      -- * Defaults
    , defaultMimeType
    , defaultMimeMap
    , defaultExtensionMap
      -- * Utilities
    , fileNameExtensions
      -- * Types
    , FileName
    , MimeType
    , MimeMap
    , Extension
    , ExtensionMap
    ) where

import qualified Data.List as L
import Data.Text (Text)
import qualified Data.Text as T
import Data.ByteString (ByteString)
import Data.ByteString.Char8 ()
import qualified Data.Map as Map

-- | Maps extensions to mime types.
type MimeMap = Map.Map Extension MimeType

-- | Maps mime types to extensions.
-- The list of extensions is in alphabetical order.
--
-- @since 0.1.2.0
type ExtensionMap = Map.Map MimeType [Extension]

-- | The filename component of a filepath, leaving off the directory but
-- keeping all extensions.
type FileName = Text

-- | Individual mime type for be served over the wire.
type MimeType = ByteString

-- | Look up a mime type from the given mime map and default mime type.
mimeByExt :: MimeMap
          -> MimeType -- ^ default mime type
          -> FileName
          -> MimeType
mimeByExt :: MimeMap -> MimeType -> Extension -> MimeType
mimeByExt MimeMap
mm MimeType
def =
    [Extension] -> MimeType
go forall b c a. (b -> c) -> (a -> b) -> a -> c
. Extension -> [Extension]
fileNameExtensions
  where
    go :: [Extension] -> MimeType
go [] = MimeType
def
    go (Extension
e:[Extension]
es) =
        case forall k a. Ord k => k -> Map k a -> Maybe a
Map.lookup Extension
e MimeMap
mm of
            Maybe MimeType
Nothing -> [Extension] -> MimeType
go [Extension]
es
            Just MimeType
mt -> MimeType
mt

-- | @mimeByExt@ applied to @defaultMimeType@ and @defaultMimeMap@.
defaultMimeLookup :: FileName -> MimeType
defaultMimeLookup :: Extension -> MimeType
defaultMimeLookup = MimeMap -> MimeType -> Extension -> MimeType
mimeByExt MimeMap
defaultMimeMap MimeType
defaultMimeType

-- | Get a list of all of the file name extensions.
--
-- > fileNameExtensions "foo.tar.gz" == ["tar.gz", "gz"]
fileNameExtensions :: FileName -> [Extension]
fileNameExtensions :: Extension -> [Extension]
fileNameExtensions =
    Extension -> [Extension]
go forall b c a. (b -> c) -> (a -> b) -> a -> c
. Extension -> Extension
T.toLower forall b c a. (b -> c) -> (a -> b) -> a -> c
. Extension -> Extension
dropToExt
  where
    dropToExt :: Extension -> Extension
dropToExt = Int -> Extension -> Extension
T.drop Int
1 forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Char -> Bool) -> Extension -> Extension
T.dropWhile (forall a. Eq a => a -> a -> Bool
/= Char
'.')

    go :: Extension -> [Extension]
go Extension
e
        | Extension -> Bool
T.null Extension
e = []
        | Bool
otherwise = Extension
e forall a. a -> [a] -> [a]
: Extension -> [Extension]
go Extension
next
      where
        next :: Extension
next = Extension -> Extension
dropToExt Extension
e

-- | Path extension. May include multiple components, e.g. tar.gz
type Extension = Text

-- | The default fallback mime type \"application/octet-stream\".
defaultMimeType :: MimeType
defaultMimeType :: MimeType
defaultMimeType = MimeType
"application/octet-stream"

-- | A default mapping from filename extension to mime type.
--
-- Generated from the Apache and nginx mime.types files.
defaultMimeMap :: MimeMap
defaultMimeMap :: MimeMap
defaultMimeMap = forall k a. Eq k => [(k, a)] -> Map k a
Map.fromAscList [(Extension, MimeType)]
mimeAscList

-- | A mapping of 'MimeType' to a set of 'Extension's.
--
-- @since 0.1.2.0
defaultExtensionMap :: ExtensionMap
defaultExtensionMap :: ExtensionMap
defaultExtensionMap =
    forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
L.foldr forall {k} {a}. Ord k => (a, k) -> Map k [a] -> Map k [a]
go forall a. Monoid a => a
mempty [(Extension, MimeType)]
mimeAscList
  where
    go :: (a, k) -> Map k [a] -> Map k [a]
go (a
ext, k
mimeType) =
        forall k a.
Ord k =>
(Maybe a -> Maybe a) -> k -> Map k a -> Map k a
Map.alter (forall a. a -> Maybe a
Just forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall b a. b -> (a -> b) -> Maybe a -> b
maybe [a
ext] (a
ext forall a. a -> [a] -> [a]
:)) k
mimeType

mimeAscList :: [(Extension, MimeType)]
mimeAscList :: [(Extension, MimeType)]
mimeAscList =
    [ (Extension
"123", MimeType
"application/vnd.lotus-1-2-3")
    , (Extension
"3dml", MimeType
"text/vnd.in3d.3dml")
    , (Extension
"3ds", MimeType
"image/x-3ds")
    , (Extension
"3g2", MimeType
"video/3gpp2")
    , (Extension
"3gp", MimeType
"video/3gpp")
    , (Extension
"3gpp", MimeType
"video/3gpp")
    , (Extension
"7z", MimeType
"application/x-7z-compressed")
    , (Extension
"aab", MimeType
"application/x-authorware-bin")
    , (Extension
"aac", MimeType
"audio/x-aac")
    , (Extension
"aam", MimeType
"application/x-authorware-map")
    , (Extension
"aas", MimeType
"application/x-authorware-seg")
    , (Extension
"abw", MimeType
"application/x-abiword")
    , (Extension
"ac", MimeType
"application/pkix-attr-cert")
    , (Extension
"acc", MimeType
"application/vnd.americandynamics.acc")
    , (Extension
"ace", MimeType
"application/x-ace-compressed")
    , (Extension
"acu", MimeType
"application/vnd.acucobol")
    , (Extension
"acutc", MimeType
"application/vnd.acucorp")
    , (Extension
"adp", MimeType
"audio/adpcm")
    , (Extension
"aep", MimeType
"application/vnd.audiograph")
    , (Extension
"afm", MimeType
"application/x-font-type1")
    , (Extension
"afp", MimeType
"application/vnd.ibm.modcap")
    , (Extension
"ahead", MimeType
"application/vnd.ahead.space")
    , (Extension
"ai", MimeType
"application/postscript")
    , (Extension
"aif", MimeType
"audio/x-aiff")
    , (Extension
"aifc", MimeType
"audio/x-aiff")
    , (Extension
"aiff", MimeType
"audio/x-aiff")
    , (Extension
"air", MimeType
"application/vnd.adobe.air-application-installer-package+zip")
    , (Extension
"ait", MimeType
"application/vnd.dvb.ait")
    , (Extension
"ami", MimeType
"application/vnd.amiga.ami")
    , (Extension
"apk", MimeType
"application/vnd.android.package-archive")
    , (Extension
"appcache", MimeType
"text/cache-manifest")
    , (Extension
"application", MimeType
"application/x-ms-application")
    , (Extension
"apr", MimeType
"application/vnd.lotus-approach")
    , (Extension
"arc", MimeType
"application/x-freearc")
    , (Extension
"asc", MimeType
"text/plain")
    , (Extension
"asf", MimeType
"video/x-ms-asf")
    , (Extension
"asm", MimeType
"text/x-asm")
    , (Extension
"aso", MimeType
"application/vnd.accpac.simply.aso")
    , (Extension
"asx", MimeType
"video/x-ms-asf")
    , (Extension
"atc", MimeType
"application/vnd.acucorp")
    , (Extension
"atom", MimeType
"application/atom+xml")
    , (Extension
"atomcat", MimeType
"application/atomcat+xml")
    , (Extension
"atomsvc", MimeType
"application/atomsvc+xml")
    , (Extension
"atx", MimeType
"application/vnd.antix.game-component")
    , (Extension
"au", MimeType
"audio/basic")
    , (Extension
"avi", MimeType
"video/x-msvideo")
    , (Extension
"aw", MimeType
"application/applixware")
    , (Extension
"azf", MimeType
"application/vnd.airzip.filesecure.azf")
    , (Extension
"azs", MimeType
"application/vnd.airzip.filesecure.azs")
    , (Extension
"azw", MimeType
"application/vnd.amazon.ebook")
    , (Extension
"bat", MimeType
"application/x-msdownload")
    , (Extension
"bcpio", MimeType
"application/x-bcpio")
    , (Extension
"bdf", MimeType
"application/x-font-bdf")
    , (Extension
"bdm", MimeType
"application/vnd.syncml.dm+wbxml")
    , (Extension
"bed", MimeType
"application/vnd.realvnc.bed")
    , (Extension
"bh2", MimeType
"application/vnd.fujitsu.oasysprs")
    , (Extension
"bib", MimeType
"application/x-bibtex")
    , (Extension
"bin", MimeType
"application/octet-stream")
    , (Extension
"blb", MimeType
"application/x-blorb")
    , (Extension
"blorb", MimeType
"application/x-blorb")
    , (Extension
"bmi", MimeType
"application/vnd.bmi")
    , (Extension
"bmp", MimeType
"image/bmp")
    , (Extension
"book", MimeType
"application/vnd.framemaker")
    , (Extension
"box", MimeType
"application/vnd.previewsystems.box")
    , (Extension
"boz", MimeType
"application/x-bzip2")
    , (Extension
"bpk", MimeType
"application/octet-stream")
    , (Extension
"btif", MimeType
"image/prs.btif")
    , (Extension
"bz", MimeType
"application/x-bzip")
    , (Extension
"bz2", MimeType
"application/x-bzip")
    , (Extension
"c", MimeType
"text/plain")
    , (Extension
"c11amc", MimeType
"application/vnd.cluetrust.cartomobile-config")
    , (Extension
"c11amz", MimeType
"application/vnd.cluetrust.cartomobile-config-pkg")
    , (Extension
"c4d", MimeType
"application/vnd.clonk.c4group")
    , (Extension
"c4f", MimeType
"application/vnd.clonk.c4group")
    , (Extension
"c4g", MimeType
"application/vnd.clonk.c4group")
    , (Extension
"c4p", MimeType
"application/vnd.clonk.c4group")
    , (Extension
"c4u", MimeType
"application/vnd.clonk.c4group")
    , (Extension
"cab", MimeType
"application/vnd.ms-cab-compressed")
    , (Extension
"caf", MimeType
"audio/x-caf")
    , (Extension
"cap", MimeType
"application/vnd.tcpdump.pcap")
    , (Extension
"car", MimeType
"application/vnd.curl.car")
    , (Extension
"cat", MimeType
"application/vnd.ms-pki.seccat")
    , (Extension
"cb7", MimeType
"application/x-cbr")
    , (Extension
"cba", MimeType
"application/x-cbr")
    , (Extension
"cbr", MimeType
"application/x-cbr")
    , (Extension
"cbt", MimeType
"application/x-cbr")
    , (Extension
"cbz", MimeType
"application/x-cbr")
    , (Extension
"cc", MimeType
"text/x-c")
    , (Extension
"cco", MimeType
"application/x-cocoa")
    , (Extension
"cct", MimeType
"application/x-director")
    , (Extension
"ccxml", MimeType
"application/ccxml+xml")
    , (Extension
"cdbcmsg", MimeType
"application/vnd.contact.cmsg")
    , (Extension
"cdf", MimeType
"application/x-netcdf")
    , (Extension
"cdkey", MimeType
"application/vnd.mediastation.cdkey")
    , (Extension
"cdmia", MimeType
"application/cdmi-capability")
    , (Extension
"cdmic", MimeType
"application/cdmi-container")
    , (Extension
"cdmid", MimeType
"application/cdmi-domain")
    , (Extension
"cdmio", MimeType
"application/cdmi-object")
    , (Extension
"cdmiq", MimeType
"application/cdmi-queue")
    , (Extension
"cdx", MimeType
"chemical/x-cdx")
    , (Extension
"cdxml", MimeType
"application/vnd.chemdraw+xml")
    , (Extension
"cdy", MimeType
"application/vnd.cinderella")
    , (Extension
"cer", MimeType
"application/pkix-cert")
    , (Extension
"cfs", MimeType
"application/x-cfs-compressed")
    , (Extension
"cgm", MimeType
"image/cgm")
    , (Extension
"chat", MimeType
"application/x-chat")
    , (Extension
"chm", MimeType
"application/vnd.ms-htmlhelp")
    , (Extension
"chrt", MimeType
"application/vnd.kde.kchart")
    , (Extension
"cif", MimeType
"chemical/x-cif")
    , (Extension
"cii", MimeType
"application/vnd.anser-web-certificate-issue-initiation")
    , (Extension
"cil", MimeType
"application/vnd.ms-artgalry")
    , (Extension
"cla", MimeType
"application/vnd.claymore")
    , (Extension
"class", MimeType
"application/java-vm")
    , (Extension
"clkk", MimeType
"application/vnd.crick.clicker.keyboard")
    , (Extension
"clkp", MimeType
"application/vnd.crick.clicker.palette")
    , (Extension
"clkt", MimeType
"application/vnd.crick.clicker.template")
    , (Extension
"clkw", MimeType
"application/vnd.crick.clicker.wordbank")
    , (Extension
"clkx", MimeType
"application/vnd.crick.clicker")
    , (Extension
"clp", MimeType
"application/x-msclip")
    , (Extension
"cls", MimeType
"application/x-tex")
    , (Extension
"cmc", MimeType
"application/vnd.cosmocaller")
    , (Extension
"cmdf", MimeType
"chemical/x-cmdf")
    , (Extension
"cml", MimeType
"chemical/x-cml")
    , (Extension
"cmp", MimeType
"application/vnd.yellowriver-custom-menu")
    , (Extension
"cmx", MimeType
"image/x-cmx")
    , (Extension
"cod", MimeType
"application/vnd.rim.cod")
    , (Extension
"com", MimeType
"application/x-msdownload")
    , (Extension
"conf", MimeType
"text/plain")
    , (Extension
"cpio", MimeType
"application/x-cpio")
    , (Extension
"cpp", MimeType
"text/plain")
    , (Extension
"cpt", MimeType
"application/mac-compactpro")
    , (Extension
"crd", MimeType
"application/x-mscardfile")
    , (Extension
"crl", MimeType
"application/pkix-crl")
    , (Extension
"crt", MimeType
"application/x-x509-ca-cert")
    , (Extension
"cryptonote", MimeType
"application/vnd.rig.cryptonote")
    , (Extension
"csh", MimeType
"application/x-csh")
    , (Extension
"csml", MimeType
"chemical/x-csml")
    , (Extension
"csp", MimeType
"application/vnd.commonspace")
    , (Extension
"css", MimeType
"text/css")
    , (Extension
"cst", MimeType
"application/x-director")
    , (Extension
"csv", MimeType
"text/csv")
    , (Extension
"cu", MimeType
"application/cu-seeme")
    , (Extension
"curl", MimeType
"text/vnd.curl")
    , (Extension
"cww", MimeType
"application/prs.cww")
    , (Extension
"cxt", MimeType
"application/x-director")
    , (Extension
"cxx", MimeType
"text/plain")
    , (Extension
"dae", MimeType
"model/vnd.collada+xml")
    , (Extension
"daf", MimeType
"application/vnd.mobius.daf")
    , (Extension
"dart", MimeType
"application/vnd.dart")
    , (Extension
"dataless", MimeType
"application/vnd.fdsn.seed")
    , (Extension
"davmount", MimeType
"application/davmount+xml")
    , (Extension
"dbk", MimeType
"application/docbook+xml")
    , (Extension
"dcr", MimeType
"application/x-director")
    , (Extension
"dcurl", MimeType
"text/vnd.curl.dcurl")
    , (Extension
"dd2", MimeType
"application/vnd.oma.dd2+xml")
    , (Extension
"ddd", MimeType
"application/vnd.fujixerox.ddd")
    , (Extension
"deb", MimeType
"application/x-debian-package")
    , (Extension
"def", MimeType
"text/plain")
    , (Extension
"deploy", MimeType
"application/octet-stream")
    , (Extension
"der", MimeType
"application/x-x509-ca-cert")
    , (Extension
"dfac", MimeType
"application/vnd.dreamfactory")
    , (Extension
"dgc", MimeType
"application/x-dgc-compressed")
    , (Extension
"dic", MimeType
"text/x-c")
    , (Extension
"dir", MimeType
"application/x-director")
    , (Extension
"dis", MimeType
"application/vnd.mobius.dis")
    , (Extension
"dist", MimeType
"application/octet-stream")
    , (Extension
"distz", MimeType
"application/octet-stream")
    , (Extension
"djv", MimeType
"image/vnd.djvu")
    , (Extension
"djvu", MimeType
"image/vnd.djvu")
    , (Extension
"dll", MimeType
"application/x-msdownload")
    , (Extension
"dmg", MimeType
"application/x-apple-diskimage")
    , (Extension
"dmp", MimeType
"application/vnd.tcpdump.pcap")
    , (Extension
"dms", MimeType
"application/octet-stream")
    , (Extension
"dna", MimeType
"application/vnd.dna")
    , (Extension
"doc", MimeType
"application/msword")
    , (Extension
"docm", MimeType
"application/vnd.ms-word.document.macroenabled.12")
    , (Extension
"docx", MimeType
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
    , (Extension
"dot", MimeType
"application/msword")
    , (Extension
"dotm", MimeType
"application/vnd.ms-word.template.macroenabled.12")
    , (Extension
"dotx", MimeType
"application/vnd.openxmlformats-officedocument.wordprocessingml.template")
    , (Extension
"dp", MimeType
"application/vnd.osgi.dp")
    , (Extension
"dpg", MimeType
"application/vnd.dpgraph")
    , (Extension
"dra", MimeType
"audio/vnd.dra")
    , (Extension
"dsc", MimeType
"text/prs.lines.tag")
    , (Extension
"dssc", MimeType
"application/dssc+der")
    , (Extension
"dtb", MimeType
"application/x-dtbook+xml")
    , (Extension
"dtd", MimeType
"application/xml-dtd")
    , (Extension
"dts", MimeType
"audio/vnd.dts")
    , (Extension
"dtshd", MimeType
"audio/vnd.dts.hd")
    , (Extension
"dump", MimeType
"application/octet-stream")
    , (Extension
"dv", MimeType
"video/dv")
    , (Extension
"dvb", MimeType
"video/vnd.dvb.file")
    , (Extension
"dvi", MimeType
"application/x-dvi")
    , (Extension
"dwf", MimeType
"model/vnd.dwf")
    , (Extension
"dwg", MimeType
"image/vnd.dwg")
    , (Extension
"dxf", MimeType
"image/vnd.dxf")
    , (Extension
"dxp", MimeType
"application/vnd.spotfire.dxp")
    , (Extension
"dxr", MimeType
"application/x-director")
    , (Extension
"ear", MimeType
"application/java-archive")
    , (Extension
"ecelp4800", MimeType
"audio/vnd.nuera.ecelp4800")
    , (Extension
"ecelp7470", MimeType
"audio/vnd.nuera.ecelp7470")
    , (Extension
"ecelp9600", MimeType
"audio/vnd.nuera.ecelp9600")
    , (Extension
"ecma", MimeType
"application/ecmascript")
    , (Extension
"edm", MimeType
"application/vnd.novadigm.edm")
    , (Extension
"edx", MimeType
"application/vnd.novadigm.edx")
    , (Extension
"efif", MimeType
"application/vnd.picsel")
    , (Extension
"ei6", MimeType
"application/vnd.pg.osasli")
    , (Extension
"elc", MimeType
"application/octet-stream")
    , (Extension
"emf", MimeType
"application/x-msmetafile")
    , (Extension
"eml", MimeType
"message/rfc822")
    , (Extension
"emma", MimeType
"application/emma+xml")
    , (Extension
"emz", MimeType
"application/x-msmetafile")
    , (Extension
"eol", MimeType
"audio/vnd.digital-winds")
    , (Extension
"eot", MimeType
"application/vnd.ms-fontobject")
    , (Extension
"eps", MimeType
"application/postscript")
    , (Extension
"epub", MimeType
"application/epub+zip")
    , (Extension
"es3", MimeType
"application/vnd.eszigno3+xml")
    , (Extension
"esa", MimeType
"application/vnd.osgi.subsystem")
    , (Extension
"esf", MimeType
"application/vnd.epson.esf")
    , (Extension
"et3", MimeType
"application/vnd.eszigno3+xml")
    , (Extension
"etx", MimeType
"text/x-setext")
    , (Extension
"eva", MimeType
"application/x-eva")
    , (Extension
"evy", MimeType
"application/x-envoy")
    , (Extension
"exe", MimeType
"application/vnd.microsoft.portable-executable")
    , (Extension
"exi", MimeType
"application/exi")
    , (Extension
"ext", MimeType
"application/vnd.novadigm.ext")
    , (Extension
"ez", MimeType
"application/andrew-inset")
    , (Extension
"ez2", MimeType
"application/vnd.ezpix-album")
    , (Extension
"ez3", MimeType
"application/vnd.ezpix-package")
    , (Extension
"f", MimeType
"text/x-fortran")
    , (Extension
"f4v", MimeType
"video/x-f4v")
    , (Extension
"f77", MimeType
"text/x-fortran")
    , (Extension
"f90", MimeType
"text/x-fortran")
    , (Extension
"fbs", MimeType
"image/vnd.fastbidsheet")
    , (Extension
"fcdt", MimeType
"application/vnd.adobe.formscentral.fcdt")
    , (Extension
"fcs", MimeType
"application/vnd.isac.fcs")
    , (Extension
"fdf", MimeType
"application/vnd.fdf")
    , (Extension
"fe_launch", MimeType
"application/vnd.denovo.fcselayout-link")
    , (Extension
"fg5", MimeType
"application/vnd.fujitsu.oasysgp")
    , (Extension
"fgd", MimeType
"application/x-director")
    , (Extension
"fh", MimeType
"image/x-freehand")
    , (Extension
"fh4", MimeType
"image/x-freehand")
    , (Extension
"fh5", MimeType
"image/x-freehand")
    , (Extension
"fh7", MimeType
"image/x-freehand")
    , (Extension
"fhc", MimeType
"image/x-freehand")
    , (Extension
"fig", MimeType
"application/x-xfig")
    , (Extension
"flac", MimeType
"audio/x-flac")
    , (Extension
"fli", MimeType
"video/x-fli")
    , (Extension
"flo", MimeType
"application/vnd.micrografx.flo")
    , (Extension
"flv", MimeType
"video/x-flv")
    , (Extension
"flw", MimeType
"application/vnd.kde.kivio")
    , (Extension
"flx", MimeType
"text/vnd.fmi.flexstor")
    , (Extension
"fly", MimeType
"text/vnd.fly")
    , (Extension
"fm", MimeType
"application/vnd.framemaker")
    , (Extension
"fnc", MimeType
"application/vnd.frogans.fnc")
    , (Extension
"for", MimeType
"text/x-fortran")
    , (Extension
"fpx", MimeType
"image/vnd.fpx")
    , (Extension
"frame", MimeType
"application/vnd.framemaker")
    , (Extension
"fsc", MimeType
"application/vnd.fsc.weblaunch")
    , (Extension
"fst", MimeType
"image/vnd.fst")
    , (Extension
"ftc", MimeType
"application/vnd.fluxtime.clip")
    , (Extension
"fti", MimeType
"application/vnd.anser-web-funds-transfer-initiation")
    , (Extension
"fvt", MimeType
"video/vnd.fvt")
    , (Extension
"fxp", MimeType
"application/vnd.adobe.fxp")
    , (Extension
"fxpl", MimeType
"application/vnd.adobe.fxp")
    , (Extension
"fzs", MimeType
"application/vnd.fuzzysheet")
    , (Extension
"g2w", MimeType
"application/vnd.geoplan")
    , (Extension
"g3", MimeType
"image/g3fax")
    , (Extension
"g3w", MimeType
"application/vnd.geospace")
    , (Extension
"gac", MimeType
"application/vnd.groove-account")
    , (Extension
"gam", MimeType
"application/x-tads")
    , (Extension
"gbr", MimeType
"application/rpki-ghostbusters")
    , (Extension
"gca", MimeType
"application/x-gca-compressed")
    , (Extension
"gdl", MimeType
"model/vnd.gdl")
    , (Extension
"geo", MimeType
"application/vnd.dynageo")
    , (Extension
"gex", MimeType
"application/vnd.geometry-explorer")
    , (Extension
"gf", MimeType
"application/x-tex-gf")
    , (Extension
"ggb", MimeType
"application/vnd.geogebra.file")
    , (Extension
"ggt", MimeType
"application/vnd.geogebra.tool")
    , (Extension
"ghf", MimeType
"application/vnd.groove-help")
    , (Extension
"gif", MimeType
"image/gif")
    , (Extension
"gim", MimeType
"application/vnd.groove-identity-message")
    , (Extension
"gml", MimeType
"application/gml+xml")
    , (Extension
"gmx", MimeType
"application/vnd.gmx")
    , (Extension
"gnumeric", MimeType
"application/x-gnumeric")
    , (Extension
"gph", MimeType
"application/vnd.flographit")
    , (Extension
"gpx", MimeType
"application/gpx+xml")
    , (Extension
"gqf", MimeType
"application/vnd.grafeq")
    , (Extension
"gqs", MimeType
"application/vnd.grafeq")
    , (Extension
"gram", MimeType
"application/srgs")
    , (Extension
"gramps", MimeType
"application/x-gramps-xml")
    , (Extension
"gre", MimeType
"application/vnd.geometry-explorer")
    , (Extension
"grv", MimeType
"application/vnd.groove-injector")
    , (Extension
"grxml", MimeType
"application/srgs+xml")
    , (Extension
"gsf", MimeType
"application/x-font-ghostscript")
    , (Extension
"gtar", MimeType
"application/x-gtar")
    , (Extension
"gtm", MimeType
"application/vnd.groove-tool-message")
    , (Extension
"gtw", MimeType
"model/vnd.gtw")
    , (Extension
"gv", MimeType
"text/vnd.graphviz")
    , (Extension
"gxf", MimeType
"application/gxf")
    , (Extension
"gxt", MimeType
"application/vnd.geonext")
    , (Extension
"gz", MimeType
"application/gzip")
    , (Extension
"h", MimeType
"text/x-c")
    , (Extension
"h261", MimeType
"video/h261")
    , (Extension
"h263", MimeType
"video/h263")
    , (Extension
"h264", MimeType
"video/h264")
    , (Extension
"hal", MimeType
"application/vnd.hal+xml")
    , (Extension
"hbci", MimeType
"application/vnd.hbci")
    , (Extension
"hdf", MimeType
"application/x-hdf")
    , (Extension
"hh", MimeType
"text/x-c")
    , (Extension
"hlp", MimeType
"application/winhlp")
    , (Extension
"hpgl", MimeType
"application/vnd.hp-hpgl")
    , (Extension
"hpid", MimeType
"application/vnd.hp-hpid")
    , (Extension
"hps", MimeType
"application/vnd.hp-hps")
    , (Extension
"hqx", MimeType
"application/mac-binhex40")
    , (Extension
"hs", MimeType
"text/plain")
    , (Extension
"htc", MimeType
"text/x-component")
    , (Extension
"htke", MimeType
"application/vnd.kenameaapp")
    , (Extension
"htm", MimeType
"text/html")
    , (Extension
"html", MimeType
"text/html")
    , (Extension
"hvd", MimeType
"application/vnd.yamaha.hv-dic")
    , (Extension
"hvp", MimeType
"application/vnd.yamaha.hv-voice")
    , (Extension
"hvs", MimeType
"application/vnd.yamaha.hv-script")
    , (Extension
"i2g", MimeType
"application/vnd.intergeo")
    , (Extension
"icc", MimeType
"application/vnd.iccprofile")
    , (Extension
"ice", MimeType
"x-conference/x-cooltalk")
    , (Extension
"icm", MimeType
"application/vnd.iccprofile")
    , (Extension
"ico", MimeType
"image/vnd.microsoft.icon")
    , (Extension
"ics", MimeType
"text/calendar")
    , (Extension
"ief", MimeType
"image/ief")
    , (Extension
"ifb", MimeType
"text/calendar")
    , (Extension
"ifm", MimeType
"application/vnd.shana.informed.formdata")
    , (Extension
"iges", MimeType
"model/iges")
    , (Extension
"igl", MimeType
"application/vnd.igloader")
    , (Extension
"igm", MimeType
"application/vnd.insors.igm")
    , (Extension
"igs", MimeType
"model/iges")
    , (Extension
"igx", MimeType
"application/vnd.micrografx.igx")
    , (Extension
"iif", MimeType
"application/vnd.shana.informed.interchange")
    , (Extension
"img", MimeType
"application/octet-stream")
    , (Extension
"imp", MimeType
"application/vnd.accpac.simply.imp")
    , (Extension
"ims", MimeType
"application/vnd.ms-ims")
    , (Extension
"in", MimeType
"text/plain")
    , (Extension
"ink", MimeType
"application/inkml+xml")
    , (Extension
"inkml", MimeType
"application/inkml+xml")
    , (Extension
"install", MimeType
"application/x-install-instructions")
    , (Extension
"iota", MimeType
"application/vnd.astraea-software.iota")
    , (Extension
"ipfix", MimeType
"application/ipfix")
    , (Extension
"ipk", MimeType
"application/vnd.shana.informed.package")
    , (Extension
"irm", MimeType
"application/vnd.ibm.rights-management")
    , (Extension
"irp", MimeType
"application/vnd.irepository.package+xml")
    , (Extension
"iso", MimeType
"application/x-iso9660-image")
    , (Extension
"itp", MimeType
"application/vnd.shana.informed.formtemplate")
    , (Extension
"ivp", MimeType
"application/vnd.immervision-ivp")
    , (Extension
"ivu", MimeType
"application/vnd.immervision-ivu")
    , (Extension
"jad", MimeType
"text/vnd.sun.j2me.app-descriptor")
    , (Extension
"jam", MimeType
"application/vnd.jam")
    , (Extension
"jar", MimeType
"application/java-archive")
    , (Extension
"jardiff", MimeType
"application/x-java-archive-diff")
    , (Extension
"java", MimeType
"text/x-java-source")
    , (Extension
"jisp", MimeType
"application/vnd.jisp")
    , (Extension
"jlt", MimeType
"application/vnd.hp-jlyt")
    , (Extension
"jng", MimeType
"image/x-jng")
    , (Extension
"jnlp", MimeType
"application/x-java-jnlp-file")
    , (Extension
"joda", MimeType
"application/vnd.joost.joda-archive")
    , (Extension
"jpe", MimeType
"image/jpeg")
    , (Extension
"jpeg", MimeType
"image/jpeg")
    , (Extension
"jpg", MimeType
"image/jpeg")
    , (Extension
"jpgm", MimeType
"video/jpm")
    , (Extension
"jpgv", MimeType
"video/jpeg")
    , (Extension
"jpm", MimeType
"video/jpm")
    , (Extension
"js", MimeType
"application/javascript")
    , (Extension
"json", MimeType
"application/json")
    , (Extension
"jsonml", MimeType
"application/jsonml+json")
    , (Extension
"kar", MimeType
"audio/midi")
    , (Extension
"karbon", MimeType
"application/vnd.kde.karbon")
    , (Extension
"kfo", MimeType
"application/vnd.kde.kformula")
    , (Extension
"kia", MimeType
"application/vnd.kidspiration")
    , (Extension
"kml", MimeType
"application/vnd.google-earth.kml+xml")
    , (Extension
"kmz", MimeType
"application/vnd.google-earth.kmz")
    , (Extension
"kne", MimeType
"application/vnd.kinar")
    , (Extension
"knp", MimeType
"application/vnd.kinar")
    , (Extension
"kon", MimeType
"application/vnd.kde.kontour")
    , (Extension
"kpr", MimeType
"application/vnd.kde.kpresenter")
    , (Extension
"kpt", MimeType
"application/vnd.kde.kpresenter")
    , (Extension
"kpxx", MimeType
"application/vnd.ds-keypoint")
    , (Extension
"ksp", MimeType
"application/vnd.kde.kspread")
    , (Extension
"ktr", MimeType
"application/vnd.kahootz")
    , (Extension
"ktx", MimeType
"image/ktx")
    , (Extension
"ktz", MimeType
"application/vnd.kahootz")
    , (Extension
"kwd", MimeType
"application/vnd.kde.kword")
    , (Extension
"kwt", MimeType
"application/vnd.kde.kword")
    , (Extension
"lasxml", MimeType
"application/vnd.las.las+xml")
    , (Extension
"latex", MimeType
"application/x-latex")
    , (Extension
"lbd", MimeType
"application/vnd.llamagraphics.life-balance.desktop")
    , (Extension
"lbe", MimeType
"application/vnd.llamagraphics.life-balance.exchange+xml")
    , (Extension
"les", MimeType
"application/vnd.hhe.lesson-player")

    -- Added after deliberation in PR (https://github.com/yesodweb/wai/pull/534)
    -- Accepted mainly because of StackOverflow (http://stackoverflow.com/questions/7319555/how-to-add-less-to-iis-7-0)
    , (Extension
"less", MimeType
"text/css")

    , (Extension
"lha", MimeType
"application/x-lzh-compressed")
    , (Extension
"link66", MimeType
"application/vnd.route66.link66+xml")
    , (Extension
"list", MimeType
"text/plain")
    , (Extension
"list3820", MimeType
"application/vnd.ibm.modcap")
    , (Extension
"listafp", MimeType
"application/vnd.ibm.modcap")
    , (Extension
"lnk", MimeType
"application/x-ms-shortcut")
    , (Extension
"log", MimeType
"text/plain")
    , (Extension
"lostxml", MimeType
"application/lost+xml")
    , (Extension
"lrf", MimeType
"application/octet-stream")
    , (Extension
"lrm", MimeType
"application/vnd.ms-lrm")
    , (Extension
"ltf", MimeType
"application/vnd.frogans.ltf")
    , (Extension
"ltx", MimeType
"application/x-tex")
    , (Extension
"lvp", MimeType
"audio/vnd.lucent.voice")
    , (Extension
"lwp", MimeType
"application/vnd.lotus-wordpro")
    , (Extension
"lzh", MimeType
"application/x-lzh-compressed")
    , (Extension
"m13", MimeType
"application/x-msmediaview")
    , (Extension
"m14", MimeType
"application/x-msmediaview")
    , (Extension
"m1v", MimeType
"video/mpeg")
    , (Extension
"m21", MimeType
"application/mp21")
    , (Extension
"m2a", MimeType
"audio/mpeg")
    , (Extension
"m2v", MimeType
"video/mpeg")
    , (Extension
"m3a", MimeType
"audio/mpeg")
    , (Extension
"m3u", MimeType
"application/vnd.apple.mpegurl")
    , (Extension
"m3u8", MimeType
"application/vnd.apple.mpegurl")
    , (Extension
"m4a", MimeType
"audio/mp4")
    , (Extension
"m4u", MimeType
"video/vnd.mpegurl")
    , (Extension
"m4v", MimeType
"video/x-m4v")
    , (Extension
"ma", MimeType
"application/mathematica")
    , (Extension
"mads", MimeType
"application/mads+xml")
    , (Extension
"mag", MimeType
"application/vnd.ecowin.chart")
    , (Extension
"maker", MimeType
"application/vnd.framemaker")
    , (Extension
"man", MimeType
"text/troff")
    , (Extension
"manifest", MimeType
"text/cache-manifest")
    , (Extension
"mar", MimeType
"application/octet-stream")
    , (Extension
"markdown", MimeType
"text/markdown")
    , (Extension
"mathml", MimeType
"application/mathml+xml")
    , (Extension
"mb", MimeType
"application/mathematica")
    , (Extension
"mbk", MimeType
"application/vnd.mobius.mbk")
    , (Extension
"mbox", MimeType
"application/mbox")
    , (Extension
"mc1", MimeType
"application/vnd.medcalcdata")
    , (Extension
"mcd", MimeType
"application/vnd.mcd")
    , (Extension
"mcurl", MimeType
"text/vnd.curl.mcurl")
    , (Extension
"md", MimeType
"text/markdown")
    , (Extension
"mdb", MimeType
"application/x-msaccess")
    , (Extension
"mdi", MimeType
"image/vnd.ms-modi")
    , (Extension
"me", MimeType
"text/troff")
    , (Extension
"mesh", MimeType
"model/mesh")
    , (Extension
"meta4", MimeType
"application/metalink4+xml")
    , (Extension
"metalink", MimeType
"application/metalink+xml")
    , (Extension
"mets", MimeType
"application/mets+xml")
    , (Extension
"mfm", MimeType
"application/vnd.mfmp")
    , (Extension
"mft", MimeType
"application/rpki-manifest")
    , (Extension
"mgp", MimeType
"application/vnd.osgeo.mapguide.package")
    , (Extension
"mgz", MimeType
"application/vnd.proteus.magazine")
    , (Extension
"mid", MimeType
"audio/midi")
    , (Extension
"midi", MimeType
"audio/midi")
    , (Extension
"mie", MimeType
"application/x-mie")
    , (Extension
"mif", MimeType
"application/vnd.mif")
    , (Extension
"mime", MimeType
"message/rfc822")
    , (Extension
"mj2", MimeType
"video/mj2")
    , (Extension
"mjp2", MimeType
"video/mj2")
    , (Extension
"mjs", MimeType
"application/javascript")
    , (Extension
"mk3d", MimeType
"video/x-matroska")
    , (Extension
"mka", MimeType
"audio/x-matroska")
    , (Extension
"mks", MimeType
"video/x-matroska")
    , (Extension
"mkv", MimeType
"video/x-matroska")
    , (Extension
"mlp", MimeType
"application/vnd.dolby.mlp")
    , (Extension
"mmd", MimeType
"application/vnd.chipnuts.karaoke-mmd")
    , (Extension
"mmf", MimeType
"application/vnd.smaf")
    , (Extension
"mml", MimeType
"text/mathml")
    , (Extension
"mmr", MimeType
"image/vnd.fujixerox.edmics-mmr")
    , (Extension
"mng", MimeType
"video/x-mng")
    , (Extension
"mny", MimeType
"application/x-msmoney")
    , (Extension
"mobi", MimeType
"application/x-mobipocket-ebook")
    , (Extension
"mods", MimeType
"application/mods+xml")
    , (Extension
"mov", MimeType
"video/quicktime")
    , (Extension
"movie", MimeType
"video/x-sgi-movie")
    , (Extension
"mp2", MimeType
"audio/mpeg")
    , (Extension
"mp21", MimeType
"application/mp21")
    , (Extension
"mp2a", MimeType
"audio/mpeg")
    , (Extension
"mp3", MimeType
"audio/mpeg")
    , (Extension
"mp4", MimeType
"video/mp4")
    , (Extension
"mp4a", MimeType
"audio/mp4")
    , (Extension
"mp4s", MimeType
"application/mp4")
    , (Extension
"mp4v", MimeType
"video/mp4")
    , (Extension
"mpc", MimeType
"application/vnd.mophun.certificate")
    , (Extension
"mpe", MimeType
"video/mpeg")
    , (Extension
"mpeg", MimeType
"video/mpeg")
    , (Extension
"mpg", MimeType
"video/mpeg")
    , (Extension
"mpg4", MimeType
"video/mp4")
    , (Extension
"mpga", MimeType
"audio/mpeg")
    , (Extension
"mpkg", MimeType
"application/vnd.apple.installer+xml")
    , (Extension
"mpm", MimeType
"application/vnd.blueice.multipass")
    , (Extension
"mpn", MimeType
"application/vnd.mophun.application")
    , (Extension
"mpp", MimeType
"application/vnd.ms-project")
    , (Extension
"mpt", MimeType
"application/vnd.ms-project")
    , (Extension
"mpy", MimeType
"application/vnd.ibm.minipay")
    , (Extension
"mqy", MimeType
"application/vnd.mobius.mqy")
    , (Extension
"mrc", MimeType
"application/marc")
    , (Extension
"mrcx", MimeType
"application/marcxml+xml")
    , (Extension
"ms", MimeType
"text/troff")
    , (Extension
"mscml", MimeType
"application/mediaservercontrol+xml")
    , (Extension
"mseed", MimeType
"application/vnd.fdsn.mseed")
    , (Extension
"mseq", MimeType
"application/vnd.mseq")
    , (Extension
"msf", MimeType
"application/vnd.epson.msf")
    , (Extension
"msh", MimeType
"model/mesh")
    , (Extension
"msi", MimeType
"application/x-msdownload")
    , (Extension
"msl", MimeType
"application/vnd.mobius.msl")
    , (Extension
"msm", MimeType
"application/octet-stream")
    , (Extension
"msp", MimeType
"application/octet-stream")
    , (Extension
"msty", MimeType
"application/vnd.muvee.style")
    , (Extension
"mts", MimeType
"model/vnd.mts")
    , (Extension
"mus", MimeType
"application/vnd.musician")
    , (Extension
"musicxml", MimeType
"application/vnd.recordare.musicxml+xml")
    , (Extension
"mvb", MimeType
"application/x-msmediaview")
    , (Extension
"mwf", MimeType
"application/vnd.mfer")
    , (Extension
"mxf", MimeType
"application/mxf")
    , (Extension
"mxl", MimeType
"application/vnd.recordare.musicxml")
    , (Extension
"mxml", MimeType
"application/xv+xml")
    , (Extension
"mxs", MimeType
"application/vnd.triscape.mxs")
    , (Extension
"mxu", MimeType
"video/vnd.mpegurl")
    , (Extension
"n-gage", MimeType
"application/vnd.nokia.n-gage.symbian.install")
    , (Extension
"n3", MimeType
"text/n3")
    , (Extension
"nb", MimeType
"application/mathematica")
    , (Extension
"nbp", MimeType
"application/vnd.wolfram.player")
    , (Extension
"nc", MimeType
"application/x-netcdf")
    , (Extension
"ncx", MimeType
"application/x-dtbncx+xml")
    , (Extension
"nfo", MimeType
"text/x-nfo")
    , (Extension
"ngdat", MimeType
"application/vnd.nokia.n-gage.data")
    , (Extension
"nitf", MimeType
"application/vnd.nitf")
    , (Extension
"nlu", MimeType
"application/vnd.neurolanguage.nlu")
    , (Extension
"nml", MimeType
"application/vnd.enliven")
    , (Extension
"nnd", MimeType
"application/vnd.noblenet-directory")
    , (Extension
"nns", MimeType
"application/vnd.noblenet-sealer")
    , (Extension
"nnw", MimeType
"application/vnd.noblenet-web")
    , (Extension
"npx", MimeType
"image/vnd.net-fpx")
    , (Extension
"nsc", MimeType
"application/x-conference")
    , (Extension
"nsf", MimeType
"application/vnd.lotus-notes")
    , (Extension
"ntf", MimeType
"application/vnd.nitf")
    , (Extension
"nzb", MimeType
"application/x-nzb")
    , (Extension
"oa2", MimeType
"application/vnd.fujitsu.oasys2")
    , (Extension
"oa3", MimeType
"application/vnd.fujitsu.oasys3")
    , (Extension
"oas", MimeType
"application/vnd.fujitsu.oasys")
    , (Extension
"obd", MimeType
"application/x-msbinder")
    , (Extension
"obj", MimeType
"application/x-tgif")
    , (Extension
"oda", MimeType
"application/oda")
    , (Extension
"odb", MimeType
"application/vnd.oasis.opendocument.database")
    , (Extension
"odc", MimeType
"application/vnd.oasis.opendocument.chart")
    , (Extension
"odf", MimeType
"application/vnd.oasis.opendocument.formula")
    , (Extension
"odft", MimeType
"application/vnd.oasis.opendocument.formula-template")
    , (Extension
"odg", MimeType
"application/vnd.oasis.opendocument.graphics")
    , (Extension
"odi", MimeType
"application/vnd.oasis.opendocument.image")
    , (Extension
"odm", MimeType
"application/vnd.oasis.opendocument.text-master")
    , (Extension
"odp", MimeType
"application/vnd.oasis.opendocument.presentation")
    , (Extension
"ods", MimeType
"application/vnd.oasis.opendocument.spreadsheet")
    , (Extension
"odt", MimeType
"application/vnd.oasis.opendocument.text")
    , (Extension
"oga", MimeType
"audio/ogg")
    , (Extension
"ogg", MimeType
"audio/ogg")
    , (Extension
"ogv", MimeType
"video/ogg")
    , (Extension
"ogx", MimeType
"application/ogg")
    , (Extension
"omdoc", MimeType
"application/omdoc+xml")
    , (Extension
"onepkg", MimeType
"application/onenote")
    , (Extension
"onetmp", MimeType
"application/onenote")
    , (Extension
"onetoc", MimeType
"application/onenote")
    , (Extension
"onetoc2", MimeType
"application/onenote")
    , (Extension
"opf", MimeType
"application/oebps-package+xml")
    , (Extension
"opml", MimeType
"text/x-opml")
    , (Extension
"oprc", MimeType
"application/vnd.palm")
    , (Extension
"opus", MimeType
"audio/opus")
    , (Extension
"org", MimeType
"application/vnd.lotus-organizer")
    , (Extension
"osf", MimeType
"application/vnd.yamaha.openscoreformat")
    , (Extension
"osfpvg", MimeType
"application/vnd.yamaha.openscoreformat.osfpvg+xml")
    , (Extension
"otc", MimeType
"application/vnd.oasis.opendocument.chart-template")
    , (Extension
"otf", MimeType
"font/otf")
    , (Extension
"otg", MimeType
"application/vnd.oasis.opendocument.graphics-template")
    , (Extension
"oth", MimeType
"application/vnd.oasis.opendocument.text-web")
    , (Extension
"oti", MimeType
"application/vnd.oasis.opendocument.image-template")
    , (Extension
"otp", MimeType
"application/vnd.oasis.opendocument.presentation-template")
    , (Extension
"ots", MimeType
"application/vnd.oasis.opendocument.spreadsheet-template")
    , (Extension
"ott", MimeType
"application/vnd.oasis.opendocument.text-template")
    , (Extension
"oxps", MimeType
"application/oxps")
    , (Extension
"oxt", MimeType
"application/vnd.openofficeorg.extension")
    , (Extension
"p", MimeType
"text/x-pascal")
    , (Extension
"p10", MimeType
"application/pkcs10")
    , (Extension
"p12", MimeType
"application/x-pkcs12")
    , (Extension
"p7b", MimeType
"application/x-pkcs7-certificates")
    , (Extension
"p7c", MimeType
"application/pkcs7-mime")
    , (Extension
"p7m", MimeType
"application/pkcs7-mime")
    , (Extension
"p7r", MimeType
"application/x-pkcs7-certreqresp")
    , (Extension
"p7s", MimeType
"application/pkcs7-signature")
    , (Extension
"p8", MimeType
"application/pkcs8")
    , (Extension
"pac", MimeType
"application/x-ns-proxy-autoconfig")
    , (Extension
"pas", MimeType
"text/x-pascal")
    , (Extension
"paw", MimeType
"application/vnd.pawaafile")
    , (Extension
"pbd", MimeType
"application/vnd.powerbuilder6")
    , (Extension
"pbm", MimeType
"image/x-portable-bitmap")
    , (Extension
"pcap", MimeType
"application/vnd.tcpdump.pcap")
    , (Extension
"pcf", MimeType
"application/x-font-pcf")
    , (Extension
"pcl", MimeType
"application/vnd.hp-pcl")
    , (Extension
"pclxl", MimeType
"application/vnd.hp-pclxl")
    , (Extension
"pct", MimeType
"image/x-pict")
    , (Extension
"pcurl", MimeType
"application/vnd.curl.pcurl")
    , (Extension
"pcx", MimeType
"image/vnd.zbrush.pcx")
    , (Extension
"pdb", MimeType
"application/vnd.palm")
    , (Extension
"pdf", MimeType
"application/pdf")
    , (Extension
"pem", MimeType
"application/x-x509-ca-cert")
    , (Extension
"pfa", MimeType
"application/x-font-type1")
    , (Extension
"pfb", MimeType
"application/x-font-type1")
    , (Extension
"pfm", MimeType
"application/x-font-type1")
    , (Extension
"pfr", MimeType
"application/font-tdpfr")
    , (Extension
"pfx", MimeType
"application/x-pkcs12")
    , (Extension
"pgm", MimeType
"image/x-portable-graymap")
    , (Extension
"pgn", MimeType
"application/x-chess-pgn")
    , (Extension
"pgp", MimeType
"application/pgp-encrypted")
    , (Extension
"pic", MimeType
"image/x-pict")
    , (Extension
"pkg", MimeType
"application/octet-stream")
    , (Extension
"pki", MimeType
"application/pkixcmp")
    , (Extension
"pkipath", MimeType
"application/pkix-pkipath")
    , (Extension
"pl", MimeType
"application/x-perl")
    , (Extension
"plb", MimeType
"application/vnd.3gpp.pic-bw-large")
    , (Extension
"plc", MimeType
"application/vnd.mobius.plc")
    , (Extension
"plf", MimeType
"application/vnd.pocketlearn")
    , (Extension
"pls", MimeType
"application/pls+xml")
    , (Extension
"pm", MimeType
"application/x-perl")
    , (Extension
"pml", MimeType
"application/vnd.ctc-posml")
    , (Extension
"png", MimeType
"image/png")
    , (Extension
"pnm", MimeType
"image/x-portable-anymap")
    , (Extension
"portpkg", MimeType
"application/vnd.macports.portpkg")
    , (Extension
"pot", MimeType
"application/vnd.ms-powerpoint")
    , (Extension
"potm", MimeType
"application/vnd.ms-powerpoint.template.macroenabled.12")
    , (Extension
"potx", MimeType
"application/vnd.openxmlformats-officedocument.presentationml.template")
    , (Extension
"ppam", MimeType
"application/vnd.ms-powerpoint.addin.macroenabled.12")
    , (Extension
"ppd", MimeType
"application/vnd.cups-ppd")
    , (Extension
"ppm", MimeType
"image/x-portable-pixmap")
    , (Extension
"pps", MimeType
"application/vnd.ms-powerpoint")
    , (Extension
"ppsm", MimeType
"application/vnd.ms-powerpoint.slideshow.macroenabled.12")
    , (Extension
"ppsx", MimeType
"application/vnd.openxmlformats-officedocument.presentationml.slideshow")
    , (Extension
"ppt", MimeType
"application/vnd.ms-powerpoint")
    , (Extension
"pptm", MimeType
"application/vnd.ms-powerpoint.presentation.macroenabled.12")
    , (Extension
"pptx", MimeType
"application/vnd.openxmlformats-officedocument.presentationml.presentation")
    , (Extension
"pqa", MimeType
"application/vnd.palm")
    , (Extension
"prc", MimeType
"application/x-mobipocket-ebook")
    , (Extension
"pre", MimeType
"application/vnd.lotus-freelance")
    , (Extension
"prf", MimeType
"application/pics-rules")
    , (Extension
"ps", MimeType
"application/postscript")
    , (Extension
"psb", MimeType
"application/vnd.3gpp.pic-bw-small")
    , (Extension
"psd", MimeType
"image/vnd.adobe.photoshop")
    , (Extension
"psf", MimeType
"application/x-font-linux-psf")
    , (Extension
"pskcxml", MimeType
"application/pskc+xml")
    , (Extension
"ptid", MimeType
"application/vnd.pvi.ptid1")
    , (Extension
"pub", MimeType
"application/x-mspublisher")
    , (Extension
"pvb", MimeType
"application/vnd.3gpp.pic-bw-var")
    , (Extension
"pwn", MimeType
"application/vnd.3m.post-it-notes")
    , (Extension
"pya", MimeType
"audio/vnd.ms-playready.media.pya")
    , (Extension
"pyv", MimeType
"video/vnd.ms-playready.media.pyv")
    , (Extension
"qam", MimeType
"application/vnd.epson.quickanime")
    , (Extension
"qbo", MimeType
"application/vnd.intu.qbo")
    , (Extension
"qfx", MimeType
"application/vnd.intu.qfx")
    , (Extension
"qps", MimeType
"application/vnd.publishare-delta-tree")
    , (Extension
"qt", MimeType
"video/quicktime")
    , (Extension
"qwd", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"qwt", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"qxb", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"qxd", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"qxl", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"qxt", MimeType
"application/vnd.quark.quarkxpress")
    , (Extension
"ra", MimeType
"audio/x-pn-realaudio")
    , (Extension
"ram", MimeType
"audio/x-pn-realaudio")
    , (Extension
"rar", MimeType
"application/vnd.rar")
    , (Extension
"ras", MimeType
"image/x-cmu-raster")
    , (Extension
"rcprofile", MimeType
"application/vnd.ipunplugged.rcprofile")
    , (Extension
"rdf", MimeType
"application/rdf+xml")
    , (Extension
"rdz", MimeType
"application/vnd.data-vision.rdz")
    , (Extension
"rep", MimeType
"application/vnd.businessobjects")
    , (Extension
"res", MimeType
"application/x-dtbresource+xml")
    , (Extension
"rgb", MimeType
"image/x-rgb")
    , (Extension
"rif", MimeType
"application/reginfo+xml")
    , (Extension
"rip", MimeType
"audio/vnd.rip")
    , (Extension
"ris", MimeType
"application/x-research-info-systems")
    , (Extension
"rl", MimeType
"application/resource-lists+xml")
    , (Extension
"rlc", MimeType
"image/vnd.fujixerox.edmics-rlc")
    , (Extension
"rld", MimeType
"application/resource-lists-diff+xml")
    , (Extension
"rm", MimeType
"application/vnd.rn-realmedia")
    , (Extension
"rmi", MimeType
"audio/midi")
    , (Extension
"rmp", MimeType
"audio/x-pn-realaudio-plugin")
    , (Extension
"rms", MimeType
"application/vnd.jcp.javame.midlet-rms")
    , (Extension
"rmvb", MimeType
"application/vnd.rn-realmedia-vbr")
    , (Extension
"rnc", MimeType
"application/relax-ng-compact-syntax")
    , (Extension
"roa", MimeType
"application/rpki-roa")
    , (Extension
"roff", MimeType
"text/troff")
    , (Extension
"rp9", MimeType
"application/vnd.cloanto.rp9")
    , (Extension
"rpm", MimeType
"application/x-redhat-package-manager")
    , (Extension
"rpss", MimeType
"application/vnd.nokia.radio-presets")
    , (Extension
"rpst", MimeType
"application/vnd.nokia.radio-preset")
    , (Extension
"rq", MimeType
"application/sparql-query")
    , (Extension
"rs", MimeType
"application/rls-services+xml")
    , (Extension
"rsd", MimeType
"application/rsd+xml")
    , (Extension
"rss", MimeType
"application/rss+xml")
    , (Extension
"rtf", MimeType
"application/rtf")
    , (Extension
"rtx", MimeType
"text/richtext")
    , (Extension
"run", MimeType
"application/x-makeself")
    , (Extension
"s", MimeType
"text/x-asm")
    , (Extension
"s3m", MimeType
"audio/s3m")
    , (Extension
"saf", MimeType
"application/vnd.yamaha.smaf-audio")
    , (Extension
"sbml", MimeType
"application/sbml+xml")
    , (Extension
"sc", MimeType
"application/vnd.ibm.secure-container")
    , (Extension
"scd", MimeType
"application/x-msschedule")
    , (Extension
"scm", MimeType
"application/vnd.lotus-screencam")
    , (Extension
"scq", MimeType
"application/scvp-cv-request")
    , (Extension
"scs", MimeType
"application/scvp-cv-response")
    , (Extension
"scurl", MimeType
"text/vnd.curl.scurl")
    , (Extension
"sda", MimeType
"application/vnd.stardivision.draw")
    , (Extension
"sdc", MimeType
"application/vnd.stardivision.calc")
    , (Extension
"sdd", MimeType
"application/vnd.stardivision.impress")
    , (Extension
"sdkd", MimeType
"application/vnd.solent.sdkm+xml")
    , (Extension
"sdkm", MimeType
"application/vnd.solent.sdkm+xml")
    , (Extension
"sdp", MimeType
"application/sdp")
    , (Extension
"sdw", MimeType
"application/vnd.stardivision.writer")
    , (Extension
"sea", MimeType
"application/x-sea")
    , (Extension
"see", MimeType
"application/vnd.seemail")
    , (Extension
"seed", MimeType
"application/vnd.fdsn.seed")
    , (Extension
"sema", MimeType
"application/vnd.sema")
    , (Extension
"semd", MimeType
"application/vnd.semd")
    , (Extension
"semf", MimeType
"application/vnd.semf")
    , (Extension
"ser", MimeType
"application/java-serialized-object")
    , (Extension
"setpay", MimeType
"application/set-payment-initiation")
    , (Extension
"setreg", MimeType
"application/set-registration-initiation")
    , (Extension
"sfd-hdstx", MimeType
"application/vnd.hydrostatix.sof-data")
    , (Extension
"sfs", MimeType
"application/vnd.spotfire.sfs")
    , (Extension
"sfv", MimeType
"text/x-sfv")
    , (Extension
"sgi", MimeType
"image/sgi")
    , (Extension
"sgl", MimeType
"application/vnd.stardivision.writer-global")
    , (Extension
"sgm", MimeType
"text/sgml")
    , (Extension
"sgml", MimeType
"text/sgml")
    , (Extension
"sh", MimeType
"application/x-sh")
    , (Extension
"shar", MimeType
"application/x-shar")
    , (Extension
"shf", MimeType
"application/shf+xml")
    , (Extension
"shtml", MimeType
"text/html")
    , (Extension
"sid", MimeType
"image/x-mrsid-image")
    , (Extension
"sig", MimeType
"application/pgp-signature")
    , (Extension
"sil", MimeType
"audio/silk")
    , (Extension
"silo", MimeType
"model/mesh")
    , (Extension
"sis", MimeType
"application/vnd.symbian.install")
    , (Extension
"sisx", MimeType
"application/vnd.symbian.install")
    , (Extension
"sit", MimeType
"application/x-stuffit")
    , (Extension
"sitx", MimeType
"application/x-stuffitx")
    , (Extension
"skd", MimeType
"application/vnd.koan")
    , (Extension
"skm", MimeType
"application/vnd.koan")
    , (Extension
"skp", MimeType
"application/vnd.koan")
    , (Extension
"skt", MimeType
"application/vnd.koan")
    , (Extension
"sldm", MimeType
"application/vnd.ms-powerpoint.slide.macroenabled.12")
    , (Extension
"sldx", MimeType
"application/vnd.openxmlformats-officedocument.presentationml.slide")
    , (Extension
"slt", MimeType
"application/vnd.epson.salt")
    , (Extension
"sm", MimeType
"application/vnd.stepmania.stepchart")
    , (Extension
"smf", MimeType
"application/vnd.stardivision.math")
    , (Extension
"smi", MimeType
"application/smil+xml")
    , (Extension
"smil", MimeType
"application/smil+xml")
    , (Extension
"smv", MimeType
"video/x-smv")
    , (Extension
"smzip", MimeType
"application/vnd.stepmania.package")
    , (Extension
"snd", MimeType
"audio/basic")
    , (Extension
"snf", MimeType
"application/x-font-snf")
    , (Extension
"so", MimeType
"application/octet-stream")
    , (Extension
"spc", MimeType
"application/x-pkcs7-certificates")
    , (Extension
"spf", MimeType
"application/vnd.yamaha.smaf-phrase")
    , (Extension
"spl", MimeType
"application/futuresplash")
    , (Extension
"spot", MimeType
"text/vnd.in3d.spot")
    , (Extension
"spp", MimeType
"application/scvp-vp-response")
    , (Extension
"spq", MimeType
"application/scvp-vp-request")
    , (Extension
"spx", MimeType
"audio/ogg")
    , (Extension
"sql", MimeType
"application/x-sql")
    , (Extension
"src", MimeType
"application/x-wais-source")
    , (Extension
"srt", MimeType
"application/x-subrip")
    , (Extension
"sru", MimeType
"application/sru+xml")
    , (Extension
"srx", MimeType
"application/sparql-results+xml")
    , (Extension
"ssdl", MimeType
"application/ssdl+xml")
    , (Extension
"sse", MimeType
"application/vnd.kodak-descriptor")
    , (Extension
"ssf", MimeType
"application/vnd.epson.ssf")
    , (Extension
"ssml", MimeType
"application/ssml+xml")
    , (Extension
"st", MimeType
"application/vnd.sailingtracker.track")
    , (Extension
"stc", MimeType
"application/vnd.sun.xml.calc.template")
    , (Extension
"std", MimeType
"application/vnd.sun.xml.draw.template")
    , (Extension
"stf", MimeType
"application/vnd.wt.stf")
    , (Extension
"sti", MimeType
"application/vnd.sun.xml.impress.template")
    , (Extension
"stk", MimeType
"application/hyperstudio")
    , (Extension
"stl", MimeType
"application/vnd.ms-pki.stl")
    , (Extension
"str", MimeType
"application/vnd.pg.format")
    , (Extension
"stw", MimeType
"application/vnd.sun.xml.writer.template")
    , (Extension
"sty", MimeType
"application/x-tex")
    , (Extension
"sub", MimeType
"text/vnd.dvb.subtitle")
    , (Extension
"sus", MimeType
"application/vnd.sus-calendar")
    , (Extension
"susp", MimeType
"application/vnd.sus-calendar")
    , (Extension
"sv4cpio", MimeType
"application/x-sv4cpio")
    , (Extension
"sv4crc", MimeType
"application/x-sv4crc")
    , (Extension
"svc", MimeType
"application/vnd.dvb.service")
    , (Extension
"svd", MimeType
"application/vnd.svd")
    , (Extension
"svg", MimeType
"image/svg+xml")
    , (Extension
"svgz", MimeType
"image/svg+xml")
    , (Extension
"swa", MimeType
"application/x-director")
    , (Extension
"swf", MimeType
"application/x-shockwave-flash")
    , (Extension
"swi", MimeType
"application/vnd.aristanetworks.swi")
    , (Extension
"sxc", MimeType
"application/vnd.sun.xml.calc")
    , (Extension
"sxd", MimeType
"application/vnd.sun.xml.draw")
    , (Extension
"sxg", MimeType
"application/vnd.sun.xml.writer.global")
    , (Extension
"sxi", MimeType
"application/vnd.sun.xml.impress")
    , (Extension
"sxm", MimeType
"application/vnd.sun.xml.math")
    , (Extension
"sxw", MimeType
"application/vnd.sun.xml.writer")
    , (Extension
"t", MimeType
"text/troff")
    , (Extension
"t3", MimeType
"application/x-t3vm-image")
    , (Extension
"taglet", MimeType
"application/vnd.mynfc")
    , (Extension
"tao", MimeType
"application/vnd.tao.intent-module-archive")
    , (Extension
"tar", MimeType
"application/x-tar")
    , (Extension
"tar.bz2", MimeType
"application/x-bzip-compressed-tar")
    , (Extension
"tar.gz", MimeType
"application/x-tgz")
    , (Extension
"tbz", MimeType
"application/x-bzip-compressed-tar")
    , (Extension
"tcap", MimeType
"application/vnd.3gpp2.tcap")
    , (Extension
"tcl", MimeType
"application/x-tcl")
    , (Extension
"teacher", MimeType
"application/vnd.smart.teacher")
    , (Extension
"tei", MimeType
"application/tei+xml")
    , (Extension
"teicorpus", MimeType
"application/tei+xml")
    , (Extension
"tex", MimeType
"application/x-tex")
    , (Extension
"texi", MimeType
"application/x-texinfo")
    , (Extension
"texinfo", MimeType
"application/x-texinfo")
    , (Extension
"text", MimeType
"text/plain")
    , (Extension
"tfi", MimeType
"application/thraud+xml")
    , (Extension
"tfm", MimeType
"application/x-tex-tfm")
    , (Extension
"tga", MimeType
"image/x-tga")
    , (Extension
"tgz", MimeType
"application/x-tgz")
    , (Extension
"thmx", MimeType
"application/vnd.ms-officetheme")
    , (Extension
"tif", MimeType
"image/tiff")
    , (Extension
"tiff", MimeType
"image/tiff")
    , (Extension
"tk", MimeType
"application/x-tcl")
    , (Extension
"tmo", MimeType
"application/vnd.tmobile-livetv")
    , (Extension
"torrent", MimeType
"application/x-bittorrent")
    , (Extension
"tpl", MimeType
"application/vnd.groove-tool-template")
    , (Extension
"tpt", MimeType
"application/vnd.trid.tpt")
    , (Extension
"tr", MimeType
"text/troff")
    , (Extension
"tra", MimeType
"application/vnd.trueapp")
    , (Extension
"trm", MimeType
"application/x-msterminal")
    , (Extension
"tsd", MimeType
"application/timestamped-data")
    , (Extension
"tsv", MimeType
"text/tab-separated-values")
    , (Extension
"ttc", MimeType
"font/ttf")
    , (Extension
"ttf", MimeType
"font/ttf")
    , (Extension
"ttl", MimeType
"text/turtle")
    , (Extension
"twd", MimeType
"application/vnd.simtech-mindmapper")
    , (Extension
"twds", MimeType
"application/vnd.simtech-mindmapper")
    , (Extension
"txd", MimeType
"application/vnd.genomatix.tuxedo")
    , (Extension
"txf", MimeType
"application/vnd.mobius.txf")
    , (Extension
"txt", MimeType
"text/plain")
    , (Extension
"u32", MimeType
"application/x-authorware-bin")
    , (Extension
"udeb", MimeType
"application/x-debian-package")
    , (Extension
"ufd", MimeType
"application/vnd.ufdl")
    , (Extension
"ufdl", MimeType
"application/vnd.ufdl")
    , (Extension
"ulx", MimeType
"application/x-glulx")
    , (Extension
"umj", MimeType
"application/vnd.umajin")
    , (Extension
"unityweb", MimeType
"application/vnd.unity")
    , (Extension
"uoml", MimeType
"application/vnd.uoml+xml")
    , (Extension
"uri", MimeType
"text/uri-list")
    , (Extension
"uris", MimeType
"text/uri-list")
    , (Extension
"urls", MimeType
"text/uri-list")
    , (Extension
"ustar", MimeType
"application/x-ustar")
    , (Extension
"utz", MimeType
"application/vnd.uiq.theme")
    , (Extension
"uu", MimeType
"text/x-uuencode")
    , (Extension
"uva", MimeType
"audio/vnd.dece.audio")
    , (Extension
"uvd", MimeType
"application/vnd.dece.data")
    , (Extension
"uvf", MimeType
"application/vnd.dece.data")
    , (Extension
"uvg", MimeType
"image/vnd.dece.graphic")
    , (Extension
"uvh", MimeType
"video/vnd.dece.hd")
    , (Extension
"uvi", MimeType
"image/vnd.dece.graphic")
    , (Extension
"uvm", MimeType
"video/vnd.dece.mobile")
    , (Extension
"uvp", MimeType
"video/vnd.dece.pd")
    , (Extension
"uvs", MimeType
"video/vnd.dece.sd")
    , (Extension
"uvt", MimeType
"application/vnd.dece.ttml+xml")
    , (Extension
"uvu", MimeType
"video/vnd.uvvu.mp4")
    , (Extension
"uvv", MimeType
"video/vnd.dece.video")
    , (Extension
"uvva", MimeType
"audio/vnd.dece.audio")
    , (Extension
"uvvd", MimeType
"application/vnd.dece.data")
    , (Extension
"uvvf", MimeType
"application/vnd.dece.data")
    , (Extension
"uvvg", MimeType
"image/vnd.dece.graphic")
    , (Extension
"uvvh", MimeType
"video/vnd.dece.hd")
    , (Extension
"uvvi", MimeType
"image/vnd.dece.graphic")
    , (Extension
"uvvm", MimeType
"video/vnd.dece.mobile")
    , (Extension
"uvvp", MimeType
"video/vnd.dece.pd")
    , (Extension
"uvvs", MimeType
"video/vnd.dece.sd")
    , (Extension
"uvvt", MimeType
"application/vnd.dece.ttml+xml")
    , (Extension
"uvvu", MimeType
"video/vnd.uvvu.mp4")
    , (Extension
"uvvv", MimeType
"video/vnd.dece.video")
    , (Extension
"uvvx", MimeType
"application/vnd.dece.unspecified")
    , (Extension
"uvvz", MimeType
"application/vnd.dece.zip")
    , (Extension
"uvx", MimeType
"application/vnd.dece.unspecified")
    , (Extension
"uvz", MimeType
"application/vnd.dece.zip")
    , (Extension
"vcard", MimeType
"text/vcard")
    , (Extension
"vcd", MimeType
"application/x-cdlink")
    , (Extension
"vcf", MimeType
"text/x-vcard")
    , (Extension
"vcg", MimeType
"application/vnd.groove-vcard")
    , (Extension
"vcs", MimeType
"text/x-vcalendar")
    , (Extension
"vcx", MimeType
"application/vnd.vcx")
    , (Extension
"vis", MimeType
"application/vnd.visionary")
    , (Extension
"viv", MimeType
"video/vnd.vivo")
    , (Extension
"vob", MimeType
"video/x-ms-vob")
    , (Extension
"vor", MimeType
"application/vnd.stardivision.writer")
    , (Extension
"vox", MimeType
"application/x-authorware-bin")
    , (Extension
"vrml", MimeType
"model/vrml")
    , (Extension
"vsd", MimeType
"application/vnd.visio")
    , (Extension
"vsf", MimeType
"application/vnd.vsf")
    , (Extension
"vss", MimeType
"application/vnd.visio")
    , (Extension
"vst", MimeType
"application/vnd.visio")
    , (Extension
"vsw", MimeType
"application/vnd.visio")
    , (Extension
"vtt", MimeType
"text/vtt")
    , (Extension
"vtu", MimeType
"model/vnd.vtu")
    , (Extension
"vxml", MimeType
"application/voicexml+xml")
    , (Extension
"w3d", MimeType
"application/x-director")
    , (Extension
"wad", MimeType
"application/x-doom")
    , (Extension
"war", MimeType
"application/java-archive")
    , (Extension
"wasm", MimeType
"application/wasm")
    , (Extension
"wav", MimeType
"audio/x-wav")
    , (Extension
"wax", MimeType
"audio/x-ms-wax")
    , (Extension
"wbmp", MimeType
"image/vnd.wap.wbmp")
    , (Extension
"wbs", MimeType
"application/vnd.criticaltools.wbs+xml")
    , (Extension
"wbxml", MimeType
"application/vnd.wap.wbxml")
    , (Extension
"wcm", MimeType
"application/vnd.ms-works")
    , (Extension
"wdb", MimeType
"application/vnd.ms-works")
    , (Extension
"wdp", MimeType
"image/vnd.ms-photo")
    , (Extension
"weba", MimeType
"audio/webm")
    , (Extension
"webm", MimeType
"video/webm")
    , (Extension
"webp", MimeType
"image/webp")
    , (Extension
"wg", MimeType
"application/vnd.pmi.widget")
    , (Extension
"wgt", MimeType
"application/widget")
    , (Extension
"wks", MimeType
"application/vnd.ms-works")
    , (Extension
"wm", MimeType
"video/x-ms-wm")
    , (Extension
"wma", MimeType
"audio/x-ms-wma")
    , (Extension
"wmd", MimeType
"application/x-ms-wmd")
    , (Extension
"wmf", MimeType
"application/x-msmetafile")
    , (Extension
"wml", MimeType
"text/vnd.wap.wml")
    , (Extension
"wmlc", MimeType
"application/vnd.wap.wmlc")
    , (Extension
"wmls", MimeType
"text/vnd.wap.wmlscript")
    , (Extension
"wmlsc", MimeType
"application/vnd.wap.wmlscriptc")
    , (Extension
"wmv", MimeType
"video/x-ms-wmv")
    , (Extension
"wmx", MimeType
"video/x-ms-wmx")
    , (Extension
"wmz", MimeType
"application/x-msmetafile")
    , (Extension
"woff", MimeType
"font/woff")
    , (Extension
"woff2", MimeType
"font/woff2")
    , (Extension
"wpd", MimeType
"application/vnd.wordperfect")
    , (Extension
"wpl", MimeType
"application/vnd.ms-wpl")
    , (Extension
"wps", MimeType
"application/vnd.ms-works")
    , (Extension
"wqd", MimeType
"application/vnd.wqd")
    , (Extension
"wri", MimeType
"application/x-mswrite")
    , (Extension
"wrl", MimeType
"model/vrml")
    , (Extension
"wsdl", MimeType
"application/wsdl+xml")
    , (Extension
"wspolicy", MimeType
"application/wspolicy+xml")
    , (Extension
"wtb", MimeType
"application/vnd.webturbo")
    , (Extension
"wvx", MimeType
"video/x-ms-wvx")
    , (Extension
"x32", MimeType
"application/x-authorware-bin")
    , (Extension
"x3d", MimeType
"model/x3d+xml")
    , (Extension
"x3db", MimeType
"model/x3d+binary")
    , (Extension
"x3dbz", MimeType
"model/x3d+binary")
    , (Extension
"x3dv", MimeType
"model/x3d+vrml")
    , (Extension
"x3dvz", MimeType
"model/x3d+vrml")
    , (Extension
"x3dz", MimeType
"model/x3d+xml")
    , (Extension
"xaml", MimeType
"application/xaml+xml")
    , (Extension
"xap", MimeType
"application/x-silverlight-app")
    , (Extension
"xar", MimeType
"application/vnd.xara")
    , (Extension
"xbap", MimeType
"application/x-ms-xbap")
    , (Extension
"xbd", MimeType
"application/vnd.fujixerox.docuworks.binder")
    , (Extension
"xbm", MimeType
"image/x-xbitmap")
    , (Extension
"xcf", MimeType
"image/x-xcf")
    , (Extension
"xdf", MimeType
"application/xcap-diff+xml")
    , (Extension
"xdm", MimeType
"application/vnd.syncml.dm+xml")
    , (Extension
"xdp", MimeType
"application/vnd.adobe.xdp+xml")
    , (Extension
"xdssc", MimeType
"application/dssc+xml")
    , (Extension
"xdw", MimeType
"application/vnd.fujixerox.docuworks")
    , (Extension
"xenc", MimeType
"application/xenc+xml")
    , (Extension
"xer", MimeType
"application/patch-ops-error+xml")
    , (Extension
"xfdf", MimeType
"application/vnd.adobe.xfdf")
    , (Extension
"xfdl", MimeType
"application/vnd.xfdl")
    , (Extension
"xht", MimeType
"application/xhtml+xml")
    , (Extension
"xhtml", MimeType
"application/xhtml+xml")
    , (Extension
"xhvml", MimeType
"application/xv+xml")
    , (Extension
"xif", MimeType
"image/vnd.xiff")
    , (Extension
"xla", MimeType
"application/vnd.ms-excel")
    , (Extension
"xlam", MimeType
"application/vnd.ms-excel.addin.macroenabled.12")
    , (Extension
"xlc", MimeType
"application/vnd.ms-excel")
    , (Extension
"xlf", MimeType
"application/x-xliff+xml")
    , (Extension
"xlm", MimeType
"application/vnd.ms-excel")
    , (Extension
"xls", MimeType
"application/vnd.ms-excel")
    , (Extension
"xlsb", MimeType
"application/vnd.ms-excel.sheet.binary.macroenabled.12")
    , (Extension
"xlsm", MimeType
"application/vnd.ms-excel.sheet.macroenabled.12")
    , (Extension
"xlsx", MimeType
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    , (Extension
"xlt", MimeType
"application/vnd.ms-excel")
    , (Extension
"xltm", MimeType
"application/vnd.ms-excel.template.macroenabled.12")
    , (Extension
"xltx", MimeType
"application/vnd.openxmlformats-officedocument.spreadsheetml.template")
    , (Extension
"xlw", MimeType
"application/vnd.ms-excel")
    , (Extension
"xm", MimeType
"audio/xm")
    , (Extension
"xml", MimeType
"application/xml")
    , (Extension
"xo", MimeType
"application/vnd.olpc-sugar")
    , (Extension
"xop", MimeType
"application/xop+xml")
    , (Extension
"xpi", MimeType
"application/x-xpinstall")
    , (Extension
"xpl", MimeType
"application/xproc+xml")
    , (Extension
"xpm", MimeType
"image/x-xpixmap")
    , (Extension
"xpr", MimeType
"application/vnd.is-xpr")
    , (Extension
"xps", MimeType
"application/vnd.ms-xpsdocument")
    , (Extension
"xpw", MimeType
"application/vnd.intercon.formnet")
    , (Extension
"xpx", MimeType
"application/vnd.intercon.formnet")
    , (Extension
"xsl", MimeType
"application/xml")
    , (Extension
"xslt", MimeType
"application/xslt+xml")
    , (Extension
"xsm", MimeType
"application/vnd.syncml+xml")
    , (Extension
"xspf", MimeType
"application/xspf+xml")
    , (Extension
"xul", MimeType
"application/vnd.mozilla.xul+xml")
    , (Extension
"xvm", MimeType
"application/xv+xml")
    , (Extension
"xvml", MimeType
"application/xv+xml")
    , (Extension
"xwd", MimeType
"image/x-xwindowdump")
    , (Extension
"xyz", MimeType
"chemical/x-xyz")
    , (Extension
"xz", MimeType
"application/x-xz")
    , (Extension
"yang", MimeType
"application/yang")
    , (Extension
"yin", MimeType
"application/yin+xml")
    , (Extension
"z1", MimeType
"application/x-zmachine")
    , (Extension
"z2", MimeType
"application/x-zmachine")
    , (Extension
"z3", MimeType
"application/x-zmachine")
    , (Extension
"z4", MimeType
"application/x-zmachine")
    , (Extension
"z5", MimeType
"application/x-zmachine")
    , (Extension
"z6", MimeType
"application/x-zmachine")
    , (Extension
"z7", MimeType
"application/x-zmachine")
    , (Extension
"z8", MimeType
"application/x-zmachine")
    , (Extension
"zaz", MimeType
"application/vnd.zzazz.deck+xml")
    , (Extension
"zip", MimeType
"application/zip")
    , (Extension
"zir", MimeType
"application/vnd.zul")
    , (Extension
"zirz", MimeType
"application/vnd.zul")
    , (Extension
"zmm", MimeType
"application/vnd.handheld-entertainment+xml")
    ]