module Nyara
  # @private
  MIME_TYPES = Hash.[] %w|
    123       application/vnd.lotus-1-2-3
    3dml      text/vnd.in3d.3dml
    3g2       video/3gpp2
    3gp       video/3gpp
    a         application/octet-stream
    acc       application/vnd.americandynamics.acc
    ace       application/x-ace-compressed
    acu       application/vnd.acucobol
    aep       application/vnd.audiograph
    afp       application/vnd.ibm.modcap
    ai        application/postscript
    aif       audio/x-aiff
    aiff      audio/x-aiff
    ami       application/vnd.amiga.ami
    appcache  text/cache-manifest
    apr       application/vnd.lotus-approach
    asc       application/pgp-signature
    asf       video/x-ms-asf
    asm       text/x-asm
    aso       application/vnd.accpac.simply.aso
    asx       video/x-ms-asf
    atc       application/vnd.acucorp
    atom      application/atom+xml
    atomcat   application/atomcat+xml
    atomsvc   application/atomsvc+xml
    atx       application/vnd.antix.game-component
    au        audio/basic
    avi       video/x-msvideo
    bat       application/x-msdownload
    bcpio     application/x-bcpio
    bdm       application/vnd.syncml.dm+wbxml
    bh2       application/vnd.fujitsu.oasysprs
    bin       application/octet-stream
    bmi       application/vnd.bmi
    bmp       image/bmp
    box       application/vnd.previewsystems.box
    btif      image/prs.btif
    bz        application/x-bzip
    bz2       application/x-bzip2
    c         text/x-c
    c4g       application/vnd.clonk.c4group
    cab       application/vnd.ms-cab-compressed
    cc        text/x-c
    ccxml     application/ccxml+xml
    cdbcmsg   application/vnd.contact.cmsg
    cdkey     application/vnd.mediastation.cdkey
    cdx       chemical/x-cdx
    cdxml     application/vnd.chemdraw+xml
    cdy       application/vnd.cinderella
    cer       application/pkix-cert
    cgm       image/cgm
    chat      application/x-chat
    chm       application/vnd.ms-htmlhelp
    chrt      application/vnd.kde.kchart
    cif       chemical/x-cif
    cii       application/vnd.anser-web-certificate-issue-initiation
    cil       application/vnd.ms-artgalry
    cla       application/vnd.claymore
    class     application/octet-stream
    clkk      application/vnd.crick.clicker.keyboard
    clkp      application/vnd.crick.clicker.palette
    clkt      application/vnd.crick.clicker.template
    clkw      application/vnd.crick.clicker.wordbank
    clkx      application/vnd.crick.clicker
    clp       application/x-msclip
    cmc       application/vnd.cosmocaller
    cmdf      chemical/x-cmdf
    cml       chemical/x-cml
    cmp       application/vnd.yellowriver-custom-menu
    cmx       image/x-cmx
    com       application/x-msdownload
    conf      text/plain
    cpio      application/x-cpio
    cpp       text/x-c
    cpt       application/mac-compactpro
    crd       application/x-mscardfile
    crl       application/pkix-crl
    crt       application/x-x509-ca-cert
    csh       application/x-csh
    csml      chemical/x-csml
    csp       application/vnd.commonspace
    css       text/css
    csv       text/csv
    curl      application/vnd.curl
    cww       application/prs.cww
    cxx       text/x-c
    daf       application/vnd.mobius.daf
    davmount  application/davmount+xml
    dcr       application/x-director
    dd2       application/vnd.oma.dd2+xml
    ddd       application/vnd.fujixerox.ddd
    deb       application/x-debian-package
    der       application/x-x509-ca-cert
    dfac      application/vnd.dreamfactory
    diff      text/x-diff
    dis       application/vnd.mobius.dis
    djv       image/vnd.djvu
    djvu      image/vnd.djvu
    dll       application/x-msdownload
    dmg       application/octet-stream
    dna       application/vnd.dna
    doc       application/msword
    docx      application/vnd.openxmlformats-officedocument.wordprocessingml.document
    dot       application/msword
    dp        application/vnd.osgi.dp
    dpg       application/vnd.dpgraph
    dsc       text/prs.lines.tag
    dtd       application/xml-dtd
    dts       audio/vnd.dts
    dtshd     audio/vnd.dts.hd
    dv        video/x-dv
    dvi       application/x-dvi
    dwf       model/vnd.dwf
    dwg       image/vnd.dwg
    dxf       image/vnd.dxf
    dxp       application/vnd.spotfire.dxp
    ear       application/java-archive
    ecelp4800 =>dio/vnd.nuera.ecelp4800
    ecelp7470 =>dio/vnd.nuera.ecelp7470
    ecelp9600 =>dio/vnd.nuera.ecelp9600
    ecma      application/ecmascript
    edm       application/vnd.novadigm.edm
    edx       application/vnd.novadigm.edx
    efif      application/vnd.picsel
    ei6       application/vnd.pg.osasli
    eml       message/rfc822
    eol       audio/vnd.digital-winds
    eot       application/vnd.ms-fontobject
    eps       application/postscript
    es3       application/vnd.eszigno3+xml
    esf       application/vnd.epson.esf
    etx       text/x-setext
    exe       application/x-msdownload
    ext       application/vnd.novadigm.ext
    ez        application/andrew-inset
    ez2       application/vnd.ezpix-album
    ez3       application/vnd.ezpix-package
    f         text/x-fortran
    f77       text/x-fortran
    f90       text/x-fortran
    fbs       image/vnd.fastbidsheet
    fdf       application/vnd.fdf
    fe_launch =>plication/vnd.denovo.fcselayout-link
    fg5       application/vnd.fujitsu.oasysgp
    fli       video/x-fli
    flo       application/vnd.micrografx.flo
    flv       video/x-flv
    flw       application/vnd.kde.kivio
    flx       text/vnd.fmi.flexstor
    fly       text/vnd.fly
    fm        application/vnd.framemaker
    fnc       application/vnd.frogans.fnc
    for       text/x-fortran
    fpx       image/vnd.fpx
    fsc       application/vnd.fsc.weblaunch
    fst       image/vnd.fst
    ftc       application/vnd.fluxtime.clip
    fti       application/vnd.anser-web-funds-transfer-initiation
    fvt       video/vnd.fvt
    fzs       application/vnd.fuzzysheet
    g3        image/g3fax
    gac       application/vnd.groove-account
    gdl       model/vnd.gdl
    gem       application/octet-stream
    gemspec   text/x-script.ruby
    ghf       application/vnd.groove-help
    gif       image/gif
    gim       application/vnd.groove-identity-message
    gmx       application/vnd.gmx
    gph       application/vnd.flographit
    gqf       application/vnd.grafeq
    gram      application/srgs
    grv       application/vnd.groove-injector
    grxml     application/srgs+xml
    gtar      application/x-gtar
    gtm       application/vnd.groove-tool-message
    gtw       model/vnd.gtw
    gv        text/vnd.graphviz
    gz        application/x-gzip
    h         text/x-c
    h261      video/h261
    h263      video/h263
    h264      video/h264
    hbci      application/vnd.hbci
    hdf       application/x-hdf
    hh        text/x-c
    hlp       application/winhlp
    hpgl      application/vnd.hp-hpgl
    hpid      application/vnd.hp-hpid
    hps       application/vnd.hp-hps
    hqx       application/mac-binhex40
    htc       text/x-component
    htke      application/vnd.kenameaapp
    htm       text/html
    html      text/html
    hvd       application/vnd.yamaha.hv-dic
    hvp       application/vnd.yamaha.hv-voice
    hvs       application/vnd.yamaha.hv-script
    icc       application/vnd.iccprofile
    ice       x-conference/x-cooltalk
    ico       image/vnd.microsoft.icon
    ics       text/calendar
    ief       image/ief
    ifb       text/calendar
    ifm       application/vnd.shana.informed.formdata
    igl       application/vnd.igloader
    igs       model/iges
    igx       application/vnd.micrografx.igx
    iif       application/vnd.shana.informed.interchange
    imp       application/vnd.accpac.simply.imp
    ims       application/vnd.ms-ims
    ipk       application/vnd.shana.informed.package
    irm       application/vnd.ibm.rights-management
    irp       application/vnd.irepository.package+xml
    iso       application/octet-stream
    itp       application/vnd.shana.informed.formtemplate
    ivp       application/vnd.immervision-ivp
    ivu       application/vnd.immervision-ivu
    jad       text/vnd.sun.j2me.app-descriptor
    jam       application/vnd.jam
    jar       application/java-archive
    java      text/x-java-source
    jisp      application/vnd.jisp
    jlt       application/vnd.hp-jlyt
    jnlp      application/x-java-jnlp-file
    joda      application/vnd.joost.joda-archive
    jp2       image/jp2
    jpeg      image/jpeg
    jpg       image/jpeg
    jpgv      video/jpeg
    jpm       video/jpm
    js        application/javascript
    json      application/json
    karbon    application/vnd.kde.karbon
    kfo       application/vnd.kde.kformula
    kia       application/vnd.kidspiration
    kml       application/vnd.google-earth.kml+xml
    kmz       application/vnd.google-earth.kmz
    kne       application/vnd.kinar
    kon       application/vnd.kde.kontour
    kpr       application/vnd.kde.kpresenter
    ksp       application/vnd.kde.kspread
    ktz       application/vnd.kahootz
    kwd       application/vnd.kde.kword
    latex     application/x-latex
    lbd       application/vnd.llamagraphics.life-balance.desktop
    lbe       application/vnd.llamagraphics.life-balance.exchange+xml
    les       application/vnd.hhe.lesson-player
    link66    application/vnd.route66.link66+xml
    log       text/plain
    lostxml   application/lost+xml
    lrm       application/vnd.ms-lrm
    ltf       application/vnd.frogans.ltf
    lvp       audio/vnd.lucent.voice
    lwp       application/vnd.lotus-wordpro
    m3u       audio/x-mpegurl
    m4a       audio/mp4a-latm
    m4v       video/mp4
    ma        application/mathematica
    mag       application/vnd.ecowin.chart
    man       text/troff
    manifest  text/cache-manifest
    mathml    application/mathml+xml
    mbk       application/vnd.mobius.mbk
    mbox      application/mbox
    mc1       application/vnd.medcalcdata
    mcd       application/vnd.mcd
    mdb       application/x-msaccess
    mdi       image/vnd.ms-modi
    mdoc      text/troff
    me        text/troff
    mfm       application/vnd.mfmp
    mgz       application/vnd.proteus.magazine
    mid       audio/midi
    midi      audio/midi
    mif       application/vnd.mif
    mime      message/rfc822
    mj2       video/mj2
    mlp       application/vnd.dolby.mlp
    mmd       application/vnd.chipnuts.karaoke-mmd
    mmf       application/vnd.smaf
    mml       application/mathml+xml
    mmr       image/vnd.fujixerox.edmics-mmr
    mng       video/x-mng
    mny       application/x-msmoney
    mov       video/quicktime
    movie     video/x-sgi-movie
    mp3       audio/mpeg
    mp4       video/mp4
    mp4a      audio/mp4
    mp4s      application/mp4
    mp4v      video/mp4
    mpc       application/vnd.mophun.certificate
    mpeg      video/mpeg
    mpg       video/mpeg
    mpga      audio/mpeg
    mpkg      application/vnd.apple.installer+xml
    mpm       application/vnd.blueice.multipass
    mpn       application/vnd.mophun.application
    mpp       application/vnd.ms-project
    mpy       application/vnd.ibm.minipay
    mqy       application/vnd.mobius.mqy
    mrc       application/marc
    ms        text/troff
    mscml     application/mediaservercontrol+xml
    mseq      application/vnd.mseq
    msf       application/vnd.epson.msf
    msh       model/mesh
    msi       application/x-msdownload
    msl       application/vnd.mobius.msl
    msty      application/vnd.muvee.style
    mts       model/vnd.mts
    mus       application/vnd.musician
    mvb       application/x-msmediaview
    mwf       application/vnd.mfer
    mxf       application/mxf
    mxl       application/vnd.recordare.musicxml
    mxml      application/xv+xml
    mxs       application/vnd.triscape.mxs
    mxu       video/vnd.mpegurl
    n         application/vnd.nokia.n-gage.symbian.install
    nc        application/x-netcdf
    ngdat     application/vnd.nokia.n-gage.data
    nlu       application/vnd.neurolanguage.nlu
    nml       application/vnd.enliven
    nnd       application/vnd.noblenet-directory
    nns       application/vnd.noblenet-sealer
    nnw       application/vnd.noblenet-web
    npx       image/vnd.net-fpx
    nsf       application/vnd.lotus-notes
    oa2       application/vnd.fujitsu.oasys2
    oa3       application/vnd.fujitsu.oasys3
    oas       application/vnd.fujitsu.oasys
    obd       application/x-msbinder
    oda       application/oda
    odc       application/vnd.oasis.opendocument.chart
    odf       application/vnd.oasis.opendocument.formula
    odg       application/vnd.oasis.opendocument.graphics
    odi       application/vnd.oasis.opendocument.image
    odp       application/vnd.oasis.opendocument.presentation
    ods       application/vnd.oasis.opendocument.spreadsheet
    odt       application/vnd.oasis.opendocument.text
    oga       audio/ogg
    ogg       application/ogg
    ogv       video/ogg
    ogx       application/ogg
    org       application/vnd.lotus-organizer
    otc       application/vnd.oasis.opendocument.chart-template
    otf       application/vnd.oasis.opendocument.formula-template
    otg       application/vnd.oasis.opendocument.graphics-template
    oth       application/vnd.oasis.opendocument.text-web
    oti       application/vnd.oasis.opendocument.image-template
    otm       application/vnd.oasis.opendocument.text-master
    ots       application/vnd.oasis.opendocument.spreadsheet-template
    ott       application/vnd.oasis.opendocument.text-template
    oxt       application/vnd.openofficeorg.extension
    p         text/x-pascal
    p10       application/pkcs10
    p12       application/x-pkcs12
    p7b       application/x-pkcs7-certificates
    p7m       application/pkcs7-mime
    p7r       application/x-pkcs7-certreqresp
    p7s       application/pkcs7-signature
    pas       text/x-pascal
    pbd       application/vnd.powerbuilder6
    pbm       image/x-portable-bitmap
    pcl       application/vnd.hp-pcl
    pclxl     application/vnd.hp-pclxl
    pcx       image/x-pcx
    pdb       chemical/x-pdb
    pdf       application/pdf
    pem       application/x-x509-ca-cert
    pfr       application/font-tdpfr
    pgm       image/x-portable-graymap
    pgn       application/x-chess-pgn
    pgp       application/pgp-encrypted
    pic       image/x-pict
    pict      image/pict
    pkg       application/octet-stream
    pki       application/pkixcmp
    pkipath   application/pkix-pkipath
    pl        text/x-script.perl
    plb       application/vnd.3gpp.pic-bw-large
    plc       application/vnd.mobius.plc
    plf       application/vnd.pocketlearn
    pls       application/pls+xml
    pm        text/x-script.perl-module
    pml       application/vnd.ctc-posml
    png       image/png
    pnm       image/x-portable-anymap
    pntg      image/x-macpaint
    portpkg   application/vnd.macports.portpkg
    ppd       application/vnd.cups-ppd
    ppm       image/x-portable-pixmap
    pps       application/vnd.ms-powerpoint
    ppt       application/vnd.ms-powerpoint
    prc       application/vnd.palm
    pre       application/vnd.lotus-freelance
    prf       application/pics-rules
    ps        application/postscript
    psb       application/vnd.3gpp.pic-bw-small
    psd       image/vnd.adobe.photoshop
    ptid      application/vnd.pvi.ptid1
    pub       application/x-mspublisher
    pvb       application/vnd.3gpp.pic-bw-var
    pwn       application/vnd.3m.post-it-notes
    py        text/x-script.python
    pya       audio/vnd.ms-playready.media.pya
    pyv       video/vnd.ms-playready.media.pyv
    qam       application/vnd.epson.quickanime
    qbo       application/vnd.intu.qbo
    qfx       application/vnd.intu.qfx
    qps       application/vnd.publishare-delta-tree
    qt        video/quicktime
    qtif      image/x-quicktime
    qxd       application/vnd.quark.quarkxpress
    ra        audio/x-pn-realaudio
    rake      text/x-script.ruby
    ram       audio/x-pn-realaudio
    rar       application/x-rar-compressed
    ras       image/x-cmu-raster
    rb        text/x-script.ruby
    rcprofile =>plication/vnd.ipunplugged.rcprofile
    rdf       application/rdf+xml
    rdz       application/vnd.data-vision.rdz
    rep       application/vnd.businessobjects
    rgb       image/x-rgb
    rif       application/reginfo+xml
    rl        application/resource-lists+xml
    rlc       image/vnd.fujixerox.edmics-rlc
    rld       application/resource-lists-diff+xml
    rm        application/vnd.rn-realmedia
    rmp       audio/x-pn-realaudio-plugin
    rms       application/vnd.jcp.javame.midlet-rms
    rnc       application/relax-ng-compact-syntax
    roff      text/troff
    rpm       application/x-redhat-package-manager
    rpss      application/vnd.nokia.radio-presets
    rpst      application/vnd.nokia.radio-preset
    rq        application/sparql-query
    rs        application/rls-services+xml
    rsd       application/rsd+xml
    rss       application/rss+xml
    rtf       application/rtf
    rtx       text/richtext
    ru        text/x-script.ruby
    s         text/x-asm
    saf       application/vnd.yamaha.smaf-audio
    sbml      application/sbml+xml
    sc        application/vnd.ibm.secure-container
    scd       application/x-msschedule
    scm       application/vnd.lotus-screencam
    scq       application/scvp-cv-request
    scs       application/scvp-cv-response
    sdkm      application/vnd.solent.sdkm+xml
    sdp       application/sdp
    see       application/vnd.seemail
    sema      application/vnd.sema
    semd      application/vnd.semd
    semf      application/vnd.semf
    setpay    application/set-payment-initiation
    setreg    application/set-registration-initiation
    sfd       application/vnd.hydrostatix.sof-data
    sfs       application/vnd.spotfire.sfs
    sgm       text/sgml
    sgml      text/sgml
    sh        application/x-sh
    shar      application/x-shar
    shf       application/shf+xml
    sig       application/pgp-signature
    sit       application/x-stuffit
    sitx      application/x-stuffitx
    skp       application/vnd.koan
    slt       application/vnd.epson.salt
    smi       application/smil+xml
    snd       audio/basic
    so        application/octet-stream
    spf       application/vnd.yamaha.smaf-phrase
    spl       application/x-futuresplash
    spot      text/vnd.in3d.spot
    spp       application/scvp-vp-response
    spq       application/scvp-vp-request
    src       application/x-wais-source
    srx       application/sparql-results+xml
    sse       application/vnd.kodak-descriptor
    ssf       application/vnd.epson.ssf
    ssml      application/ssml+xml
    stf       application/vnd.wt.stf
    stk       application/hyperstudio
    str       application/vnd.pg.format
    sus       application/vnd.sus-calendar
    sv4cpio   application/x-sv4cpio
    sv4crc    application/x-sv4crc
    svd       application/vnd.svd
    svg       image/svg+xml
    svgz      image/svg+xml
    swf       application/x-shockwave-flash
    swi       application/vnd.arastra.swi
    t         text/troff
    tao       application/vnd.tao.intent-module-archive
    tar       application/x-tar
    tbz       application/x-bzip-compressed-tar
    tcap      application/vnd.3gpp2.tcap
    tcl       application/x-tcl
    tex       application/x-tex
    texi      application/x-texinfo
    texinfo   application/x-texinfo
    text      text/plain
    tif       image/tiff
    tiff      image/tiff
    tmo       application/vnd.tmobile-livetv
    torrent   application/x-bittorrent
    tpl       application/vnd.groove-tool-template
    tpt       application/vnd.trid.tpt
    tr        text/troff
    tra       application/vnd.trueapp
    trm       application/x-msterminal
    tsv       text/tab-separated-values
    ttf       application/octet-stream
    twd       application/vnd.simtech-mindmapper
    txd       application/vnd.genomatix.tuxedo
    txf       application/vnd.mobius.txf
    txt       text/plain
    ufd       application/vnd.ufdl
    umj       application/vnd.umajin
    unityweb  application/vnd.unity
    uoml      application/vnd.uoml+xml
    uri       text/uri-list
    ustar     application/x-ustar
    utz       application/vnd.uiq.theme
    uu        text/x-uuencode
    vcd       application/x-cdlink
    vcf       text/x-vcard
    vcg       application/vnd.groove-vcard
    vcs       text/x-vcalendar
    vcx       application/vnd.vcx
    vis       application/vnd.visionary
    viv       video/vnd.vivo
    vrml      model/vrml
    vsd       application/vnd.visio
    vsf       application/vnd.vsf
    vtu       model/vnd.vtu
    vxml      application/voicexml+xml
    war       application/java-archive
    wav       audio/x-wav
    wax       audio/x-ms-wax
    wbmp      image/vnd.wap.wbmp
    wbs       application/vnd.criticaltools.wbs+xml
    wbxml     application/vnd.wap.wbxml
    webm      video/webm
    wm        video/x-ms-wm
    wma       audio/x-ms-wma
    wmd       application/x-ms-wmd
    wmf       application/x-msmetafile
    wml       text/vnd.wap.wml
    wmlc      application/vnd.wap.wmlc
    wmls      text/vnd.wap.wmlscript
    wmlsc     application/vnd.wap.wmlscriptc
    wmv       video/x-ms-wmv
    wmx       video/x-ms-wmx
    wmz       application/x-ms-wmz
    woff      application/font-woff
    wpd       application/vnd.wordperfect
    wpl       application/vnd.ms-wpl
    wps       application/vnd.ms-works
    wqd       application/vnd.wqd
    wri       application/x-mswrite
    wrl       model/vrml
    wsdl      application/wsdl+xml
    wspolicy  application/wspolicy+xml
    wtb       application/vnd.webturbo
    wvx       video/x-ms-wvx
    x3d       application/vnd.hzn-3d-crossword
    xar       application/vnd.xara
    xbd       application/vnd.fujixerox.docuworks.binder
    xbm       image/x-xbitmap
    xdm       application/vnd.syncml.dm+xml
    xdp       application/vnd.adobe.xdp+xml
    xdw       application/vnd.fujixerox.docuworks
    xenc      application/xenc+xml
    xer       application/patch-ops-error+xml
    xfdf      application/vnd.adobe.xfdf
    xfdl      application/vnd.xfdl
    xhtml     application/xhtml+xml
    xif       image/vnd.xiff
    xls       application/vnd.ms-excel
    xlsx      application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    xml       application/xml
    xo        application/vnd.olpc-sugar
    xop       application/xop+xml
    xpm       image/x-xpixmap
    xpr       application/vnd.is-xpr
    xps       application/vnd.ms-xpsdocument
    xpw       application/vnd.intercon.formnet
    xsl       application/xml
    xslt      application/xslt+xml
    xsm       application/vnd.syncml+xml
    xspf      application/xspf+xml
    xul       application/vnd.mozilla.xul+xml
    xwd       image/x-xwindowdump
    xyz       chemical/x-xyz
    yaml      text/yaml
    yml       text/yaml
    zaz       application/vnd.zzazz.deck+xml
    zip       application/zip
    zmm       application/vnd.handheld-entertainment+xml
  |.map(&:freeze).each_slice(2).to_a

  # MIME_TYPES is not frozen, so you can add your own
end
