fileinfo/mime.c

1184 lines
76 KiB
C

char* guessMime(const char* ext) {
if(strcmp(ext, "123") == 0) {return "application/vnd.lotus-1-2-3";}
if(strcmp(ext, "1km") == 0) {return "application/vnd.1000minds.decision-model+xml";}
if(strcmp(ext, "3dml") == 0) {return "text/vnd.in3d.3dml";}
if(strcmp(ext, "3ds") == 0) {return "image/x-3ds";}
if(strcmp(ext, "3g2") == 0) {return "video/3gpp2";}
if(strcmp(ext, "3gp") == 0) {return "video/3gpp";}
if(strcmp(ext, "3gpp") == 0) {return "audio/3gpp";}
if(strcmp(ext, "3mf") == 0) {return "model/3mf";}
if(strcmp(ext, "7z") == 0) {return "application/x-7z-compressed";}
if(strcmp(ext, "aab") == 0) {return "application/x-authorware-bin";}
if(strcmp(ext, "aac") == 0) {return "audio/aac";}
if(strcmp(ext, "aam") == 0) {return "application/x-authorware-map";}
if(strcmp(ext, "aas") == 0) {return "application/x-authorware-seg";}
if(strcmp(ext, "abw") == 0) {return "application/x-abiword";}
if(strcmp(ext, "ac") == 0) {return "application/pkix-attr-cert";}
if(strcmp(ext, "acc") == 0) {return "application/vnd.americandynamics.acc";}
if(strcmp(ext, "ace") == 0) {return "application/x-ace-compressed";}
if(strcmp(ext, "acu") == 0) {return "application/vnd.acucobol";}
if(strcmp(ext, "acutc") == 0) {return "application/vnd.acucorp";}
if(strcmp(ext, "adp") == 0) {return "audio/adpcm";}
if(strcmp(ext, "adts") == 0) {return "audio/aac";}
if(strcmp(ext, "aep") == 0) {return "application/vnd.audiograph";}
if(strcmp(ext, "afm") == 0) {return "application/x-font-type1";}
if(strcmp(ext, "afp") == 0) {return "application/vnd.ibm.modcap";}
if(strcmp(ext, "age") == 0) {return "application/vnd.age";}
if(strcmp(ext, "ahead") == 0) {return "application/vnd.ahead.space";}
if(strcmp(ext, "ai") == 0) {return "application/postscript";}
if(strcmp(ext, "aif") == 0) {return "audio/x-aiff";}
if(strcmp(ext, "aifc") == 0) {return "audio/x-aiff";}
if(strcmp(ext, "aiff") == 0) {return "audio/x-aiff";}
if(strcmp(ext, "air") == 0) {return "application/vnd.adobe.air-application-installer-package+zip";}
if(strcmp(ext, "ait") == 0) {return "application/vnd.dvb.ait";}
if(strcmp(ext, "ami") == 0) {return "application/vnd.amiga.ami";}
if(strcmp(ext, "aml") == 0) {return "application/automationml-aml+xml";}
if(strcmp(ext, "amlx") == 0) {return "application/automationml-amlx+zip";}
if(strcmp(ext, "amr") == 0) {return "audio/amr";}
if(strcmp(ext, "apk") == 0) {return "application/vnd.android.package-archive";}
if(strcmp(ext, "apng") == 0) {return "image/apng";}
if(strcmp(ext, "appcache") == 0) {return "text/cache-manifest";}
if(strcmp(ext, "appx") == 0) {return "application/appx";}
if(strcmp(ext, "apr") == 0) {return "application/vnd.lotus-approach";}
if(strcmp(ext, "arc") == 0) {return "application/x-freearc";}
if(strcmp(ext, "arj") == 0) {return "application/x-arj";}
if(strcmp(ext, "asc") == 0) {return "application/pgp-keys";}
if(strcmp(ext, "asf") == 0) {return "video/x-ms-asf";}
if(strcmp(ext, "asm") == 0) {return "text/x-asm";}
if(strcmp(ext, "aso") == 0) {return "application/vnd.accpac.simply.aso";}
if(strcmp(ext, "asx") == 0) {return "video/x-ms-asf";}
if(strcmp(ext, "atc") == 0) {return "application/vnd.acucorp";}
if(strcmp(ext, "atom") == 0) {return "application/atom+xml";}
if(strcmp(ext, "atomcat") == 0) {return "application/atomcat+xml";}
if(strcmp(ext, "atomsvc") == 0) {return "application/atomsvc+xml";}
if(strcmp(ext, "atx") == 0) {return "application/vnd.antix.game-component";}
if(strcmp(ext, "au") == 0) {return "audio/basic";}
if(strcmp(ext, "avci") == 0) {return "image/avci";}
if(strcmp(ext, "avcs") == 0) {return "image/avcs";}
if(strcmp(ext, "avi") == 0) {return "video/x-msvideo";}
if(strcmp(ext, "avif") == 0) {return "image/avif";}
if(strcmp(ext, "aw") == 0) {return "application/applixware";}
if(strcmp(ext, "azf") == 0) {return "application/vnd.airzip.filesecure.azf";}
if(strcmp(ext, "azs") == 0) {return "application/vnd.airzip.filesecure.azs";}
if(strcmp(ext, "azv") == 0) {return "image/vnd.airzip.accelerator.azv";}
if(strcmp(ext, "azw") == 0) {return "application/vnd.amazon.ebook";}
if(strcmp(ext, "b16") == 0) {return "image/vnd.pco.b16";}
if(strcmp(ext, "bat") == 0) {return "application/x-msdownload";}
if(strcmp(ext, "bcpio") == 0) {return "application/x-bcpio";}
if(strcmp(ext, "bdf") == 0) {return "application/x-font-bdf";}
if(strcmp(ext, "bdm") == 0) {return "application/vnd.syncml.dm+wbxml";}
if(strcmp(ext, "bdoc") == 0) {return "application/bdoc";}
if(strcmp(ext, "bed") == 0) {return "application/vnd.realvnc.bed";}
if(strcmp(ext, "bh2") == 0) {return "application/vnd.fujitsu.oasysprs";}
if(strcmp(ext, "bin") == 0) {return "application/octet-stream";}
if(strcmp(ext, "blb") == 0) {return "application/x-blorb";}
if(strcmp(ext, "blorb") == 0) {return "application/x-blorb";}
if(strcmp(ext, "bmi") == 0) {return "application/vnd.bmi";}
if(strcmp(ext, "bmml") == 0) {return "application/vnd.balsamiq.bmml+xml";}
if(strcmp(ext, "bmp") == 0) {return "image/bmp";}
if(strcmp(ext, "book") == 0) {return "application/vnd.framemaker";}
if(strcmp(ext, "box") == 0) {return "application/vnd.previewsystems.box";}
if(strcmp(ext, "boz") == 0) {return "application/x-bzip2";}
if(strcmp(ext, "bpk") == 0) {return "application/octet-stream";}
if(strcmp(ext, "bsp") == 0) {return "model/vnd.valve.source.compiled-map";}
if(strcmp(ext, "btf") == 0) {return "image/prs.btif";}
if(strcmp(ext, "btif") == 0) {return "image/prs.btif";}
if(strcmp(ext, "buffer") == 0) {return "application/octet-stream";}
if(strcmp(ext, "bz") == 0) {return "application/x-bzip";}
if(strcmp(ext, "bz2") == 0) {return "application/x-bzip2";}
if(strcmp(ext, "c") == 0) {return "text/x-c";}
if(strcmp(ext, "c11amc") == 0) {return "application/vnd.cluetrust.cartomobile-config";}
if(strcmp(ext, "c11amz") == 0) {return "application/vnd.cluetrust.cartomobile-config-pkg";}
if(strcmp(ext, "c4d") == 0) {return "application/vnd.clonk.c4group";}
if(strcmp(ext, "c4f") == 0) {return "application/vnd.clonk.c4group";}
if(strcmp(ext, "c4g") == 0) {return "application/vnd.clonk.c4group";}
if(strcmp(ext, "c4p") == 0) {return "application/vnd.clonk.c4group";}
if(strcmp(ext, "c4u") == 0) {return "application/vnd.clonk.c4group";}
if(strcmp(ext, "cab") == 0) {return "application/vnd.ms-cab-compressed";}
if(strcmp(ext, "caf") == 0) {return "audio/x-caf";}
if(strcmp(ext, "cap") == 0) {return "application/vnd.tcpdump.pcap";}
if(strcmp(ext, "car") == 0) {return "application/vnd.curl.car";}
if(strcmp(ext, "cat") == 0) {return "application/vnd.ms-pki.seccat";}
if(strcmp(ext, "cb7") == 0) {return "application/x-cbr";}
if(strcmp(ext, "cba") == 0) {return "application/x-cbr";}
if(strcmp(ext, "cbr") == 0) {return "application/x-cbr";}
if(strcmp(ext, "cbt") == 0) {return "application/x-cbr";}
if(strcmp(ext, "cbz") == 0) {return "application/x-cbr";}
if(strcmp(ext, "cc") == 0) {return "text/x-c";}
if(strcmp(ext, "cco") == 0) {return "application/x-cocoa";}
if(strcmp(ext, "cct") == 0) {return "application/x-director";}
if(strcmp(ext, "ccxml") == 0) {return "application/ccxml+xml";}
if(strcmp(ext, "cdbcmsg") == 0) {return "application/vnd.contact.cmsg";}
if(strcmp(ext, "cdf") == 0) {return "application/x-netcdf";}
if(strcmp(ext, "cdfx") == 0) {return "application/cdfx+xml";}
if(strcmp(ext, "cdkey") == 0) {return "application/vnd.mediastation.cdkey";}
if(strcmp(ext, "cdmia") == 0) {return "application/cdmi-capability";}
if(strcmp(ext, "cdmic") == 0) {return "application/cdmi-container";}
if(strcmp(ext, "cdmid") == 0) {return "application/cdmi-domain";}
if(strcmp(ext, "cdmio") == 0) {return "application/cdmi-object";}
if(strcmp(ext, "cdmiq") == 0) {return "application/cdmi-queue";}
if(strcmp(ext, "cdx") == 0) {return "chemical/x-cdx";}
if(strcmp(ext, "cdxml") == 0) {return "application/vnd.chemdraw+xml";}
if(strcmp(ext, "cdy") == 0) {return "application/vnd.cinderella";}
if(strcmp(ext, "cer") == 0) {return "application/pkix-cert";}
if(strcmp(ext, "cfs") == 0) {return "application/x-cfs-compressed";}
if(strcmp(ext, "cgm") == 0) {return "image/cgm";}
if(strcmp(ext, "chat") == 0) {return "application/x-chat";}
if(strcmp(ext, "chm") == 0) {return "application/vnd.ms-htmlhelp";}
if(strcmp(ext, "chrt") == 0) {return "application/vnd.kde.kchart";}
if(strcmp(ext, "cif") == 0) {return "chemical/x-cif";}
if(strcmp(ext, "cii") == 0) {return "application/vnd.anser-web-certificate-issue-initiation";}
if(strcmp(ext, "cil") == 0) {return "application/vnd.ms-artgalry";}
if(strcmp(ext, "cjs") == 0) {return "application/node";}
if(strcmp(ext, "cla") == 0) {return "application/vnd.claymore";}
if(strcmp(ext, "class") == 0) {return "application/java-vm";}
if(strcmp(ext, "cld") == 0) {return "model/vnd.cld";}
if(strcmp(ext, "clkk") == 0) {return "application/vnd.crick.clicker.keyboard";}
if(strcmp(ext, "clkp") == 0) {return "application/vnd.crick.clicker.palette";}
if(strcmp(ext, "clkt") == 0) {return "application/vnd.crick.clicker.template";}
if(strcmp(ext, "clkw") == 0) {return "application/vnd.crick.clicker.wordbank";}
if(strcmp(ext, "clkx") == 0) {return "application/vnd.crick.clicker";}
if(strcmp(ext, "clp") == 0) {return "application/x-msclip";}
if(strcmp(ext, "cmc") == 0) {return "application/vnd.cosmocaller";}
if(strcmp(ext, "cmdf") == 0) {return "chemical/x-cmdf";}
if(strcmp(ext, "cml") == 0) {return "chemical/x-cml";}
if(strcmp(ext, "cmp") == 0) {return "application/vnd.yellowriver-custom-menu";}
if(strcmp(ext, "cmx") == 0) {return "image/x-cmx";}
if(strcmp(ext, "cod") == 0) {return "application/vnd.rim.cod";}
if(strcmp(ext, "coffee") == 0) {return "text/coffeescript";}
if(strcmp(ext, "com") == 0) {return "application/x-msdownload";}
if(strcmp(ext, "conf") == 0) {return "text/plain";}
if(strcmp(ext, "cpio") == 0) {return "application/x-cpio";}
if(strcmp(ext, "cpl") == 0) {return "application/cpl+xml";}
if(strcmp(ext, "cpp") == 0) {return "text/x-c";}
if(strcmp(ext, "cpt") == 0) {return "application/mac-compactpro";}
if(strcmp(ext, "crd") == 0) {return "application/x-mscardfile";}
if(strcmp(ext, "crl") == 0) {return "application/pkix-crl";}
if(strcmp(ext, "crt") == 0) {return "application/x-x509-ca-cert";}
if(strcmp(ext, "crx") == 0) {return "application/x-chrome-extension";}
if(strcmp(ext, "csh") == 0) {return "application/x-csh";}
if(strcmp(ext, "csl") == 0) {return "application/vnd.citationstyles.style+xml";}
if(strcmp(ext, "csml") == 0) {return "chemical/x-csml";}
if(strcmp(ext, "csp") == 0) {return "application/vnd.commonspace";}
if(strcmp(ext, "css") == 0) {return "text/css";}
if(strcmp(ext, "cst") == 0) {return "application/x-director";}
if(strcmp(ext, "csv") == 0) {return "text/csv";}
if(strcmp(ext, "cu") == 0) {return "application/cu-seeme";}
if(strcmp(ext, "curl") == 0) {return "text/vnd.curl";}
if(strcmp(ext, "cwl") == 0) {return "application/cwl";}
if(strcmp(ext, "cww") == 0) {return "application/prs.cww";}
if(strcmp(ext, "cxt") == 0) {return "application/x-director";}
if(strcmp(ext, "cxx") == 0) {return "text/x-c";}
if(strcmp(ext, "dae") == 0) {return "model/vnd.collada+xml";}
if(strcmp(ext, "daf") == 0) {return "application/vnd.mobius.daf";}
if(strcmp(ext, "dart") == 0) {return "application/vnd.dart";}
if(strcmp(ext, "dataless") == 0) {return "application/vnd.fdsn.seed";}
if(strcmp(ext, "davmount") == 0) {return "application/davmount+xml";}
if(strcmp(ext, "dbf") == 0) {return "application/vnd.dbf";}
if(strcmp(ext, "dbk") == 0) {return "application/docbook+xml";}
if(strcmp(ext, "dcr") == 0) {return "application/x-director";}
if(strcmp(ext, "dcurl") == 0) {return "text/vnd.curl.dcurl";}
if(strcmp(ext, "dd2") == 0) {return "application/vnd.oma.dd2+xml";}
if(strcmp(ext, "ddd") == 0) {return "application/vnd.fujixerox.ddd";}
if(strcmp(ext, "ddf") == 0) {return "application/vnd.syncml.dmddf+xml";}
if(strcmp(ext, "dds") == 0) {return "image/vnd.ms-dds";}
if(strcmp(ext, "deb") == 0) {return "application/octet-stream";}
if(strcmp(ext, "def") == 0) {return "text/plain";}
if(strcmp(ext, "deploy") == 0) {return "application/octet-stream";}
if(strcmp(ext, "der") == 0) {return "application/x-x509-ca-cert";}
if(strcmp(ext, "dfac") == 0) {return "application/vnd.dreamfactory";}
if(strcmp(ext, "dgc") == 0) {return "application/x-dgc-compressed";}
if(strcmp(ext, "dib") == 0) {return "image/bmp";}
if(strcmp(ext, "dic") == 0) {return "text/x-c";}
if(strcmp(ext, "dir") == 0) {return "application/x-director";}
if(strcmp(ext, "dis") == 0) {return "application/vnd.mobius.dis";}
if(strcmp(ext, "dist") == 0) {return "application/octet-stream";}
if(strcmp(ext, "distz") == 0) {return "application/octet-stream";}
if(strcmp(ext, "djv") == 0) {return "image/vnd.djvu";}
if(strcmp(ext, "djvu") == 0) {return "image/vnd.djvu";}
if(strcmp(ext, "dll") == 0) {return "application/octet-stream";}
if(strcmp(ext, "dmg") == 0) {return "application/octet-stream";}
if(strcmp(ext, "dmp") == 0) {return "application/vnd.tcpdump.pcap";}
if(strcmp(ext, "dms") == 0) {return "application/octet-stream";}
if(strcmp(ext, "dna") == 0) {return "application/vnd.dna";}
if(strcmp(ext, "doc") == 0) {return "application/msword";}
if(strcmp(ext, "docm") == 0) {return "application/vnd.ms-word.document.macroenabled.12";}
if(strcmp(ext, "docx") == 0) {return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";}
if(strcmp(ext, "dot") == 0) {return "application/msword";}
if(strcmp(ext, "dotm") == 0) {return "application/vnd.ms-word.template.macroenabled.12";}
if(strcmp(ext, "dotx") == 0) {return "application/vnd.openxmlformats-officedocument.wordprocessingml.template";}
if(strcmp(ext, "dp") == 0) {return "application/vnd.osgi.dp";}
if(strcmp(ext, "dpg") == 0) {return "application/vnd.dpgraph";}
if(strcmp(ext, "dpx") == 0) {return "image/dpx";}
if(strcmp(ext, "dra") == 0) {return "audio/vnd.dra";}
if(strcmp(ext, "drle") == 0) {return "image/dicom-rle";}
if(strcmp(ext, "dsc") == 0) {return "text/prs.lines.tag";}
if(strcmp(ext, "dssc") == 0) {return "application/dssc+der";}
if(strcmp(ext, "dtb") == 0) {return "application/x-dtbook+xml";}
if(strcmp(ext, "dtd") == 0) {return "application/xml-dtd";}
if(strcmp(ext, "dts") == 0) {return "audio/vnd.dts";}
if(strcmp(ext, "dtshd") == 0) {return "audio/vnd.dts.hd";}
if(strcmp(ext, "dump") == 0) {return "application/octet-stream";}
if(strcmp(ext, "dvb") == 0) {return "video/vnd.dvb.file";}
if(strcmp(ext, "dvi") == 0) {return "application/x-dvi";}
if(strcmp(ext, "dwd") == 0) {return "application/atsc-dwd+xml";}
if(strcmp(ext, "dwf") == 0) {return "model/vnd.dwf";}
if(strcmp(ext, "dwg") == 0) {return "image/vnd.dwg";}
if(strcmp(ext, "dxf") == 0) {return "image/vnd.dxf";}
if(strcmp(ext, "dxp") == 0) {return "application/vnd.spotfire.dxp";}
if(strcmp(ext, "dxr") == 0) {return "application/x-director";}
if(strcmp(ext, "ear") == 0) {return "application/java-archive";}
if(strcmp(ext, "ecma") == 0) {return "application/ecmascript";}
if(strcmp(ext, "edm") == 0) {return "application/vnd.novadigm.edm";}
if(strcmp(ext, "edx") == 0) {return "application/vnd.novadigm.edx";}
if(strcmp(ext, "efif") == 0) {return "application/vnd.picsel";}
if(strcmp(ext, "ei6") == 0) {return "application/vnd.pg.osasli";}
if(strcmp(ext, "elc") == 0) {return "application/octet-stream";}
if(strcmp(ext, "emf") == 0) {return "image/emf";}
if(strcmp(ext, "eml") == 0) {return "message/rfc822";}
if(strcmp(ext, "emma") == 0) {return "application/emma+xml";}
if(strcmp(ext, "emz") == 0) {return "application/x-msmetafile";}
if(strcmp(ext, "eol") == 0) {return "audio/vnd.digital-winds";}
if(strcmp(ext, "eot") == 0) {return "application/vnd.ms-fontobject";}
if(strcmp(ext, "eps") == 0) {return "application/postscript";}
if(strcmp(ext, "epub") == 0) {return "application/epub+zip";}
if(strcmp(ext, "es3") == 0) {return "application/vnd.eszigno3+xml";}
if(strcmp(ext, "esa") == 0) {return "application/vnd.osgi.subsystem";}
if(strcmp(ext, "esf") == 0) {return "application/vnd.epson.esf";}
if(strcmp(ext, "et3") == 0) {return "application/vnd.eszigno3+xml";}
if(strcmp(ext, "etx") == 0) {return "text/x-setext";}
if(strcmp(ext, "eva") == 0) {return "application/x-eva";}
if(strcmp(ext, "evy") == 0) {return "application/x-envoy";}
if(strcmp(ext, "exe") == 0) {return "application/x-msdos-program";}
if(strcmp(ext, "exi") == 0) {return "application/exi";}
if(strcmp(ext, "exp") == 0) {return "application/express";}
if(strcmp(ext, "exr") == 0) {return "image/aces";}
if(strcmp(ext, "ext") == 0) {return "application/vnd.novadigm.ext";}
if(strcmp(ext, "ez") == 0) {return "application/andrew-inset";}
if(strcmp(ext, "ez2") == 0) {return "application/vnd.ezpix-album";}
if(strcmp(ext, "ez3") == 0) {return "application/vnd.ezpix-package";}
if(strcmp(ext, "f") == 0) {return "text/x-fortran";}
if(strcmp(ext, "f4v") == 0) {return "video/x-f4v";}
if(strcmp(ext, "f77") == 0) {return "text/x-fortran";}
if(strcmp(ext, "f90") == 0) {return "text/x-fortran";}
if(strcmp(ext, "fbs") == 0) {return "image/vnd.fastbidsheet";}
if(strcmp(ext, "fcdt") == 0) {return "application/vnd.adobe.formscentral.fcdt";}
if(strcmp(ext, "fcs") == 0) {return "application/vnd.isac.fcs";}
if(strcmp(ext, "fdf") == 0) {return "application/fdf";}
if(strcmp(ext, "fdt") == 0) {return "application/fdt+xml";}
if(strcmp(ext, "fg5") == 0) {return "application/vnd.fujitsu.oasysgp";}
if(strcmp(ext, "fgd") == 0) {return "application/x-director";}
if(strcmp(ext, "fh") == 0) {return "image/x-freehand";}
if(strcmp(ext, "fh4") == 0) {return "image/x-freehand";}
if(strcmp(ext, "fh5") == 0) {return "image/x-freehand";}
if(strcmp(ext, "fh7") == 0) {return "image/x-freehand";}
if(strcmp(ext, "fhc") == 0) {return "image/x-freehand";}
if(strcmp(ext, "fig") == 0) {return "application/x-xfig";}
if(strcmp(ext, "fits") == 0) {return "image/fits";}
if(strcmp(ext, "flac") == 0) {return "audio/x-flac";}
if(strcmp(ext, "fli") == 0) {return "video/x-fli";}
if(strcmp(ext, "flo") == 0) {return "application/vnd.micrografx.flo";}
if(strcmp(ext, "flv") == 0) {return "video/x-flv";}
if(strcmp(ext, "flw") == 0) {return "application/vnd.kde.kivio";}
if(strcmp(ext, "flx") == 0) {return "text/vnd.fmi.flexstor";}
if(strcmp(ext, "fly") == 0) {return "text/vnd.fly";}
if(strcmp(ext, "fm") == 0) {return "application/vnd.framemaker";}
if(strcmp(ext, "fnc") == 0) {return "application/vnd.frogans.fnc";}
if(strcmp(ext, "fo") == 0) {return "application/vnd.software602.filler.form+xml";}
if(strcmp(ext, "for") == 0) {return "text/x-fortran";}
if(strcmp(ext, "fpx") == 0) {return "image/vnd.fpx";}
if(strcmp(ext, "frame") == 0) {return "application/vnd.framemaker";}
if(strcmp(ext, "fsc") == 0) {return "application/vnd.fsc.weblaunch";}
if(strcmp(ext, "fst") == 0) {return "image/vnd.fst";}
if(strcmp(ext, "ftc") == 0) {return "application/vnd.fluxtime.clip";}
if(strcmp(ext, "fti") == 0) {return "application/vnd.anser-web-funds-transfer-initiation";}
if(strcmp(ext, "fvt") == 0) {return "video/vnd.fvt";}
if(strcmp(ext, "fxp") == 0) {return "application/vnd.adobe.fxp";}
if(strcmp(ext, "fxpl") == 0) {return "application/vnd.adobe.fxp";}
if(strcmp(ext, "fzs") == 0) {return "application/vnd.fuzzysheet";}
if(strcmp(ext, "g2w") == 0) {return "application/vnd.geoplan";}
if(strcmp(ext, "g3") == 0) {return "image/g3fax";}
if(strcmp(ext, "g3w") == 0) {return "application/vnd.geospace";}
if(strcmp(ext, "gac") == 0) {return "application/vnd.groove-account";}
if(strcmp(ext, "gam") == 0) {return "application/x-tads";}
if(strcmp(ext, "gbr") == 0) {return "application/rpki-ghostbusters";}
if(strcmp(ext, "gca") == 0) {return "application/x-gca-compressed";}
if(strcmp(ext, "gdl") == 0) {return "model/vnd.gdl";}
if(strcmp(ext, "gdoc") == 0) {return "application/vnd.google-apps.document";}
if(strcmp(ext, "ged") == 0) {return "text/vnd.familysearch.gedcom";}
if(strcmp(ext, "geo") == 0) {return "application/vnd.dynageo";}
if(strcmp(ext, "geojson") == 0) {return "application/geo+json";}
if(strcmp(ext, "gex") == 0) {return "application/vnd.geometry-explorer";}
if(strcmp(ext, "ggb") == 0) {return "application/vnd.geogebra.file";}
if(strcmp(ext, "ggt") == 0) {return "application/vnd.geogebra.tool";}
if(strcmp(ext, "ghf") == 0) {return "application/vnd.groove-help";}
if(strcmp(ext, "gif") == 0) {return "image/gif";}
if(strcmp(ext, "gim") == 0) {return "application/vnd.groove-identity-message";}
if(strcmp(ext, "glb") == 0) {return "model/gltf-binary";}
if(strcmp(ext, "gltf") == 0) {return "model/gltf+json";}
if(strcmp(ext, "gml") == 0) {return "application/gml+xml";}
if(strcmp(ext, "gmx") == 0) {return "application/vnd.gmx";}
if(strcmp(ext, "gnumeric") == 0) {return "application/x-gnumeric";}
if(strcmp(ext, "gph") == 0) {return "application/vnd.flographit";}
if(strcmp(ext, "gpx") == 0) {return "application/gpx+xml";}
if(strcmp(ext, "gqf") == 0) {return "application/vnd.grafeq";}
if(strcmp(ext, "gqs") == 0) {return "application/vnd.grafeq";}
if(strcmp(ext, "gram") == 0) {return "application/srgs";}
if(strcmp(ext, "gramps") == 0) {return "application/x-gramps-xml";}
if(strcmp(ext, "gre") == 0) {return "application/vnd.geometry-explorer";}
if(strcmp(ext, "grv") == 0) {return "application/vnd.groove-injector";}
if(strcmp(ext, "grxml") == 0) {return "application/srgs+xml";}
if(strcmp(ext, "gsf") == 0) {return "application/x-font-ghostscript";}
if(strcmp(ext, "gsheet") == 0) {return "application/vnd.google-apps.spreadsheet";}
if(strcmp(ext, "gslides") == 0) {return "application/vnd.google-apps.presentation";}
if(strcmp(ext, "gtar") == 0) {return "application/x-gtar";}
if(strcmp(ext, "gtm") == 0) {return "application/vnd.groove-tool-message";}
if(strcmp(ext, "gtw") == 0) {return "model/vnd.gtw";}
if(strcmp(ext, "gv") == 0) {return "text/vnd.graphviz";}
if(strcmp(ext, "gxf") == 0) {return "application/gxf";}
if(strcmp(ext, "gxt") == 0) {return "application/vnd.geonext";}
if(strcmp(ext, "gz") == 0) {return "application/gzip";}
if(strcmp(ext, "h") == 0) {return "text/x-c";}
if(strcmp(ext, "h261") == 0) {return "video/h261";}
if(strcmp(ext, "h263") == 0) {return "video/h263";}
if(strcmp(ext, "h264") == 0) {return "video/h264";}
if(strcmp(ext, "hal") == 0) {return "application/vnd.hal+xml";}
if(strcmp(ext, "hbci") == 0) {return "application/vnd.hbci";}
if(strcmp(ext, "hbs") == 0) {return "text/x-handlebars-template";}
if(strcmp(ext, "hdd") == 0) {return "application/x-virtualbox-hdd";}
if(strcmp(ext, "hdf") == 0) {return "application/x-hdf";}
if(strcmp(ext, "heic") == 0) {return "image/heic";}
if(strcmp(ext, "heics") == 0) {return "image/heic-sequence";}
if(strcmp(ext, "heif") == 0) {return "image/heif";}
if(strcmp(ext, "heifs") == 0) {return "image/heif-sequence";}
if(strcmp(ext, "hej2") == 0) {return "image/hej2k";}
if(strcmp(ext, "held") == 0) {return "application/atsc-held+xml";}
if(strcmp(ext, "hh") == 0) {return "text/x-c";}
if(strcmp(ext, "hjson") == 0) {return "application/hjson";}
if(strcmp(ext, "hlp") == 0) {return "application/winhlp";}
if(strcmp(ext, "hpgl") == 0) {return "application/vnd.hp-hpgl";}
if(strcmp(ext, "hpid") == 0) {return "application/vnd.hp-hpid";}
if(strcmp(ext, "hps") == 0) {return "application/vnd.hp-hps";}
if(strcmp(ext, "hqx") == 0) {return "application/mac-binhex40";}
if(strcmp(ext, "hsj2") == 0) {return "image/hsj2";}
if(strcmp(ext, "htc") == 0) {return "text/x-component";}
if(strcmp(ext, "htke") == 0) {return "application/vnd.kenameaapp";}
if(strcmp(ext, "htm") == 0) {return "text/html";}
if(strcmp(ext, "html") == 0) {return "text/html";}
if(strcmp(ext, "hvd") == 0) {return "application/vnd.yamaha.hv-dic";}
if(strcmp(ext, "hvp") == 0) {return "application/vnd.yamaha.hv-voice";}
if(strcmp(ext, "hvs") == 0) {return "application/vnd.yamaha.hv-script";}
if(strcmp(ext, "i2g") == 0) {return "application/vnd.intergeo";}
if(strcmp(ext, "icc") == 0) {return "application/vnd.iccprofile";}
if(strcmp(ext, "ice") == 0) {return "x-conference/x-cooltalk";}
if(strcmp(ext, "icm") == 0) {return "application/vnd.iccprofile";}
if(strcmp(ext, "ico") == 0) {return "image/vnd.microsoft.icon";}
if(strcmp(ext, "ics") == 0) {return "text/calendar";}
if(strcmp(ext, "ief") == 0) {return "image/ief";}
if(strcmp(ext, "ifb") == 0) {return "text/calendar";}
if(strcmp(ext, "ifm") == 0) {return "application/vnd.shana.informed.formdata";}
if(strcmp(ext, "iges") == 0) {return "model/iges";}
if(strcmp(ext, "igl") == 0) {return "application/vnd.igloader";}
if(strcmp(ext, "igm") == 0) {return "application/vnd.insors.igm";}
if(strcmp(ext, "igs") == 0) {return "model/iges";}
if(strcmp(ext, "igx") == 0) {return "application/vnd.micrografx.igx";}
if(strcmp(ext, "iif") == 0) {return "application/vnd.shana.informed.interchange";}
if(strcmp(ext, "img") == 0) {return "application/octet-stream";}
if(strcmp(ext, "imp") == 0) {return "application/vnd.accpac.simply.imp";}
if(strcmp(ext, "ims") == 0) {return "application/vnd.ms-ims";}
if(strcmp(ext, "in") == 0) {return "text/plain";}
if(strcmp(ext, "ini") == 0) {return "text/plain";}
if(strcmp(ext, "ink") == 0) {return "application/inkml+xml";}
if(strcmp(ext, "inkml") == 0) {return "application/inkml+xml";}
if(strcmp(ext, "install") == 0) {return "application/x-install-instructions";}
if(strcmp(ext, "iota") == 0) {return "application/vnd.astraea-software.iota";}
if(strcmp(ext, "ipfix") == 0) {return "application/ipfix";}
if(strcmp(ext, "ipk") == 0) {return "application/vnd.shana.informed.package";}
if(strcmp(ext, "irm") == 0) {return "application/vnd.ibm.rights-management";}
if(strcmp(ext, "irp") == 0) {return "application/vnd.irepository.package+xml";}
if(strcmp(ext, "iso") == 0) {return "application/octet-stream";}
if(strcmp(ext, "itp") == 0) {return "application/vnd.shana.informed.formtemplate";}
if(strcmp(ext, "its") == 0) {return "application/its+xml";}
if(strcmp(ext, "ivp") == 0) {return "application/vnd.immervision-ivp";}
if(strcmp(ext, "ivu") == 0) {return "application/vnd.immervision-ivu";}
if(strcmp(ext, "jad") == 0) {return "text/vnd.sun.j2me.app-descriptor";}
if(strcmp(ext, "jade") == 0) {return "text/jade";}
if(strcmp(ext, "jam") == 0) {return "application/vnd.jam";}
if(strcmp(ext, "jar") == 0) {return "application/java-archive";}
if(strcmp(ext, "jardiff") == 0) {return "application/x-java-archive-diff";}
if(strcmp(ext, "java") == 0) {return "text/x-java-source";}
if(strcmp(ext, "jhc") == 0) {return "image/jphc";}
if(strcmp(ext, "jisp") == 0) {return "application/vnd.jisp";}
if(strcmp(ext, "jls") == 0) {return "image/jls";}
if(strcmp(ext, "jlt") == 0) {return "application/vnd.hp-jlyt";}
if(strcmp(ext, "jng") == 0) {return "image/x-jng";}
if(strcmp(ext, "jnlp") == 0) {return "application/x-java-jnlp-file";}
if(strcmp(ext, "joda") == 0) {return "application/vnd.joost.joda-archive";}
if(strcmp(ext, "jp2") == 0) {return "image/jp2";}
if(strcmp(ext, "jpe") == 0) {return "image/jpeg";}
if(strcmp(ext, "jpeg") == 0) {return "image/jpeg";}
if(strcmp(ext, "jpf") == 0) {return "image/jpx";}
if(strcmp(ext, "jpg") == 0) {return "image/jpeg";}
if(strcmp(ext, "jpg2") == 0) {return "image/jp2";}
if(strcmp(ext, "jpgm") == 0) {return "image/jpm";}
if(strcmp(ext, "jpgv") == 0) {return "video/jpeg";}
if(strcmp(ext, "jph") == 0) {return "image/jph";}
if(strcmp(ext, "jpm") == 0) {return "image/jpm";}
if(strcmp(ext, "jpx") == 0) {return "image/jpx";}
if(strcmp(ext, "js") == 0) {return "application/javascript";}
if(strcmp(ext, "json") == 0) {return "application/json";}
if(strcmp(ext, "json5") == 0) {return "application/json5";}
if(strcmp(ext, "jsonld") == 0) {return "application/ld+json";}
if(strcmp(ext, "jsonml") == 0) {return "application/jsonml+json";}
if(strcmp(ext, "jsx") == 0) {return "text/jsx";}
if(strcmp(ext, "jt") == 0) {return "model/jt";}
if(strcmp(ext, "jxr") == 0) {return "image/jxr";}
if(strcmp(ext, "jxra") == 0) {return "image/jxra";}
if(strcmp(ext, "jxrs") == 0) {return "image/jxrs";}
if(strcmp(ext, "jxs") == 0) {return "image/jxs";}
if(strcmp(ext, "jxsc") == 0) {return "image/jxsc";}
if(strcmp(ext, "jxsi") == 0) {return "image/jxsi";}
if(strcmp(ext, "jxss") == 0) {return "image/jxss";}
if(strcmp(ext, "kar") == 0) {return "audio/midi";}
if(strcmp(ext, "karbon") == 0) {return "application/vnd.kde.karbon";}
if(strcmp(ext, "kdbx") == 0) {return "application/x-keepass2";}
if(strcmp(ext, "key") == 0) {return "application/vnd.apple.keynote";}
if(strcmp(ext, "kfo") == 0) {return "application/vnd.kde.kformula";}
if(strcmp(ext, "kia") == 0) {return "application/vnd.kidspiration";}
if(strcmp(ext, "kml") == 0) {return "application/vnd.google-earth.kml+xml";}
if(strcmp(ext, "kmz") == 0) {return "application/vnd.google-earth.kmz";}
if(strcmp(ext, "kne") == 0) {return "application/vnd.kinar";}
if(strcmp(ext, "knp") == 0) {return "application/vnd.kinar";}
if(strcmp(ext, "kon") == 0) {return "application/vnd.kde.kontour";}
if(strcmp(ext, "kpr") == 0) {return "application/vnd.kde.kpresenter";}
if(strcmp(ext, "kpt") == 0) {return "application/vnd.kde.kpresenter";}
if(strcmp(ext, "kpxx") == 0) {return "application/vnd.ds-keypoint";}
if(strcmp(ext, "ksp") == 0) {return "application/vnd.kde.kspread";}
if(strcmp(ext, "ktr") == 0) {return "application/vnd.kahootz";}
if(strcmp(ext, "ktx") == 0) {return "image/ktx";}
if(strcmp(ext, "ktx2") == 0) {return "image/ktx2";}
if(strcmp(ext, "ktz") == 0) {return "application/vnd.kahootz";}
if(strcmp(ext, "kwd") == 0) {return "application/vnd.kde.kword";}
if(strcmp(ext, "kwt") == 0) {return "application/vnd.kde.kword";}
if(strcmp(ext, "lasxml") == 0) {return "application/vnd.las.las+xml";}
if(strcmp(ext, "latex") == 0) {return "application/x-latex";}
if(strcmp(ext, "lbd") == 0) {return "application/vnd.llamagraphics.life-balance.desktop";}
if(strcmp(ext, "lbe") == 0) {return "application/vnd.llamagraphics.life-balance.exchange+xml";}
if(strcmp(ext, "les") == 0) {return "application/vnd.hhe.lesson-player";}
if(strcmp(ext, "less") == 0) {return "text/less";}
if(strcmp(ext, "lgr") == 0) {return "application/lgr+xml";}
if(strcmp(ext, "lha") == 0) {return "application/x-lzh-compressed";}
if(strcmp(ext, "link66") == 0) {return "application/vnd.route66.link66+xml";}
if(strcmp(ext, "list") == 0) {return "text/plain";}
if(strcmp(ext, "list3820") == 0) {return "application/vnd.ibm.modcap";}
if(strcmp(ext, "listafp") == 0) {return "application/vnd.ibm.modcap";}
if(strcmp(ext, "lnk") == 0) {return "application/x-ms-shortcut";}
if(strcmp(ext, "log") == 0) {return "text/plain";}
if(strcmp(ext, "lostxml") == 0) {return "application/lost+xml";}
if(strcmp(ext, "lrf") == 0) {return "application/octet-stream";}
if(strcmp(ext, "lrm") == 0) {return "application/vnd.ms-lrm";}
if(strcmp(ext, "ltf") == 0) {return "application/vnd.frogans.ltf";}
if(strcmp(ext, "lua") == 0) {return "text/x-lua";}
if(strcmp(ext, "luac") == 0) {return "application/x-lua-bytecode";}
if(strcmp(ext, "lvp") == 0) {return "audio/vnd.lucent.voice";}
if(strcmp(ext, "lwp") == 0) {return "application/vnd.lotus-wordpro";}
if(strcmp(ext, "lzh") == 0) {return "application/x-lzh-compressed";}
if(strcmp(ext, "m13") == 0) {return "application/x-msmediaview";}
if(strcmp(ext, "m14") == 0) {return "application/x-msmediaview";}
if(strcmp(ext, "m1v") == 0) {return "video/mpeg";}
if(strcmp(ext, "m21") == 0) {return "application/mp21";}
if(strcmp(ext, "m2a") == 0) {return "audio/mpeg";}
if(strcmp(ext, "m2v") == 0) {return "video/mpeg";}
if(strcmp(ext, "m3a") == 0) {return "audio/mpeg";}
if(strcmp(ext, "m3u") == 0) {return "audio/x-mpegurl";}
if(strcmp(ext, "m3u8") == 0) {return "application/vnd.apple.mpegurl";}
if(strcmp(ext, "m4a") == 0) {return "audio/mp4";}
if(strcmp(ext, "m4p") == 0) {return "application/mp4";}
if(strcmp(ext, "m4s") == 0) {return "video/iso.segment";}
if(strcmp(ext, "m4u") == 0) {return "video/vnd.mpegurl";}
if(strcmp(ext, "m4v") == 0) {return "video/x-m4v";}
if(strcmp(ext, "ma") == 0) {return "application/mathematica";}
if(strcmp(ext, "mads") == 0) {return "application/mads+xml";}
if(strcmp(ext, "maei") == 0) {return "application/mmt-aei+xml";}
if(strcmp(ext, "mag") == 0) {return "application/vnd.ecowin.chart";}
if(strcmp(ext, "maker") == 0) {return "application/vnd.framemaker";}
if(strcmp(ext, "man") == 0) {return "text/troff";}
if(strcmp(ext, "manifest") == 0) {return "text/cache-manifest";}
if(strcmp(ext, "map") == 0) {return "application/json";}
if(strcmp(ext, "mar") == 0) {return "application/octet-stream";}
if(strcmp(ext, "markdown") == 0) {return "text/markdown";}
if(strcmp(ext, "mathml") == 0) {return "application/mathml+xml";}
if(strcmp(ext, "mb") == 0) {return "application/mathematica";}
if(strcmp(ext, "mbk") == 0) {return "application/vnd.mobius.mbk";}
if(strcmp(ext, "mbox") == 0) {return "application/mbox";}
if(strcmp(ext, "mc1") == 0) {return "application/vnd.medcalcdata";}
if(strcmp(ext, "mcd") == 0) {return "application/vnd.mcd";}
if(strcmp(ext, "mcurl") == 0) {return "text/vnd.curl.mcurl";}
if(strcmp(ext, "md") == 0) {return "text/markdown";}
if(strcmp(ext, "mdb") == 0) {return "application/x-msaccess";}
if(strcmp(ext, "mdi") == 0) {return "image/vnd.ms-modi";}
if(strcmp(ext, "mdx") == 0) {return "text/mdx";}
if(strcmp(ext, "me") == 0) {return "text/troff";}
if(strcmp(ext, "mesh") == 0) {return "model/mesh";}
if(strcmp(ext, "meta4") == 0) {return "application/metalink4+xml";}
if(strcmp(ext, "metalink") == 0) {return "application/metalink+xml";}
if(strcmp(ext, "mets") == 0) {return "application/mets+xml";}
if(strcmp(ext, "mfm") == 0) {return "application/vnd.mfmp";}
if(strcmp(ext, "mft") == 0) {return "application/rpki-manifest";}
if(strcmp(ext, "mgp") == 0) {return "application/vnd.osgeo.mapguide.package";}
if(strcmp(ext, "mgz") == 0) {return "application/vnd.proteus.magazine";}
if(strcmp(ext, "mid") == 0) {return "audio/midi";}
if(strcmp(ext, "midi") == 0) {return "audio/midi";}
if(strcmp(ext, "mie") == 0) {return "application/x-mie";}
if(strcmp(ext, "mif") == 0) {return "application/vnd.mif";}
if(strcmp(ext, "mime") == 0) {return "message/rfc822";}
if(strcmp(ext, "mj2") == 0) {return "video/mj2";}
if(strcmp(ext, "mjp2") == 0) {return "video/mj2";}
if(strcmp(ext, "mjs") == 0) {return "text/javascript";}
if(strcmp(ext, "mk3d") == 0) {return "video/x-matroska";}
if(strcmp(ext, "mka") == 0) {return "audio/x-matroska";}
if(strcmp(ext, "mkd") == 0) {return "text/x-markdown";}
if(strcmp(ext, "mks") == 0) {return "video/x-matroska";}
if(strcmp(ext, "mkv") == 0) {return "video/x-matroska";}
if(strcmp(ext, "mlp") == 0) {return "application/vnd.dolby.mlp";}
if(strcmp(ext, "mmd") == 0) {return "application/vnd.chipnuts.karaoke-mmd";}
if(strcmp(ext, "mmf") == 0) {return "application/vnd.smaf";}
if(strcmp(ext, "mml") == 0) {return "text/mathml";}
if(strcmp(ext, "mmr") == 0) {return "image/vnd.fujixerox.edmics-mmr";}
if(strcmp(ext, "mng") == 0) {return "video/x-mng";}
if(strcmp(ext, "mny") == 0) {return "application/x-msmoney";}
if(strcmp(ext, "mobi") == 0) {return "application/x-mobipocket-ebook";}
if(strcmp(ext, "mods") == 0) {return "application/mods+xml";}
if(strcmp(ext, "mov") == 0) {return "video/quicktime";}
if(strcmp(ext, "movie") == 0) {return "video/x-sgi-movie";}
if(strcmp(ext, "mp2") == 0) {return "audio/mpeg";}
if(strcmp(ext, "mp21") == 0) {return "application/mp21";}
if(strcmp(ext, "mp2a") == 0) {return "audio/mpeg";}
if(strcmp(ext, "mp3") == 0) {return "audio/mp3";}
if(strcmp(ext, "mp4") == 0) {return "video/mp4";}
if(strcmp(ext, "mp4a") == 0) {return "audio/mp4";}
if(strcmp(ext, "mp4s") == 0) {return "application/mp4";}
if(strcmp(ext, "mp4v") == 0) {return "video/mp4";}
if(strcmp(ext, "mpc") == 0) {return "application/vnd.mophun.certificate";}
if(strcmp(ext, "mpd") == 0) {return "application/dash+xml";}
if(strcmp(ext, "mpe") == 0) {return "video/mpeg";}
if(strcmp(ext, "mpeg") == 0) {return "video/mpeg";}
if(strcmp(ext, "mpf") == 0) {return "application/media-policy-dataset+xml";}
if(strcmp(ext, "mpg") == 0) {return "video/mpeg";}
if(strcmp(ext, "mpg4") == 0) {return "video/mp4";}
if(strcmp(ext, "mpga") == 0) {return "audio/mpeg";}
if(strcmp(ext, "mpkg") == 0) {return "application/vnd.apple.installer+xml";}
if(strcmp(ext, "mpm") == 0) {return "application/vnd.blueice.multipass";}
if(strcmp(ext, "mpn") == 0) {return "application/vnd.mophun.application";}
if(strcmp(ext, "mpp") == 0) {return "application/dash-patch+xml";}
if(strcmp(ext, "mpt") == 0) {return "application/vnd.ms-project";}
if(strcmp(ext, "mpy") == 0) {return "application/vnd.ibm.minipay";}
if(strcmp(ext, "mqy") == 0) {return "application/vnd.mobius.mqy";}
if(strcmp(ext, "mrc") == 0) {return "application/marc";}
if(strcmp(ext, "mrcx") == 0) {return "application/marcxml+xml";}
if(strcmp(ext, "ms") == 0) {return "text/troff";}
if(strcmp(ext, "mscml") == 0) {return "application/mediaservercontrol+xml";}
if(strcmp(ext, "mseed") == 0) {return "application/vnd.fdsn.mseed";}
if(strcmp(ext, "mseq") == 0) {return "application/vnd.mseq";}
if(strcmp(ext, "msf") == 0) {return "application/vnd.epson.msf";}
if(strcmp(ext, "msg") == 0) {return "application/vnd.ms-outlook";}
if(strcmp(ext, "msh") == 0) {return "model/mesh";}
if(strcmp(ext, "msi") == 0) {return "application/octet-stream";}
if(strcmp(ext, "msix") == 0) {return "application/msix";}
if(strcmp(ext, "msl") == 0) {return "application/vnd.mobius.msl";}
if(strcmp(ext, "msm") == 0) {return "application/octet-stream";}
if(strcmp(ext, "msp") == 0) {return "application/octet-stream";}
if(strcmp(ext, "msty") == 0) {return "application/vnd.muvee.style";}
if(strcmp(ext, "mtl") == 0) {return "model/mtl";}
if(strcmp(ext, "mts") == 0) {return "model/vnd.mts";}
if(strcmp(ext, "mus") == 0) {return "application/vnd.musician";}
if(strcmp(ext, "musd") == 0) {return "application/mmt-usd+xml";}
if(strcmp(ext, "musicxml") == 0) {return "application/vnd.recordare.musicxml+xml";}
if(strcmp(ext, "mvb") == 0) {return "application/x-msmediaview";}
if(strcmp(ext, "mvt") == 0) {return "application/vnd.mapbox-vector-tile";}
if(strcmp(ext, "mwf") == 0) {return "application/vnd.mfer";}
if(strcmp(ext, "mxf") == 0) {return "application/mxf";}
if(strcmp(ext, "mxl") == 0) {return "application/vnd.recordare.musicxml";}
if(strcmp(ext, "mxmf") == 0) {return "audio/mobile-xmf";}
if(strcmp(ext, "mxml") == 0) {return "application/xv+xml";}
if(strcmp(ext, "mxs") == 0) {return "application/vnd.triscape.mxs";}
if(strcmp(ext, "mxu") == 0) {return "video/vnd.mpegurl";}
if(strcmp(ext, "n3") == 0) {return "text/n3";}
if(strcmp(ext, "nb") == 0) {return "application/mathematica";}
if(strcmp(ext, "nbp") == 0) {return "application/vnd.wolfram.player";}
if(strcmp(ext, "nc") == 0) {return "application/x-netcdf";}
if(strcmp(ext, "ncx") == 0) {return "application/x-dtbncx+xml";}
if(strcmp(ext, "nfo") == 0) {return "text/x-nfo";}
if(strcmp(ext, "ngdat") == 0) {return "application/vnd.nokia.n-gage.data";}
if(strcmp(ext, "nitf") == 0) {return "application/vnd.nitf";}
if(strcmp(ext, "nlu") == 0) {return "application/vnd.neurolanguage.nlu";}
if(strcmp(ext, "nml") == 0) {return "application/vnd.enliven";}
if(strcmp(ext, "nnd") == 0) {return "application/vnd.noblenet-directory";}
if(strcmp(ext, "nns") == 0) {return "application/vnd.noblenet-sealer";}
if(strcmp(ext, "nnw") == 0) {return "application/vnd.noblenet-web";}
if(strcmp(ext, "npx") == 0) {return "image/vnd.net-fpx";}
if(strcmp(ext, "nq") == 0) {return "application/n-quads";}
if(strcmp(ext, "nsc") == 0) {return "application/x-conference";}
if(strcmp(ext, "nsf") == 0) {return "application/vnd.lotus-notes";}
if(strcmp(ext, "nt") == 0) {return "application/n-triples";}
if(strcmp(ext, "ntf") == 0) {return "application/vnd.nitf";}
if(strcmp(ext, "numbers") == 0) {return "application/vnd.apple.numbers";}
if(strcmp(ext, "nzb") == 0) {return "application/x-nzb";}
if(strcmp(ext, "oa2") == 0) {return "application/vnd.fujitsu.oasys2";}
if(strcmp(ext, "oa3") == 0) {return "application/vnd.fujitsu.oasys3";}
if(strcmp(ext, "oas") == 0) {return "application/vnd.fujitsu.oasys";}
if(strcmp(ext, "obd") == 0) {return "application/x-msbinder";}
if(strcmp(ext, "obgx") == 0) {return "application/vnd.openblox.game+xml";}
if(strcmp(ext, "obj") == 0) {return "model/obj";}
if(strcmp(ext, "oda") == 0) {return "application/oda";}
if(strcmp(ext, "odb") == 0) {return "application/vnd.oasis.opendocument.database";}
if(strcmp(ext, "odc") == 0) {return "application/vnd.oasis.opendocument.chart";}
if(strcmp(ext, "odf") == 0) {return "application/vnd.oasis.opendocument.formula";}
if(strcmp(ext, "odft") == 0) {return "application/vnd.oasis.opendocument.formula-template";}
if(strcmp(ext, "odg") == 0) {return "application/vnd.oasis.opendocument.graphics";}
if(strcmp(ext, "odi") == 0) {return "application/vnd.oasis.opendocument.image";}
if(strcmp(ext, "odm") == 0) {return "application/vnd.oasis.opendocument.text-master";}
if(strcmp(ext, "odp") == 0) {return "application/vnd.oasis.opendocument.presentation";}
if(strcmp(ext, "ods") == 0) {return "application/vnd.oasis.opendocument.spreadsheet";}
if(strcmp(ext, "odt") == 0) {return "application/vnd.oasis.opendocument.text";}
if(strcmp(ext, "oga") == 0) {return "audio/ogg";}
if(strcmp(ext, "ogex") == 0) {return "model/vnd.opengex";}
if(strcmp(ext, "ogg") == 0) {return "audio/ogg";}
if(strcmp(ext, "ogv") == 0) {return "video/ogg";}
if(strcmp(ext, "ogx") == 0) {return "application/ogg";}
if(strcmp(ext, "omdoc") == 0) {return "application/omdoc+xml";}
if(strcmp(ext, "onepkg") == 0) {return "application/onenote";}
if(strcmp(ext, "onetmp") == 0) {return "application/onenote";}
if(strcmp(ext, "onetoc") == 0) {return "application/onenote";}
if(strcmp(ext, "onetoc2") == 0) {return "application/onenote";}
if(strcmp(ext, "opf") == 0) {return "application/oebps-package+xml";}
if(strcmp(ext, "opml") == 0) {return "text/x-opml";}
if(strcmp(ext, "oprc") == 0) {return "application/vnd.palm";}
if(strcmp(ext, "opus") == 0) {return "audio/ogg";}
if(strcmp(ext, "org") == 0) {return "application/vnd.lotus-organizer";}
if(strcmp(ext, "osf") == 0) {return "application/vnd.yamaha.openscoreformat";}
if(strcmp(ext, "osfpvg") == 0) {return "application/vnd.yamaha.openscoreformat.osfpvg+xml";}
if(strcmp(ext, "osm") == 0) {return "application/vnd.openstreetmap.data+xml";}
if(strcmp(ext, "otc") == 0) {return "application/vnd.oasis.opendocument.chart-template";}
if(strcmp(ext, "otf") == 0) {return "font/otf";}
if(strcmp(ext, "otg") == 0) {return "application/vnd.oasis.opendocument.graphics-template";}
if(strcmp(ext, "oth") == 0) {return "application/vnd.oasis.opendocument.text-web";}
if(strcmp(ext, "oti") == 0) {return "application/vnd.oasis.opendocument.image-template";}
if(strcmp(ext, "otp") == 0) {return "application/vnd.oasis.opendocument.presentation-template";}
if(strcmp(ext, "ots") == 0) {return "application/vnd.oasis.opendocument.spreadsheet-template";}
if(strcmp(ext, "ott") == 0) {return "application/vnd.oasis.opendocument.text-template";}
if(strcmp(ext, "ova") == 0) {return "application/x-virtualbox-ova";}
if(strcmp(ext, "ovf") == 0) {return "application/x-virtualbox-ovf";}
if(strcmp(ext, "owl") == 0) {return "application/rdf+xml";}
if(strcmp(ext, "oxps") == 0) {return "application/oxps";}
if(strcmp(ext, "oxt") == 0) {return "application/vnd.openofficeorg.extension";}
if(strcmp(ext, "p") == 0) {return "text/x-pascal";}
if(strcmp(ext, "p10") == 0) {return "application/pkcs10";}
if(strcmp(ext, "p12") == 0) {return "application/x-pkcs12";}
if(strcmp(ext, "p7b") == 0) {return "application/x-pkcs7-certificates";}
if(strcmp(ext, "p7c") == 0) {return "application/pkcs7-mime";}
if(strcmp(ext, "p7m") == 0) {return "application/pkcs7-mime";}
if(strcmp(ext, "p7r") == 0) {return "application/x-pkcs7-certreqresp";}
if(strcmp(ext, "p7s") == 0) {return "application/pkcs7-signature";}
if(strcmp(ext, "p8") == 0) {return "application/pkcs8";}
if(strcmp(ext, "pac") == 0) {return "application/x-ns-proxy-autoconfig";}
if(strcmp(ext, "pages") == 0) {return "application/vnd.apple.pages";}
if(strcmp(ext, "pas") == 0) {return "text/x-pascal";}
if(strcmp(ext, "paw") == 0) {return "application/vnd.pawaafile";}
if(strcmp(ext, "pbd") == 0) {return "application/vnd.powerbuilder6";}
if(strcmp(ext, "pbm") == 0) {return "image/x-portable-bitmap";}
if(strcmp(ext, "pcap") == 0) {return "application/vnd.tcpdump.pcap";}
if(strcmp(ext, "pcf") == 0) {return "application/x-font-pcf";}
if(strcmp(ext, "pcl") == 0) {return "application/vnd.hp-pcl";}
if(strcmp(ext, "pclxl") == 0) {return "application/vnd.hp-pclxl";}
if(strcmp(ext, "pct") == 0) {return "image/x-pict";}
if(strcmp(ext, "pcurl") == 0) {return "application/vnd.curl.pcurl";}
if(strcmp(ext, "pcx") == 0) {return "image/vnd.zbrush.pcx";}
if(strcmp(ext, "pdb") == 0) {return "application/vnd.palm";}
if(strcmp(ext, "pde") == 0) {return "text/x-processing";}
if(strcmp(ext, "pdf") == 0) {return "application/pdf";}
if(strcmp(ext, "pem") == 0) {return "application/x-x509-ca-cert";}
if(strcmp(ext, "pfa") == 0) {return "application/x-font-type1";}
if(strcmp(ext, "pfb") == 0) {return "application/x-font-type1";}
if(strcmp(ext, "pfm") == 0) {return "application/x-font-type1";}
if(strcmp(ext, "pfr") == 0) {return "application/font-tdpfr";}
if(strcmp(ext, "pfx") == 0) {return "application/x-pkcs12";}
if(strcmp(ext, "pgm") == 0) {return "image/x-portable-graymap";}
if(strcmp(ext, "pgn") == 0) {return "application/x-chess-pgn";}
if(strcmp(ext, "pgp") == 0) {return "application/pgp-encrypted";}
if(strcmp(ext, "php") == 0) {return "application/x-httpd-php";}
if(strcmp(ext, "pic") == 0) {return "image/x-pict";}
if(strcmp(ext, "pkg") == 0) {return "application/octet-stream";}
if(strcmp(ext, "pki") == 0) {return "application/pkixcmp";}
if(strcmp(ext, "pkipath") == 0) {return "application/pkix-pkipath";}
if(strcmp(ext, "pkpass") == 0) {return "application/vnd.apple.pkpass";}
if(strcmp(ext, "pl") == 0) {return "application/x-perl";}
if(strcmp(ext, "plb") == 0) {return "application/vnd.3gpp.pic-bw-large";}
if(strcmp(ext, "plc") == 0) {return "application/vnd.mobius.plc";}
if(strcmp(ext, "plf") == 0) {return "application/vnd.pocketlearn";}
if(strcmp(ext, "pls") == 0) {return "application/pls+xml";}
if(strcmp(ext, "pm") == 0) {return "application/x-perl";}
if(strcmp(ext, "pml") == 0) {return "application/vnd.ctc-posml";}
if(strcmp(ext, "png") == 0) {return "image/png";}
if(strcmp(ext, "pnm") == 0) {return "image/x-portable-anymap";}
if(strcmp(ext, "portpkg") == 0) {return "application/vnd.macports.portpkg";}
if(strcmp(ext, "pot") == 0) {return "application/vnd.ms-powerpoint";}
if(strcmp(ext, "potm") == 0) {return "application/vnd.ms-powerpoint.template.macroenabled.12";}
if(strcmp(ext, "potx") == 0) {return "application/vnd.openxmlformats-officedocument.presentationml.template";}
if(strcmp(ext, "ppam") == 0) {return "application/vnd.ms-powerpoint.addin.macroenabled.12";}
if(strcmp(ext, "ppd") == 0) {return "application/vnd.cups-ppd";}
if(strcmp(ext, "ppm") == 0) {return "image/x-portable-pixmap";}
if(strcmp(ext, "pps") == 0) {return "application/vnd.ms-powerpoint";}
if(strcmp(ext, "ppsm") == 0) {return "application/vnd.ms-powerpoint.slideshow.macroenabled.12";}
if(strcmp(ext, "ppsx") == 0) {return "application/vnd.openxmlformats-officedocument.presentationml.slideshow";}
if(strcmp(ext, "ppt") == 0) {return "application/vnd.ms-powerpoint";}
if(strcmp(ext, "pptm") == 0) {return "application/vnd.ms-powerpoint.presentation.macroenabled.12";}
if(strcmp(ext, "pptx") == 0) {return "application/vnd.openxmlformats-officedocument.presentationml.presentation";}
if(strcmp(ext, "pqa") == 0) {return "application/vnd.palm";}
if(strcmp(ext, "prc") == 0) {return "model/prc";}
if(strcmp(ext, "pre") == 0) {return "application/vnd.lotus-freelance";}
if(strcmp(ext, "prf") == 0) {return "application/pics-rules";}
if(strcmp(ext, "provx") == 0) {return "application/provenance+xml";}
if(strcmp(ext, "ps") == 0) {return "application/postscript";}
if(strcmp(ext, "psb") == 0) {return "application/vnd.3gpp.pic-bw-small";}
if(strcmp(ext, "psd") == 0) {return "image/vnd.adobe.photoshop";}
if(strcmp(ext, "psf") == 0) {return "application/x-font-linux-psf";}
if(strcmp(ext, "pskcxml") == 0) {return "application/pskc+xml";}
if(strcmp(ext, "pti") == 0) {return "image/prs.pti";}
if(strcmp(ext, "ptid") == 0) {return "application/vnd.pvi.ptid1";}
if(strcmp(ext, "pub") == 0) {return "application/x-mspublisher";}
if(strcmp(ext, "pvb") == 0) {return "application/vnd.3gpp.pic-bw-var";}
if(strcmp(ext, "pwn") == 0) {return "application/vnd.3m.post-it-notes";}
if(strcmp(ext, "pya") == 0) {return "audio/vnd.ms-playready.media.pya";}
if(strcmp(ext, "pyo") == 0) {return "model/vnd.pytha.pyox";}
if(strcmp(ext, "pyox") == 0) {return "model/vnd.pytha.pyox";}
if(strcmp(ext, "pyv") == 0) {return "video/vnd.ms-playready.media.pyv";}
if(strcmp(ext, "qam") == 0) {return "application/vnd.epson.quickanime";}
if(strcmp(ext, "qbo") == 0) {return "application/vnd.intu.qbo";}
if(strcmp(ext, "qfx") == 0) {return "application/vnd.intu.qfx";}
if(strcmp(ext, "qps") == 0) {return "application/vnd.publishare-delta-tree";}
if(strcmp(ext, "qt") == 0) {return "video/quicktime";}
if(strcmp(ext, "qwd") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "qwt") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "qxb") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "qxd") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "qxl") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "qxt") == 0) {return "application/vnd.quark.quarkxpress";}
if(strcmp(ext, "ra") == 0) {return "audio/x-realaudio";}
if(strcmp(ext, "ram") == 0) {return "audio/x-pn-realaudio";}
if(strcmp(ext, "raml") == 0) {return "application/raml+yaml";}
if(strcmp(ext, "rapd") == 0) {return "application/route-apd+xml";}
if(strcmp(ext, "rar") == 0) {return "application/vnd.rar";}
if(strcmp(ext, "ras") == 0) {return "image/x-cmu-raster";}
if(strcmp(ext, "rdf") == 0) {return "application/rdf+xml";}
if(strcmp(ext, "rdz") == 0) {return "application/vnd.data-vision.rdz";}
if(strcmp(ext, "relo") == 0) {return "application/p2p-overlay+xml";}
if(strcmp(ext, "rep") == 0) {return "application/vnd.businessobjects";}
if(strcmp(ext, "res") == 0) {return "application/x-dtbresource+xml";}
if(strcmp(ext, "rgb") == 0) {return "image/x-rgb";}
if(strcmp(ext, "rif") == 0) {return "application/reginfo+xml";}
if(strcmp(ext, "rip") == 0) {return "audio/vnd.rip";}
if(strcmp(ext, "ris") == 0) {return "application/x-research-info-systems";}
if(strcmp(ext, "rl") == 0) {return "application/resource-lists+xml";}
if(strcmp(ext, "rlc") == 0) {return "image/vnd.fujixerox.edmics-rlc";}
if(strcmp(ext, "rld") == 0) {return "application/resource-lists-diff+xml";}
if(strcmp(ext, "rm") == 0) {return "application/vnd.rn-realmedia";}
if(strcmp(ext, "rmi") == 0) {return "audio/midi";}
if(strcmp(ext, "rmp") == 0) {return "audio/x-pn-realaudio-plugin";}
if(strcmp(ext, "rms") == 0) {return "application/vnd.jcp.javame.midlet-rms";}
if(strcmp(ext, "rmvb") == 0) {return "application/vnd.rn-realmedia-vbr";}
if(strcmp(ext, "rnc") == 0) {return "application/relax-ng-compact-syntax";}
if(strcmp(ext, "rng") == 0) {return "application/xml";}
if(strcmp(ext, "roa") == 0) {return "application/rpki-roa";}
if(strcmp(ext, "roff") == 0) {return "text/troff";}
if(strcmp(ext, "rp9") == 0) {return "application/vnd.cloanto.rp9";}
if(strcmp(ext, "rpm") == 0) {return "application/x-redhat-package-manager";}
if(strcmp(ext, "rpss") == 0) {return "application/vnd.nokia.radio-presets";}
if(strcmp(ext, "rpst") == 0) {return "application/vnd.nokia.radio-preset";}
if(strcmp(ext, "rq") == 0) {return "application/sparql-query";}
if(strcmp(ext, "rs") == 0) {return "application/rls-services+xml";}
if(strcmp(ext, "rsat") == 0) {return "application/atsc-rsat+xml";}
if(strcmp(ext, "rsd") == 0) {return "application/rsd+xml";}
if(strcmp(ext, "rsheet") == 0) {return "application/urc-ressheet+xml";}
if(strcmp(ext, "rss") == 0) {return "application/rss+xml";}
if(strcmp(ext, "rtf") == 0) {return "text/rtf";}
if(strcmp(ext, "rtx") == 0) {return "text/richtext";}
if(strcmp(ext, "run") == 0) {return "application/x-makeself";}
if(strcmp(ext, "rusd") == 0) {return "application/route-usd+xml";}
if(strcmp(ext, "s") == 0) {return "text/x-asm";}
if(strcmp(ext, "s3m") == 0) {return "audio/s3m";}
if(strcmp(ext, "saf") == 0) {return "application/vnd.yamaha.smaf-audio";}
if(strcmp(ext, "sass") == 0) {return "text/x-sass";}
if(strcmp(ext, "sbml") == 0) {return "application/sbml+xml";}
if(strcmp(ext, "sc") == 0) {return "application/vnd.ibm.secure-container";}
if(strcmp(ext, "scd") == 0) {return "application/x-msschedule";}
if(strcmp(ext, "scm") == 0) {return "application/vnd.lotus-screencam";}
if(strcmp(ext, "scq") == 0) {return "application/scvp-cv-request";}
if(strcmp(ext, "scs") == 0) {return "application/scvp-cv-response";}
if(strcmp(ext, "scss") == 0) {return "text/x-scss";}
if(strcmp(ext, "scurl") == 0) {return "text/vnd.curl.scurl";}
if(strcmp(ext, "sda") == 0) {return "application/vnd.stardivision.draw";}
if(strcmp(ext, "sdc") == 0) {return "application/vnd.stardivision.calc";}
if(strcmp(ext, "sdd") == 0) {return "application/vnd.stardivision.impress";}
if(strcmp(ext, "sdkd") == 0) {return "application/vnd.solent.sdkm+xml";}
if(strcmp(ext, "sdkm") == 0) {return "application/vnd.solent.sdkm+xml";}
if(strcmp(ext, "sdp") == 0) {return "application/sdp";}
if(strcmp(ext, "sdw") == 0) {return "application/vnd.stardivision.writer";}
if(strcmp(ext, "sea") == 0) {return "application/x-sea";}
if(strcmp(ext, "see") == 0) {return "application/vnd.seemail";}
if(strcmp(ext, "seed") == 0) {return "application/vnd.fdsn.seed";}
if(strcmp(ext, "sema") == 0) {return "application/vnd.sema";}
if(strcmp(ext, "semd") == 0) {return "application/vnd.semd";}
if(strcmp(ext, "semf") == 0) {return "application/vnd.semf";}
if(strcmp(ext, "senmlx") == 0) {return "application/senml+xml";}
if(strcmp(ext, "sensmlx") == 0) {return "application/sensml+xml";}
if(strcmp(ext, "ser") == 0) {return "application/java-serialized-object";}
if(strcmp(ext, "setpay") == 0) {return "application/set-payment-initiation";}
if(strcmp(ext, "setreg") == 0) {return "application/set-registration-initiation";}
if(strcmp(ext, "sfs") == 0) {return "application/vnd.spotfire.sfs";}
if(strcmp(ext, "sfv") == 0) {return "text/x-sfv";}
if(strcmp(ext, "sgi") == 0) {return "image/sgi";}
if(strcmp(ext, "sgl") == 0) {return "application/vnd.stardivision.writer-global";}
if(strcmp(ext, "sgm") == 0) {return "text/sgml";}
if(strcmp(ext, "sgml") == 0) {return "text/sgml";}
if(strcmp(ext, "sh") == 0) {return "application/x-sh";}
if(strcmp(ext, "shar") == 0) {return "application/x-shar";}
if(strcmp(ext, "shex") == 0) {return "text/shex";}
if(strcmp(ext, "shf") == 0) {return "application/shf+xml";}
if(strcmp(ext, "shtml") == 0) {return "text/html";}
if(strcmp(ext, "sid") == 0) {return "image/x-mrsid-image";}
if(strcmp(ext, "sieve") == 0) {return "application/sieve";}
if(strcmp(ext, "sig") == 0) {return "application/pgp-signature";}
if(strcmp(ext, "sil") == 0) {return "audio/silk";}
if(strcmp(ext, "silo") == 0) {return "model/mesh";}
if(strcmp(ext, "sis") == 0) {return "application/vnd.symbian.install";}
if(strcmp(ext, "sisx") == 0) {return "application/vnd.symbian.install";}
if(strcmp(ext, "sit") == 0) {return "application/x-stuffit";}
if(strcmp(ext, "sitx") == 0) {return "application/x-stuffitx";}
if(strcmp(ext, "siv") == 0) {return "application/sieve";}
if(strcmp(ext, "skd") == 0) {return "application/vnd.koan";}
if(strcmp(ext, "skm") == 0) {return "application/vnd.koan";}
if(strcmp(ext, "skp") == 0) {return "application/vnd.koan";}
if(strcmp(ext, "skt") == 0) {return "application/vnd.koan";}
if(strcmp(ext, "sldm") == 0) {return "application/vnd.ms-powerpoint.slide.macroenabled.12";}
if(strcmp(ext, "sldx") == 0) {return "application/vnd.openxmlformats-officedocument.presentationml.slide";}
if(strcmp(ext, "slim") == 0) {return "text/slim";}
if(strcmp(ext, "slm") == 0) {return "text/slim";}
if(strcmp(ext, "sls") == 0) {return "application/route-s-tsid+xml";}
if(strcmp(ext, "slt") == 0) {return "application/vnd.epson.salt";}
if(strcmp(ext, "sm") == 0) {return "application/vnd.stepmania.stepchart";}
if(strcmp(ext, "smf") == 0) {return "application/vnd.stardivision.math";}
if(strcmp(ext, "smi") == 0) {return "application/smil+xml";}
if(strcmp(ext, "smil") == 0) {return "application/smil+xml";}
if(strcmp(ext, "smv") == 0) {return "video/x-smv";}
if(strcmp(ext, "smzip") == 0) {return "application/vnd.stepmania.package";}
if(strcmp(ext, "snd") == 0) {return "audio/basic";}
if(strcmp(ext, "snf") == 0) {return "application/x-font-snf";}
if(strcmp(ext, "so") == 0) {return "application/octet-stream";}
if(strcmp(ext, "spc") == 0) {return "application/x-pkcs7-certificates";}
if(strcmp(ext, "spdx") == 0) {return "text/spdx";}
if(strcmp(ext, "spf") == 0) {return "application/vnd.yamaha.smaf-phrase";}
if(strcmp(ext, "spl") == 0) {return "application/x-futuresplash";}
if(strcmp(ext, "spot") == 0) {return "text/vnd.in3d.spot";}
if(strcmp(ext, "spp") == 0) {return "application/scvp-vp-response";}
if(strcmp(ext, "spq") == 0) {return "application/scvp-vp-request";}
if(strcmp(ext, "spx") == 0) {return "audio/ogg";}
if(strcmp(ext, "sql") == 0) {return "application/sql";}
if(strcmp(ext, "src") == 0) {return "application/x-wais-source";}
if(strcmp(ext, "srt") == 0) {return "application/x-subrip";}
if(strcmp(ext, "sru") == 0) {return "application/sru+xml";}
if(strcmp(ext, "srx") == 0) {return "application/sparql-results+xml";}
if(strcmp(ext, "ssdl") == 0) {return "application/ssdl+xml";}
if(strcmp(ext, "sse") == 0) {return "application/vnd.kodak-descriptor";}
if(strcmp(ext, "ssf") == 0) {return "application/vnd.epson.ssf";}
if(strcmp(ext, "ssml") == 0) {return "application/ssml+xml";}
if(strcmp(ext, "st") == 0) {return "application/vnd.sailingtracker.track";}
if(strcmp(ext, "stc") == 0) {return "application/vnd.sun.xml.calc.template";}
if(strcmp(ext, "std") == 0) {return "application/vnd.sun.xml.draw.template";}
if(strcmp(ext, "stf") == 0) {return "application/vnd.wt.stf";}
if(strcmp(ext, "sti") == 0) {return "application/vnd.sun.xml.impress.template";}
if(strcmp(ext, "stk") == 0) {return "application/hyperstudio";}
if(strcmp(ext, "stl") == 0) {return "model/stl";}
if(strcmp(ext, "stpx") == 0) {return "model/step+xml";}
if(strcmp(ext, "stpxz") == 0) {return "model/step-xml+zip";}
if(strcmp(ext, "stpz") == 0) {return "model/step+zip";}
if(strcmp(ext, "str") == 0) {return "application/vnd.pg.format";}
if(strcmp(ext, "stw") == 0) {return "application/vnd.sun.xml.writer.template";}
if(strcmp(ext, "styl") == 0) {return "text/stylus";}
if(strcmp(ext, "stylus") == 0) {return "text/stylus";}
if(strcmp(ext, "sub") == 0) {return "text/vnd.dvb.subtitle";}
if(strcmp(ext, "sus") == 0) {return "application/vnd.sus-calendar";}
if(strcmp(ext, "susp") == 0) {return "application/vnd.sus-calendar";}
if(strcmp(ext, "sv4cpio") == 0) {return "application/x-sv4cpio";}
if(strcmp(ext, "sv4crc") == 0) {return "application/x-sv4crc";}
if(strcmp(ext, "svc") == 0) {return "application/vnd.dvb.service";}
if(strcmp(ext, "svd") == 0) {return "application/vnd.svd";}
if(strcmp(ext, "svg") == 0) {return "image/svg+xml";}
if(strcmp(ext, "svgz") == 0) {return "image/svg+xml";}
if(strcmp(ext, "swa") == 0) {return "application/x-director";}
if(strcmp(ext, "swf") == 0) {return "application/x-shockwave-flash";}
if(strcmp(ext, "swi") == 0) {return "application/vnd.aristanetworks.swi";}
if(strcmp(ext, "swidtag") == 0) {return "application/swid+xml";}
if(strcmp(ext, "sxc") == 0) {return "application/vnd.sun.xml.calc";}
if(strcmp(ext, "sxd") == 0) {return "application/vnd.sun.xml.draw";}
if(strcmp(ext, "sxg") == 0) {return "application/vnd.sun.xml.writer.global";}
if(strcmp(ext, "sxi") == 0) {return "application/vnd.sun.xml.impress";}
if(strcmp(ext, "sxm") == 0) {return "application/vnd.sun.xml.math";}
if(strcmp(ext, "sxw") == 0) {return "application/vnd.sun.xml.writer";}
if(strcmp(ext, "t") == 0) {return "text/troff";}
if(strcmp(ext, "t3") == 0) {return "application/x-t3vm-image";}
if(strcmp(ext, "t38") == 0) {return "image/t38";}
if(strcmp(ext, "taglet") == 0) {return "application/vnd.mynfc";}
if(strcmp(ext, "tao") == 0) {return "application/vnd.tao.intent-module-archive";}
if(strcmp(ext, "tap") == 0) {return "image/vnd.tencent.tap";}
if(strcmp(ext, "tar") == 0) {return "application/x-tar";}
if(strcmp(ext, "tcap") == 0) {return "application/vnd.3gpp2.tcap";}
if(strcmp(ext, "tcl") == 0) {return "application/x-tcl";}
if(strcmp(ext, "td") == 0) {return "application/urc-targetdesc+xml";}
if(strcmp(ext, "teacher") == 0) {return "application/vnd.smart.teacher";}
if(strcmp(ext, "tei") == 0) {return "application/tei+xml";}
if(strcmp(ext, "tex") == 0) {return "application/x-tex";}
if(strcmp(ext, "texi") == 0) {return "application/x-texinfo";}
if(strcmp(ext, "texinfo") == 0) {return "application/x-texinfo";}
if(strcmp(ext, "text") == 0) {return "text/plain";}
if(strcmp(ext, "tfi") == 0) {return "application/thraud+xml";}
if(strcmp(ext, "tfm") == 0) {return "application/x-tex-tfm";}
if(strcmp(ext, "tfx") == 0) {return "image/tiff-fx";}
if(strcmp(ext, "tga") == 0) {return "image/x-tga";}
if(strcmp(ext, "thmx") == 0) {return "application/vnd.ms-officetheme";}
if(strcmp(ext, "tif") == 0) {return "image/tiff";}
if(strcmp(ext, "tiff") == 0) {return "image/tiff";}
if(strcmp(ext, "tk") == 0) {return "application/x-tcl";}
if(strcmp(ext, "tmo") == 0) {return "application/vnd.tmobile-livetv";}
if(strcmp(ext, "toml") == 0) {return "application/toml";}
if(strcmp(ext, "torrent") == 0) {return "application/x-bittorrent";}
if(strcmp(ext, "tpl") == 0) {return "application/vnd.groove-tool-template";}
if(strcmp(ext, "tpt") == 0) {return "application/vnd.trid.tpt";}
if(strcmp(ext, "tr") == 0) {return "text/troff";}
if(strcmp(ext, "tra") == 0) {return "application/vnd.trueapp";}
if(strcmp(ext, "trig") == 0) {return "application/trig";}
if(strcmp(ext, "trm") == 0) {return "application/x-msterminal";}
if(strcmp(ext, "ts") == 0) {return "video/mp2t";}
if(strcmp(ext, "tsd") == 0) {return "application/timestamped-data";}
if(strcmp(ext, "tsv") == 0) {return "text/tab-separated-values";}
if(strcmp(ext, "ttc") == 0) {return "font/collection";}
if(strcmp(ext, "ttf") == 0) {return "font/ttf";}
if(strcmp(ext, "ttl") == 0) {return "text/turtle";}
if(strcmp(ext, "ttml") == 0) {return "application/ttml+xml";}
if(strcmp(ext, "twd") == 0) {return "application/vnd.simtech-mindmapper";}
if(strcmp(ext, "twds") == 0) {return "application/vnd.simtech-mindmapper";}
if(strcmp(ext, "txd") == 0) {return "application/vnd.genomatix.tuxedo";}
if(strcmp(ext, "txf") == 0) {return "application/vnd.mobius.txf";}
if(strcmp(ext, "txt") == 0) {return "text/plain";}
if(strcmp(ext, "u32") == 0) {return "application/x-authorware-bin";}
if(strcmp(ext, "u3d") == 0) {return "model/u3d";}
if(strcmp(ext, "u8dsn") == 0) {return "message/global-delivery-status";}
if(strcmp(ext, "u8hdr") == 0) {return "message/global-headers";}
if(strcmp(ext, "u8mdn") == 0) {return "message/global-disposition-notification";}
if(strcmp(ext, "u8msg") == 0) {return "message/global";}
if(strcmp(ext, "ubj") == 0) {return "application/ubjson";}
if(strcmp(ext, "udeb") == 0) {return "application/x-debian-package";}
if(strcmp(ext, "ufd") == 0) {return "application/vnd.ufdl";}
if(strcmp(ext, "ufdl") == 0) {return "application/vnd.ufdl";}
if(strcmp(ext, "ulx") == 0) {return "application/x-glulx";}
if(strcmp(ext, "umj") == 0) {return "application/vnd.umajin";}
if(strcmp(ext, "unityweb") == 0) {return "application/vnd.unity";}
if(strcmp(ext, "uo") == 0) {return "application/vnd.uoml+xml";}
if(strcmp(ext, "uoml") == 0) {return "application/vnd.uoml+xml";}
if(strcmp(ext, "uri") == 0) {return "text/uri-list";}
if(strcmp(ext, "uris") == 0) {return "text/uri-list";}
if(strcmp(ext, "urls") == 0) {return "text/uri-list";}
if(strcmp(ext, "usda") == 0) {return "model/vnd.usda";}
if(strcmp(ext, "usdz") == 0) {return "model/vnd.usdz+zip";}
if(strcmp(ext, "ustar") == 0) {return "application/x-ustar";}
if(strcmp(ext, "utz") == 0) {return "application/vnd.uiq.theme";}
if(strcmp(ext, "uu") == 0) {return "text/x-uuencode";}
if(strcmp(ext, "uva") == 0) {return "audio/vnd.dece.audio";}
if(strcmp(ext, "uvd") == 0) {return "application/vnd.dece.data";}
if(strcmp(ext, "uvf") == 0) {return "application/vnd.dece.data";}
if(strcmp(ext, "uvg") == 0) {return "image/vnd.dece.graphic";}
if(strcmp(ext, "uvh") == 0) {return "video/vnd.dece.hd";}
if(strcmp(ext, "uvi") == 0) {return "image/vnd.dece.graphic";}
if(strcmp(ext, "uvm") == 0) {return "video/vnd.dece.mobile";}
if(strcmp(ext, "uvp") == 0) {return "video/vnd.dece.pd";}
if(strcmp(ext, "uvs") == 0) {return "video/vnd.dece.sd";}
if(strcmp(ext, "uvt") == 0) {return "application/vnd.dece.ttml+xml";}
if(strcmp(ext, "uvu") == 0) {return "video/vnd.uvvu.mp4";}
if(strcmp(ext, "uvv") == 0) {return "video/vnd.dece.video";}
if(strcmp(ext, "uvva") == 0) {return "audio/vnd.dece.audio";}
if(strcmp(ext, "uvvd") == 0) {return "application/vnd.dece.data";}
if(strcmp(ext, "uvvf") == 0) {return "application/vnd.dece.data";}
if(strcmp(ext, "uvvg") == 0) {return "image/vnd.dece.graphic";}
if(strcmp(ext, "uvvh") == 0) {return "video/vnd.dece.hd";}
if(strcmp(ext, "uvvi") == 0) {return "image/vnd.dece.graphic";}
if(strcmp(ext, "uvvm") == 0) {return "video/vnd.dece.mobile";}
if(strcmp(ext, "uvvp") == 0) {return "video/vnd.dece.pd";}
if(strcmp(ext, "uvvs") == 0) {return "video/vnd.dece.sd";}
if(strcmp(ext, "uvvt") == 0) {return "application/vnd.dece.ttml+xml";}
if(strcmp(ext, "uvvu") == 0) {return "video/vnd.uvvu.mp4";}
if(strcmp(ext, "uvvv") == 0) {return "video/vnd.dece.video";}
if(strcmp(ext, "uvvx") == 0) {return "application/vnd.dece.unspecified";}
if(strcmp(ext, "uvvz") == 0) {return "application/vnd.dece.zip";}
if(strcmp(ext, "uvx") == 0) {return "application/vnd.dece.unspecified";}
if(strcmp(ext, "uvz") == 0) {return "application/vnd.dece.zip";}
if(strcmp(ext, "vbox") == 0) {return "application/x-virtualbox-vbox";}
if(strcmp(ext, "vcard") == 0) {return "text/vcard";}
if(strcmp(ext, "vcd") == 0) {return "application/x-cdlink";}
if(strcmp(ext, "vcf") == 0) {return "text/x-vcard";}
if(strcmp(ext, "vcg") == 0) {return "application/vnd.groove-vcard";}
if(strcmp(ext, "vcs") == 0) {return "text/x-vcalendar";}
if(strcmp(ext, "vcx") == 0) {return "application/vnd.vcx";}
if(strcmp(ext, "vdi") == 0) {return "application/x-virtualbox-vdi";}
if(strcmp(ext, "vds") == 0) {return "model/vnd.sap.vds";}
if(strcmp(ext, "vhd") == 0) {return "application/x-virtualbox-vhd";}
if(strcmp(ext, "vis") == 0) {return "application/vnd.visionary";}
if(strcmp(ext, "viv") == 0) {return "video/vnd.vivo";}
if(strcmp(ext, "vmdk") == 0) {return "application/x-virtualbox-vmdk";}
if(strcmp(ext, "vob") == 0) {return "video/x-ms-vob";}
if(strcmp(ext, "vor") == 0) {return "application/vnd.stardivision.writer";}
if(strcmp(ext, "vox") == 0) {return "application/x-authorware-bin";}
if(strcmp(ext, "vrml") == 0) {return "model/vrml";}
if(strcmp(ext, "vsd") == 0) {return "application/vnd.visio";}
if(strcmp(ext, "vsf") == 0) {return "application/vnd.vsf";}
if(strcmp(ext, "vss") == 0) {return "application/vnd.visio";}
if(strcmp(ext, "vst") == 0) {return "application/vnd.visio";}
if(strcmp(ext, "vsw") == 0) {return "application/vnd.visio";}
if(strcmp(ext, "vtf") == 0) {return "image/vnd.valve.source.texture";}
if(strcmp(ext, "vtt") == 0) {return "text/vtt";}
if(strcmp(ext, "vtu") == 0) {return "model/vnd.vtu";}
if(strcmp(ext, "vxml") == 0) {return "application/voicexml+xml";}
if(strcmp(ext, "w3d") == 0) {return "application/x-director";}
if(strcmp(ext, "wad") == 0) {return "application/x-doom";}
if(strcmp(ext, "wadl") == 0) {return "application/vnd.sun.wadl+xml";}
if(strcmp(ext, "war") == 0) {return "application/java-archive";}
if(strcmp(ext, "wasm") == 0) {return "application/wasm";}
if(strcmp(ext, "wav") == 0) {return "audio/wav";}
if(strcmp(ext, "wax") == 0) {return "audio/x-ms-wax";}
if(strcmp(ext, "wbmp") == 0) {return "image/vnd.wap.wbmp";}
if(strcmp(ext, "wbs") == 0) {return "application/vnd.criticaltools.wbs+xml";}
if(strcmp(ext, "wbxml") == 0) {return "application/vnd.wap.wbxml";}
if(strcmp(ext, "wcm") == 0) {return "application/vnd.ms-works";}
if(strcmp(ext, "wdb") == 0) {return "application/vnd.ms-works";}
if(strcmp(ext, "wdp") == 0) {return "image/vnd.ms-photo";}
if(strcmp(ext, "weba") == 0) {return "audio/webm";}
if(strcmp(ext, "webapp") == 0) {return "application/x-web-app-manifest+json";}
if(strcmp(ext, "webm") == 0) {return "video/webm";}
if(strcmp(ext, "webp") == 0) {return "image/webp";}
if(strcmp(ext, "wg") == 0) {return "application/vnd.pmi.widget";}
if(strcmp(ext, "wgsl") == 0) {return "text/wgsl";}
if(strcmp(ext, "wgt") == 0) {return "application/widget";}
if(strcmp(ext, "wif") == 0) {return "application/watcherinfo+xml";}
if(strcmp(ext, "wks") == 0) {return "application/vnd.ms-works";}
if(strcmp(ext, "wm") == 0) {return "video/x-ms-wm";}
if(strcmp(ext, "wma") == 0) {return "audio/x-ms-wma";}
if(strcmp(ext, "wmd") == 0) {return "application/x-ms-wmd";}
if(strcmp(ext, "wmf") == 0) {return "image/wmf";}
if(strcmp(ext, "wml") == 0) {return "text/vnd.wap.wml";}
if(strcmp(ext, "wmlc") == 0) {return "application/vnd.wap.wmlc";}
if(strcmp(ext, "wmls") == 0) {return "text/vnd.wap.wmlscript";}
if(strcmp(ext, "wmlsc") == 0) {return "application/vnd.wap.wmlscriptc";}
if(strcmp(ext, "wmv") == 0) {return "video/x-ms-wmv";}
if(strcmp(ext, "wmx") == 0) {return "video/x-ms-wmx";}
if(strcmp(ext, "wmz") == 0) {return "application/x-ms-wmz";}
if(strcmp(ext, "woff") == 0) {return "font/woff";}
if(strcmp(ext, "woff2") == 0) {return "font/woff2";}
if(strcmp(ext, "wpd") == 0) {return "application/vnd.wordperfect";}
if(strcmp(ext, "wpl") == 0) {return "application/vnd.ms-wpl";}
if(strcmp(ext, "wps") == 0) {return "application/vnd.ms-works";}
if(strcmp(ext, "wqd") == 0) {return "application/vnd.wqd";}
if(strcmp(ext, "wri") == 0) {return "application/x-mswrite";}
if(strcmp(ext, "wrl") == 0) {return "model/vrml";}
if(strcmp(ext, "wsc") == 0) {return "message/vnd.wfa.wsc";}
if(strcmp(ext, "wsdl") == 0) {return "application/wsdl+xml";}
if(strcmp(ext, "wspolicy") == 0) {return "application/wspolicy+xml";}
if(strcmp(ext, "wtb") == 0) {return "application/vnd.webturbo";}
if(strcmp(ext, "wvx") == 0) {return "video/x-ms-wvx";}
if(strcmp(ext, "x32") == 0) {return "application/x-authorware-bin";}
if(strcmp(ext, "x3d") == 0) {return "model/x3d+xml";}
if(strcmp(ext, "x3db") == 0) {return "model/x3d+binary";}
if(strcmp(ext, "x3dbz") == 0) {return "model/x3d+binary";}
if(strcmp(ext, "x3dv") == 0) {return "model/x3d+vrml";}
if(strcmp(ext, "x3dvz") == 0) {return "model/x3d+vrml";}
if(strcmp(ext, "x3dz") == 0) {return "model/x3d+xml";}
if(strcmp(ext, "xaml") == 0) {return "application/xaml+xml";}
if(strcmp(ext, "xap") == 0) {return "application/x-silverlight-app";}
if(strcmp(ext, "xar") == 0) {return "application/vnd.xara";}
if(strcmp(ext, "xav") == 0) {return "application/xcap-att+xml";}
if(strcmp(ext, "xbap") == 0) {return "application/x-ms-xbap";}
if(strcmp(ext, "xbd") == 0) {return "application/vnd.fujixerox.docuworks.binder";}
if(strcmp(ext, "xbm") == 0) {return "image/x-xbitmap";}
if(strcmp(ext, "xca") == 0) {return "application/xcap-caps+xml";}
if(strcmp(ext, "xcs") == 0) {return "application/calendar+xml";}
if(strcmp(ext, "xdf") == 0) {return "application/xcap-diff+xml";}
if(strcmp(ext, "xdm") == 0) {return "application/vnd.syncml.dm+xml";}
if(strcmp(ext, "xdp") == 0) {return "application/vnd.adobe.xdp+xml";}
if(strcmp(ext, "xdssc") == 0) {return "application/dssc+xml";}
if(strcmp(ext, "xdw") == 0) {return "application/vnd.fujixerox.docuworks";}
if(strcmp(ext, "xel") == 0) {return "application/xcap-el+xml";}
if(strcmp(ext, "xenc") == 0) {return "application/xenc+xml";}
if(strcmp(ext, "xer") == 0) {return "application/patch-ops-error+xml";}
if(strcmp(ext, "xfdf") == 0) {return "application/xfdf";}
if(strcmp(ext, "xfdl") == 0) {return "application/vnd.xfdl";}
if(strcmp(ext, "xht") == 0) {return "application/xhtml+xml";}
if(strcmp(ext, "xhtm") == 0) {return "application/vnd.pwg-xhtml-print+xml";}
if(strcmp(ext, "xhtml") == 0) {return "application/xhtml+xml";}
if(strcmp(ext, "xhvml") == 0) {return "application/xv+xml";}
if(strcmp(ext, "xif") == 0) {return "image/vnd.xiff";}
if(strcmp(ext, "xla") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xlam") == 0) {return "application/vnd.ms-excel.addin.macroenabled.12";}
if(strcmp(ext, "xlc") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xlf") == 0) {return "application/xliff+xml";}
if(strcmp(ext, "xlm") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xls") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xlsb") == 0) {return "application/vnd.ms-excel.sheet.binary.macroenabled.12";}
if(strcmp(ext, "xlsm") == 0) {return "application/vnd.ms-excel.sheet.macroenabled.12";}
if(strcmp(ext, "xlsx") == 0) {return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";}
if(strcmp(ext, "xlt") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xltm") == 0) {return "application/vnd.ms-excel.template.macroenabled.12";}
if(strcmp(ext, "xltx") == 0) {return "application/vnd.openxmlformats-officedocument.spreadsheetml.template";}
if(strcmp(ext, "xlw") == 0) {return "application/vnd.ms-excel";}
if(strcmp(ext, "xm") == 0) {return "audio/xm";}
if(strcmp(ext, "xml") == 0) {return "application/xml";}
if(strcmp(ext, "xns") == 0) {return "application/xcap-ns+xml";}
if(strcmp(ext, "xo") == 0) {return "application/vnd.olpc-sugar";}
if(strcmp(ext, "xop") == 0) {return "application/xop+xml";}
if(strcmp(ext, "xpi") == 0) {return "application/x-xpinstall";}
if(strcmp(ext, "xpl") == 0) {return "application/xproc+xml";}
if(strcmp(ext, "xpm") == 0) {return "image/x-xpixmap";}
if(strcmp(ext, "xpr") == 0) {return "application/vnd.is-xpr";}
if(strcmp(ext, "xps") == 0) {return "application/vnd.ms-xpsdocument";}
if(strcmp(ext, "xpw") == 0) {return "application/vnd.intercon.formnet";}
if(strcmp(ext, "xpx") == 0) {return "application/vnd.intercon.formnet";}
if(strcmp(ext, "xsd") == 0) {return "application/xml";}
if(strcmp(ext, "xsf") == 0) {return "application/prs.xsf+xml";}
if(strcmp(ext, "xsl") == 0) {return "application/xml";}
if(strcmp(ext, "xslt") == 0) {return "application/xslt+xml";}
if(strcmp(ext, "xsm") == 0) {return "application/vnd.syncml+xml";}
if(strcmp(ext, "xspf") == 0) {return "application/xspf+xml";}
if(strcmp(ext, "xul") == 0) {return "application/vnd.mozilla.xul+xml";}
if(strcmp(ext, "xvm") == 0) {return "application/xv+xml";}
if(strcmp(ext, "xvml") == 0) {return "application/xv+xml";}
if(strcmp(ext, "xwd") == 0) {return "image/x-xwindowdump";}
if(strcmp(ext, "xyz") == 0) {return "chemical/x-xyz";}
if(strcmp(ext, "xz") == 0) {return "application/x-xz";}
if(strcmp(ext, "yaml") == 0) {return "text/yaml";}
if(strcmp(ext, "yang") == 0) {return "application/yang";}
if(strcmp(ext, "yin") == 0) {return "application/yin+xml";}
if(strcmp(ext, "yml") == 0) {return "text/yaml";}
if(strcmp(ext, "ymp") == 0) {return "text/x-suse-ymp";}
if(strcmp(ext, "z1") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z2") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z3") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z4") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z5") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z6") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z7") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "z8") == 0) {return "application/x-zmachine";}
if(strcmp(ext, "zaz") == 0) {return "application/vnd.zzazz.deck+xml";}
if(strcmp(ext, "zip") == 0) {return "application/zip";}
if(strcmp(ext, "zir") == 0) {return "application/vnd.zul";}
if(strcmp(ext, "zirz") == 0) {return "application/vnd.zul";}
if(strcmp(ext, "zmm") == 0) {return "application/vnd.handheld-entertainment+xml";}
return "application/octet-stream";
}