1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-27 10:32:58 +02:00
joplin/ReactNativeClient/lib/mime-utils.js

822 lines
40 KiB
JavaScript

const mimeTypes = [
{ t: 'application/andrew-inset', e: ['ez'] },
{ t: 'application/applixware', e: ['aw'] },
{ t: 'application/atom+xml', e: ['atom'] },
{ t: 'application/atomcat+xml', e: ['atomcat'] },
{ t: 'application/atomsvc+xml', e: ['atomsvc'] },
{ t: 'application/ccxml+xml', e: ['ccxml'] },
{ t: 'application/cdmi-capability', e: ['cdmia'] },
{ t: 'application/cdmi-container', e: ['cdmic'] },
{ t: 'application/cdmi-domain', e: ['cdmid'] },
{ t: 'application/cdmi-object', e: ['cdmio'] },
{ t: 'application/cdmi-queue', e: ['cdmiq'] },
{ t: 'application/cu-seeme', e: ['cu'] },
{ t: 'application/davmount+xml', e: ['davmount'] },
{ t: 'application/docbook+xml', e: ['dbk'] },
{ t: 'application/dssc+der', e: ['dssc'] },
{ t: 'application/dssc+xml', e: ['xdssc'] },
{ t: 'application/ecmascript', e: ['ecma'] },
{ t: 'application/emma+xml', e: ['emma'] },
{ t: 'application/epub+zip', e: ['epub'] },
{ t: 'application/exi', e: ['exi'] },
{ t: 'application/font-tdpfr', e: ['pfr'] },
{ t: 'application/font-woff', e: ['woff'] },
{ t: 'application/gml+xml', e: ['gml'] },
{ t: 'application/gpx+xml', e: ['gpx'] },
{ t: 'application/gxf', e: ['gxf'] },
{ t: 'application/hyperstudio', e: ['stk'] },
{ t: 'application/inkml+xml', e: ['ink', 'inkml'] },
{ t: 'application/ipfix', e: ['ipfix'] },
{ t: 'application/java-archive', e: ['jar'] },
{ t: 'application/java-serialized-object', e: ['ser'] },
{ t: 'application/java-vm', e: ['class'] },
{ t: 'application/javascript', e: ['js'] },
{ t: 'application/json', e: ['json'] },
{ t: 'application/jsonml+json', e: ['jsonml'] },
{ t: 'application/lost+xml', e: ['lostxml'] },
{ t: 'application/mac-binhex40', e: ['hqx'] },
{ t: 'application/mac-compactpro', e: ['cpt'] },
{ t: 'application/mads+xml', e: ['mads'] },
{ t: 'application/marc', e: ['mrc'] },
{ t: 'application/marcxml+xml', e: ['mrcx'] },
{ t: 'application/mathematica', e: ['ma', 'nb', 'mb'] },
{ t: 'application/mathml+xml', e: ['mathml'] },
{ t: 'application/mbox', e: ['mbox'] },
{ t: 'application/mediaservercontrol+xml', e: ['mscml'] },
{ t: 'application/metalink+xml', e: ['metalink'] },
{ t: 'application/metalink4+xml', e: ['meta4'] },
{ t: 'application/mets+xml', e: ['mets'] },
{ t: 'application/mods+xml', e: ['mods'] },
{ t: 'application/mp21', e: ['m21', 'mp21'] },
{ t: 'application/mp4', e: ['mp4s'] },
{ t: 'application/msword', e: ['doc', 'dot'] },
{ t: 'application/mxf', e: ['mxf'] },
{ t: 'application/octet-stream', e: ['bin', 'dms', 'lrf', 'mar', 'so', 'dist', 'distz', 'pkg', 'bpk', 'dump', 'elc', 'deploy'] },
{ t: 'application/oda', e: ['oda'] },
{ t: 'application/oebps-package+xml', e: ['opf'] },
{ t: 'application/ogg', e: ['ogx'] },
{ t: 'application/omdoc+xml', e: ['omdoc'] },
{ t: 'application/onenote', e: ['onetoc', 'onetoc2', 'onetmp', 'onepkg'] },
{ t: 'application/oxps', e: ['oxps'] },
{ t: 'application/patch-ops-error+xml', e: ['xer'] },
{ t: 'application/pdf', e: ['pdf'] },
{ t: 'application/pgp-encrypted', e: ['pgp'] },
{ t: 'application/pgp-signature', e: ['asc', 'sig'] },
{ t: 'application/pics-rules', e: ['prf'] },
{ t: 'application/pkcs10', e: ['p10'] },
{ t: 'application/pkcs7-mime', e: ['p7m', 'p7c'] },
{ t: 'application/pkcs7-signature', e: ['p7s'] },
{ t: 'application/pkcs8', e: ['p8'] },
{ t: 'application/pkix-attr-cert', e: ['ac'] },
{ t: 'application/pkix-cert', e: ['cer'] },
{ t: 'application/pkix-crl', e: ['crl'] },
{ t: 'application/pkix-pkipath', e: ['pkipath'] },
{ t: 'application/pkixcmp', e: ['pki'] },
{ t: 'application/pls+xml', e: ['pls'] },
{ t: 'application/postscript', e: ['ai', 'eps', 'ps'] },
{ t: 'application/prs.cww', e: ['cww'] },
{ t: 'application/pskc+xml', e: ['pskcxml'] },
{ t: 'application/rdf+xml', e: ['rdf'] },
{ t: 'application/reginfo+xml', e: ['rif'] },
{ t: 'application/relax-ng-compact-syntax', e: ['rnc'] },
{ t: 'application/resource-lists+xml', e: ['rl'] },
{ t: 'application/resource-lists-diff+xml', e: ['rld'] },
{ t: 'application/rls-services+xml', e: ['rs'] },
{ t: 'application/rpki-ghostbusters', e: ['gbr'] },
{ t: 'application/rpki-manifest', e: ['mft'] },
{ t: 'application/rpki-roa', e: ['roa'] },
{ t: 'application/rsd+xml', e: ['rsd'] },
{ t: 'application/rss+xml', e: ['rss'] },
{ t: 'application/rtf', e: ['rtf'] },
{ t: 'application/sbml+xml', e: ['sbml'] },
{ t: 'application/scvp-cv-request', e: ['scq'] },
{ t: 'application/scvp-cv-response', e: ['scs'] },
{ t: 'application/scvp-vp-request', e: ['spq'] },
{ t: 'application/scvp-vp-response', e: ['spp'] },
{ t: 'application/sdp', e: ['sdp'] },
{ t: 'application/set-payment-initiation', e: ['setpay'] },
{ t: 'application/set-registration-initiation', e: ['setreg'] },
{ t: 'application/shf+xml', e: ['shf'] },
{ t: 'application/smil+xml', e: ['smi', 'smil'] },
{ t: 'application/sparql-query', e: ['rq'] },
{ t: 'application/sparql-results+xml', e: ['srx'] },
{ t: 'application/srgs', e: ['gram'] },
{ t: 'application/srgs+xml', e: ['grxml'] },
{ t: 'application/sru+xml', e: ['sru'] },
{ t: 'application/ssdl+xml', e: ['ssdl'] },
{ t: 'application/ssml+xml', e: ['ssml'] },
{ t: 'application/tei+xml', e: ['tei', 'teicorpus'] },
{ t: 'application/thraud+xml', e: ['tfi'] },
{ t: 'application/timestamped-data', e: ['tsd'] },
{ t: 'application/vnd.3gpp.pic-bw-large', e: ['plb'] },
{ t: 'application/vnd.3gpp.pic-bw-small', e: ['psb'] },
{ t: 'application/vnd.3gpp.pic-bw-var', e: ['pvb'] },
{ t: 'application/vnd.3gpp2.tcap', e: ['tcap'] },
{ t: 'application/vnd.3m.post-it-notes', e: ['pwn'] },
{ t: 'application/vnd.accpac.simply.aso', e: ['aso'] },
{ t: 'application/vnd.accpac.simply.imp', e: ['imp'] },
{ t: 'application/vnd.acucobol', e: ['acu'] },
{ t: 'application/vnd.acucorp', e: ['atc', 'acutc'] },
{ t: 'application/vnd.adobe.air-application-installer-package+zip', e: ['air'] },
{ t: 'application/vnd.adobe.formscentral.fcdt', e: ['fcdt'] },
{ t: 'application/vnd.adobe.fxp', e: ['fxp', 'fxpl'] },
{ t: 'application/vnd.adobe.xdp+xml', e: ['xdp'] },
{ t: 'application/vnd.adobe.xfdf', e: ['xfdf'] },
{ t: 'application/vnd.ahead.space', e: ['ahead'] },
{ t: 'application/vnd.airzip.filesecure.azf', e: ['azf'] },
{ t: 'application/vnd.airzip.filesecure.azs', e: ['azs'] },
{ t: 'application/vnd.amazon.ebook', e: ['azw'] },
{ t: 'application/vnd.americandynamics.acc', e: ['acc'] },
{ t: 'application/vnd.amiga.ami', e: ['ami'] },
{ t: 'application/vnd.android.package-archive', e: ['apk'] },
{ t: 'application/vnd.anser-web-certificate-issue-initiation', e: ['cii'] },
{ t: 'application/vnd.anser-web-funds-transfer-initiation', e: ['fti'] },
{ t: 'application/vnd.antix.game-component', e: ['atx'] },
{ t: 'application/vnd.apple.installer+xml', e: ['mpkg'] },
{ t: 'application/vnd.apple.mpegurl', e: ['m3u8'] },
{ t: 'application/vnd.aristanetworks.swi', e: ['swi'] },
{ t: 'application/vnd.astraea-software.iota', e: ['iota'] },
{ t: 'application/vnd.audiograph', e: ['aep'] },
{ t: 'application/vnd.blueice.multipass', e: ['mpm'] },
{ t: 'application/vnd.bmi', e: ['bmi'] },
{ t: 'application/vnd.businessobjects', e: ['rep'] },
{ t: 'application/vnd.chemdraw+xml', e: ['cdxml'] },
{ t: 'application/vnd.chipnuts.karaoke-mmd', e: ['mmd'] },
{ t: 'application/vnd.cinderella', e: ['cdy'] },
{ t: 'application/vnd.claymore', e: ['cla'] },
{ t: 'application/vnd.cloanto.rp9', e: ['rp9'] },
{ t: 'application/vnd.clonk.c4group', e: ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'] },
{ t: 'application/vnd.cluetrust.cartomobile-config', e: ['c11amc'] },
{ t: 'application/vnd.cluetrust.cartomobile-config-pkg', e: ['c11amz'] },
{ t: 'application/vnd.commonspace', e: ['csp'] },
{ t: 'application/vnd.contact.cmsg', e: ['cdbcmsg'] },
{ t: 'application/vnd.cosmocaller', e: ['cmc'] },
{ t: 'application/vnd.crick.clicker', e: ['clkx'] },
{ t: 'application/vnd.crick.clicker.keyboard', e: ['clkk'] },
{ t: 'application/vnd.crick.clicker.palette', e: ['clkp'] },
{ t: 'application/vnd.crick.clicker.template', e: ['clkt'] },
{ t: 'application/vnd.crick.clicker.wordbank', e: ['clkw'] },
{ t: 'application/vnd.criticaltools.wbs+xml', e: ['wbs'] },
{ t: 'application/vnd.ctc-posml', e: ['pml'] },
{ t: 'application/vnd.cups-ppd', e: ['ppd'] },
{ t: 'application/vnd.curl.car', e: ['car'] },
{ t: 'application/vnd.curl.pcurl', e: ['pcurl'] },
{ t: 'application/vnd.dart', e: ['dart'] },
{ t: 'application/vnd.data-vision.rdz', e: ['rdz'] },
{ t: 'application/vnd.dece.data', e: ['uvf', 'uvvf', 'uvd', 'uvvd'] },
{ t: 'application/vnd.dece.ttml+xml', e: ['uvt', 'uvvt'] },
{ t: 'application/vnd.dece.unspecified', e: ['uvx', 'uvvx'] },
{ t: 'application/vnd.dece.zip', e: ['uvz', 'uvvz'] },
{ t: 'application/vnd.denovo.fcselayout-link', e: ['fe_launch'] },
{ t: 'application/vnd.dna', e: ['dna'] },
{ t: 'application/vnd.dolby.mlp', e: ['mlp'] },
{ t: 'application/vnd.dpgraph', e: ['dpg'] },
{ t: 'application/vnd.dreamfactory', e: ['dfac'] },
{ t: 'application/vnd.ds-keypoint', e: ['kpxx'] },
{ t: 'application/vnd.dvb.ait', e: ['ait'] },
{ t: 'application/vnd.dvb.service', e: ['svc'] },
{ t: 'application/vnd.dynageo', e: ['geo'] },
{ t: 'application/vnd.ecowin.chart', e: ['mag'] },
{ t: 'application/vnd.enliven', e: ['nml'] },
{ t: 'application/vnd.epson.esf', e: ['esf'] },
{ t: 'application/vnd.epson.msf', e: ['msf'] },
{ t: 'application/vnd.epson.quickanime', e: ['qam'] },
{ t: 'application/vnd.epson.salt', e: ['slt'] },
{ t: 'application/vnd.epson.ssf', e: ['ssf'] },
{ t: 'application/vnd.eszigno3+xml', e: ['es3', 'et3'] },
{ t: 'application/vnd.ezpix-album', e: ['ez2'] },
{ t: 'application/vnd.ezpix-package', e: ['ez3'] },
{ t: 'application/vnd.fdf', e: ['fdf'] },
{ t: 'application/vnd.fdsn.mseed', e: ['mseed'] },
{ t: 'application/vnd.fdsn.seed', e: ['seed', 'dataless'] },
{ t: 'application/vnd.flographit', e: ['gph'] },
{ t: 'application/vnd.fluxtime.clip', e: ['ftc'] },
{ t: 'application/vnd.framemaker', e: ['fm', 'frame', 'maker', 'book'] },
{ t: 'application/vnd.frogans.fnc', e: ['fnc'] },
{ t: 'application/vnd.frogans.ltf', e: ['ltf'] },
{ t: 'application/vnd.fsc.weblaunch', e: ['fsc'] },
{ t: 'application/vnd.fujitsu.oasys', e: ['oas'] },
{ t: 'application/vnd.fujitsu.oasys2', e: ['oa2'] },
{ t: 'application/vnd.fujitsu.oasys3', e: ['oa3'] },
{ t: 'application/vnd.fujitsu.oasysgp', e: ['fg5'] },
{ t: 'application/vnd.fujitsu.oasysprs', e: ['bh2'] },
{ t: 'application/vnd.fujixerox.ddd', e: ['ddd'] },
{ t: 'application/vnd.fujixerox.docuworks', e: ['xdw'] },
{ t: 'application/vnd.fujixerox.docuworks.binder', e: ['xbd'] },
{ t: 'application/vnd.fuzzysheet', e: ['fzs'] },
{ t: 'application/vnd.genomatix.tuxedo', e: ['txd'] },
{ t: 'application/vnd.geogebra.file', e: ['ggb'] },
{ t: 'application/vnd.geogebra.tool', e: ['ggt'] },
{ t: 'application/vnd.geometry-explorer', e: ['gex', 'gre'] },
{ t: 'application/vnd.geonext', e: ['gxt'] },
{ t: 'application/vnd.geoplan', e: ['g2w'] },
{ t: 'application/vnd.geospace', e: ['g3w'] },
{ t: 'application/vnd.gmx', e: ['gmx'] },
{ t: 'application/vnd.google-earth.kml+xml', e: ['kml'] },
{ t: 'application/vnd.google-earth.kmz', e: ['kmz'] },
{ t: 'application/vnd.grafeq', e: ['gqf', 'gqs'] },
{ t: 'application/vnd.groove-account', e: ['gac'] },
{ t: 'application/vnd.groove-help', e: ['ghf'] },
{ t: 'application/vnd.groove-identity-message', e: ['gim'] },
{ t: 'application/vnd.groove-injector', e: ['grv'] },
{ t: 'application/vnd.groove-tool-message', e: ['gtm'] },
{ t: 'application/vnd.groove-tool-template', e: ['tpl'] },
{ t: 'application/vnd.groove-vcard', e: ['vcg'] },
{ t: 'application/vnd.hal+xml', e: ['hal'] },
{ t: 'application/vnd.handheld-entertainment+xml', e: ['zmm'] },
{ t: 'application/vnd.hbci', e: ['hbci'] },
{ t: 'application/vnd.hhe.lesson-player', e: ['les'] },
{ t: 'application/vnd.hp-hpgl', e: ['hpgl'] },
{ t: 'application/vnd.hp-hpid', e: ['hpid'] },
{ t: 'application/vnd.hp-hps', e: ['hps'] },
{ t: 'application/vnd.hp-jlyt', e: ['jlt'] },
{ t: 'application/vnd.hp-pcl', e: ['pcl'] },
{ t: 'application/vnd.hp-pclxl', e: ['pclxl'] },
{ t: 'application/vnd.hydrostatix.sof-data', e: ['sfd-hdstx'] },
{ t: 'application/vnd.ibm.minipay', e: ['mpy'] },
{ t: 'application/vnd.ibm.modcap', e: ['afp', 'listafp', 'list3820'] },
{ t: 'application/vnd.ibm.rights-management', e: ['irm'] },
{ t: 'application/vnd.ibm.secure-container', e: ['sc'] },
{ t: 'application/vnd.iccprofile', e: ['icc', 'icm'] },
{ t: 'application/vnd.igloader', e: ['igl'] },
{ t: 'application/vnd.immervision-ivp', e: ['ivp'] },
{ t: 'application/vnd.immervision-ivu', e: ['ivu'] },
{ t: 'application/vnd.insors.igm', e: ['igm'] },
{ t: 'application/vnd.intercon.formnet', e: ['xpw', 'xpx'] },
{ t: 'application/vnd.intergeo', e: ['i2g'] },
{ t: 'application/vnd.intu.qbo', e: ['qbo'] },
{ t: 'application/vnd.intu.qfx', e: ['qfx'] },
{ t: 'application/vnd.ipunplugged.rcprofile', e: ['rcprofile'] },
{ t: 'application/vnd.irepository.package+xml', e: ['irp'] },
{ t: 'application/vnd.is-xpr', e: ['xpr'] },
{ t: 'application/vnd.isac.fcs', e: ['fcs'] },
{ t: 'application/vnd.jam', e: ['jam'] },
{ t: 'application/vnd.jcp.javame.midlet-rms', e: ['rms'] },
{ t: 'application/vnd.jisp', e: ['jisp'] },
{ t: 'application/vnd.joost.joda-archive', e: ['joda'] },
{ t: 'application/vnd.kahootz', e: ['ktz', 'ktr'] },
{ t: 'application/vnd.kde.karbon', e: ['karbon'] },
{ t: 'application/vnd.kde.kchart', e: ['chrt'] },
{ t: 'application/vnd.kde.kformula', e: ['kfo'] },
{ t: 'application/vnd.kde.kivio', e: ['flw'] },
{ t: 'application/vnd.kde.kontour', e: ['kon'] },
{ t: 'application/vnd.kde.kpresenter', e: ['kpr', 'kpt'] },
{ t: 'application/vnd.kde.kspread', e: ['ksp'] },
{ t: 'application/vnd.kde.kword', e: ['kwd', 'kwt'] },
{ t: 'application/vnd.kenameaapp', e: ['htke'] },
{ t: 'application/vnd.kidspiration', e: ['kia'] },
{ t: 'application/vnd.kinar', e: ['kne', 'knp'] },
{ t: 'application/vnd.koan', e: ['skp', 'skd', 'skt', 'skm'] },
{ t: 'application/vnd.kodak-descriptor', e: ['sse'] },
{ t: 'application/vnd.las.las+xml', e: ['lasxml'] },
{ t: 'application/vnd.llamagraphics.life-balance.desktop', e: ['lbd'] },
{ t: 'application/vnd.llamagraphics.life-balance.exchange+xml', e: ['lbe'] },
{ t: 'application/vnd.lotus-1-2-3', e: ['123'] },
{ t: 'application/vnd.lotus-approach', e: ['apr'] },
{ t: 'application/vnd.lotus-freelance', e: ['pre'] },
{ t: 'application/vnd.lotus-notes', e: ['nsf'] },
{ t: 'application/vnd.lotus-organizer', e: ['org'] },
{ t: 'application/vnd.lotus-screencam', e: ['scm'] },
{ t: 'application/vnd.lotus-wordpro', e: ['lwp'] },
{ t: 'application/vnd.macports.portpkg', e: ['portpkg'] },
{ t: 'application/vnd.mcd', e: ['mcd'] },
{ t: 'application/vnd.medcalcdata', e: ['mc1'] },
{ t: 'application/vnd.mediastation.cdkey', e: ['cdkey'] },
{ t: 'application/vnd.mfer', e: ['mwf'] },
{ t: 'application/vnd.mfmp', e: ['mfm'] },
{ t: 'application/vnd.micrografx.flo', e: ['flo'] },
{ t: 'application/vnd.micrografx.igx', e: ['igx'] },
{ t: 'application/vnd.mif', e: ['mif'] },
{ t: 'application/vnd.mobius.daf', e: ['daf'] },
{ t: 'application/vnd.mobius.dis', e: ['dis'] },
{ t: 'application/vnd.mobius.mbk', e: ['mbk'] },
{ t: 'application/vnd.mobius.mqy', e: ['mqy'] },
{ t: 'application/vnd.mobius.msl', e: ['msl'] },
{ t: 'application/vnd.mobius.plc', e: ['plc'] },
{ t: 'application/vnd.mobius.txf', e: ['txf'] },
{ t: 'application/vnd.mophun.application', e: ['mpn'] },
{ t: 'application/vnd.mophun.certificate', e: ['mpc'] },
{ t: 'application/vnd.mozilla.xul+xml', e: ['xul'] },
{ t: 'application/vnd.ms-artgalry', e: ['cil'] },
{ t: 'application/vnd.ms-cab-compressed', e: ['cab'] },
{ t: 'application/vnd.ms-excel', e: ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'] },
{ t: 'application/vnd.ms-excel.addin.macroenabled.12', e: ['xlam'] },
{ t: 'application/vnd.ms-excel.sheet.binary.macroenabled.12', e: ['xlsb'] },
{ t: 'application/vnd.ms-excel.sheet.macroenabled.12', e: ['xlsm'] },
{ t: 'application/vnd.ms-excel.template.macroenabled.12', e: ['xltm'] },
{ t: 'application/vnd.ms-fontobject', e: ['eot'] },
{ t: 'application/vnd.ms-htmlhelp', e: ['chm'] },
{ t: 'application/vnd.ms-ims', e: ['ims'] },
{ t: 'application/vnd.ms-lrm', e: ['lrm'] },
{ t: 'application/vnd.ms-officetheme', e: ['thmx'] },
{ t: 'application/vnd.ms-pki.seccat', e: ['cat'] },
{ t: 'application/vnd.ms-pki.stl', e: ['stl'] },
{ t: 'application/vnd.ms-powerpoint', e: ['ppt', 'pps', 'pot'] },
{ t: 'application/vnd.ms-powerpoint.addin.macroenabled.12', e: ['ppam'] },
{ t: 'application/vnd.ms-powerpoint.presentation.macroenabled.12', e: ['pptm'] },
{ t: 'application/vnd.ms-powerpoint.slide.macroenabled.12', e: ['sldm'] },
{ t: 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', e: ['ppsm'] },
{ t: 'application/vnd.ms-powerpoint.template.macroenabled.12', e: ['potm'] },
{ t: 'application/vnd.ms-project', e: ['mpp', 'mpt'] },
{ t: 'application/vnd.ms-word.document.macroenabled.12', e: ['docm'] },
{ t: 'application/vnd.ms-word.template.macroenabled.12', e: ['dotm'] },
{ t: 'application/vnd.ms-works', e: ['wps', 'wks', 'wcm', 'wdb'] },
{ t: 'application/vnd.ms-wpl', e: ['wpl'] },
{ t: 'application/vnd.ms-xpsdocument', e: ['xps'] },
{ t: 'application/vnd.mseq', e: ['mseq'] },
{ t: 'application/vnd.musician', e: ['mus'] },
{ t: 'application/vnd.muvee.style', e: ['msty'] },
{ t: 'application/vnd.mynfc', e: ['taglet'] },
{ t: 'application/vnd.neurolanguage.nlu', e: ['nlu'] },
{ t: 'application/vnd.nitf', e: ['ntf', 'nitf'] },
{ t: 'application/vnd.noblenet-directory', e: ['nnd'] },
{ t: 'application/vnd.noblenet-sealer', e: ['nns'] },
{ t: 'application/vnd.noblenet-web', e: ['nnw'] },
{ t: 'application/vnd.nokia.n-gage.data', e: ['ngdat'] },
{ t: 'application/vnd.nokia.n-gage.symbian.install', e: ['n-gage'] },
{ t: 'application/vnd.nokia.radio-preset', e: ['rpst'] },
{ t: 'application/vnd.nokia.radio-presets', e: ['rpss'] },
{ t: 'application/vnd.novadigm.edm', e: ['edm'] },
{ t: 'application/vnd.novadigm.edx', e: ['edx'] },
{ t: 'application/vnd.novadigm.ext', e: ['ext'] },
{ t: 'application/vnd.oasis.opendocument.chart', e: ['odc'] },
{ t: 'application/vnd.oasis.opendocument.chart-template', e: ['otc'] },
{ t: 'application/vnd.oasis.opendocument.database', e: ['odb'] },
{ t: 'application/vnd.oasis.opendocument.formula', e: ['odf'] },
{ t: 'application/vnd.oasis.opendocument.formula-template', e: ['odft'] },
{ t: 'application/vnd.oasis.opendocument.graphics', e: ['odg'] },
{ t: 'application/vnd.oasis.opendocument.graphics-template', e: ['otg'] },
{ t: 'application/vnd.oasis.opendocument.image', e: ['odi'] },
{ t: 'application/vnd.oasis.opendocument.image-template', e: ['oti'] },
{ t: 'application/vnd.oasis.opendocument.presentation', e: ['odp'] },
{ t: 'application/vnd.oasis.opendocument.presentation-template', e: ['otp'] },
{ t: 'application/vnd.oasis.opendocument.spreadsheet', e: ['ods'] },
{ t: 'application/vnd.oasis.opendocument.spreadsheet-template', e: ['ots'] },
{ t: 'application/vnd.oasis.opendocument.text', e: ['odt'] },
{ t: 'application/vnd.oasis.opendocument.text-master', e: ['odm'] },
{ t: 'application/vnd.oasis.opendocument.text-template', e: ['ott'] },
{ t: 'application/vnd.oasis.opendocument.text-web', e: ['oth'] },
{ t: 'application/vnd.olpc-sugar', e: ['xo'] },
{ t: 'application/vnd.oma.dd2+xml', e: ['dd2'] },
{ t: 'application/vnd.openofficeorg.extension', e: ['oxt'] },
{ t: 'application/vnd.openxmlformats-officedocument.presentationml.presentation', e: ['pptx'] },
{ t: 'application/vnd.openxmlformats-officedocument.presentationml.slide', e: ['sldx'] },
{ t: 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', e: ['ppsx'] },
{ t: 'application/vnd.openxmlformats-officedocument.presentationml.template', e: ['potx'] },
{ t: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', e: ['xlsx'] },
{ t: 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', e: ['xltx'] },
{ t: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', e: ['docx'] },
{ t: 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', e: ['dotx'] },
{ t: 'application/vnd.osgeo.mapguide.package', e: ['mgp'] },
{ t: 'application/vnd.osgi.dp', e: ['dp'] },
{ t: 'application/vnd.osgi.subsystem', e: ['esa'] },
{ t: 'application/vnd.palm', e: ['pdb', 'pqa', 'oprc'] },
{ t: 'application/vnd.pawaafile', e: ['paw'] },
{ t: 'application/vnd.pg.format', e: ['str'] },
{ t: 'application/vnd.pg.osasli', e: ['ei6'] },
{ t: 'application/vnd.picsel', e: ['efif'] },
{ t: 'application/vnd.pmi.widget', e: ['wg'] },
{ t: 'application/vnd.pocketlearn', e: ['plf'] },
{ t: 'application/vnd.powerbuilder6', e: ['pbd'] },
{ t: 'application/vnd.previewsystems.box', e: ['box'] },
{ t: 'application/vnd.proteus.magazine', e: ['mgz'] },
{ t: 'application/vnd.publishare-delta-tree', e: ['qps'] },
{ t: 'application/vnd.pvi.ptid1', e: ['ptid'] },
{ t: 'application/vnd.quark.quarkxpress', e: ['qxd', 'qxt', 'qwd', 'qwt', 'qxl', 'qxb'] },
{ t: 'application/vnd.realvnc.bed', e: ['bed'] },
{ t: 'application/vnd.recordare.musicxml', e: ['mxl'] },
{ t: 'application/vnd.recordare.musicxml+xml', e: ['musicxml'] },
{ t: 'application/vnd.rig.cryptonote', e: ['cryptonote'] },
{ t: 'application/vnd.rim.cod', e: ['cod'] },
{ t: 'application/vnd.rn-realmedia', e: ['rm'] },
{ t: 'application/vnd.rn-realmedia-vbr', e: ['rmvb'] },
{ t: 'application/vnd.route66.link66+xml', e: ['link66'] },
{ t: 'application/vnd.sailingtracker.track', e: ['st'] },
{ t: 'application/vnd.seemail', e: ['see'] },
{ t: 'application/vnd.sema', e: ['sema'] },
{ t: 'application/vnd.semd', e: ['semd'] },
{ t: 'application/vnd.semf', e: ['semf'] },
{ t: 'application/vnd.shana.informed.formdata', e: ['ifm'] },
{ t: 'application/vnd.shana.informed.formtemplate', e: ['itp'] },
{ t: 'application/vnd.shana.informed.interchange', e: ['iif'] },
{ t: 'application/vnd.shana.informed.package', e: ['ipk'] },
{ t: 'application/vnd.simtech-mindmapper', e: ['twd', 'twds'] },
{ t: 'application/vnd.smaf', e: ['mmf'] },
{ t: 'application/vnd.smart.teacher', e: ['teacher'] },
{ t: 'application/vnd.solent.sdkm+xml', e: ['sdkm', 'sdkd'] },
{ t: 'application/vnd.spotfire.dxp', e: ['dxp'] },
{ t: 'application/vnd.spotfire.sfs', e: ['sfs'] },
{ t: 'application/vnd.stardivision.calc', e: ['sdc'] },
{ t: 'application/vnd.stardivision.draw', e: ['sda'] },
{ t: 'application/vnd.stardivision.impress', e: ['sdd'] },
{ t: 'application/vnd.stardivision.math', e: ['smf'] },
{ t: 'application/vnd.stardivision.writer', e: ['sdw', 'vor'] },
{ t: 'application/vnd.stardivision.writer-global', e: ['sgl'] },
{ t: 'application/vnd.stepmania.package', e: ['smzip'] },
{ t: 'application/vnd.stepmania.stepchart', e: ['sm'] },
{ t: 'application/vnd.sun.xml.calc', e: ['sxc'] },
{ t: 'application/vnd.sun.xml.calc.template', e: ['stc'] },
{ t: 'application/vnd.sun.xml.draw', e: ['sxd'] },
{ t: 'application/vnd.sun.xml.draw.template', e: ['std'] },
{ t: 'application/vnd.sun.xml.impress', e: ['sxi'] },
{ t: 'application/vnd.sun.xml.impress.template', e: ['sti'] },
{ t: 'application/vnd.sun.xml.math', e: ['sxm'] },
{ t: 'application/vnd.sun.xml.writer', e: ['sxw'] },
{ t: 'application/vnd.sun.xml.writer.global', e: ['sxg'] },
{ t: 'application/vnd.sun.xml.writer.template', e: ['stw'] },
{ t: 'application/vnd.sus-calendar', e: ['sus', 'susp'] },
{ t: 'application/vnd.svd', e: ['svd'] },
{ t: 'application/vnd.symbian.install', e: ['sis', 'sisx'] },
{ t: 'application/vnd.syncml+xml', e: ['xsm'] },
{ t: 'application/vnd.syncml.dm+wbxml', e: ['bdm'] },
{ t: 'application/vnd.syncml.dm+xml', e: ['xdm'] },
{ t: 'application/vnd.tao.intent-module-archive', e: ['tao'] },
{ t: 'application/vnd.tcpdump.pcap', e: ['pcap', 'cap', 'dmp'] },
{ t: 'application/vnd.tmobile-livetv', e: ['tmo'] },
{ t: 'application/vnd.trid.tpt', e: ['tpt'] },
{ t: 'application/vnd.triscape.mxs', e: ['mxs'] },
{ t: 'application/vnd.trueapp', e: ['tra'] },
{ t: 'application/vnd.ufdl', e: ['ufd', 'ufdl'] },
{ t: 'application/vnd.uiq.theme', e: ['utz'] },
{ t: 'application/vnd.umajin', e: ['umj'] },
{ t: 'application/vnd.unity', e: ['unityweb'] },
{ t: 'application/vnd.uoml+xml', e: ['uoml'] },
{ t: 'application/vnd.vcx', e: ['vcx'] },
{ t: 'application/vnd.visio', e: ['vsd', 'vst', 'vss', 'vsw'] },
{ t: 'application/vnd.visionary', e: ['vis'] },
{ t: 'application/vnd.vsf', e: ['vsf'] },
{ t: 'application/vnd.wap.wbxml', e: ['wbxml'] },
{ t: 'application/vnd.wap.wmlc', e: ['wmlc'] },
{ t: 'application/vnd.wap.wmlscriptc', e: ['wmlsc'] },
{ t: 'application/vnd.webturbo', e: ['wtb'] },
{ t: 'application/vnd.wolfram.player', e: ['nbp'] },
{ t: 'application/vnd.wordperfect', e: ['wpd'] },
{ t: 'application/vnd.wqd', e: ['wqd'] },
{ t: 'application/vnd.wt.stf', e: ['stf'] },
{ t: 'application/vnd.xara', e: ['xar'] },
{ t: 'application/vnd.xfdl', e: ['xfdl'] },
{ t: 'application/vnd.yamaha.hv-dic', e: ['hvd'] },
{ t: 'application/vnd.yamaha.hv-script', e: ['hvs'] },
{ t: 'application/vnd.yamaha.hv-voice', e: ['hvp'] },
{ t: 'application/vnd.yamaha.openscoreformat', e: ['osf'] },
{ t: 'application/vnd.yamaha.openscoreformat.osfpvg+xml', e: ['osfpvg'] },
{ t: 'application/vnd.yamaha.smaf-audio', e: ['saf'] },
{ t: 'application/vnd.yamaha.smaf-phrase', e: ['spf'] },
{ t: 'application/vnd.yellowriver-custom-menu', e: ['cmp'] },
{ t: 'application/vnd.zul', e: ['zir', 'zirz'] },
{ t: 'application/vnd.zzazz.deck+xml', e: ['zaz'] },
{ t: 'application/voicexml+xml', e: ['vxml'] },
{ t: 'application/widget', e: ['wgt'] },
{ t: 'application/winhlp', e: ['hlp'] },
{ t: 'application/wsdl+xml', e: ['wsdl'] },
{ t: 'application/wspolicy+xml', e: ['wspolicy'] },
{ t: 'application/x-7z-compressed', e: ['7z'] },
{ t: 'application/x-abiword', e: ['abw'] },
{ t: 'application/x-ace-compressed', e: ['ace'] },
{ t: 'application/x-apple-diskimage', e: ['dmg'] },
{ t: 'application/x-authorware-bin', e: ['aab', 'x32', 'u32', 'vox'] },
{ t: 'application/x-authorware-map', e: ['aam'] },
{ t: 'application/x-authorware-seg', e: ['aas'] },
{ t: 'application/x-bcpio', e: ['bcpio'] },
{ t: 'application/x-bittorrent', e: ['torrent'] },
{ t: 'application/x-blorb', e: ['blb', 'blorb'] },
{ t: 'application/x-bzip', e: ['bz'] },
{ t: 'application/x-bzip2', e: ['bz2', 'boz'] },
{ t: 'application/x-cbr', e: ['cbr', 'cba', 'cbt', 'cbz', 'cb7'] },
{ t: 'application/x-cdlink', e: ['vcd'] },
{ t: 'application/x-cfs-compressed', e: ['cfs'] },
{ t: 'application/x-chat', e: ['chat'] },
{ t: 'application/x-chess-pgn', e: ['pgn'] },
{ t: 'application/x-conference', e: ['nsc'] },
{ t: 'application/x-cpio', e: ['cpio'] },
{ t: 'application/x-csh', e: ['csh'] },
{ t: 'application/x-debian-package', e: ['deb', 'udeb'] },
{ t: 'application/x-dgc-compressed', e: ['dgc'] },
{ t: 'application/x-director', e: ['dir', 'dcr', 'dxr', 'cst', 'cct', 'cxt', 'w3d', 'fgd', 'swa'] },
{ t: 'application/x-doom', e: ['wad'] },
{ t: 'application/x-dtbncx+xml', e: ['ncx'] },
{ t: 'application/x-dtbook+xml', e: ['dtb'] },
{ t: 'application/x-dtbresource+xml', e: ['res'] },
{ t: 'application/x-dvi', e: ['dvi'] },
{ t: 'application/x-envoy', e: ['evy'] },
{ t: 'application/x-eva', e: ['eva'] },
{ t: 'application/x-font-bdf', e: ['bdf'] },
{ t: 'application/x-font-ghostscript', e: ['gsf'] },
{ t: 'application/x-font-linux-psf', e: ['psf'] },
{ t: 'application/x-font-otf', e: ['otf'] },
{ t: 'application/x-font-pcf', e: ['pcf'] },
{ t: 'application/x-font-snf', e: ['snf'] },
{ t: 'application/x-font-ttf', e: ['ttf', 'ttc'] },
{ t: 'application/x-font-type1', e: ['pfa', 'pfb', 'pfm', 'afm'] },
{ t: 'application/x-freearc', e: ['arc'] },
{ t: 'application/x-futuresplash', e: ['spl'] },
{ t: 'application/x-gca-compressed', e: ['gca'] },
{ t: 'application/x-glulx', e: ['ulx'] },
{ t: 'application/x-gnumeric', e: ['gnumeric'] },
{ t: 'application/x-gramps-xml', e: ['gramps'] },
{ t: 'application/x-gtar', e: ['gtar'] },
{ t: 'application/x-hdf', e: ['hdf'] },
{ t: 'application/x-install-instructions', e: ['install'] },
{ t: 'application/x-iso9660-image', e: ['iso'] },
{ t: 'application/x-java-jnlp-file', e: ['jnlp'] },
{ t: 'application/x-latex', e: ['latex'] },
{ t: 'application/x-lzh-compressed', e: ['lzh', 'lha'] },
{ t: 'application/x-mie', e: ['mie'] },
{ t: 'application/x-mobipocket-ebook', e: ['prc', 'mobi'] },
{ t: 'application/x-ms-application', e: ['application'] },
{ t: 'application/x-ms-shortcut', e: ['lnk'] },
{ t: 'application/x-ms-wmd', e: ['wmd'] },
{ t: 'application/x-ms-wmz', e: ['wmz'] },
{ t: 'application/x-ms-xbap', e: ['xbap'] },
{ t: 'application/x-msaccess', e: ['mdb'] },
{ t: 'application/x-msbinder', e: ['obd'] },
{ t: 'application/x-mscardfile', e: ['crd'] },
{ t: 'application/x-msclip', e: ['clp'] },
{ t: 'application/x-msdownload', e: ['exe', 'dll', 'com', 'bat', 'msi'] },
{ t: 'application/x-msmediaview', e: ['mvb', 'm13', 'm14'] },
{ t: 'application/x-msmetafile', e: ['wmf', 'wmz', 'emf', 'emz'] },
{ t: 'application/x-msmoney', e: ['mny'] },
{ t: 'application/x-mspublisher', e: ['pub'] },
{ t: 'application/x-msschedule', e: ['scd'] },
{ t: 'application/x-msterminal', e: ['trm'] },
{ t: 'application/x-mswrite', e: ['wri'] },
{ t: 'application/x-netcdf', e: ['nc', 'cdf'] },
{ t: 'application/x-nzb', e: ['nzb'] },
{ t: 'application/x-pkcs12', e: ['p12', 'pfx'] },
{ t: 'application/x-pkcs7-certificates', e: ['p7b', 'spc'] },
{ t: 'application/x-pkcs7-certreqresp', e: ['p7r'] },
{ t: 'application/x-rar-compressed', e: ['rar'] },
{ t: 'application/x-research-info-systems', e: ['ris'] },
{ t: 'application/x-sh', e: ['sh'] },
{ t: 'application/x-shar', e: ['shar'] },
{ t: 'application/x-shockwave-flash', e: ['swf'] },
{ t: 'application/x-silverlight-app', e: ['xap'] },
{ t: 'application/x-sql', e: ['sql'] },
{ t: 'application/x-stuffit', e: ['sit'] },
{ t: 'application/x-stuffitx', e: ['sitx'] },
{ t: 'application/x-subrip', e: ['srt'] },
{ t: 'application/x-sv4cpio', e: ['sv4cpio'] },
{ t: 'application/x-sv4crc', e: ['sv4crc'] },
{ t: 'application/x-t3vm-image', e: ['t3'] },
{ t: 'application/x-tads', e: ['gam'] },
{ t: 'application/x-tar', e: ['tar'] },
{ t: 'application/x-tcl', e: ['tcl'] },
{ t: 'application/x-tex', e: ['tex'] },
{ t: 'application/x-tex-tfm', e: ['tfm'] },
{ t: 'application/x-texinfo', e: ['texinfo', 'texi'] },
{ t: 'application/x-tgif', e: ['obj'] },
{ t: 'application/x-ustar', e: ['ustar'] },
{ t: 'application/x-wais-source', e: ['src'] },
{ t: 'application/x-x509-ca-cert', e: ['der', 'crt'] },
{ t: 'application/x-xfig', e: ['fig'] },
{ t: 'application/x-xliff+xml', e: ['xlf'] },
{ t: 'application/x-xpinstall', e: ['xpi'] },
{ t: 'application/x-xz', e: ['xz'] },
{ t: 'application/x-zmachine', e: ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'] },
{ t: 'application/xaml+xml', e: ['xaml'] },
{ t: 'application/xcap-diff+xml', e: ['xdf'] },
{ t: 'application/xenc+xml', e: ['xenc'] },
{ t: 'application/xhtml+xml', e: ['xhtml', 'xht'] },
{ t: 'application/xml', e: ['xml', 'xsl'] },
{ t: 'application/xml-dtd', e: ['dtd'] },
{ t: 'application/xop+xml', e: ['xop'] },
{ t: 'application/xproc+xml', e: ['xpl'] },
{ t: 'application/xslt+xml', e: ['xslt'] },
{ t: 'application/xspf+xml', e: ['xspf'] },
{ t: 'application/xv+xml', e: ['mxml', 'xhvml', 'xvml', 'xvm'] },
{ t: 'application/yang', e: ['yang'] },
{ t: 'application/yin+xml', e: ['yin'] },
{ t: 'application/zip', e: ['zip'] },
{ t: 'audio/adpcm', e: ['adp'] },
{ t: 'audio/basic', e: ['au', 'snd'] },
{ t: 'audio/midi', e: ['mid', 'midi', 'kar', 'rmi'] },
{ t: 'audio/mp4', e: ['m4a', 'mp4a'] },
{ t: 'audio/mpeg', e: ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'] },
{ t: 'audio/ogg', e: ['oga', 'ogg', 'spx'] },
{ t: 'audio/s3m', e: ['s3m'] },
{ t: 'audio/silk', e: ['sil'] },
{ t: 'audio/vnd.dece.audio', e: ['uva', 'uvva'] },
{ t: 'audio/vnd.digital-winds', e: ['eol'] },
{ t: 'audio/vnd.dra', e: ['dra'] },
{ t: 'audio/vnd.dts', e: ['dts'] },
{ t: 'audio/vnd.dts.hd', e: ['dtshd'] },
{ t: 'audio/vnd.lucent.voice', e: ['lvp'] },
{ t: 'audio/vnd.ms-playready.media.pya', e: ['pya'] },
{ t: 'audio/vnd.nuera.ecelp4800', e: ['ecelp4800'] },
{ t: 'audio/vnd.nuera.ecelp7470', e: ['ecelp7470'] },
{ t: 'audio/vnd.nuera.ecelp9600', e: ['ecelp9600'] },
{ t: 'audio/vnd.rip', e: ['rip'] },
{ t: 'audio/webm', e: ['weba'] },
{ t: 'audio/x-aac', e: ['aac'] },
{ t: 'audio/x-aiff', e: ['aif', 'aiff', 'aifc'] },
{ t: 'audio/x-caf', e: ['caf'] },
{ t: 'audio/x-flac', e: ['flac'] },
{ t: 'audio/x-matroska', e: ['mka'] },
{ t: 'audio/x-mpegurl', e: ['m3u'] },
{ t: 'audio/x-ms-wax', e: ['wax'] },
{ t: 'audio/x-ms-wma', e: ['wma'] },
{ t: 'audio/x-pn-realaudio', e: ['ram', 'ra'] },
{ t: 'audio/x-pn-realaudio-plugin', e: ['rmp'] },
{ t: 'audio/x-wav', e: ['wav'] },
{ t: 'audio/wav', e: ['wav'] },
{ t: 'audio/wave', e: ['wav'] },
{ t: 'audio/xm', e: ['xm'] },
{ t: 'chemical/x-cdx', e: ['cdx'] },
{ t: 'chemical/x-cif', e: ['cif'] },
{ t: 'chemical/x-cmdf', e: ['cmdf'] },
{ t: 'chemical/x-cml', e: ['cml'] },
{ t: 'chemical/x-csml', e: ['csml'] },
{ t: 'chemical/x-xyz', e: ['xyz'] },
{ t: 'image/bmp', e: ['bmp'] },
{ t: 'image/cgm', e: ['cgm'] },
{ t: 'image/g3fax', e: ['g3'] },
{ t: 'image/gif', e: ['gif'] },
{ t: 'image/ief', e: ['ief'] },
{ t: 'image/jpeg', e: ['jpeg', 'jpg', 'jpe'] },
{ t: 'image/ktx', e: ['ktx'] },
{ t: 'image/png', e: ['png'] },
{ t: 'image/prs.btif', e: ['btif'] },
{ t: 'image/sgi', e: ['sgi'] },
{ t: 'image/svg+xml', e: ['svg', 'svgz'] },
{ t: 'image/tiff', e: ['tiff', 'tif'] },
{ t: 'image/vnd.adobe.photoshop', e: ['psd'] },
{ t: 'image/vnd.dece.graphic', e: ['uvi', 'uvvi', 'uvg', 'uvvg'] },
{ t: 'image/vnd.djvu', e: ['djvu', 'djv'] },
{ t: 'image/vnd.dvb.subtitle', e: ['sub'] },
{ t: 'image/vnd.dwg', e: ['dwg'] },
{ t: 'image/vnd.dxf', e: ['dxf'] },
{ t: 'image/vnd.fastbidsheet', e: ['fbs'] },
{ t: 'image/vnd.fpx', e: ['fpx'] },
{ t: 'image/vnd.fst', e: ['fst'] },
{ t: 'image/vnd.fujixerox.edmics-mmr', e: ['mmr'] },
{ t: 'image/vnd.fujixerox.edmics-rlc', e: ['rlc'] },
{ t: 'image/vnd.ms-modi', e: ['mdi'] },
{ t: 'image/vnd.ms-photo', e: ['wdp'] },
{ t: 'image/vnd.net-fpx', e: ['npx'] },
{ t: 'image/vnd.wap.wbmp', e: ['wbmp'] },
{ t: 'image/vnd.xiff', e: ['xif'] },
{ t: 'image/webp', e: ['webp'] },
{ t: 'image/x-3ds', e: ['3ds'] },
{ t: 'image/x-cmu-raster', e: ['ras'] },
{ t: 'image/x-cmx', e: ['cmx'] },
{ t: 'image/x-freehand', e: ['fh', 'fhc', 'fh4', 'fh5', 'fh7'] },
{ t: 'image/x-icon', e: ['ico'] },
{ t: 'image/x-mrsid-image', e: ['sid'] },
{ t: 'image/x-pcx', e: ['pcx'] },
{ t: 'image/x-pict', e: ['pic', 'pct'] },
{ t: 'image/x-portable-anymap', e: ['pnm'] },
{ t: 'image/x-portable-bitmap', e: ['pbm'] },
{ t: 'image/x-portable-graymap', e: ['pgm'] },
{ t: 'image/x-portable-pixmap', e: ['ppm'] },
{ t: 'image/x-rgb', e: ['rgb'] },
{ t: 'image/x-tga', e: ['tga'] },
{ t: 'image/x-xbitmap', e: ['xbm'] },
{ t: 'image/x-xpixmap', e: ['xpm'] },
{ t: 'image/x-xwindowdump', e: ['xwd'] },
{ t: 'message/rfc822', e: ['eml', 'mime'] },
{ t: 'model/iges', e: ['igs', 'iges'] },
{ t: 'model/mesh', e: ['msh', 'mesh', 'silo'] },
{ t: 'model/vnd.collada+xml', e: ['dae'] },
{ t: 'model/vnd.dwf', e: ['dwf'] },
{ t: 'model/vnd.gdl', e: ['gdl'] },
{ t: 'model/vnd.gtw', e: ['gtw'] },
{ t: 'model/vnd.mts', e: ['mts'] },
{ t: 'model/vnd.vtu', e: ['vtu'] },
{ t: 'model/vrml', e: ['wrl', 'vrml'] },
{ t: 'model/x3d+binary', e: ['x3db', 'x3dbz'] },
{ t: 'model/x3d+vrml', e: ['x3dv', 'x3dvz'] },
{ t: 'model/x3d+xml', e: ['x3d', 'x3dz'] },
{ t: 'text/cache-manifest', e: ['appcache'] },
{ t: 'text/calendar', e: ['ics', 'ifb'] },
{ t: 'text/css', e: ['css'] },
{ t: 'text/csv', e: ['csv'] },
{ t: 'text/html', e: ['html', 'htm'] },
{ t: 'text/n3', e: ['n3'] },
{ t: 'text/plain', e: ['txt', 'text', 'conf', 'def', 'list', 'log', 'in'] },
{ t: 'text/prs.lines.tag', e: ['dsc'] },
{ t: 'text/richtext', e: ['rtx'] },
{ t: 'text/sgml', e: ['sgml', 'sgm'] },
{ t: 'text/tab-separated-values', e: ['tsv'] },
{ t: 'text/troff', e: ['t', 'tr', 'roff', 'man', 'me', 'ms'] },
{ t: 'text/turtle', e: ['ttl'] },
{ t: 'text/uri-list', e: ['uri', 'uris', 'urls'] },
{ t: 'text/vcard', e: ['vcard'] },
{ t: 'text/vnd.curl', e: ['curl'] },
{ t: 'text/vnd.curl.dcurl', e: ['dcurl'] },
{ t: 'text/vnd.curl.mcurl', e: ['mcurl'] },
{ t: 'text/vnd.curl.scurl', e: ['scurl'] },
{ t: 'text/vnd.dvb.subtitle', e: ['sub'] },
{ t: 'text/vnd.fly', e: ['fly'] },
{ t: 'text/vnd.fmi.flexstor', e: ['flx'] },
{ t: 'text/vnd.graphviz', e: ['gv'] },
{ t: 'text/vnd.in3d.3dml', e: ['3dml'] },
{ t: 'text/vnd.in3d.spot', e: ['spot'] },
{ t: 'text/vnd.sun.j2me.app-descriptor', e: ['jad'] },
{ t: 'text/vnd.wap.wml', e: ['wml'] },
{ t: 'text/vnd.wap.wmlscript', e: ['wmls'] },
{ t: 'text/x-asm', e: ['s', 'asm'] },
{ t: 'text/x-c', e: ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'] },
{ t: 'text/x-fortran', e: ['f', 'for', 'f77', 'f90'] },
{ t: 'text/x-java-source', e: ['java'] },
{ t: 'text/x-nfo', e: ['nfo'] },
{ t: 'text/x-opml', e: ['opml'] },
{ t: 'text/x-pascal', e: ['p', 'pas'] },
{ t: 'text/x-setext', e: ['etx'] },
{ t: 'text/x-sfv', e: ['sfv'] },
{ t: 'text/x-uuencode', e: ['uu'] },
{ t: 'text/x-vcalendar', e: ['vcs'] },
{ t: 'text/x-vcard', e: ['vcf'] },
{ t: 'video/3gpp', e: ['3gp'] },
{ t: 'video/3gpp2', e: ['3g2'] },
{ t: 'video/h261', e: ['h261'] },
{ t: 'video/h263', e: ['h263'] },
{ t: 'video/h264', e: ['h264'] },
{ t: 'video/jpeg', e: ['jpgv'] },
{ t: 'video/jpm', e: ['jpm', 'jpgm'] },
{ t: 'video/mj2', e: ['mj2', 'mjp2'] },
{ t: 'video/mp4', e: ['mp4', 'mp4v', 'mpg4'] },
{ t: 'video/mpeg', e: ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'] },
{ t: 'video/ogg', e: ['ogv'] },
{ t: 'video/quicktime', e: ['qt', 'mov'] },
{ t: 'video/vnd.dece.hd', e: ['uvh', 'uvvh'] },
{ t: 'video/vnd.dece.mobile', e: ['uvm', 'uvvm'] },
{ t: 'video/vnd.dece.pd', e: ['uvp', 'uvvp'] },
{ t: 'video/vnd.dece.sd', e: ['uvs', 'uvvs'] },
{ t: 'video/vnd.dece.video', e: ['uvv', 'uvvv'] },
{ t: 'video/vnd.dvb.file', e: ['dvb'] },
{ t: 'video/vnd.fvt', e: ['fvt'] },
{ t: 'video/vnd.mpegurl', e: ['mxu', 'm4u'] },
{ t: 'video/vnd.ms-playready.media.pyv', e: ['pyv'] },
{ t: 'video/vnd.uvvu.mp4', e: ['uvu', 'uvvu'] },
{ t: 'video/vnd.vivo', e: ['viv'] },
{ t: 'video/webm', e: ['webm'] },
{ t: 'video/x-f4v', e: ['f4v'] },
{ t: 'video/x-fli', e: ['fli'] },
{ t: 'video/x-flv', e: ['flv'] },
{ t: 'video/x-m4v', e: ['m4v'] },
{ t: 'video/x-matroska', e: ['mkv', 'mk3d', 'mks'] },
{ t: 'video/x-mng', e: ['mng'] },
{ t: 'video/x-ms-asf', e: ['asf', 'asx'] },
{ t: 'video/x-ms-vob', e: ['vob'] },
{ t: 'video/x-ms-wm', e: ['wm'] },
{ t: 'video/x-ms-wmv', e: ['wmv'] },
{ t: 'video/x-ms-wmx', e: ['wmx'] },
{ t: 'video/x-ms-wvx', e: ['wvx'] },
{ t: 'video/x-msvideo', e: ['avi'] },
{ t: 'video/x-sgi-movie', e: ['movie'] },
{ t: 'video/x-smv', e: ['smv'] },
{ t: 'x-conference/x-cooltalk', e: ['ice'] },
];
// Note: if the list above is ever updated, make sure Markdown doesn't appear twice
mimeTypes.push({ t: 'text/markdown', e: ['md', 'markdown'] });
const mime = {
fromFileExtension(ext) {
ext = ext.toLowerCase();
for (let i = 0; i < mimeTypes.length; i++) {
const t = mimeTypes[i];
if (t.e.indexOf(ext) >= 0) {
return t.t;
}
}
return null;
},
fromFilename(name) {
if (!name) return null;
const splitted = name.trim().split('.');
if (splitted.length <= 1) return null;
return mime.fromFileExtension(splitted[splitted.length - 1]);
},
toFileExtension(mimeType) {
mimeType = mimeType.toLowerCase();
for (let i = 0; i < mimeTypes.length; i++) {
const t = mimeTypes[i];
if (mimeType == t.t) {
// Return the first file extension that is 3 characters long
// If none exist return the first one in the list.
for (let j = 0; j < t.e.length; j++) {
if (t.e[j].length == 3) return t.e[j];
}
return t.e[0];
}
}
return null;
},
fromDataUrl(dataUrl) {
// Example: data:image/jpeg;base64,/9j/4AAQSkZJR.....
const defaultMime = 'text/plain';
const p = dataUrl.substr(0, dataUrl.indexOf(',')).split(';');
let s = p[0];
s = s.split(':');
if (s.length <= 1) return defaultMime;
s = s[1];
return s.indexOf('/') >= 0 ? s : defaultMime; // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
},
};
module.exports = { mime };