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"; }