[Pkg-javascript-commits] [node-mime-types] 06/19: bunbld mime-db as patch

Leo Iannacone l3on-guest at moszumanska.debian.org
Fri Oct 10 10:12:35 UTC 2014


This is an automated email from the git hooks/post-receive script.

l3on-guest pushed a commit to branch master
in repository node-mime-types.

commit 861b92e5861e2f9e9da70e2533d02370426612e8
Author: Leo Iannacone <l3on at ubuntu.com>
Date:   Tue Oct 7 11:37:47 2014 +0200

    bunbld mime-db as patch
---
 debian/patches/0000-bundle_mime-db.patch | 7361 ++++++++++++++++++++++++++++++
 1 file changed, 7361 insertions(+)

diff --git a/debian/patches/0000-bundle_mime-db.patch b/debian/patches/0000-bundle_mime-db.patch
new file mode 100644
index 0000000..0c010d7
--- /dev/null
+++ b/debian/patches/0000-bundle_mime-db.patch
@@ -0,0 +1,7361 @@
+Description: Import mime-db as patch.
+Author: Leo Iannacone <l3on at ubuntu.com>
+Forwarded: not-needed
+Last-Update: 2014-10-07
+
+---
+ node_modules/mime-db/LICENSE                 |   22 
+ node_modules/mime-db/README.md               |   72 
+ node_modules/mime-db/db.json                 | 6327 +++++++++++++++++++++++++++
+ node_modules/mime-db/index.js                |   11 
+ node_modules/mime-db/lib/charsets.json       |    5 
+ node_modules/mime-db/lib/compressible.json   |  500 ++
+ node_modules/mime-db/lib/extensions.json     |   30 
+ node_modules/mime-db/package.json            |   46 
+ node_modules/mime-db/scripts/build.js        |   87 
+ node_modules/mime-db/scripts/extensions.js   |   53 
+ node_modules/mime-db/scripts/lib/write-db.js |   43 
+ node_modules/mime-db/scripts/types.js        |   42 
+ node_modules/mime-db/src/iana.json           |    1 
+ node_modules/mime-db/src/mime.json           |    1 
+ node_modules/mime-db/src/node.json           |    1 
+ node_modules/mime-db/test/index.js           |   45 
+ 16 files changed, 7286 insertions(+)
+
+--- /dev/null
++++ b/node_modules/mime-db/LICENSE
+@@ -0,0 +1,22 @@
++
++The MIT License (MIT)
++
++Copyright (c) 2014 Jonathan Ong me at jongleberry.com
++
++Permission is hereby granted, free of charge, to any person obtaining a copy
++of this software and associated documentation files (the "Software"), to deal
++in the Software without restriction, including without limitation the rights
++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in
++all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++THE SOFTWARE.
+--- /dev/null
++++ b/node_modules/mime-db/README.md
+@@ -0,0 +1,72 @@
++# mime-db
++
++[![NPM Version][npm-version-image]][npm-url]
++[![NPM Downloads][npm-downloads-image]][npm-url]
++[![Node.js Version][node-image]][node-url]
++[![Build Status][travis-image]][travis-url]
++[![Coverage Status][coveralls-image]][coveralls-url]
++
++This is a database of all mime types.
++It consistents of a single, public JSON file and does not include any logic,
++allowing it to remain as unopinionated as possible with an API.
++It aggregates data from the following sources:
++
++- http://www.iana.org/assignments/media-types/media-types.xhtml
++- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
++
++## Usage
++
++```bash
++npm i mime-db
++```
++
++```js
++var db = require('mime-db');
++
++// grab data on .js files
++var data = db['application/javascript'];
++```
++
++If you're crazy enough to use this in the browser,
++you can just grab the JSON file:
++
++```
++https://cdn.rawgit.com/jshttp/mime-db/master/db.json
++```
++
++## Data Structure
++
++The JSON file is a map lookup for lowercased mime types.
++Each mime type has the following properties:
++
++- `.source` - where the mime type is defined.
++    If not set, it's probably a custom media type.
++    - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)
++    - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)
++- `.extensions[]` - known extensions associated with this mime type.
++- `.compressible` - whether a file of this type is can be gzipped.
++- `.charset` - the default charset associated with this type, if any.
++
++If unknown, every property could be `undefined`.
++
++## Repository Structure
++
++- `scripts` - these are scripts to run to build the database
++- `src/` - this is a folder of files created from remote sources like Apache and IANA
++- `lib/` - this is a folder of our own custom sources and db, which will be merged into `db.json`
++- `db.json` - the final built JSON file for end-user usage
++
++## Contributing
++
++To edit the database, only make PRs against files in the `lib/` folder.
++To update the build, run `npm run update`.
++
++[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg?style=flat
++[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg?style=flat
++[npm-url]: https://npmjs.org/package/mime-db
++[travis-image]: https://img.shields.io/travis/jshttp/mime-db.svg?style=flat
++[travis-url]: https://travis-ci.org/jshttp/mime-db
++[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db.svg?style=flat
++[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master
++[node-image]: https://img.shields.io/node/v/mime-db.svg?style=flat
++[node-url]: http://nodejs.org/download/
+--- /dev/null
++++ b/node_modules/mime-db/db.json
+@@ -0,0 +1,6327 @@
++{
++  "application/1d-interleaved-parityfec": {
++    "source": "iana"
++  },
++  "application/3gpdash-qoe-report+xml": {
++    "source": "iana"
++  },
++  "application/3gpp-ims+xml": {
++    "source": "iana"
++  },
++  "application/activemessage": {
++    "source": "iana"
++  },
++  "application/alto-costmap+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-costmapfilter+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-directory+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-endpointcost+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-endpointcostparams+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-endpointprop+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-endpointpropparams+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-error+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-networkmap+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/alto-networkmapfilter+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/andrew-inset": {
++    "source": "iana",
++    "extensions": ["ez"]
++  },
++  "application/applefile": {
++    "source": "iana"
++  },
++  "application/applixware": {
++    "source": "apache",
++    "extensions": ["aw"]
++  },
++  "application/atf": {
++    "source": "iana"
++  },
++  "application/atom+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["atom"]
++  },
++  "application/atomcat+xml": {
++    "source": "iana",
++    "extensions": ["atomcat"]
++  },
++  "application/atomdeleted+xml": {
++    "source": "iana"
++  },
++  "application/atomicmail": {
++    "source": "iana"
++  },
++  "application/atomsvc+xml": {
++    "source": "iana",
++    "extensions": ["atomsvc"]
++  },
++  "application/auth-policy+xml": {
++    "source": "iana"
++  },
++  "application/bacnet-xdd+zip": {
++    "source": "iana"
++  },
++  "application/batch-smtp": {
++    "source": "iana"
++  },
++  "application/beep+xml": {
++    "source": "iana"
++  },
++  "application/calendar+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/calendar+xml": {
++    "source": "iana"
++  },
++  "application/call-completion": {
++    "source": "iana"
++  },
++  "application/cals-1840": {
++    "source": "iana"
++  },
++  "application/cbor": {
++    "source": "iana"
++  },
++  "application/ccmp+xml": {
++    "source": "iana"
++  },
++  "application/ccxml+xml": {
++    "source": "iana",
++    "extensions": ["ccxml"]
++  },
++  "application/cdmi-capability": {
++    "source": "iana",
++    "extensions": ["cdmia"]
++  },
++  "application/cdmi-container": {
++    "source": "iana",
++    "extensions": ["cdmic"]
++  },
++  "application/cdmi-domain": {
++    "source": "iana",
++    "extensions": ["cdmid"]
++  },
++  "application/cdmi-object": {
++    "source": "iana",
++    "extensions": ["cdmio"]
++  },
++  "application/cdmi-queue": {
++    "source": "iana",
++    "extensions": ["cdmiq"]
++  },
++  "application/cea-2018+xml": {
++    "source": "iana"
++  },
++  "application/cellml+xml": {
++    "source": "iana"
++  },
++  "application/cfw": {
++    "source": "iana"
++  },
++  "application/cms": {
++    "source": "iana"
++  },
++  "application/cnrp+xml": {
++    "source": "iana"
++  },
++  "application/coap-group+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/commonground": {
++    "source": "iana"
++  },
++  "application/conference-info+xml": {
++    "source": "iana"
++  },
++  "application/cpl+xml": {
++    "source": "iana"
++  },
++  "application/csrattrs": {
++    "source": "iana"
++  },
++  "application/csta+xml": {
++    "source": "iana"
++  },
++  "application/cstadata+xml": {
++    "source": "iana"
++  },
++  "application/cu-seeme": {
++    "source": "apache",
++    "extensions": ["cu"]
++  },
++  "application/cybercash": {
++    "source": "iana"
++  },
++  "application/dart": {
++    "compressible": true
++  },
++  "application/dash+xml": {
++    "source": "iana",
++    "extensions": ["mdp"]
++  },
++  "application/dashdelta": {
++    "source": "iana"
++  },
++  "application/davmount+xml": {
++    "source": "iana",
++    "extensions": ["davmount"]
++  },
++  "application/dca-rft": {
++    "source": "iana"
++  },
++  "application/dcd": {
++    "source": "iana"
++  },
++  "application/dec-dx": {
++    "source": "iana"
++  },
++  "application/dialog-info+xml": {
++    "source": "iana"
++  },
++  "application/dicom": {
++    "source": "iana"
++  },
++  "application/dns": {
++    "source": "iana"
++  },
++  "application/docbook+xml": {
++    "source": "apache",
++    "extensions": ["dbk"]
++  },
++  "application/dskpp+xml": {
++    "source": "iana"
++  },
++  "application/dssc+der": {
++    "source": "iana",
++    "extensions": ["dssc"]
++  },
++  "application/dssc+xml": {
++    "source": "iana",
++    "extensions": ["xdssc"]
++  },
++  "application/dvcs": {
++    "source": "iana"
++  },
++  "application/ecmascript": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["ecma"]
++  },
++  "application/edi-consent": {
++    "source": "iana"
++  },
++  "application/edi-x12": {
++    "source": "iana",
++    "compressible": false
++  },
++  "application/edifact": {
++    "source": "iana",
++    "compressible": false
++  },
++  "application/emma+xml": {
++    "source": "iana",
++    "extensions": ["emma"]
++  },
++  "application/emotionml+xml": {
++    "source": "iana"
++  },
++  "application/encaprtp": {
++    "source": "iana"
++  },
++  "application/epp+xml": {
++    "source": "iana"
++  },
++  "application/epub+zip": {
++    "source": "apache",
++    "extensions": ["epub"]
++  },
++  "application/eshop": {
++    "source": "iana"
++  },
++  "application/example": {
++    "source": "iana"
++  },
++  "application/exi": {
++    "source": "iana",
++    "extensions": ["exi"]
++  },
++  "application/fastinfoset": {
++    "source": "iana"
++  },
++  "application/fastsoap": {
++    "source": "iana"
++  },
++  "application/fdt+xml": {
++    "source": "iana"
++  },
++  "application/fits": {
++    "source": "iana"
++  },
++  "application/font-sfnt": {
++    "source": "iana"
++  },
++  "application/font-tdpfr": {
++    "source": "iana",
++    "extensions": ["pfr"]
++  },
++  "application/font-woff": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["woff"]
++  },
++  "application/font-woff2": {
++    "compressible": false,
++    "extensions": ["woff2"]
++  },
++  "application/framework-attributes+xml": {
++    "source": "iana"
++  },
++  "application/gml+xml": {
++    "source": "apache",
++    "extensions": ["gml"]
++  },
++  "application/gpx+xml": {
++    "source": "apache",
++    "extensions": ["gpx"]
++  },
++  "application/gxf": {
++    "source": "apache",
++    "extensions": ["gxf"]
++  },
++  "application/gzip": {
++    "source": "iana",
++    "compressible": false
++  },
++  "application/h224": {
++    "source": "iana"
++  },
++  "application/held+xml": {
++    "source": "iana"
++  },
++  "application/http": {
++    "source": "iana"
++  },
++  "application/hyperstudio": {
++    "source": "iana",
++    "extensions": ["stk"]
++  },
++  "application/ibe-key-request+xml": {
++    "source": "iana"
++  },
++  "application/ibe-pkg-reply+xml": {
++    "source": "iana"
++  },
++  "application/ibe-pp-data": {
++    "source": "iana"
++  },
++  "application/iges": {
++    "source": "iana"
++  },
++  "application/im-iscomposing+xml": {
++    "source": "iana"
++  },
++  "application/index": {
++    "source": "iana"
++  },
++  "application/index.cmd": {
++    "source": "iana"
++  },
++  "application/index.obj": {
++    "source": "iana"
++  },
++  "application/index.response": {
++    "source": "iana"
++  },
++  "application/index.vnd": {
++    "source": "iana"
++  },
++  "application/inkml+xml": {
++    "source": "iana",
++    "extensions": ["ink","inkml"]
++  },
++  "application/iotp": {
++    "source": "iana"
++  },
++  "application/ipfix": {
++    "source": "iana",
++    "extensions": ["ipfix"]
++  },
++  "application/ipp": {
++    "source": "iana"
++  },
++  "application/isup": {
++    "source": "iana"
++  },
++  "application/its+xml": {
++    "source": "iana"
++  },
++  "application/java-archive": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["jar"]
++  },
++  "application/java-serialized-object": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["ser"]
++  },
++  "application/java-vm": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["class"]
++  },
++  "application/javascript": {
++    "source": "iana",
++    "charset": "UTF-8",
++    "compressible": true,
++    "extensions": ["js"]
++  },
++  "application/jrd+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/json": {
++    "source": "iana",
++    "charset": "UTF-8",
++    "compressible": true,
++    "extensions": ["json","map"]
++  },
++  "application/json-patch+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/jsonml+json": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["jsonml"]
++  },
++  "application/kpml-request+xml": {
++    "source": "iana"
++  },
++  "application/kpml-response+xml": {
++    "source": "iana"
++  },
++  "application/ld+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/link-format": {
++    "source": "iana"
++  },
++  "application/load-control+xml": {
++    "source": "iana"
++  },
++  "application/lost+xml": {
++    "source": "iana",
++    "extensions": ["lostxml"]
++  },
++  "application/lostsync+xml": {
++    "source": "iana"
++  },
++  "application/mac-binhex40": {
++    "source": "iana",
++    "extensions": ["hqx"]
++  },
++  "application/mac-compactpro": {
++    "source": "apache",
++    "extensions": ["cpt"]
++  },
++  "application/macwriteii": {
++    "source": "iana"
++  },
++  "application/mads+xml": {
++    "source": "iana",
++    "extensions": ["mads"]
++  },
++  "application/marc": {
++    "source": "iana",
++    "extensions": ["mrc"]
++  },
++  "application/marcxml+xml": {
++    "source": "iana",
++    "extensions": ["mrcx"]
++  },
++  "application/mathematica": {
++    "source": "iana",
++    "extensions": ["ma","nb","mb"]
++  },
++  "application/mathml+xml": {
++    "source": "iana",
++    "extensions": ["mathml"]
++  },
++  "application/mathml-content+xml": {
++    "source": "iana"
++  },
++  "application/mathml-presentation+xml": {
++    "source": "iana"
++  },
++  "application/mbms-associated-procedure-description+xml": {
++    "source": "iana"
++  },
++  "application/mbms-deregister+xml": {
++    "source": "iana"
++  },
++  "application/mbms-envelope+xml": {
++    "source": "iana"
++  },
++  "application/mbms-msk+xml": {
++    "source": "iana"
++  },
++  "application/mbms-msk-response+xml": {
++    "source": "iana"
++  },
++  "application/mbms-protection-description+xml": {
++    "source": "iana"
++  },
++  "application/mbms-reception-report+xml": {
++    "source": "iana"
++  },
++  "application/mbms-register+xml": {
++    "source": "iana"
++  },
++  "application/mbms-register-response+xml": {
++    "source": "iana"
++  },
++  "application/mbms-schedule+xml": {
++    "source": "iana"
++  },
++  "application/mbms-user-service-description+xml": {
++    "source": "iana"
++  },
++  "application/mbox": {
++    "source": "apache",
++    "extensions": ["mbox"]
++  },
++  "application/mbox+xml": {
++    "source": "iana"
++  },
++  "application/media-policy-dataset+xml": {
++    "source": "iana"
++  },
++  "application/media_control+xml": {
++    "source": "iana"
++  },
++  "application/mediaservercontrol+xml": {
++    "source": "iana",
++    "extensions": ["mscml"]
++  },
++  "application/merge-patch+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/metalink+xml": {
++    "source": "apache",
++    "extensions": ["metalink"]
++  },
++  "application/metalink4+xml": {
++    "source": "iana",
++    "extensions": ["meta4"]
++  },
++  "application/mets+xml": {
++    "source": "iana",
++    "extensions": ["mets"]
++  },
++  "application/mikey": {
++    "source": "iana"
++  },
++  "application/mods+xml": {
++    "source": "iana",
++    "extensions": ["mods"]
++  },
++  "application/moss-keys": {
++    "source": "iana"
++  },
++  "application/moss-signature": {
++    "source": "iana"
++  },
++  "application/mosskey-data": {
++    "source": "iana"
++  },
++  "application/mosskey-request": {
++    "source": "iana"
++  },
++  "application/mp21": {
++    "source": "iana",
++    "extensions": ["m21","mp21"]
++  },
++  "application/mp4": {
++    "source": "iana",
++    "extensions": ["mp4s","m4p"]
++  },
++  "application/mpeg4-generic": {
++    "source": "iana"
++  },
++  "application/mpeg4-iod": {
++    "source": "iana"
++  },
++  "application/mpeg4-iod-xmt": {
++    "source": "iana"
++  },
++  "application/mrb-consumer+xml": {
++    "source": "iana"
++  },
++  "application/mrb-publish+xml": {
++    "source": "iana"
++  },
++  "application/msc-ivr+xml": {
++    "source": "iana"
++  },
++  "application/msc-mixer+xml": {
++    "source": "iana"
++  },
++  "application/msword": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["doc","dot"]
++  },
++  "application/mxf": {
++    "source": "iana",
++    "extensions": ["mxf"]
++  },
++  "application/nasdata": {
++    "source": "iana"
++  },
++  "application/news-checkgroups": {
++    "source": "iana"
++  },
++  "application/news-groupinfo": {
++    "source": "iana"
++  },
++  "application/news-transmission": {
++    "source": "iana"
++  },
++  "application/nlsml+xml": {
++    "source": "iana"
++  },
++  "application/nss": {
++    "source": "iana"
++  },
++  "application/ocsp-request": {
++    "source": "iana"
++  },
++  "application/ocsp-response": {
++    "source": "apache"
++  },
++  "application/octet-stream": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","buffer"]
++  },
++  "application/oda": {
++    "source": "iana",
++    "extensions": ["oda"]
++  },
++  "application/odx": {
++    "source": "iana"
++  },
++  "application/oebps-package+xml": {
++    "source": "iana",
++    "extensions": ["opf"]
++  },
++  "application/ogg": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["ogx"]
++  },
++  "application/omdoc+xml": {
++    "source": "apache",
++    "extensions": ["omdoc"]
++  },
++  "application/onenote": {
++    "source": "apache",
++    "extensions": ["onetoc","onetoc2","onetmp","onepkg"]
++  },
++  "application/oscp-response": {
++    "source": "iana"
++  },
++  "application/oxps": {
++    "source": "iana",
++    "extensions": ["oxps"]
++  },
++  "application/p2p-overlay+xml": {
++    "source": "iana"
++  },
++  "application/parityfec": {
++    "source": "iana"
++  },
++  "application/patch-ops-error+xml": {
++    "source": "iana",
++    "extensions": ["xer"]
++  },
++  "application/pdf": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["pdf"]
++  },
++  "application/pdx": {
++    "source": "iana"
++  },
++  "application/pgp-encrypted": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["pgp"]
++  },
++  "application/pgp-keys": {
++    "source": "iana"
++  },
++  "application/pgp-signature": {
++    "source": "iana",
++    "extensions": ["asc","sig"]
++  },
++  "application/pics-rules": {
++    "source": "apache",
++    "extensions": ["prf"]
++  },
++  "application/pidf+xml": {
++    "source": "iana"
++  },
++  "application/pidf-diff+xml": {
++    "source": "iana"
++  },
++  "application/pkcs10": {
++    "source": "iana",
++    "extensions": ["p10"]
++  },
++  "application/pkcs7-mime": {
++    "source": "iana",
++    "extensions": ["p7m","p7c"]
++  },
++  "application/pkcs7-signature": {
++    "source": "iana",
++    "extensions": ["p7s"]
++  },
++  "application/pkcs8": {
++    "source": "iana",
++    "extensions": ["p8"]
++  },
++  "application/pkix-attr-cert": {
++    "source": "iana",
++    "extensions": ["ac"]
++  },
++  "application/pkix-cert": {
++    "source": "iana",
++    "extensions": ["cer"]
++  },
++  "application/pkix-crl": {
++    "source": "iana",
++    "extensions": ["crl"]
++  },
++  "application/pkix-pkipath": {
++    "source": "iana",
++    "extensions": ["pkipath"]
++  },
++  "application/pkixcmp": {
++    "source": "iana",
++    "extensions": ["pki"]
++  },
++  "application/pls+xml": {
++    "source": "iana",
++    "extensions": ["pls"]
++  },
++  "application/poc-settings+xml": {
++    "source": "iana"
++  },
++  "application/postscript": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["ai","eps","ps"]
++  },
++  "application/provenance+xml": {
++    "source": "iana"
++  },
++  "application/prs.alvestrand.titrax-sheet": {
++    "source": "iana"
++  },
++  "application/prs.cww": {
++    "source": "iana",
++    "extensions": ["cww"]
++  },
++  "application/prs.hpub+zip": {
++    "source": "iana"
++  },
++  "application/prs.nprend": {
++    "source": "iana"
++  },
++  "application/prs.plucker": {
++    "source": "iana"
++  },
++  "application/prs.rdf-xml-crypt": {
++    "source": "iana"
++  },
++  "application/prs.xsf+xml": {
++    "source": "iana"
++  },
++  "application/pskc+xml": {
++    "source": "iana",
++    "extensions": ["pskcxml"]
++  },
++  "application/qsig": {
++    "source": "iana"
++  },
++  "application/raptorfec": {
++    "source": "iana"
++  },
++  "application/rdf+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["rdf"]
++  },
++  "application/reginfo+xml": {
++    "source": "iana",
++    "extensions": ["rif"]
++  },
++  "application/relax-ng-compact-syntax": {
++    "source": "iana",
++    "extensions": ["rnc"]
++  },
++  "application/remote-printing": {
++    "source": "iana"
++  },
++  "application/reputon+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/resource-lists+xml": {
++    "source": "iana",
++    "extensions": ["rl"]
++  },
++  "application/resource-lists-diff+xml": {
++    "source": "iana",
++    "extensions": ["rld"]
++  },
++  "application/riscos": {
++    "source": "iana"
++  },
++  "application/rlmi+xml": {
++    "source": "iana"
++  },
++  "application/rls-services+xml": {
++    "source": "iana",
++    "extensions": ["rs"]
++  },
++  "application/rpki-ghostbusters": {
++    "source": "iana",
++    "extensions": ["gbr"]
++  },
++  "application/rpki-manifest": {
++    "source": "iana",
++    "extensions": ["mft"]
++  },
++  "application/rpki-roa": {
++    "source": "iana",
++    "extensions": ["roa"]
++  },
++  "application/rpki-updown": {
++    "source": "iana"
++  },
++  "application/rsd+xml": {
++    "source": "apache",
++    "extensions": ["rsd"]
++  },
++  "application/rss+xml": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["rss"]
++  },
++  "application/rtf": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["rtf"]
++  },
++  "application/rtploopback": {
++    "source": "iana"
++  },
++  "application/rtx": {
++    "source": "iana"
++  },
++  "application/samlassertion+xml": {
++    "source": "iana"
++  },
++  "application/samlmetadata+xml": {
++    "source": "iana"
++  },
++  "application/sbml+xml": {
++    "source": "iana",
++    "extensions": ["sbml"]
++  },
++  "application/scaip+xml": {
++    "source": "iana"
++  },
++  "application/scvp-cv-request": {
++    "source": "iana",
++    "extensions": ["scq"]
++  },
++  "application/scvp-cv-response": {
++    "source": "iana",
++    "extensions": ["scs"]
++  },
++  "application/scvp-vp-request": {
++    "source": "iana",
++    "extensions": ["spq"]
++  },
++  "application/scvp-vp-response": {
++    "source": "iana",
++    "extensions": ["spp"]
++  },
++  "application/sdp": {
++    "source": "iana",
++    "extensions": ["sdp"]
++  },
++  "application/sep+xml": {
++    "source": "iana"
++  },
++  "application/sep-exi": {
++    "source": "iana"
++  },
++  "application/session-info": {
++    "source": "iana"
++  },
++  "application/set-payment": {
++    "source": "iana"
++  },
++  "application/set-payment-initiation": {
++    "source": "iana",
++    "extensions": ["setpay"]
++  },
++  "application/set-registration": {
++    "source": "iana"
++  },
++  "application/set-registration-initiation": {
++    "source": "iana",
++    "extensions": ["setreg"]
++  },
++  "application/sgml": {
++    "source": "iana"
++  },
++  "application/sgml-open-catalog": {
++    "source": "iana"
++  },
++  "application/shf+xml": {
++    "source": "iana",
++    "extensions": ["shf"]
++  },
++  "application/sieve": {
++    "source": "iana"
++  },
++  "application/simple-filter+xml": {
++    "source": "iana"
++  },
++  "application/simple-message-summary": {
++    "source": "iana"
++  },
++  "application/simplesymbolcontainer": {
++    "source": "iana"
++  },
++  "application/slate": {
++    "source": "iana"
++  },
++  "application/smil": {
++    "source": "iana"
++  },
++  "application/smil+xml": {
++    "source": "iana",
++    "extensions": ["smi","smil"]
++  },
++  "application/smpte336m": {
++    "source": "iana"
++  },
++  "application/soap+fastinfoset": {
++    "source": "iana"
++  },
++  "application/soap+xml": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/sparql-query": {
++    "source": "iana",
++    "extensions": ["rq"]
++  },
++  "application/sparql-results+xml": {
++    "source": "iana",
++    "extensions": ["srx"]
++  },
++  "application/spirits-event+xml": {
++    "source": "iana"
++  },
++  "application/sql": {
++    "source": "iana"
++  },
++  "application/srgs": {
++    "source": "iana",
++    "extensions": ["gram"]
++  },
++  "application/srgs+xml": {
++    "source": "iana",
++    "extensions": ["grxml"]
++  },
++  "application/sru+xml": {
++    "source": "iana",
++    "extensions": ["sru"]
++  },
++  "application/ssdl+xml": {
++    "source": "apache",
++    "extensions": ["ssdl"]
++  },
++  "application/ssml+xml": {
++    "source": "iana",
++    "extensions": ["ssml"]
++  },
++  "application/tamp-apex-update": {
++    "source": "iana"
++  },
++  "application/tamp-apex-update-confirm": {
++    "source": "iana"
++  },
++  "application/tamp-community-update": {
++    "source": "iana"
++  },
++  "application/tamp-community-update-confirm": {
++    "source": "iana"
++  },
++  "application/tamp-error": {
++    "source": "iana"
++  },
++  "application/tamp-sequence-adjust": {
++    "source": "iana"
++  },
++  "application/tamp-sequence-adjust-confirm": {
++    "source": "iana"
++  },
++  "application/tamp-status-query": {
++    "source": "iana"
++  },
++  "application/tamp-status-response": {
++    "source": "iana"
++  },
++  "application/tamp-update": {
++    "source": "iana"
++  },
++  "application/tamp-update-confirm": {
++    "source": "iana"
++  },
++  "application/tar": {
++    "compressible": true
++  },
++  "application/tei+xml": {
++    "source": "iana",
++    "extensions": ["tei","teicorpus"]
++  },
++  "application/thraud+xml": {
++    "source": "iana",
++    "extensions": ["tfi"]
++  },
++  "application/timestamp-query": {
++    "source": "iana"
++  },
++  "application/timestamp-reply": {
++    "source": "iana"
++  },
++  "application/timestamped-data": {
++    "source": "iana",
++    "extensions": ["tsd"]
++  },
++  "application/ttml+xml": {
++    "source": "iana"
++  },
++  "application/tve-trigger": {
++    "source": "iana"
++  },
++  "application/ulpfec": {
++    "source": "iana"
++  },
++  "application/urc-grpsheet+xml": {
++    "source": "iana"
++  },
++  "application/urc-ressheet+xml": {
++    "source": "iana"
++  },
++  "application/urc-targetdesc+xml": {
++    "source": "iana"
++  },
++  "application/urc-uisocketdesc+xml": {
++    "source": "iana"
++  },
++  "application/vcard+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vcard+xml": {
++    "source": "iana"
++  },
++  "application/vemmi": {
++    "source": "iana"
++  },
++  "application/vividence.scriptfile": {
++    "source": "apache"
++  },
++  "application/vnd-acucobol": {
++    "source": "iana"
++  },
++  "application/vnd-curl": {
++    "source": "iana"
++  },
++  "application/vnd-dart": {
++    "source": "iana"
++  },
++  "application/vnd-dxr": {
++    "source": "iana"
++  },
++  "application/vnd-fdf": {
++    "source": "iana"
++  },
++  "application/vnd-mif": {
++    "source": "iana"
++  },
++  "application/vnd-sema": {
++    "source": "iana"
++  },
++  "application/vnd-wap-wmlc": {
++    "source": "iana"
++  },
++  "application/vnd.3gpp.bsf+xml": {
++    "source": "iana"
++  },
++  "application/vnd.3gpp.pic-bw-large": {
++    "source": "iana",
++    "extensions": ["plb"]
++  },
++  "application/vnd.3gpp.pic-bw-small": {
++    "source": "iana",
++    "extensions": ["psb"]
++  },
++  "application/vnd.3gpp.pic-bw-var": {
++    "source": "iana",
++    "extensions": ["pvb"]
++  },
++  "application/vnd.3gpp.sms": {
++    "source": "iana"
++  },
++  "application/vnd.3gpp2.bcmcsinfo+xml": {
++    "source": "iana"
++  },
++  "application/vnd.3gpp2.sms": {
++    "source": "iana"
++  },
++  "application/vnd.3gpp2.tcap": {
++    "source": "iana",
++    "extensions": ["tcap"]
++  },
++  "application/vnd.3m.post-it-notes": {
++    "source": "iana",
++    "extensions": ["pwn"]
++  },
++  "application/vnd.accpac.simply.aso": {
++    "source": "iana",
++    "extensions": ["aso"]
++  },
++  "application/vnd.accpac.simply.imp": {
++    "source": "iana",
++    "extensions": ["imp"]
++  },
++  "application/vnd.acucobol": {
++    "source": "apache",
++    "extensions": ["acu"]
++  },
++  "application/vnd.acucorp": {
++    "source": "iana",
++    "extensions": ["atc","acutc"]
++  },
++  "application/vnd.adobe.air-application-installer-package+zip": {
++    "source": "apache",
++    "extensions": ["air"]
++  },
++  "application/vnd.adobe.flash-movie": {
++    "source": "iana"
++  },
++  "application/vnd.adobe.formscentral.fcdt": {
++    "source": "iana",
++    "extensions": ["fcdt"]
++  },
++  "application/vnd.adobe.fxp": {
++    "source": "iana",
++    "extensions": ["fxp","fxpl"]
++  },
++  "application/vnd.adobe.partial-upload": {
++    "source": "iana"
++  },
++  "application/vnd.adobe.xdp+xml": {
++    "source": "iana",
++    "extensions": ["xdp"]
++  },
++  "application/vnd.adobe.xfdf": {
++    "source": "iana",
++    "extensions": ["xfdf"]
++  },
++  "application/vnd.aether.imp": {
++    "source": "iana"
++  },
++  "application/vnd.ah-barcode": {
++    "source": "iana"
++  },
++  "application/vnd.ahead.space": {
++    "source": "iana",
++    "extensions": ["ahead"]
++  },
++  "application/vnd.airzip.filesecure.azf": {
++    "source": "iana",
++    "extensions": ["azf"]
++  },
++  "application/vnd.airzip.filesecure.azs": {
++    "source": "iana",
++    "extensions": ["azs"]
++  },
++  "application/vnd.amazon.ebook": {
++    "source": "apache",
++    "extensions": ["azw"]
++  },
++  "application/vnd.americandynamics.acc": {
++    "source": "iana",
++    "extensions": ["acc"]
++  },
++  "application/vnd.amiga.ami": {
++    "source": "iana",
++    "extensions": ["ami"]
++  },
++  "application/vnd.amundsen.maze+xml": {
++    "source": "iana"
++  },
++  "application/vnd.android.package-archive": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["apk"]
++  },
++  "application/vnd.anser-web-certificate-issue-initiation": {
++    "source": "iana",
++    "extensions": ["cii"]
++  },
++  "application/vnd.anser-web-funds-transfer-initiation": {
++    "source": "apache",
++    "extensions": ["fti"]
++  },
++  "application/vnd.antix.game-component": {
++    "source": "iana",
++    "extensions": ["atx"]
++  },
++  "application/vnd.apache.thrift.binary": {
++    "source": "iana"
++  },
++  "application/vnd.api+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.apple.installer+xml": {
++    "source": "iana",
++    "extensions": ["mpkg"]
++  },
++  "application/vnd.apple.mpegurl": {
++    "source": "iana",
++    "extensions": ["m3u8"]
++  },
++  "application/vnd.arastra.swi": {
++    "source": "iana"
++  },
++  "application/vnd.aristanetworks.swi": {
++    "source": "iana",
++    "extensions": ["swi"]
++  },
++  "application/vnd.artsquare": {
++    "source": "iana"
++  },
++  "application/vnd.astraea-software.iota": {
++    "source": "iana",
++    "extensions": ["iota"]
++  },
++  "application/vnd.audiograph": {
++    "source": "iana",
++    "extensions": ["aep"]
++  },
++  "application/vnd.autopackage": {
++    "source": "iana"
++  },
++  "application/vnd.avistar+xml": {
++    "source": "iana"
++  },
++  "application/vnd.balsamiq.bmml+xml": {
++    "source": "iana"
++  },
++  "application/vnd.bekitzur-stech+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.blueice.multipass": {
++    "source": "iana",
++    "extensions": ["mpm"]
++  },
++  "application/vnd.bluetooth.ep.oob": {
++    "source": "iana"
++  },
++  "application/vnd.bluetooth.le.oob": {
++    "source": "iana"
++  },
++  "application/vnd.bmi": {
++    "source": "iana",
++    "extensions": ["bmi"]
++  },
++  "application/vnd.businessobjects": {
++    "source": "iana",
++    "extensions": ["rep"]
++  },
++  "application/vnd.cab-jscript": {
++    "source": "iana"
++  },
++  "application/vnd.canon-cpdl": {
++    "source": "iana"
++  },
++  "application/vnd.canon-lips": {
++    "source": "iana"
++  },
++  "application/vnd.cendio.thinlinc.clientconf": {
++    "source": "iana"
++  },
++  "application/vnd.century-systems.tcp_stream": {
++    "source": "iana"
++  },
++  "application/vnd.chemdraw+xml": {
++    "source": "iana",
++    "extensions": ["cdxml"]
++  },
++  "application/vnd.chipnuts.karaoke-mmd": {
++    "source": "iana",
++    "extensions": ["mmd"]
++  },
++  "application/vnd.cinderella": {
++    "source": "iana",
++    "extensions": ["cdy"]
++  },
++  "application/vnd.cirpack.isdn-ext": {
++    "source": "iana"
++  },
++  "application/vnd.claymore": {
++    "source": "iana",
++    "extensions": ["cla"]
++  },
++  "application/vnd.cloanto.rp9": {
++    "source": "iana",
++    "extensions": ["rp9"]
++  },
++  "application/vnd.clonk.c4group": {
++    "source": "iana",
++    "extensions": ["c4g","c4d","c4f","c4p","c4u"]
++  },
++  "application/vnd.cluetrust.cartomobile-config": {
++    "source": "iana",
++    "extensions": ["c11amc"]
++  },
++  "application/vnd.cluetrust.cartomobile-config-pkg": {
++    "source": "iana",
++    "extensions": ["c11amz"]
++  },
++  "application/vnd.collection+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.collection.doc+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.collection.next+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.commerce-battelle": {
++    "source": "iana"
++  },
++  "application/vnd.commonspace": {
++    "source": "iana",
++    "extensions": ["csp"]
++  },
++  "application/vnd.contact.cmsg": {
++    "source": "iana",
++    "extensions": ["cdbcmsg"]
++  },
++  "application/vnd.cosmocaller": {
++    "source": "iana",
++    "extensions": ["cmc"]
++  },
++  "application/vnd.crick.clicker": {
++    "source": "iana",
++    "extensions": ["clkx"]
++  },
++  "application/vnd.crick.clicker.keyboard": {
++    "source": "iana",
++    "extensions": ["clkk"]
++  },
++  "application/vnd.crick.clicker.palette": {
++    "source": "iana",
++    "extensions": ["clkp"]
++  },
++  "application/vnd.crick.clicker.template": {
++    "source": "iana",
++    "extensions": ["clkt"]
++  },
++  "application/vnd.crick.clicker.wordbank": {
++    "source": "iana",
++    "extensions": ["clkw"]
++  },
++  "application/vnd.criticaltools.wbs+xml": {
++    "source": "iana",
++    "extensions": ["wbs"]
++  },
++  "application/vnd.ctc-posml": {
++    "source": "iana",
++    "extensions": ["pml"]
++  },
++  "application/vnd.ctct.ws+xml": {
++    "source": "iana"
++  },
++  "application/vnd.cups-pdf": {
++    "source": "iana"
++  },
++  "application/vnd.cups-postscript": {
++    "source": "iana"
++  },
++  "application/vnd.cups-ppd": {
++    "source": "iana",
++    "extensions": ["ppd"]
++  },
++  "application/vnd.cups-raster": {
++    "source": "iana"
++  },
++  "application/vnd.cups-raw": {
++    "source": "iana"
++  },
++  "application/vnd.curl": {
++    "source": "apache"
++  },
++  "application/vnd.curl.car": {
++    "source": "apache",
++    "extensions": ["car"]
++  },
++  "application/vnd.curl.pcurl": {
++    "source": "apache",
++    "extensions": ["pcurl"]
++  },
++  "application/vnd.cyan.dean.root+xml": {
++    "source": "iana"
++  },
++  "application/vnd.cybank": {
++    "source": "iana"
++  },
++  "application/vnd.dart": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["dart"]
++  },
++  "application/vnd.data-vision.rdz": {
++    "source": "iana",
++    "extensions": ["rdz"]
++  },
++  "application/vnd.debian.binary-package": {
++    "source": "iana"
++  },
++  "application/vnd.dece-zip": {
++    "source": "iana"
++  },
++  "application/vnd.dece.data": {
++    "source": "iana",
++    "extensions": ["uvf","uvvf","uvd","uvvd"]
++  },
++  "application/vnd.dece.ttml+xml": {
++    "source": "iana",
++    "extensions": ["uvt","uvvt"]
++  },
++  "application/vnd.dece.unspecified": {
++    "source": "iana",
++    "extensions": ["uvx","uvvx"]
++  },
++  "application/vnd.dece.zip": {
++    "source": "apache",
++    "extensions": ["uvz","uvvz"]
++  },
++  "application/vnd.denovo.fcselayout-link": {
++    "source": "iana",
++    "extensions": ["fe_launch"]
++  },
++  "application/vnd.desmume-movie": {
++    "source": "iana"
++  },
++  "application/vnd.dir-bi.plate-dl-nosuffix": {
++    "source": "iana"
++  },
++  "application/vnd.dm.delegation+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dna": {
++    "source": "iana",
++    "extensions": ["dna"]
++  },
++  "application/vnd.document+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.dolby.mlp": {
++    "source": "apache",
++    "extensions": ["mlp"]
++  },
++  "application/vnd.dolby.mobile.1": {
++    "source": "iana"
++  },
++  "application/vnd.dolby.mobile.2": {
++    "source": "iana"
++  },
++  "application/vnd.doremir.scorecloud-binary-document": {
++    "source": "iana"
++  },
++  "application/vnd.dpgraph": {
++    "source": "iana",
++    "extensions": ["dpg"]
++  },
++  "application/vnd.dreamfactory": {
++    "source": "iana",
++    "extensions": ["dfac"]
++  },
++  "application/vnd.ds-keypoint": {
++    "source": "apache",
++    "extensions": ["kpxx"]
++  },
++  "application/vnd.dtg.local": {
++    "source": "iana"
++  },
++  "application/vnd.dtg.local.flash": {
++    "source": "iana"
++  },
++  "application/vnd.dtg.local.html": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ait": {
++    "source": "iana",
++    "extensions": ["ait"]
++  },
++  "application/vnd.dvb.dvbj": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.esgcontainer": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ipdcdftnotifaccess": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ipdcesgaccess": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ipdcesgaccess2": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ipdcesgpdd": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.ipdcroaming": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.iptv.alfec-base": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.iptv.alfec-enhancement": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-aggregate-root+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-container+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-generic+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-ia-msglist+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-ia-registration-request+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-ia-registration-response+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.notif-init+xml": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.pfr": {
++    "source": "iana"
++  },
++  "application/vnd.dvb.service": {
++    "source": "apache",
++    "extensions": ["svc"]
++  },
++  "application/vnd.dvb_service": {
++    "source": "iana"
++  },
++  "application/vnd.dxr": {
++    "source": "apache"
++  },
++  "application/vnd.dynageo": {
++    "source": "iana",
++    "extensions": ["geo"]
++  },
++  "application/vnd.dzr": {
++    "source": "iana"
++  },
++  "application/vnd.easykaraoke.cdgdownload": {
++    "source": "iana"
++  },
++  "application/vnd.ecdis-update": {
++    "source": "iana"
++  },
++  "application/vnd.ecowin.chart": {
++    "source": "iana",
++    "extensions": ["mag"]
++  },
++  "application/vnd.ecowin.filerequest": {
++    "source": "iana"
++  },
++  "application/vnd.ecowin.fileupdate": {
++    "source": "iana"
++  },
++  "application/vnd.ecowin.series": {
++    "source": "iana"
++  },
++  "application/vnd.ecowin.seriesrequest": {
++    "source": "iana"
++  },
++  "application/vnd.ecowin.seriesupdate": {
++    "source": "iana"
++  },
++  "application/vnd.emclient.accessrequest+xml": {
++    "source": "iana"
++  },
++  "application/vnd.enliven": {
++    "source": "iana",
++    "extensions": ["nml"]
++  },
++  "application/vnd.eprints.data+xml": {
++    "source": "iana"
++  },
++  "application/vnd.epson.esf": {
++    "source": "iana",
++    "extensions": ["esf"]
++  },
++  "application/vnd.epson.msf": {
++    "source": "iana",
++    "extensions": ["msf"]
++  },
++  "application/vnd.epson.quickanime": {
++    "source": "iana",
++    "extensions": ["qam"]
++  },
++  "application/vnd.epson.salt": {
++    "source": "iana",
++    "extensions": ["slt"]
++  },
++  "application/vnd.epson.ssf": {
++    "source": "iana",
++    "extensions": ["ssf"]
++  },
++  "application/vnd.ericsson.quickcall": {
++    "source": "iana"
++  },
++  "application/vnd.eszigno3+xml": {
++    "source": "iana",
++    "extensions": ["es3","et3"]
++  },
++  "application/vnd.etsi.aoc+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.asic-e+zip": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.asic-s+zip": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.cug+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvcommand+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvdiscovery+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvprofile+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvsad-bc+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvsad-cod+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvsad-npvr+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvservice+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvsync+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.iptvueprofile+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.mcid+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.mheg5": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.overload-control-policy-dataset+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.pstn+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.sci+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.simservs+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.timestamp-token": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.tsl+xml": {
++    "source": "iana"
++  },
++  "application/vnd.etsi.tsl.der": {
++    "source": "iana"
++  },
++  "application/vnd.eudora.data": {
++    "source": "iana"
++  },
++  "application/vnd.ezpix-album": {
++    "source": "iana",
++    "extensions": ["ez2"]
++  },
++  "application/vnd.ezpix-package": {
++    "source": "iana",
++    "extensions": ["ez3"]
++  },
++  "application/vnd.f-secure.mobile": {
++    "source": "iana"
++  },
++  "application/vnd.fdf": {
++    "source": "apache",
++    "extensions": ["fdf"]
++  },
++  "application/vnd.fdsn.mseed": {
++    "source": "iana",
++    "extensions": ["mseed"]
++  },
++  "application/vnd.fdsn.seed": {
++    "source": "iana",
++    "extensions": ["seed","dataless"]
++  },
++  "application/vnd.ffsns": {
++    "source": "iana"
++  },
++  "application/vnd.fints": {
++    "source": "iana"
++  },
++  "application/vnd.flographit": {
++    "source": "iana",
++    "extensions": ["gph"]
++  },
++  "application/vnd.fluxtime.clip": {
++    "source": "iana",
++    "extensions": ["ftc"]
++  },
++  "application/vnd.font-fontforge-sfd": {
++    "source": "iana"
++  },
++  "application/vnd.framemaker": {
++    "source": "iana",
++    "extensions": ["fm","frame","maker","book"]
++  },
++  "application/vnd.frogans.fnc": {
++    "source": "iana",
++    "extensions": ["fnc"]
++  },
++  "application/vnd.frogans.ltf": {
++    "source": "iana",
++    "extensions": ["ltf"]
++  },
++  "application/vnd.fsc.weblaunch": {
++    "source": "iana",
++    "extensions": ["fsc"]
++  },
++  "application/vnd.fujitsu.oasys": {
++    "source": "iana",
++    "extensions": ["oas"]
++  },
++  "application/vnd.fujitsu.oasys2": {
++    "source": "iana",
++    "extensions": ["oa2"]
++  },
++  "application/vnd.fujitsu.oasys3": {
++    "source": "iana",
++    "extensions": ["oa3"]
++  },
++  "application/vnd.fujitsu.oasysgp": {
++    "source": "iana",
++    "extensions": ["fg5"]
++  },
++  "application/vnd.fujitsu.oasysprs": {
++    "source": "iana",
++    "extensions": ["bh2"]
++  },
++  "application/vnd.fujixerox.art-ex": {
++    "source": "iana"
++  },
++  "application/vnd.fujixerox.art4": {
++    "source": "iana"
++  },
++  "application/vnd.fujixerox.ddd": {
++    "source": "iana",
++    "extensions": ["ddd"]
++  },
++  "application/vnd.fujixerox.docuworks": {
++    "source": "iana",
++    "extensions": ["xdw"]
++  },
++  "application/vnd.fujixerox.docuworks.binder": {
++    "source": "iana",
++    "extensions": ["xbd"]
++  },
++  "application/vnd.fujixerox.docuworks.container": {
++    "source": "iana"
++  },
++  "application/vnd.fujixerox.hbpl": {
++    "source": "iana"
++  },
++  "application/vnd.fut-misnet": {
++    "source": "iana"
++  },
++  "application/vnd.fuzzysheet": {
++    "source": "iana",
++    "extensions": ["fzs"]
++  },
++  "application/vnd.genomatix.tuxedo": {
++    "source": "iana",
++    "extensions": ["txd"]
++  },
++  "application/vnd.geo+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.geocube+xml": {
++    "source": "iana"
++  },
++  "application/vnd.geogebra.file": {
++    "source": "iana",
++    "extensions": ["ggb"]
++  },
++  "application/vnd.geogebra.tool": {
++    "source": "iana",
++    "extensions": ["ggt"]
++  },
++  "application/vnd.geometry-explorer": {
++    "source": "iana",
++    "extensions": ["gex","gre"]
++  },
++  "application/vnd.geonext": {
++    "source": "iana",
++    "extensions": ["gxt"]
++  },
++  "application/vnd.geoplan": {
++    "source": "iana",
++    "extensions": ["g2w"]
++  },
++  "application/vnd.geospace": {
++    "source": "iana",
++    "extensions": ["g3w"]
++  },
++  "application/vnd.globalplatform.card-content-mgt": {
++    "source": "iana"
++  },
++  "application/vnd.globalplatform.card-content-mgt-response": {
++    "source": "iana"
++  },
++  "application/vnd.gmx": {
++    "source": "iana",
++    "extensions": ["gmx"]
++  },
++  "application/vnd.google-earth.kml+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["kml"]
++  },
++  "application/vnd.google-earth.kmz": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["kmz"]
++  },
++  "application/vnd.grafeq": {
++    "source": "iana",
++    "extensions": ["gqf","gqs"]
++  },
++  "application/vnd.gridmp": {
++    "source": "iana"
++  },
++  "application/vnd.groove-account": {
++    "source": "iana",
++    "extensions": ["gac"]
++  },
++  "application/vnd.groove-help": {
++    "source": "iana",
++    "extensions": ["ghf"]
++  },
++  "application/vnd.groove-identity-message": {
++    "source": "iana",
++    "extensions": ["gim"]
++  },
++  "application/vnd.groove-injector": {
++    "source": "iana",
++    "extensions": ["grv"]
++  },
++  "application/vnd.groove-tool-message": {
++    "source": "iana",
++    "extensions": ["gtm"]
++  },
++  "application/vnd.groove-tool-template": {
++    "source": "iana",
++    "extensions": ["tpl"]
++  },
++  "application/vnd.groove-vcard": {
++    "source": "iana",
++    "extensions": ["vcg"]
++  },
++  "application/vnd.hal+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.hal+xml": {
++    "source": "iana",
++    "extensions": ["hal"]
++  },
++  "application/vnd.handheld-entertainment+xml": {
++    "source": "iana",
++    "extensions": ["zmm"]
++  },
++  "application/vnd.hbci": {
++    "source": "iana",
++    "extensions": ["hbci"]
++  },
++  "application/vnd.hcl-bireports": {
++    "source": "iana"
++  },
++  "application/vnd.heroku+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.hhe.lesson-player": {
++    "source": "iana",
++    "extensions": ["les"]
++  },
++  "application/vnd.hp-hpgl": {
++    "source": "iana",
++    "extensions": ["hpgl"]
++  },
++  "application/vnd.hp-hpid": {
++    "source": "iana",
++    "extensions": ["hpid"]
++  },
++  "application/vnd.hp-hps": {
++    "source": "iana",
++    "extensions": ["hps"]
++  },
++  "application/vnd.hp-jlyt": {
++    "source": "iana",
++    "extensions": ["jlt"]
++  },
++  "application/vnd.hp-pcl": {
++    "source": "iana",
++    "extensions": ["pcl"]
++  },
++  "application/vnd.hp-pclxl": {
++    "source": "iana",
++    "extensions": ["pclxl"]
++  },
++  "application/vnd.httphone": {
++    "source": "iana"
++  },
++  "application/vnd.hydrostatix.sof-data": {
++    "source": "iana"
++  },
++  "application/vnd.hzn-3d-crossword": {
++    "source": "iana"
++  },
++  "application/vnd.ibm.afplinedata": {
++    "source": "iana"
++  },
++  "application/vnd.ibm.electronic-media": {
++    "source": "iana"
++  },
++  "application/vnd.ibm.minipay": {
++    "source": "iana",
++    "extensions": ["mpy"]
++  },
++  "application/vnd.ibm.modcap": {
++    "source": "iana",
++    "extensions": ["afp","listafp","list3820"]
++  },
++  "application/vnd.ibm.rights-management": {
++    "source": "iana",
++    "extensions": ["irm"]
++  },
++  "application/vnd.ibm.secure-container": {
++    "source": "iana",
++    "extensions": ["sc"]
++  },
++  "application/vnd.iccprofile": {
++    "source": "iana",
++    "extensions": ["icc","icm"]
++  },
++  "application/vnd.ieee.1905": {
++    "source": "iana"
++  },
++  "application/vnd.igloader": {
++    "source": "iana",
++    "extensions": ["igl"]
++  },
++  "application/vnd.immervision-ivp": {
++    "source": "iana",
++    "extensions": ["ivp"]
++  },
++  "application/vnd.immervision-ivu": {
++    "source": "iana",
++    "extensions": ["ivu"]
++  },
++  "application/vnd.ims.lis.v2.result+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.ims.lti.v2.toolconsumerprofile+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.ims.lti.v2.toolproxy+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.ims.lti.v2.toolproxy.id+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.ims.lti.v2.toolsettings+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.ims.lti.v2.toolsettings.simple+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.informedcontrol.rms+xml": {
++    "source": "iana"
++  },
++  "application/vnd.informix-visionary": {
++    "source": "iana"
++  },
++  "application/vnd.infotech.project": {
++    "source": "iana"
++  },
++  "application/vnd.infotech.project+xml": {
++    "source": "iana"
++  },
++  "application/vnd.innopath.wamp.notification": {
++    "source": "iana"
++  },
++  "application/vnd.insors.igm": {
++    "source": "iana",
++    "extensions": ["igm"]
++  },
++  "application/vnd.intercon.formnet": {
++    "source": "iana",
++    "extensions": ["xpw","xpx"]
++  },
++  "application/vnd.intergeo": {
++    "source": "iana",
++    "extensions": ["i2g"]
++  },
++  "application/vnd.intertrust.digibox": {
++    "source": "iana"
++  },
++  "application/vnd.intertrust.nncp": {
++    "source": "iana"
++  },
++  "application/vnd.intu.qbo": {
++    "source": "iana",
++    "extensions": ["qbo"]
++  },
++  "application/vnd.intu.qfx": {
++    "source": "iana",
++    "extensions": ["qfx"]
++  },
++  "application/vnd.iptc.g2.catalogitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.conceptitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.knowledgeitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.newsitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.newsmessage+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.packageitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.iptc.g2.planningitem+xml": {
++    "source": "iana"
++  },
++  "application/vnd.ipunplugged.rcprofile": {
++    "source": "iana",
++    "extensions": ["rcprofile"]
++  },
++  "application/vnd.irepository.package+xml": {
++    "source": "iana",
++    "extensions": ["irp"]
++  },
++  "application/vnd.is-xpr": {
++    "source": "iana",
++    "extensions": ["xpr"]
++  },
++  "application/vnd.isac.fcs": {
++    "source": "iana",
++    "extensions": ["fcs"]
++  },
++  "application/vnd.jam": {
++    "source": "iana",
++    "extensions": ["jam"]
++  },
++  "application/vnd.japannet-directory-service": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-jpnstore-wakeup": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-payment-wakeup": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-registration": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-registration-wakeup": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-setstore-wakeup": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-verification": {
++    "source": "iana"
++  },
++  "application/vnd.japannet-verification-wakeup": {
++    "source": "iana"
++  },
++  "application/vnd.jcp.javame.midlet-rms": {
++    "source": "iana",
++    "extensions": ["rms"]
++  },
++  "application/vnd.jisp": {
++    "source": "iana",
++    "extensions": ["jisp"]
++  },
++  "application/vnd.joost.joda-archive": {
++    "source": "iana",
++    "extensions": ["joda"]
++  },
++  "application/vnd.jsk.isdn-ngn": {
++    "source": "iana"
++  },
++  "application/vnd.kahootz": {
++    "source": "iana",
++    "extensions": ["ktz","ktr"]
++  },
++  "application/vnd.kde.karbon": {
++    "source": "iana",
++    "extensions": ["karbon"]
++  },
++  "application/vnd.kde.kchart": {
++    "source": "iana",
++    "extensions": ["chrt"]
++  },
++  "application/vnd.kde.kformula": {
++    "source": "iana",
++    "extensions": ["kfo"]
++  },
++  "application/vnd.kde.kivio": {
++    "source": "iana",
++    "extensions": ["flw"]
++  },
++  "application/vnd.kde.kontour": {
++    "source": "iana",
++    "extensions": ["kon"]
++  },
++  "application/vnd.kde.kpresenter": {
++    "source": "iana",
++    "extensions": ["kpr","kpt"]
++  },
++  "application/vnd.kde.kspread": {
++    "source": "iana",
++    "extensions": ["ksp"]
++  },
++  "application/vnd.kde.kword": {
++    "source": "iana",
++    "extensions": ["kwd","kwt"]
++  },
++  "application/vnd.kenameaapp": {
++    "source": "iana",
++    "extensions": ["htke"]
++  },
++  "application/vnd.kidspiration": {
++    "source": "iana",
++    "extensions": ["kia"]
++  },
++  "application/vnd.kinar": {
++    "source": "iana",
++    "extensions": ["kne","knp"]
++  },
++  "application/vnd.koan": {
++    "source": "iana",
++    "extensions": ["skp","skd","skt","skm"]
++  },
++  "application/vnd.kodak-descriptor": {
++    "source": "iana",
++    "extensions": ["sse"]
++  },
++  "application/vnd.las.las+xml": {
++    "source": "iana",
++    "extensions": ["lasxml"]
++  },
++  "application/vnd.liberty-request+xml": {
++    "source": "iana"
++  },
++  "application/vnd.llamagraphics.life-balance.desktop": {
++    "source": "iana",
++    "extensions": ["lbd"]
++  },
++  "application/vnd.llamagraphics.life-balance.exchange+xml": {
++    "source": "iana",
++    "extensions": ["lbe"]
++  },
++  "application/vnd.lotus-1-2-3": {
++    "source": "iana",
++    "extensions": ["123"]
++  },
++  "application/vnd.lotus-approach": {
++    "source": "iana",
++    "extensions": ["apr"]
++  },
++  "application/vnd.lotus-freelance": {
++    "source": "iana",
++    "extensions": ["pre"]
++  },
++  "application/vnd.lotus-notes": {
++    "source": "iana",
++    "extensions": ["nsf"]
++  },
++  "application/vnd.lotus-organizer": {
++    "source": "iana",
++    "extensions": ["org"]
++  },
++  "application/vnd.lotus-screencam": {
++    "source": "iana",
++    "extensions": ["scm"]
++  },
++  "application/vnd.lotus-wordpro": {
++    "source": "iana",
++    "extensions": ["lwp"]
++  },
++  "application/vnd.macports.portpkg": {
++    "source": "iana",
++    "extensions": ["portpkg"]
++  },
++  "application/vnd.marlin.drm.actiontoken+xml": {
++    "source": "iana"
++  },
++  "application/vnd.marlin.drm.conftoken+xml": {
++    "source": "iana"
++  },
++  "application/vnd.marlin.drm.license+xml": {
++    "source": "iana"
++  },
++  "application/vnd.marlin.drm.mdcf": {
++    "source": "iana"
++  },
++  "application/vnd.mason+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.maxmind.maxmind-db": {
++    "source": "iana"
++  },
++  "application/vnd.mcd": {
++    "source": "iana",
++    "extensions": ["mcd"]
++  },
++  "application/vnd.medcalcdata": {
++    "source": "iana",
++    "extensions": ["mc1"]
++  },
++  "application/vnd.mediastation.cdkey": {
++    "source": "iana",
++    "extensions": ["cdkey"]
++  },
++  "application/vnd.meridian-slingshot": {
++    "source": "iana"
++  },
++  "application/vnd.mfer": {
++    "source": "iana",
++    "extensions": ["mwf"]
++  },
++  "application/vnd.mfmp": {
++    "source": "iana",
++    "extensions": ["mfm"]
++  },
++  "application/vnd.micrografx-igx": {
++    "source": "iana"
++  },
++  "application/vnd.micrografx.flo": {
++    "source": "iana",
++    "extensions": ["flo"]
++  },
++  "application/vnd.micrografx.igx": {
++    "source": "apache",
++    "extensions": ["igx"]
++  },
++  "application/vnd.miele+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.mif": {
++    "source": "apache",
++    "extensions": ["mif"]
++  },
++  "application/vnd.minisoft-hp3000-save": {
++    "source": "iana"
++  },
++  "application/vnd.mitsubishi.misty-guard.trustweb": {
++    "source": "iana"
++  },
++  "application/vnd.mobius.daf": {
++    "source": "iana",
++    "extensions": ["daf"]
++  },
++  "application/vnd.mobius.dis": {
++    "source": "iana",
++    "extensions": ["dis"]
++  },
++  "application/vnd.mobius.mbk": {
++    "source": "iana",
++    "extensions": ["mbk"]
++  },
++  "application/vnd.mobius.mqy": {
++    "source": "iana",
++    "extensions": ["mqy"]
++  },
++  "application/vnd.mobius.msl": {
++    "source": "iana",
++    "extensions": ["msl"]
++  },
++  "application/vnd.mobius.plc": {
++    "source": "iana",
++    "extensions": ["plc"]
++  },
++  "application/vnd.mobius.txf": {
++    "source": "iana",
++    "extensions": ["txf"]
++  },
++  "application/vnd.mophun.application": {
++    "source": "iana",
++    "extensions": ["mpn"]
++  },
++  "application/vnd.mophun.certificate": {
++    "source": "iana",
++    "extensions": ["mpc"]
++  },
++  "application/vnd.motorola.flexsuite": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.adsi": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.fis": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.gotap": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.kmr": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.ttc": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.flexsuite.wem": {
++    "source": "iana"
++  },
++  "application/vnd.motorola.iprm": {
++    "source": "iana"
++  },
++  "application/vnd.mozilla.xul+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["xul"]
++  },
++  "application/vnd.ms-3mfdocument": {
++    "source": "iana"
++  },
++  "application/vnd.ms-artgalry": {
++    "source": "iana",
++    "extensions": ["cil"]
++  },
++  "application/vnd.ms-asf": {
++    "source": "iana"
++  },
++  "application/vnd.ms-cab-compressed": {
++    "source": "iana",
++    "extensions": ["cab"]
++  },
++  "application/vnd.ms-color.iccprofile": {
++    "source": "apache"
++  },
++  "application/vnd.ms-excel": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["xls","xlm","xla","xlc","xlt","xlw"]
++  },
++  "application/vnd.ms-excel.addin.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["xlam"]
++  },
++  "application/vnd.ms-excel.sheet.binary.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["xlsb"]
++  },
++  "application/vnd.ms-excel.sheet.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["xlsm"]
++  },
++  "application/vnd.ms-excel.template.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["xltm"]
++  },
++  "application/vnd.ms-fontobject": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["eot"]
++  },
++  "application/vnd.ms-htmlhelp": {
++    "source": "iana",
++    "extensions": ["chm"]
++  },
++  "application/vnd.ms-ims": {
++    "source": "iana",
++    "extensions": ["ims"]
++  },
++  "application/vnd.ms-lrm": {
++    "source": "iana",
++    "extensions": ["lrm"]
++  },
++  "application/vnd.ms-office.activex+xml": {
++    "source": "iana"
++  },
++  "application/vnd.ms-officetheme": {
++    "source": "iana",
++    "extensions": ["thmx"]
++  },
++  "application/vnd.ms-opentype": {
++    "source": "apache",
++    "compressible": true
++  },
++  "application/vnd.ms-package.obfuscated-opentype": {
++    "source": "apache"
++  },
++  "application/vnd.ms-pki.seccat": {
++    "source": "apache",
++    "extensions": ["cat"]
++  },
++  "application/vnd.ms-pki.stl": {
++    "source": "apache",
++    "extensions": ["stl"]
++  },
++  "application/vnd.ms-playready.initiator+xml": {
++    "source": "iana"
++  },
++  "application/vnd.ms-powerpoint": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["ppt","pps","pot"]
++  },
++  "application/vnd.ms-powerpoint.addin.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["ppam"]
++  },
++  "application/vnd.ms-powerpoint.presentation.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["pptm"]
++  },
++  "application/vnd.ms-powerpoint.slide.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["sldm"]
++  },
++  "application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["ppsm"]
++  },
++  "application/vnd.ms-powerpoint.template.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["potm"]
++  },
++  "application/vnd.ms-printing.printticket+xml": {
++    "source": "apache"
++  },
++  "application/vnd.ms-project": {
++    "source": "iana",
++    "extensions": ["mpp","mpt"]
++  },
++  "application/vnd.ms-tnef": {
++    "source": "iana"
++  },
++  "application/vnd.ms-windows.printerpairing": {
++    "source": "iana"
++  },
++  "application/vnd.ms-wmdrm.lic-chlg-req": {
++    "source": "iana"
++  },
++  "application/vnd.ms-wmdrm.lic-resp": {
++    "source": "iana"
++  },
++  "application/vnd.ms-wmdrm.meter-chlg-req": {
++    "source": "iana"
++  },
++  "application/vnd.ms-wmdrm.meter-resp": {
++    "source": "iana"
++  },
++  "application/vnd.ms-word.document.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["docm"]
++  },
++  "application/vnd.ms-word.template.macroenabled.12": {
++    "source": "iana",
++    "extensions": ["dotm"]
++  },
++  "application/vnd.ms-works": {
++    "source": "iana",
++    "extensions": ["wps","wks","wcm","wdb"]
++  },
++  "application/vnd.ms-wpl": {
++    "source": "iana",
++    "extensions": ["wpl"]
++  },
++  "application/vnd.ms-xpsdocument": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["xps"]
++  },
++  "application/vnd.mseq": {
++    "source": "iana",
++    "extensions": ["mseq"]
++  },
++  "application/vnd.msign": {
++    "source": "iana"
++  },
++  "application/vnd.multiad.creator": {
++    "source": "iana"
++  },
++  "application/vnd.multiad.creator.cif": {
++    "source": "iana"
++  },
++  "application/vnd.music-niff": {
++    "source": "iana"
++  },
++  "application/vnd.musician": {
++    "source": "iana",
++    "extensions": ["mus"]
++  },
++  "application/vnd.muvee.style": {
++    "source": "iana",
++    "extensions": ["msty"]
++  },
++  "application/vnd.mynfc": {
++    "source": "iana",
++    "extensions": ["taglet"]
++  },
++  "application/vnd.ncd.control": {
++    "source": "iana"
++  },
++  "application/vnd.ncd.reference": {
++    "source": "iana"
++  },
++  "application/vnd.nervana": {
++    "source": "iana"
++  },
++  "application/vnd.netfpx": {
++    "source": "iana"
++  },
++  "application/vnd.neurolanguage.nlu": {
++    "source": "iana",
++    "extensions": ["nlu"]
++  },
++  "application/vnd.nintendo.nitro.rom": {
++    "source": "iana"
++  },
++  "application/vnd.nintendo.snes.rom": {
++    "source": "iana"
++  },
++  "application/vnd.nitf": {
++    "source": "iana",
++    "extensions": ["ntf","nitf"]
++  },
++  "application/vnd.noblenet-directory": {
++    "source": "iana",
++    "extensions": ["nnd"]
++  },
++  "application/vnd.noblenet-sealer": {
++    "source": "iana",
++    "extensions": ["nns"]
++  },
++  "application/vnd.noblenet-web": {
++    "source": "iana",
++    "extensions": ["nnw"]
++  },
++  "application/vnd.nokia.catalogs": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.conml+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.conml+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.iptv.config+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.isds-radio-presets": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.landmark+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.landmark+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.landmarkcollection+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.n-gage.ac+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.n-gage.data": {
++    "source": "iana",
++    "extensions": ["ngdat"]
++  },
++  "application/vnd.nokia.n-gage.symbian.install": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.ncd": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.pcd+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.pcd+xml": {
++    "source": "iana"
++  },
++  "application/vnd.nokia.radio-preset": {
++    "source": "iana",
++    "extensions": ["rpst"]
++  },
++  "application/vnd.nokia.radio-presets": {
++    "source": "iana",
++    "extensions": ["rpss"]
++  },
++  "application/vnd.novadigm.edm": {
++    "source": "iana",
++    "extensions": ["edm"]
++  },
++  "application/vnd.novadigm.edx": {
++    "source": "iana",
++    "extensions": ["edx"]
++  },
++  "application/vnd.novadigm.ext": {
++    "source": "iana",
++    "extensions": ["ext"]
++  },
++  "application/vnd.ntt-local.content-share": {
++    "source": "iana"
++  },
++  "application/vnd.ntt-local.file-transfer": {
++    "source": "iana"
++  },
++  "application/vnd.ntt-local.ogw_remote-access": {
++    "source": "iana"
++  },
++  "application/vnd.ntt-local.sip-ta_remote": {
++    "source": "iana"
++  },
++  "application/vnd.ntt-local.sip-ta_tcp_stream": {
++    "source": "iana"
++  },
++  "application/vnd.oasis.opendocument.chart": {
++    "source": "iana",
++    "extensions": ["odc"]
++  },
++  "application/vnd.oasis.opendocument.chart-template": {
++    "source": "iana",
++    "extensions": ["otc"]
++  },
++  "application/vnd.oasis.opendocument.database": {
++    "source": "iana",
++    "extensions": ["odb"]
++  },
++  "application/vnd.oasis.opendocument.formula": {
++    "source": "iana",
++    "extensions": ["odf"]
++  },
++  "application/vnd.oasis.opendocument.formula-template": {
++    "source": "iana",
++    "extensions": ["odft"]
++  },
++  "application/vnd.oasis.opendocument.graphics": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["odg"]
++  },
++  "application/vnd.oasis.opendocument.graphics-template": {
++    "source": "iana",
++    "extensions": ["otg"]
++  },
++  "application/vnd.oasis.opendocument.image": {
++    "source": "iana",
++    "extensions": ["odi"]
++  },
++  "application/vnd.oasis.opendocument.image-template": {
++    "source": "iana",
++    "extensions": ["oti"]
++  },
++  "application/vnd.oasis.opendocument.presentation": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["odp"]
++  },
++  "application/vnd.oasis.opendocument.presentation-template": {
++    "source": "iana",
++    "extensions": ["otp"]
++  },
++  "application/vnd.oasis.opendocument.spreadsheet": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["ods"]
++  },
++  "application/vnd.oasis.opendocument.spreadsheet-template": {
++    "source": "iana",
++    "extensions": ["ots"]
++  },
++  "application/vnd.oasis.opendocument.text": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["odt"]
++  },
++  "application/vnd.oasis.opendocument.text-master": {
++    "source": "iana",
++    "extensions": ["odm"]
++  },
++  "application/vnd.oasis.opendocument.text-template": {
++    "source": "iana",
++    "extensions": ["ott"]
++  },
++  "application/vnd.oasis.opendocument.text-web": {
++    "source": "iana",
++    "extensions": ["oth"]
++  },
++  "application/vnd.obn": {
++    "source": "iana"
++  },
++  "application/vnd.oftn.l10n+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.oipf.contentaccessdownload+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.contentaccessstreaming+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.cspg-hexbinary": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.dae.svg+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.dae.xhtml+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.mippvcontrolmessage+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.pae.gem": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.spdiscovery+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.spdlist+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.ueprofile+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oipf.userprofile+xml": {
++    "source": "iana"
++  },
++  "application/vnd.olpc-sugar": {
++    "source": "iana",
++    "extensions": ["xo"]
++  },
++  "application/vnd.oma-scws-config": {
++    "source": "iana"
++  },
++  "application/vnd.oma-scws-http-request": {
++    "source": "iana"
++  },
++  "application/vnd.oma-scws-http-response": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.associated-procedure-parameter+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.drm-trigger+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.imd+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.ltkm": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.notification+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.provisioningtrigger": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.sgboot": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.sgdd+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.sgdu": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.simple-symbol-container": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.smartcard-trigger+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.sprov+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.bcast.stkm": {
++    "source": "iana"
++  },
++  "application/vnd.oma.cab-address-book+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.cab-feature-handler+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.cab-pcc+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.cab-subs-invite+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.cab-user-prefs+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.dcd": {
++    "source": "iana"
++  },
++  "application/vnd.oma.dcdc": {
++    "source": "iana"
++  },
++  "application/vnd.oma.dd2+xml": {
++    "source": "iana",
++    "extensions": ["dd2"]
++  },
++  "application/vnd.oma.drm.risd+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.group-usage-list+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.pal+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.poc.detailed-progress-report+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.poc.final-report+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.poc.groups+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.poc.invocation-descriptor+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.poc.optimized-progress-report+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.push": {
++    "source": "iana"
++  },
++  "application/vnd.oma.scidm.messages+xml": {
++    "source": "iana"
++  },
++  "application/vnd.oma.xcap-directory+xml": {
++    "source": "iana"
++  },
++  "application/vnd.omads-email+xml": {
++    "source": "iana"
++  },
++  "application/vnd.omads-file+xml": {
++    "source": "iana"
++  },
++  "application/vnd.omads-folder+xml": {
++    "source": "iana"
++  },
++  "application/vnd.omaloc-supl-init": {
++    "source": "iana"
++  },
++  "application/vnd.openeye.oeb": {
++    "source": "iana"
++  },
++  "application/vnd.openofficeorg.extension": {
++    "source": "apache",
++    "extensions": ["oxt"]
++  },
++  "application/vnd.openxmlformats-officedocument.custom-properties+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawing+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.extended-properties+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml-template": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["pptx"]
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slide": {
++    "source": "iana",
++    "extensions": ["sldx"]
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
++    "source": "iana",
++    "extensions": ["ppsx"]
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.template": {
++    "source": "apache",
++    "extensions": ["potx"]
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml-template": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["xlsx"]
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
++    "source": "apache",
++    "extensions": ["xltx"]
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.theme+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.themeoverride+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.vmldrawing": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml-template": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["docx"]
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
++    "source": "apache",
++    "extensions": ["dotx"]
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-package.core-properties+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
++    "source": "iana"
++  },
++  "application/vnd.openxmlformats-package.relationships+xml": {
++    "source": "iana"
++  },
++  "application/vnd.orange.indata": {
++    "source": "iana"
++  },
++  "application/vnd.osa.netdeploy": {
++    "source": "iana"
++  },
++  "application/vnd.osgeo.mapguide.package": {
++    "source": "iana",
++    "extensions": ["mgp"]
++  },
++  "application/vnd.osgi.bundle": {
++    "source": "iana"
++  },
++  "application/vnd.osgi.dp": {
++    "source": "iana",
++    "extensions": ["dp"]
++  },
++  "application/vnd.osgi.subsystem": {
++    "source": "iana",
++    "extensions": ["esa"]
++  },
++  "application/vnd.otps.ct-kip+xml": {
++    "source": "iana"
++  },
++  "application/vnd.palm": {
++    "source": "iana",
++    "extensions": ["pdb","pqa","oprc"]
++  },
++  "application/vnd.panoply": {
++    "source": "iana"
++  },
++  "application/vnd.paos+xml": {
++    "source": "iana"
++  },
++  "application/vnd.paos.xml": {
++    "source": "apache"
++  },
++  "application/vnd.pawaafile": {
++    "source": "iana",
++    "extensions": ["paw"]
++  },
++  "application/vnd.pcos": {
++    "source": "iana"
++  },
++  "application/vnd.pg.format": {
++    "source": "iana",
++    "extensions": ["str"]
++  },
++  "application/vnd.pg.osasli": {
++    "source": "iana",
++    "extensions": ["ei6"]
++  },
++  "application/vnd.piaccess.application-licence": {
++    "source": "iana"
++  },
++  "application/vnd.picsel": {
++    "source": "iana",
++    "extensions": ["efif"]
++  },
++  "application/vnd.pmi.widget": {
++    "source": "iana",
++    "extensions": ["wg"]
++  },
++  "application/vnd.poc.group-advertisement+xml": {
++    "source": "iana"
++  },
++  "application/vnd.pocketlearn": {
++    "source": "iana",
++    "extensions": ["plf"]
++  },
++  "application/vnd.powerbuilder6": {
++    "source": "iana",
++    "extensions": ["pbd"]
++  },
++  "application/vnd.powerbuilder6-s": {
++    "source": "iana"
++  },
++  "application/vnd.powerbuilder7": {
++    "source": "iana"
++  },
++  "application/vnd.powerbuilder7-s": {
++    "source": "iana"
++  },
++  "application/vnd.powerbuilder75": {
++    "source": "iana"
++  },
++  "application/vnd.powerbuilder75-s": {
++    "source": "iana"
++  },
++  "application/vnd.preminet": {
++    "source": "iana"
++  },
++  "application/vnd.previewsystems.box": {
++    "source": "iana",
++    "extensions": ["box"]
++  },
++  "application/vnd.proteus.magazine": {
++    "source": "iana",
++    "extensions": ["mgz"]
++  },
++  "application/vnd.publishare-delta-tree": {
++    "source": "iana",
++    "extensions": ["qps"]
++  },
++  "application/vnd.pvi.ptid1": {
++    "source": "iana",
++    "extensions": ["ptid"]
++  },
++  "application/vnd.pwg-multiplexed": {
++    "source": "apache"
++  },
++  "application/vnd.pwg-xhtml-print+xml": {
++    "source": "iana"
++  },
++  "application/vnd.qualcomm.brew-app-res": {
++    "source": "iana"
++  },
++  "application/vnd.quark.quarkxpress": {
++    "source": "iana",
++    "extensions": ["qxd","qxt","qwd","qwt","qxl","qxb"]
++  },
++  "application/vnd.quobject-quoxdocument": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.moml+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-audit+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-audit-conf+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-audit-conn+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-audit-dialog+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-audit-stream+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-conf+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-base+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-fax-detect+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-group+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-speech+xml": {
++    "source": "iana"
++  },
++  "application/vnd.radisys.msml-dialog-transform+xml": {
++    "source": "iana"
++  },
++  "application/vnd.rainstor.data": {
++    "source": "iana"
++  },
++  "application/vnd.rapid": {
++    "source": "iana"
++  },
++  "application/vnd.realvnc.bed": {
++    "source": "iana",
++    "extensions": ["bed"]
++  },
++  "application/vnd.recordare.musicxml": {
++    "source": "iana",
++    "extensions": ["mxl"]
++  },
++  "application/vnd.recordare.musicxml+xml": {
++    "source": "iana",
++    "extensions": ["musicxml"]
++  },
++  "application/vnd.renlearn.rlprint": {
++    "source": "iana"
++  },
++  "application/vnd.rig.cryptonote": {
++    "source": "iana",
++    "extensions": ["cryptonote"]
++  },
++  "application/vnd.rim.cod": {
++    "source": "apache",
++    "extensions": ["cod"]
++  },
++  "application/vnd.rn-realmedia": {
++    "source": "apache",
++    "extensions": ["rm"]
++  },
++  "application/vnd.rn-realmedia-vbr": {
++    "source": "apache",
++    "extensions": ["rmvb"]
++  },
++  "application/vnd.route66.link66+xml": {
++    "source": "iana",
++    "extensions": ["link66"]
++  },
++  "application/vnd.rs-274x": {
++    "source": "iana"
++  },
++  "application/vnd.ruckus.download": {
++    "source": "iana"
++  },
++  "application/vnd.s3sms": {
++    "source": "iana"
++  },
++  "application/vnd.sailingtracker.track": {
++    "source": "iana",
++    "extensions": ["st"]
++  },
++  "application/vnd.sbm.cid": {
++    "source": "iana"
++  },
++  "application/vnd.sbm.mid2": {
++    "source": "iana"
++  },
++  "application/vnd.scribus": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-doc": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-eml": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-mht": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-ppt": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-tiff": {
++    "source": "iana"
++  },
++  "application/vnd.sealed-xls": {
++    "source": "iana"
++  },
++  "application/vnd.sealed.3df": {
++    "source": "iana"
++  },
++  "application/vnd.sealed.csf": {
++    "source": "iana"
++  },
++  "application/vnd.sealed.doc": {
++    "source": "apache"
++  },
++  "application/vnd.sealed.eml": {
++    "source": "apache"
++  },
++  "application/vnd.sealed.mht": {
++    "source": "apache"
++  },
++  "application/vnd.sealed.net": {
++    "source": "iana"
++  },
++  "application/vnd.sealed.ppt": {
++    "source": "apache"
++  },
++  "application/vnd.sealed.tiff": {
++    "source": "apache"
++  },
++  "application/vnd.sealed.xls": {
++    "source": "apache"
++  },
++  "application/vnd.sealedmedia.softseal-html": {
++    "source": "iana"
++  },
++  "application/vnd.sealedmedia.softseal-pdf": {
++    "source": "iana"
++  },
++  "application/vnd.sealedmedia.softseal.html": {
++    "source": "apache"
++  },
++  "application/vnd.sealedmedia.softseal.pdf": {
++    "source": "apache"
++  },
++  "application/vnd.seemail": {
++    "source": "iana",
++    "extensions": ["see"]
++  },
++  "application/vnd.sema": {
++    "source": "apache",
++    "extensions": ["sema"]
++  },
++  "application/vnd.semd": {
++    "source": "iana",
++    "extensions": ["semd"]
++  },
++  "application/vnd.semf": {
++    "source": "iana",
++    "extensions": ["semf"]
++  },
++  "application/vnd.shana.informed.formdata": {
++    "source": "iana",
++    "extensions": ["ifm"]
++  },
++  "application/vnd.shana.informed.formtemplate": {
++    "source": "iana",
++    "extensions": ["itp"]
++  },
++  "application/vnd.shana.informed.interchange": {
++    "source": "iana",
++    "extensions": ["iif"]
++  },
++  "application/vnd.shana.informed.package": {
++    "source": "iana",
++    "extensions": ["ipk"]
++  },
++  "application/vnd.simtech-mindmapper": {
++    "source": "iana",
++    "extensions": ["twd","twds"]
++  },
++  "application/vnd.siren+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.smaf": {
++    "source": "iana",
++    "extensions": ["mmf"]
++  },
++  "application/vnd.smart.notebook": {
++    "source": "iana"
++  },
++  "application/vnd.smart.teacher": {
++    "source": "iana",
++    "extensions": ["teacher"]
++  },
++  "application/vnd.software602.filler.form+xml": {
++    "source": "iana"
++  },
++  "application/vnd.software602.filler.form-xml-zip": {
++    "source": "iana"
++  },
++  "application/vnd.solent.sdkm+xml": {
++    "source": "iana",
++    "extensions": ["sdkm","sdkd"]
++  },
++  "application/vnd.spotfire.dxp": {
++    "source": "iana",
++    "extensions": ["dxp"]
++  },
++  "application/vnd.spotfire.sfs": {
++    "source": "iana",
++    "extensions": ["sfs"]
++  },
++  "application/vnd.sss-cod": {
++    "source": "iana"
++  },
++  "application/vnd.sss-dtf": {
++    "source": "iana"
++  },
++  "application/vnd.sss-ntf": {
++    "source": "iana"
++  },
++  "application/vnd.stardivision.calc": {
++    "source": "apache",
++    "extensions": ["sdc"]
++  },
++  "application/vnd.stardivision.draw": {
++    "source": "apache",
++    "extensions": ["sda"]
++  },
++  "application/vnd.stardivision.impress": {
++    "source": "apache",
++    "extensions": ["sdd"]
++  },
++  "application/vnd.stardivision.math": {
++    "source": "apache",
++    "extensions": ["smf"]
++  },
++  "application/vnd.stardivision.writer": {
++    "source": "apache",
++    "extensions": ["sdw","vor"]
++  },
++  "application/vnd.stardivision.writer-global": {
++    "source": "apache",
++    "extensions": ["sgl"]
++  },
++  "application/vnd.stepmania.package": {
++    "source": "iana",
++    "extensions": ["smzip"]
++  },
++  "application/vnd.stepmania.stepchart": {
++    "source": "iana",
++    "extensions": ["sm"]
++  },
++  "application/vnd.street-stream": {
++    "source": "iana"
++  },
++  "application/vnd.sun.wadl+xml": {
++    "source": "iana"
++  },
++  "application/vnd.sun.xml.calc": {
++    "source": "apache",
++    "extensions": ["sxc"]
++  },
++  "application/vnd.sun.xml.calc.template": {
++    "source": "apache",
++    "extensions": ["stc"]
++  },
++  "application/vnd.sun.xml.draw": {
++    "source": "apache",
++    "extensions": ["sxd"]
++  },
++  "application/vnd.sun.xml.draw.template": {
++    "source": "apache",
++    "extensions": ["std"]
++  },
++  "application/vnd.sun.xml.impress": {
++    "source": "apache",
++    "extensions": ["sxi"]
++  },
++  "application/vnd.sun.xml.impress.template": {
++    "source": "apache",
++    "extensions": ["sti"]
++  },
++  "application/vnd.sun.xml.math": {
++    "source": "apache",
++    "extensions": ["sxm"]
++  },
++  "application/vnd.sun.xml.writer": {
++    "source": "apache",
++    "extensions": ["sxw"]
++  },
++  "application/vnd.sun.xml.writer.global": {
++    "source": "apache",
++    "extensions": ["sxg"]
++  },
++  "application/vnd.sun.xml.writer.template": {
++    "source": "apache",
++    "extensions": ["stw"]
++  },
++  "application/vnd.sus-calendar": {
++    "source": "iana",
++    "extensions": ["sus","susp"]
++  },
++  "application/vnd.svd": {
++    "source": "iana",
++    "extensions": ["svd"]
++  },
++  "application/vnd.swiftview-ics": {
++    "source": "iana"
++  },
++  "application/vnd.symbian.install": {
++    "source": "apache",
++    "extensions": ["sis","sisx"]
++  },
++  "application/vnd.syncml+xml": {
++    "source": "iana",
++    "extensions": ["xsm"]
++  },
++  "application/vnd.syncml.dm+wbxml": {
++    "source": "iana",
++    "extensions": ["bdm"]
++  },
++  "application/vnd.syncml.dm+xml": {
++    "source": "iana",
++    "extensions": ["xdm"]
++  },
++  "application/vnd.syncml.dm.notification": {
++    "source": "iana"
++  },
++  "application/vnd.syncml.dmddf+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.syncml.dmddf+xml": {
++    "source": "iana"
++  },
++  "application/vnd.syncml.dmtnds+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.syncml.dmtnds+xml": {
++    "source": "iana"
++  },
++  "application/vnd.syncml.ds.notification": {
++    "source": "iana"
++  },
++  "application/vnd.tao.intent-module-archive": {
++    "source": "iana",
++    "extensions": ["tao"]
++  },
++  "application/vnd.tcpdump.pcap": {
++    "source": "iana",
++    "extensions": ["pcap","cap","dmp"]
++  },
++  "application/vnd.tmobile-livetv": {
++    "source": "iana",
++    "extensions": ["tmo"]
++  },
++  "application/vnd.trid.tpt": {
++    "source": "iana",
++    "extensions": ["tpt"]
++  },
++  "application/vnd.triscape.mxs": {
++    "source": "iana",
++    "extensions": ["mxs"]
++  },
++  "application/vnd.trueapp": {
++    "source": "iana",
++    "extensions": ["tra"]
++  },
++  "application/vnd.truedoc": {
++    "source": "iana"
++  },
++  "application/vnd.ubisoft.webplayer": {
++    "source": "iana"
++  },
++  "application/vnd.ufdl": {
++    "source": "iana",
++    "extensions": ["ufd","ufdl"]
++  },
++  "application/vnd.uiq.theme": {
++    "source": "iana",
++    "extensions": ["utz"]
++  },
++  "application/vnd.umajin": {
++    "source": "iana",
++    "extensions": ["umj"]
++  },
++  "application/vnd.unity": {
++    "source": "iana",
++    "extensions": ["unityweb"]
++  },
++  "application/vnd.uoml+xml": {
++    "source": "iana",
++    "extensions": ["uoml"]
++  },
++  "application/vnd.uplanet.alert": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.alert-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.bearer-choice": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.bearer-choice-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.cacheop": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.cacheop-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.channel": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.channel-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.list": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.list-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.listcmd": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.listcmd-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.uplanet.signal": {
++    "source": "iana"
++  },
++  "application/vnd.valve.source.material": {
++    "source": "iana"
++  },
++  "application/vnd.vcx": {
++    "source": "iana",
++    "extensions": ["vcx"]
++  },
++  "application/vnd.vd-study": {
++    "source": "iana"
++  },
++  "application/vnd.vectorworks": {
++    "source": "iana"
++  },
++  "application/vnd.verimatrix.vcas": {
++    "source": "iana"
++  },
++  "application/vnd.vidsoft.vidconference": {
++    "source": "iana"
++  },
++  "application/vnd.visio": {
++    "source": "iana",
++    "extensions": ["vsd","vst","vss","vsw"]
++  },
++  "application/vnd.visionary": {
++    "source": "iana",
++    "extensions": ["vis"]
++  },
++  "application/vnd.vividence.scriptfile": {
++    "source": "iana"
++  },
++  "application/vnd.vsf": {
++    "source": "iana",
++    "extensions": ["vsf"]
++  },
++  "application/vnd.wap-slc": {
++    "source": "iana"
++  },
++  "application/vnd.wap-wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.wap.sic": {
++    "source": "iana"
++  },
++  "application/vnd.wap.slc": {
++    "source": "apache"
++  },
++  "application/vnd.wap.wbxml": {
++    "source": "apache",
++    "extensions": ["wbxml"]
++  },
++  "application/vnd.wap.wmlc": {
++    "source": "apache",
++    "extensions": ["wmlc"]
++  },
++  "application/vnd.wap.wmlscriptc": {
++    "source": "iana",
++    "extensions": ["wmlsc"]
++  },
++  "application/vnd.webturbo": {
++    "source": "iana",
++    "extensions": ["wtb"]
++  },
++  "application/vnd.wfa.p2p": {
++    "source": "iana"
++  },
++  "application/vnd.wfa.wsc": {
++    "source": "iana"
++  },
++  "application/vnd.windows.devicepairing": {
++    "source": "iana"
++  },
++  "application/vnd.wmc": {
++    "source": "iana"
++  },
++  "application/vnd.wmf.bootstrap": {
++    "source": "iana"
++  },
++  "application/vnd.wolfram.mathematica": {
++    "source": "iana"
++  },
++  "application/vnd.wolfram.mathematica.package": {
++    "source": "iana"
++  },
++  "application/vnd.wolfram.player": {
++    "source": "iana",
++    "extensions": ["nbp"]
++  },
++  "application/vnd.wordperfect": {
++    "source": "iana",
++    "extensions": ["wpd"]
++  },
++  "application/vnd.wqd": {
++    "source": "iana",
++    "extensions": ["wqd"]
++  },
++  "application/vnd.wrq-hp3000-labelled": {
++    "source": "iana"
++  },
++  "application/vnd.wt.stf": {
++    "source": "iana",
++    "extensions": ["stf"]
++  },
++  "application/vnd.wv.csp+wbxml": {
++    "source": "iana"
++  },
++  "application/vnd.wv.csp+xml": {
++    "source": "iana"
++  },
++  "application/vnd.wv.ssp+xml": {
++    "source": "iana"
++  },
++  "application/vnd.xacml+json": {
++    "source": "iana",
++    "compressible": true
++  },
++  "application/vnd.xara": {
++    "source": "iana",
++    "extensions": ["xar"]
++  },
++  "application/vnd.xfdl": {
++    "source": "iana",
++    "extensions": ["xfdl"]
++  },
++  "application/vnd.xfdl.webform": {
++    "source": "iana"
++  },
++  "application/vnd.xmi+xml": {
++    "source": "iana"
++  },
++  "application/vnd.xmpie.cpkg": {
++    "source": "iana"
++  },
++  "application/vnd.xmpie.dpkg": {
++    "source": "iana"
++  },
++  "application/vnd.xmpie.plan": {
++    "source": "iana"
++  },
++  "application/vnd.xmpie.ppkg": {
++    "source": "iana"
++  },
++  "application/vnd.xmpie.xlim": {
++    "source": "iana"
++  },
++  "application/vnd.yamaha.hv-dic": {
++    "source": "iana",
++    "extensions": ["hvd"]
++  },
++  "application/vnd.yamaha.hv-script": {
++    "source": "iana",
++    "extensions": ["hvs"]
++  },
++  "application/vnd.yamaha.hv-voice": {
++    "source": "iana",
++    "extensions": ["hvp"]
++  },
++  "application/vnd.yamaha.openscoreformat": {
++    "source": "iana",
++    "extensions": ["osf"]
++  },
++  "application/vnd.yamaha.openscoreformat.osfpvg+xml": {
++    "source": "iana",
++    "extensions": ["osfpvg"]
++  },
++  "application/vnd.yamaha.remote-setup": {
++    "source": "iana"
++  },
++  "application/vnd.yamaha.smaf-audio": {
++    "source": "iana",
++    "extensions": ["saf"]
++  },
++  "application/vnd.yamaha.smaf-phrase": {
++    "source": "iana",
++    "extensions": ["spf"]
++  },
++  "application/vnd.yamaha.through-ngn": {
++    "source": "iana"
++  },
++  "application/vnd.yamaha.tunnel-udpencap": {
++    "source": "iana"
++  },
++  "application/vnd.yaoweme": {
++    "source": "iana"
++  },
++  "application/vnd.yellowriver-custom-menu": {
++    "source": "iana",
++    "extensions": ["cmp"]
++  },
++  "application/vnd.zul": {
++    "source": "iana",
++    "extensions": ["zir","zirz"]
++  },
++  "application/vnd.zzazz.deck+xml": {
++    "source": "iana",
++    "extensions": ["zaz"]
++  },
++  "application/voicexml+xml": {
++    "source": "iana",
++    "extensions": ["vxml"]
++  },
++  "application/vq-rtcpxr": {
++    "source": "iana"
++  },
++  "application/vwg-multiplexed": {
++    "source": "iana"
++  },
++  "application/watcherinfo+xml": {
++    "source": "iana"
++  },
++  "application/whoispp-query": {
++    "source": "iana"
++  },
++  "application/whoispp-response": {
++    "source": "iana"
++  },
++  "application/widget": {
++    "source": "iana",
++    "extensions": ["wgt"]
++  },
++  "application/winhlp": {
++    "source": "apache",
++    "extensions": ["hlp"]
++  },
++  "application/wita": {
++    "source": "iana"
++  },
++  "application/wordperfect5.1": {
++    "source": "iana"
++  },
++  "application/wsdl+xml": {
++    "source": "iana",
++    "extensions": ["wsdl"]
++  },
++  "application/wspolicy+xml": {
++    "source": "iana",
++    "extensions": ["wspolicy"]
++  },
++  "application/x-7z-compressed": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["7z"]
++  },
++  "application/x-abiword": {
++    "source": "apache",
++    "extensions": ["abw"]
++  },
++  "application/x-ace-compressed": {
++    "source": "apache",
++    "extensions": ["ace"]
++  },
++  "application/x-amf": {
++    "source": "apache"
++  },
++  "application/x-apple-diskimage": {
++    "source": "apache",
++    "extensions": ["dmg"]
++  },
++  "application/x-authorware-bin": {
++    "source": "apache",
++    "extensions": ["aab","x32","u32","vox"]
++  },
++  "application/x-authorware-map": {
++    "source": "apache",
++    "extensions": ["aam"]
++  },
++  "application/x-authorware-seg": {
++    "source": "apache",
++    "extensions": ["aas"]
++  },
++  "application/x-bcpio": {
++    "source": "apache",
++    "extensions": ["bcpio"]
++  },
++  "application/x-bittorrent": {
++    "source": "apache",
++    "extensions": ["torrent"]
++  },
++  "application/x-blorb": {
++    "source": "apache",
++    "extensions": ["blb","blorb"]
++  },
++  "application/x-bzip": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["bz"]
++  },
++  "application/x-bzip2": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["bz2","boz"]
++  },
++  "application/x-cbr": {
++    "source": "apache",
++    "extensions": ["cbr","cba","cbt","cbz","cb7"]
++  },
++  "application/x-cdlink": {
++    "source": "apache",
++    "extensions": ["vcd"]
++  },
++  "application/x-cfs-compressed": {
++    "source": "apache",
++    "extensions": ["cfs"]
++  },
++  "application/x-chat": {
++    "source": "apache",
++    "extensions": ["chat"]
++  },
++  "application/x-chess-pgn": {
++    "source": "apache",
++    "extensions": ["pgn"]
++  },
++  "application/x-chrome-extension": {
++    "extensions": ["crx"]
++  },
++  "application/x-compress": {
++    "source": "apache"
++  },
++  "application/x-conference": {
++    "source": "apache",
++    "extensions": ["nsc"]
++  },
++  "application/x-cpio": {
++    "source": "apache",
++    "extensions": ["cpio"]
++  },
++  "application/x-csh": {
++    "source": "apache",
++    "extensions": ["csh"]
++  },
++  "application/x-deb": {
++    "compressible": false
++  },
++  "application/x-debian-package": {
++    "source": "apache",
++    "extensions": ["deb","udeb"]
++  },
++  "application/x-dgc-compressed": {
++    "source": "apache",
++    "extensions": ["dgc"]
++  },
++  "application/x-director": {
++    "source": "apache",
++    "extensions": ["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]
++  },
++  "application/x-doom": {
++    "source": "apache",
++    "extensions": ["wad"]
++  },
++  "application/x-dtbncx+xml": {
++    "source": "apache",
++    "extensions": ["ncx"]
++  },
++  "application/x-dtbook+xml": {
++    "source": "apache",
++    "extensions": ["dtb"]
++  },
++  "application/x-dtbresource+xml": {
++    "source": "apache",
++    "extensions": ["res"]
++  },
++  "application/x-dvi": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["dvi"]
++  },
++  "application/x-envoy": {
++    "source": "apache",
++    "extensions": ["evy"]
++  },
++  "application/x-eva": {
++    "source": "apache",
++    "extensions": ["eva"]
++  },
++  "application/x-font-bdf": {
++    "source": "apache",
++    "extensions": ["bdf"]
++  },
++  "application/x-font-dos": {
++    "source": "apache"
++  },
++  "application/x-font-framemaker": {
++    "source": "apache"
++  },
++  "application/x-font-ghostscript": {
++    "source": "apache",
++    "extensions": ["gsf"]
++  },
++  "application/x-font-libgrx": {
++    "source": "apache"
++  },
++  "application/x-font-linux-psf": {
++    "source": "apache",
++    "extensions": ["psf"]
++  },
++  "application/x-font-otf": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["otf"]
++  },
++  "application/x-font-pcf": {
++    "source": "apache",
++    "extensions": ["pcf"]
++  },
++  "application/x-font-snf": {
++    "source": "apache",
++    "extensions": ["snf"]
++  },
++  "application/x-font-speedo": {
++    "source": "apache"
++  },
++  "application/x-font-sunos-news": {
++    "source": "apache"
++  },
++  "application/x-font-ttf": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["ttf","ttc"]
++  },
++  "application/x-font-type1": {
++    "source": "apache",
++    "extensions": ["pfa","pfb","pfm","afm"]
++  },
++  "application/x-font-vfont": {
++    "source": "apache"
++  },
++  "application/x-freearc": {
++    "source": "apache",
++    "extensions": ["arc"]
++  },
++  "application/x-futuresplash": {
++    "source": "apache",
++    "extensions": ["spl"]
++  },
++  "application/x-gca-compressed": {
++    "source": "apache",
++    "extensions": ["gca"]
++  },
++  "application/x-glulx": {
++    "source": "apache",
++    "extensions": ["ulx"]
++  },
++  "application/x-gnumeric": {
++    "source": "apache",
++    "extensions": ["gnumeric"]
++  },
++  "application/x-gramps-xml": {
++    "source": "apache",
++    "extensions": ["gramps"]
++  },
++  "application/x-gtar": {
++    "source": "apache",
++    "extensions": ["gtar"]
++  },
++  "application/x-gzip": {
++    "source": "apache"
++  },
++  "application/x-hdf": {
++    "source": "apache",
++    "extensions": ["hdf"]
++  },
++  "application/x-install-instructions": {
++    "source": "apache",
++    "extensions": ["install"]
++  },
++  "application/x-iso9660-image": {
++    "source": "apache",
++    "extensions": ["iso"]
++  },
++  "application/x-java-jnlp-file": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["jnlp"]
++  },
++  "application/x-javascript": {
++    "compressible": true
++  },
++  "application/x-latex": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["latex"]
++  },
++  "application/x-lua-bytecode": {
++    "extensions": ["luac"]
++  },
++  "application/x-lzh-compressed": {
++    "source": "apache",
++    "extensions": ["lzh","lha"]
++  },
++  "application/x-mie": {
++    "source": "apache",
++    "extensions": ["mie"]
++  },
++  "application/x-mobipocket-ebook": {
++    "source": "apache",
++    "extensions": ["prc","mobi"]
++  },
++  "application/x-mpegurl": {
++    "compressible": false
++  },
++  "application/x-ms-application": {
++    "source": "apache",
++    "extensions": ["application"]
++  },
++  "application/x-ms-shortcut": {
++    "source": "apache",
++    "extensions": ["lnk"]
++  },
++  "application/x-ms-wmd": {
++    "source": "apache",
++    "extensions": ["wmd"]
++  },
++  "application/x-ms-wmz": {
++    "source": "apache",
++    "extensions": ["wmz"]
++  },
++  "application/x-ms-xbap": {
++    "source": "apache",
++    "extensions": ["xbap"]
++  },
++  "application/x-msaccess": {
++    "source": "apache",
++    "extensions": ["mdb"]
++  },
++  "application/x-msbinder": {
++    "source": "apache",
++    "extensions": ["obd"]
++  },
++  "application/x-mscardfile": {
++    "source": "apache",
++    "extensions": ["crd"]
++  },
++  "application/x-msclip": {
++    "source": "apache",
++    "extensions": ["clp"]
++  },
++  "application/x-msdownload": {
++    "source": "apache",
++    "extensions": ["exe","dll","com","bat","msi"]
++  },
++  "application/x-msmediaview": {
++    "source": "apache",
++    "extensions": ["mvb","m13","m14"]
++  },
++  "application/x-msmetafile": {
++    "source": "apache",
++    "extensions": ["wmf","wmz","emf","emz"]
++  },
++  "application/x-msmoney": {
++    "source": "apache",
++    "extensions": ["mny"]
++  },
++  "application/x-mspublisher": {
++    "source": "apache",
++    "extensions": ["pub"]
++  },
++  "application/x-msschedule": {
++    "source": "apache",
++    "extensions": ["scd"]
++  },
++  "application/x-msterminal": {
++    "source": "apache",
++    "extensions": ["trm"]
++  },
++  "application/x-mswrite": {
++    "source": "apache",
++    "extensions": ["wri"]
++  },
++  "application/x-netcdf": {
++    "source": "apache",
++    "extensions": ["nc","cdf"]
++  },
++  "application/x-nzb": {
++    "source": "apache",
++    "extensions": ["nzb"]
++  },
++  "application/x-pkcs12": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["p12","pfx"]
++  },
++  "application/x-pkcs7-certificates": {
++    "source": "apache",
++    "extensions": ["p7b","spc"]
++  },
++  "application/x-pkcs7-certreqresp": {
++    "source": "apache",
++    "extensions": ["p7r"]
++  },
++  "application/x-rar-compressed": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["rar"]
++  },
++  "application/x-research-info-systems": {
++    "source": "apache",
++    "extensions": ["ris"]
++  },
++  "application/x-sh": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["sh"]
++  },
++  "application/x-shar": {
++    "source": "apache",
++    "extensions": ["shar"]
++  },
++  "application/x-shockwave-flash": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["swf"]
++  },
++  "application/x-silverlight-app": {
++    "source": "apache",
++    "extensions": ["xap"]
++  },
++  "application/x-sql": {
++    "source": "apache",
++    "extensions": ["sql"]
++  },
++  "application/x-stuffit": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["sit"]
++  },
++  "application/x-stuffitx": {
++    "source": "apache",
++    "extensions": ["sitx"]
++  },
++  "application/x-subrip": {
++    "source": "apache",
++    "extensions": ["srt"]
++  },
++  "application/x-sv4cpio": {
++    "source": "apache",
++    "extensions": ["sv4cpio"]
++  },
++  "application/x-sv4crc": {
++    "source": "apache",
++    "extensions": ["sv4crc"]
++  },
++  "application/x-t3vm-image": {
++    "source": "apache",
++    "extensions": ["t3"]
++  },
++  "application/x-tads": {
++    "source": "apache",
++    "extensions": ["gam"]
++  },
++  "application/x-tar": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["tar"]
++  },
++  "application/x-tcl": {
++    "source": "apache",
++    "extensions": ["tcl"]
++  },
++  "application/x-tex": {
++    "source": "apache",
++    "extensions": ["tex"]
++  },
++  "application/x-tex-tfm": {
++    "source": "apache",
++    "extensions": ["tfm"]
++  },
++  "application/x-texinfo": {
++    "source": "apache",
++    "extensions": ["texinfo","texi"]
++  },
++  "application/x-tgif": {
++    "source": "apache",
++    "extensions": ["obj"]
++  },
++  "application/x-ustar": {
++    "source": "apache",
++    "extensions": ["ustar"]
++  },
++  "application/x-wais-source": {
++    "source": "apache",
++    "extensions": ["src"]
++  },
++  "application/x-web-app-manifest+json": {
++    "compressible": true,
++    "extensions": ["webapp"]
++  },
++  "application/x-www-form-urlencode": {
++    "compressible": false
++  },
++  "application/x-www-form-urlencoded": {
++    "source": "iana"
++  },
++  "application/x-x509-ca-cert": {
++    "source": "apache",
++    "extensions": ["der","crt"]
++  },
++  "application/x-xfig": {
++    "source": "apache",
++    "extensions": ["fig"]
++  },
++  "application/x-xliff+xml": {
++    "source": "apache",
++    "extensions": ["xlf"]
++  },
++  "application/x-xpinstall": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["xpi"]
++  },
++  "application/x-xz": {
++    "source": "apache",
++    "extensions": ["xz"]
++  },
++  "application/x-zmachine": {
++    "source": "apache",
++    "extensions": ["z1","z2","z3","z4","z5","z6","z7","z8"]
++  },
++  "application/x400-bp": {
++    "source": "iana"
++  },
++  "application/xacml+xml": {
++    "source": "iana"
++  },
++  "application/xaml+xml": {
++    "source": "apache",
++    "extensions": ["xaml"]
++  },
++  "application/xcap-att+xml": {
++    "source": "iana"
++  },
++  "application/xcap-caps+xml": {
++    "source": "iana"
++  },
++  "application/xcap-diff+xml": {
++    "source": "iana",
++    "extensions": ["xdf"]
++  },
++  "application/xcap-el+xml": {
++    "source": "iana"
++  },
++  "application/xcap-error+xml": {
++    "source": "iana"
++  },
++  "application/xcap-ns+xml": {
++    "source": "iana"
++  },
++  "application/xcon-conference-info+xml": {
++    "source": "iana"
++  },
++  "application/xcon-conference-info-diff+xml": {
++    "source": "iana"
++  },
++  "application/xenc+xml": {
++    "source": "iana",
++    "extensions": ["xenc"]
++  },
++  "application/xhtml+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["xhtml","xht"]
++  },
++  "application/xhtml-voice+xml": {
++    "source": "iana"
++  },
++  "application/xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["xml","xsl","xsd"]
++  },
++  "application/xml-dtd": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["dtd"]
++  },
++  "application/xml-external-parsed-entity": {
++    "source": "iana"
++  },
++  "application/xml-patch+xml": {
++    "source": "iana"
++  },
++  "application/xmpp+xml": {
++    "source": "iana"
++  },
++  "application/xop+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["xop"]
++  },
++  "application/xproc+xml": {
++    "source": "apache",
++    "extensions": ["xpl"]
++  },
++  "application/xslt+xml": {
++    "source": "iana",
++    "extensions": ["xslt"]
++  },
++  "application/xspf+xml": {
++    "source": "apache",
++    "extensions": ["xspf"]
++  },
++  "application/xv+xml": {
++    "source": "iana",
++    "extensions": ["mxml","xhvml","xvml","xvm"]
++  },
++  "application/yang": {
++    "source": "iana",
++    "extensions": ["yang"]
++  },
++  "application/yin+xml": {
++    "source": "iana",
++    "extensions": ["yin"]
++  },
++  "application/zip": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["zip"]
++  },
++  "application/zlib": {
++    "source": "iana"
++  },
++  "audio/1d-interleaved-parityfec": {
++    "source": "iana"
++  },
++  "audio/32kadpcm": {
++    "source": "iana"
++  },
++  "audio/3gpp": {
++    "source": "iana"
++  },
++  "audio/3gpp2": {
++    "source": "iana"
++  },
++  "audio/ac3": {
++    "source": "iana"
++  },
++  "audio/adpcm": {
++    "source": "apache",
++    "extensions": ["adp"]
++  },
++  "audio/amr": {
++    "source": "iana"
++  },
++  "audio/amr-wb": {
++    "source": "iana"
++  },
++  "audio/amr-wb+": {
++    "source": "iana"
++  },
++  "audio/aptx": {
++    "source": "iana"
++  },
++  "audio/asc": {
++    "source": "iana"
++  },
++  "audio/atrac-advanced-lossless": {
++    "source": "iana"
++  },
++  "audio/atrac-x": {
++    "source": "iana"
++  },
++  "audio/atrac3": {
++    "source": "iana"
++  },
++  "audio/basic": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["au","snd"]
++  },
++  "audio/bv16": {
++    "source": "iana"
++  },
++  "audio/bv32": {
++    "source": "iana"
++  },
++  "audio/clearmode": {
++    "source": "iana"
++  },
++  "audio/cn": {
++    "source": "iana"
++  },
++  "audio/dat12": {
++    "source": "iana"
++  },
++  "audio/dls": {
++    "source": "iana"
++  },
++  "audio/dsr-es201108": {
++    "source": "iana"
++  },
++  "audio/dsr-es202050": {
++    "source": "iana"
++  },
++  "audio/dsr-es202211": {
++    "source": "iana"
++  },
++  "audio/dsr-es202212": {
++    "source": "iana"
++  },
++  "audio/dv": {
++    "source": "iana"
++  },
++  "audio/dvi4": {
++    "source": "iana"
++  },
++  "audio/eac3": {
++    "source": "iana"
++  },
++  "audio/encaprtp": {
++    "source": "iana"
++  },
++  "audio/evrc": {
++    "source": "iana"
++  },
++  "audio/evrc-qcp": {
++    "source": "iana"
++  },
++  "audio/evrc0": {
++    "source": "iana"
++  },
++  "audio/evrc1": {
++    "source": "iana"
++  },
++  "audio/evrcb": {
++    "source": "iana"
++  },
++  "audio/evrcb0": {
++    "source": "iana"
++  },
++  "audio/evrcb1": {
++    "source": "iana"
++  },
++  "audio/evrcnw": {
++    "source": "iana"
++  },
++  "audio/evrcnw0": {
++    "source": "iana"
++  },
++  "audio/evrcnw1": {
++    "source": "iana"
++  },
++  "audio/evrcwb": {
++    "source": "iana"
++  },
++  "audio/evrcwb0": {
++    "source": "iana"
++  },
++  "audio/evrcwb1": {
++    "source": "iana"
++  },
++  "audio/example": {
++    "source": "iana"
++  },
++  "audio/fwdred": {
++    "source": "iana"
++  },
++  "audio/g719": {
++    "source": "iana"
++  },
++  "audio/g721": {
++    "source": "iana"
++  },
++  "audio/g722": {
++    "source": "iana"
++  },
++  "audio/g7221": {
++    "source": "apache"
++  },
++  "audio/g723": {
++    "source": "iana"
++  },
++  "audio/g726-16": {
++    "source": "iana"
++  },
++  "audio/g726-24": {
++    "source": "iana"
++  },
++  "audio/g726-32": {
++    "source": "iana"
++  },
++  "audio/g726-40": {
++    "source": "iana"
++  },
++  "audio/g728": {
++    "source": "iana"
++  },
++  "audio/g729": {
++    "source": "iana"
++  },
++  "audio/g7291": {
++    "source": "iana"
++  },
++  "audio/g729d": {
++    "source": "iana"
++  },
++  "audio/g729e": {
++    "source": "iana"
++  },
++  "audio/gsm": {
++    "source": "iana"
++  },
++  "audio/gsm-efr": {
++    "source": "iana"
++  },
++  "audio/gsm-hr-08": {
++    "source": "iana"
++  },
++  "audio/ilbc": {
++    "source": "iana"
++  },
++  "audio/ip-mr_v2.5": {
++    "source": "iana"
++  },
++  "audio/isac": {
++    "source": "apache"
++  },
++  "audio/l16": {
++    "source": "iana"
++  },
++  "audio/l20": {
++    "source": "iana"
++  },
++  "audio/l24": {
++    "source": "iana",
++    "compressible": false
++  },
++  "audio/l8": {
++    "source": "iana"
++  },
++  "audio/lpc": {
++    "source": "iana"
++  },
++  "audio/midi": {
++    "source": "apache",
++    "extensions": ["mid","midi","kar","rmi"]
++  },
++  "audio/mobile-xmf": {
++    "source": "iana"
++  },
++  "audio/mp4": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["mp4a","m4a"]
++  },
++  "audio/mp4a-latm": {
++    "source": "iana"
++  },
++  "audio/mpa": {
++    "source": "iana"
++  },
++  "audio/mpa-robust": {
++    "source": "iana"
++  },
++  "audio/mpeg": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["mpga","mp2","mp2a","mp3","m2a","m3a"]
++  },
++  "audio/mpeg4-generic": {
++    "source": "iana"
++  },
++  "audio/musepack": {
++    "source": "apache"
++  },
++  "audio/ogg": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["oga","ogg","spx"]
++  },
++  "audio/opus": {
++    "source": "apache"
++  },
++  "audio/parityfec": {
++    "source": "iana"
++  },
++  "audio/pcma": {
++    "source": "iana"
++  },
++  "audio/pcma-wb": {
++    "source": "iana"
++  },
++  "audio/pcmu": {
++    "source": "iana"
++  },
++  "audio/pcmu-wb": {
++    "source": "iana"
++  },
++  "audio/prs.sid": {
++    "source": "iana"
++  },
++  "audio/qcelp": {
++    "source": "iana"
++  },
++  "audio/raptorfec": {
++    "source": "iana"
++  },
++  "audio/red": {
++    "source": "iana"
++  },
++  "audio/rtp-enc-aescm128": {
++    "source": "iana"
++  },
++  "audio/rtp-midi": {
++    "source": "iana"
++  },
++  "audio/rtploopback": {
++    "source": "iana"
++  },
++  "audio/rtx": {
++    "source": "iana"
++  },
++  "audio/s3m": {
++    "source": "apache",
++    "extensions": ["s3m"]
++  },
++  "audio/silk": {
++    "source": "apache",
++    "extensions": ["sil"]
++  },
++  "audio/smv": {
++    "source": "iana"
++  },
++  "audio/smv-qcp": {
++    "source": "iana"
++  },
++  "audio/smv0": {
++    "source": "iana"
++  },
++  "audio/sp-midi": {
++    "source": "iana"
++  },
++  "audio/speex": {
++    "source": "iana"
++  },
++  "audio/t140c": {
++    "source": "iana"
++  },
++  "audio/t38": {
++    "source": "iana"
++  },
++  "audio/telephone-event": {
++    "source": "iana"
++  },
++  "audio/tone": {
++    "source": "iana"
++  },
++  "audio/uemclip": {
++    "source": "iana"
++  },
++  "audio/ulpfec": {
++    "source": "iana"
++  },
++  "audio/vdvi": {
++    "source": "iana"
++  },
++  "audio/vmr-wb": {
++    "source": "iana"
++  },
++  "audio/vnd.3gpp.iufp": {
++    "source": "iana"
++  },
++  "audio/vnd.4sb": {
++    "source": "iana"
++  },
++  "audio/vnd.audiokoz": {
++    "source": "iana"
++  },
++  "audio/vnd.celp": {
++    "source": "iana"
++  },
++  "audio/vnd.cisco.nse": {
++    "source": "iana"
++  },
++  "audio/vnd.cmles.radio-events": {
++    "source": "iana"
++  },
++  "audio/vnd.cns.anp1": {
++    "source": "iana"
++  },
++  "audio/vnd.cns.inf1": {
++    "source": "iana"
++  },
++  "audio/vnd.dece.audio": {
++    "source": "iana",
++    "extensions": ["uva","uvva"]
++  },
++  "audio/vnd.digital-winds": {
++    "source": "iana",
++    "extensions": ["eol"]
++  },
++  "audio/vnd.dlna.adts": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.heaac.1": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.heaac.2": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.mlp": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.mps": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.pl2": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.pl2x": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.pl2z": {
++    "source": "iana"
++  },
++  "audio/vnd.dolby.pulse.1": {
++    "source": "iana"
++  },
++  "audio/vnd.dra": {
++    "source": "iana",
++    "extensions": ["dra"]
++  },
++  "audio/vnd.dts": {
++    "source": "iana",
++    "extensions": ["dts"]
++  },
++  "audio/vnd.dts.hd": {
++    "source": "iana",
++    "extensions": ["dtshd"]
++  },
++  "audio/vnd.dvb.file": {
++    "source": "iana"
++  },
++  "audio/vnd.everad.plj": {
++    "source": "iana"
++  },
++  "audio/vnd.hns.audio": {
++    "source": "iana"
++  },
++  "audio/vnd.lucent.voice": {
++    "source": "iana",
++    "extensions": ["lvp"]
++  },
++  "audio/vnd.ms-playready.media.pya": {
++    "source": "iana",
++    "extensions": ["pya"]
++  },
++  "audio/vnd.nokia.mobile-xmf": {
++    "source": "iana"
++  },
++  "audio/vnd.nortel.vbk": {
++    "source": "iana"
++  },
++  "audio/vnd.nuera.ecelp4800": {
++    "source": "iana",
++    "extensions": ["ecelp4800"]
++  },
++  "audio/vnd.nuera.ecelp7470": {
++    "source": "iana",
++    "extensions": ["ecelp7470"]
++  },
++  "audio/vnd.nuera.ecelp9600": {
++    "source": "iana",
++    "extensions": ["ecelp9600"]
++  },
++  "audio/vnd.octel.sbc": {
++    "source": "iana"
++  },
++  "audio/vnd.qcelp": {
++    "source": "iana"
++  },
++  "audio/vnd.rhetorex.32kadpcm": {
++    "source": "iana"
++  },
++  "audio/vnd.rip": {
++    "source": "iana",
++    "extensions": ["rip"]
++  },
++  "audio/vnd.rn-realaudio": {
++    "compressible": false
++  },
++  "audio/vnd.sealedmedia.softseal-mpeg": {
++    "source": "iana"
++  },
++  "audio/vnd.sealedmedia.softseal.mpeg": {
++    "source": "apache"
++  },
++  "audio/vnd.vmx.cvsd": {
++    "source": "iana"
++  },
++  "audio/vnd.wave": {
++    "compressible": false
++  },
++  "audio/vorbis": {
++    "source": "iana",
++    "compressible": false
++  },
++  "audio/vorbis-config": {
++    "source": "iana"
++  },
++  "audio/webm": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["weba"]
++  },
++  "audio/x-aac": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["aac"]
++  },
++  "audio/x-aiff": {
++    "source": "apache",
++    "extensions": ["aif","aiff","aifc"]
++  },
++  "audio/x-caf": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["caf"]
++  },
++  "audio/x-flac": {
++    "source": "apache",
++    "extensions": ["flac"]
++  },
++  "audio/x-matroska": {
++    "source": "apache",
++    "extensions": ["mka"]
++  },
++  "audio/x-mpegurl": {
++    "source": "apache",
++    "extensions": ["m3u"]
++  },
++  "audio/x-ms-wax": {
++    "source": "apache",
++    "extensions": ["wax"]
++  },
++  "audio/x-ms-wma": {
++    "source": "apache",
++    "extensions": ["wma"]
++  },
++  "audio/x-pn-realaudio": {
++    "source": "apache",
++    "extensions": ["ram","ra"]
++  },
++  "audio/x-pn-realaudio-plugin": {
++    "source": "apache",
++    "extensions": ["rmp"]
++  },
++  "audio/x-tta": {
++    "source": "apache"
++  },
++  "audio/x-wav": {
++    "source": "apache",
++    "extensions": ["wav"]
++  },
++  "audio/xm": {
++    "source": "apache",
++    "extensions": ["xm"]
++  },
++  "chemical/x-cdx": {
++    "source": "apache",
++    "extensions": ["cdx"]
++  },
++  "chemical/x-cif": {
++    "source": "apache",
++    "extensions": ["cif"]
++  },
++  "chemical/x-cmdf": {
++    "source": "apache",
++    "extensions": ["cmdf"]
++  },
++  "chemical/x-cml": {
++    "source": "apache",
++    "extensions": ["cml"]
++  },
++  "chemical/x-csml": {
++    "source": "apache",
++    "extensions": ["csml"]
++  },
++  "chemical/x-pdb": {
++    "source": "apache"
++  },
++  "chemical/x-xyz": {
++    "source": "apache",
++    "extensions": ["xyz"]
++  },
++  "font/opentype": {
++    "compressible": true,
++    "extensions": ["otf"]
++  },
++  "image/bmp": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["bmp"]
++  },
++  "image/cgm": {
++    "source": "iana",
++    "extensions": ["cgm"]
++  },
++  "image/example": {
++    "source": "iana"
++  },
++  "image/fits": {
++    "source": "iana"
++  },
++  "image/g3fax": {
++    "source": "iana",
++    "extensions": ["g3"]
++  },
++  "image/gif": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["gif"]
++  },
++  "image/ief": {
++    "source": "iana",
++    "extensions": ["ief"]
++  },
++  "image/jp2": {
++    "source": "iana"
++  },
++  "image/jpeg": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["jpeg","jpg","jpe"]
++  },
++  "image/jpm": {
++    "source": "iana"
++  },
++  "image/jpx": {
++    "source": "iana"
++  },
++  "image/ktx": {
++    "source": "iana",
++    "extensions": ["ktx"]
++  },
++  "image/naplps": {
++    "source": "iana"
++  },
++  "image/pjpeg": {
++    "compressible": false
++  },
++  "image/png": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["png"]
++  },
++  "image/prs.btif": {
++    "source": "iana",
++    "extensions": ["btif"]
++  },
++  "image/prs.pti": {
++    "source": "iana"
++  },
++  "image/pwg-raster": {
++    "source": "iana"
++  },
++  "image/sgi": {
++    "source": "apache",
++    "extensions": ["sgi"]
++  },
++  "image/svg+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["svg","svgz"]
++  },
++  "image/t38": {
++    "source": "iana"
++  },
++  "image/tiff": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["tiff","tif"]
++  },
++  "image/tiff-fx": {
++    "source": "iana"
++  },
++  "image/vnd-djvu": {
++    "source": "iana"
++  },
++  "image/vnd-svf": {
++    "source": "iana"
++  },
++  "image/vnd-wap-wbmp": {
++    "source": "iana"
++  },
++  "image/vnd.adobe.photoshop": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["psd"]
++  },
++  "image/vnd.airzip.accelerator.azv": {
++    "source": "iana"
++  },
++  "image/vnd.cns.inf2": {
++    "source": "iana"
++  },
++  "image/vnd.dece.graphic": {
++    "source": "iana",
++    "extensions": ["uvi","uvvi","uvg","uvvg"]
++  },
++  "image/vnd.djvu": {
++    "source": "apache",
++    "extensions": ["djvu","djv"]
++  },
++  "image/vnd.dvb.subtitle": {
++    "source": "iana",
++    "extensions": ["sub"]
++  },
++  "image/vnd.dwg": {
++    "source": "iana",
++    "extensions": ["dwg"]
++  },
++  "image/vnd.dxf": {
++    "source": "iana",
++    "extensions": ["dxf"]
++  },
++  "image/vnd.fastbidsheet": {
++    "source": "iana",
++    "extensions": ["fbs"]
++  },
++  "image/vnd.fpx": {
++    "source": "iana",
++    "extensions": ["fpx"]
++  },
++  "image/vnd.fst": {
++    "source": "iana",
++    "extensions": ["fst"]
++  },
++  "image/vnd.fujixerox.edmics-mmr": {
++    "source": "iana",
++    "extensions": ["mmr"]
++  },
++  "image/vnd.fujixerox.edmics-rlc": {
++    "source": "iana",
++    "extensions": ["rlc"]
++  },
++  "image/vnd.globalgraphics.pgb": {
++    "source": "iana"
++  },
++  "image/vnd.microsoft.icon": {
++    "source": "iana"
++  },
++  "image/vnd.mix": {
++    "source": "iana"
++  },
++  "image/vnd.ms-modi": {
++    "source": "iana",
++    "extensions": ["mdi"]
++  },
++  "image/vnd.ms-photo": {
++    "source": "apache",
++    "extensions": ["wdp"]
++  },
++  "image/vnd.net-fpx": {
++    "source": "iana",
++    "extensions": ["npx"]
++  },
++  "image/vnd.radiance": {
++    "source": "iana"
++  },
++  "image/vnd.sealed-png": {
++    "source": "iana"
++  },
++  "image/vnd.sealed.png": {
++    "source": "apache"
++  },
++  "image/vnd.sealedmedia.softseal-gif": {
++    "source": "iana"
++  },
++  "image/vnd.sealedmedia.softseal-jpg": {
++    "source": "iana"
++  },
++  "image/vnd.sealedmedia.softseal.gif": {
++    "source": "apache"
++  },
++  "image/vnd.sealedmedia.softseal.jpg": {
++    "source": "apache"
++  },
++  "image/vnd.svf": {
++    "source": "apache"
++  },
++  "image/vnd.tencent.tap": {
++    "source": "iana"
++  },
++  "image/vnd.valve.source.texture": {
++    "source": "iana"
++  },
++  "image/vnd.wap.wbmp": {
++    "source": "apache",
++    "extensions": ["wbmp"]
++  },
++  "image/vnd.xiff": {
++    "source": "iana",
++    "extensions": ["xif"]
++  },
++  "image/webp": {
++    "source": "apache",
++    "extensions": ["webp"]
++  },
++  "image/x-3ds": {
++    "source": "apache",
++    "extensions": ["3ds"]
++  },
++  "image/x-cmu-raster": {
++    "source": "apache",
++    "extensions": ["ras"]
++  },
++  "image/x-cmx": {
++    "source": "apache",
++    "extensions": ["cmx"]
++  },
++  "image/x-freehand": {
++    "source": "apache",
++    "extensions": ["fh","fhc","fh4","fh5","fh7"]
++  },
++  "image/x-icon": {
++    "source": "apache",
++    "compressible": true,
++    "extensions": ["ico"]
++  },
++  "image/x-mrsid-image": {
++    "source": "apache",
++    "extensions": ["sid"]
++  },
++  "image/x-pcx": {
++    "source": "apache",
++    "extensions": ["pcx"]
++  },
++  "image/x-pict": {
++    "source": "apache",
++    "extensions": ["pic","pct"]
++  },
++  "image/x-portable-anymap": {
++    "source": "apache",
++    "extensions": ["pnm"]
++  },
++  "image/x-portable-bitmap": {
++    "source": "apache",
++    "extensions": ["pbm"]
++  },
++  "image/x-portable-graymap": {
++    "source": "apache",
++    "extensions": ["pgm"]
++  },
++  "image/x-portable-pixmap": {
++    "source": "apache",
++    "extensions": ["ppm"]
++  },
++  "image/x-rgb": {
++    "source": "apache",
++    "extensions": ["rgb"]
++  },
++  "image/x-tga": {
++    "source": "apache",
++    "extensions": ["tga"]
++  },
++  "image/x-xbitmap": {
++    "source": "apache",
++    "extensions": ["xbm"]
++  },
++  "image/x-xcf": {
++    "compressible": false
++  },
++  "image/x-xpixmap": {
++    "source": "apache",
++    "extensions": ["xpm"]
++  },
++  "image/x-xwindowdump": {
++    "source": "apache",
++    "extensions": ["xwd"]
++  },
++  "message/cpim": {
++    "source": "iana"
++  },
++  "message/delivery-status": {
++    "source": "iana"
++  },
++  "message/disposition-notification": {
++    "source": "iana"
++  },
++  "message/example": {
++    "source": "iana"
++  },
++  "message/external-body": {
++    "source": "iana"
++  },
++  "message/feedback-report": {
++    "source": "iana"
++  },
++  "message/global": {
++    "source": "iana"
++  },
++  "message/global-delivery-status": {
++    "source": "iana"
++  },
++  "message/global-disposition-notification": {
++    "source": "iana"
++  },
++  "message/global-headers": {
++    "source": "iana"
++  },
++  "message/http": {
++    "source": "iana",
++    "compressible": false
++  },
++  "message/imdn+xml": {
++    "source": "iana",
++    "compressible": true
++  },
++  "message/news": {
++    "source": "iana"
++  },
++  "message/partial": {
++    "source": "iana",
++    "compressible": false
++  },
++  "message/rfc822": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["eml","mime"]
++  },
++  "message/s-http": {
++    "source": "iana"
++  },
++  "message/sip": {
++    "source": "iana"
++  },
++  "message/sipfrag": {
++    "source": "iana"
++  },
++  "message/tracking-status": {
++    "source": "iana"
++  },
++  "message/vnd.si.simp": {
++    "source": "iana"
++  },
++  "message/vnd.wfa.wsc": {
++    "source": "iana"
++  },
++  "model/example": {
++    "source": "iana",
++    "compressible": false
++  },
++  "model/iges": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["igs","iges"]
++  },
++  "model/mesh": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["msh","mesh","silo"]
++  },
++  "model/vnd-dwf": {
++    "source": "iana"
++  },
++  "model/vnd.collada+xml": {
++    "source": "iana",
++    "extensions": ["dae"]
++  },
++  "model/vnd.dwf": {
++    "source": "apache",
++    "extensions": ["dwf"]
++  },
++  "model/vnd.flatland.3dml": {
++    "source": "iana"
++  },
++  "model/vnd.gdl": {
++    "source": "iana",
++    "extensions": ["gdl"]
++  },
++  "model/vnd.gs-gdl": {
++    "source": "iana"
++  },
++  "model/vnd.gs.gdl": {
++    "source": "apache"
++  },
++  "model/vnd.gtw": {
++    "source": "iana",
++    "extensions": ["gtw"]
++  },
++  "model/vnd.moml+xml": {
++    "source": "iana"
++  },
++  "model/vnd.mts": {
++    "source": "iana",
++    "extensions": ["mts"]
++  },
++  "model/vnd.opengex": {
++    "source": "iana"
++  },
++  "model/vnd.parasolid.transmit-binary": {
++    "source": "iana"
++  },
++  "model/vnd.parasolid.transmit-text": {
++    "source": "iana"
++  },
++  "model/vnd.parasolid.transmit.binary": {
++    "source": "apache"
++  },
++  "model/vnd.parasolid.transmit.text": {
++    "source": "apache"
++  },
++  "model/vnd.valve.source.compiled-map": {
++    "source": "iana"
++  },
++  "model/vnd.vtu": {
++    "source": "iana",
++    "extensions": ["vtu"]
++  },
++  "model/vrml": {
++    "source": "iana",
++    "compressible": false,
++    "extensions": ["wrl","vrml"]
++  },
++  "model/x3d+binary": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["x3db","x3dbz"]
++  },
++  "model/x3d+fastinfoset": {
++    "source": "iana"
++  },
++  "model/x3d+vrml": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["x3dv","x3dvz"]
++  },
++  "model/x3d+xml": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["x3d","x3dz"]
++  },
++  "model/x3d-vrml": {
++    "source": "iana"
++  },
++  "multipart/alternative": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/appledouble": {
++    "source": "iana"
++  },
++  "multipart/byteranges": {
++    "source": "iana"
++  },
++  "multipart/digest": {
++    "source": "iana"
++  },
++  "multipart/encrypted": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/example": {
++    "source": "iana"
++  },
++  "multipart/form-data": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/header-set": {
++    "source": "iana"
++  },
++  "multipart/mixed": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/parallel": {
++    "source": "iana"
++  },
++  "multipart/related": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/report": {
++    "source": "iana"
++  },
++  "multipart/signed": {
++    "source": "iana",
++    "compressible": false
++  },
++  "multipart/voice-message": {
++    "source": "iana"
++  },
++  "multipart/x-mixed-replace": {
++    "source": "iana"
++  },
++  "text/1d-interleaved-parityfec": {
++    "source": "iana"
++  },
++  "text/cache-manifest": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["appcache","manifest"]
++  },
++  "text/calendar": {
++    "source": "iana",
++    "extensions": ["ics","ifb"]
++  },
++  "text/calender": {
++    "compressible": true
++  },
++  "text/cmd": {
++    "compressible": true
++  },
++  "text/coffeescript": {
++    "extensions": ["coffee"]
++  },
++  "text/css": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["css"]
++  },
++  "text/csv": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["csv"]
++  },
++  "text/directory": {
++    "source": "iana"
++  },
++  "text/dns": {
++    "source": "iana"
++  },
++  "text/ecmascript": {
++    "source": "iana"
++  },
++  "text/encaprtp": {
++    "source": "iana"
++  },
++  "text/enriched": {
++    "source": "iana"
++  },
++  "text/example": {
++    "source": "iana"
++  },
++  "text/fwdred": {
++    "source": "iana"
++  },
++  "text/grammar-ref-list": {
++    "source": "iana"
++  },
++  "text/html": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["html","htm"]
++  },
++  "text/jade": {
++    "extensions": ["jade"]
++  },
++  "text/javascript": {
++    "source": "iana",
++    "compressible": true
++  },
++  "text/jcr-cnd": {
++    "source": "iana"
++  },
++  "text/jsx": {
++    "compressible": true,
++    "extensions": ["jsx"]
++  },
++  "text/less": {
++    "extensions": ["less"]
++  },
++  "text/mizar": {
++    "source": "iana"
++  },
++  "text/n3": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["n3"]
++  },
++  "text/parameters": {
++    "source": "iana"
++  },
++  "text/parityfec": {
++    "source": "iana"
++  },
++  "text/plain": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["txt","text","conf","def","list","log","in","ini"]
++  },
++  "text/provenance-notation": {
++    "source": "iana"
++  },
++  "text/prs.fallenstein.rst": {
++    "source": "iana"
++  },
++  "text/prs.lines.tag": {
++    "source": "iana",
++    "extensions": ["dsc"]
++  },
++  "text/raptorfec": {
++    "source": "iana"
++  },
++  "text/red": {
++    "source": "iana"
++  },
++  "text/rfc822-headers": {
++    "source": "iana"
++  },
++  "text/richtext": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["rtx"]
++  },
++  "text/rtf": {
++    "source": "iana"
++  },
++  "text/rtp-enc-aescm128": {
++    "source": "iana"
++  },
++  "text/rtploopback": {
++    "source": "iana"
++  },
++  "text/rtx": {
++    "source": "iana"
++  },
++  "text/sgml": {
++    "source": "iana",
++    "extensions": ["sgml","sgm"]
++  },
++  "text/stylus": {
++    "extensions": ["stylus","styl"]
++  },
++  "text/t140": {
++    "source": "iana"
++  },
++  "text/tab-separated-values": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["tsv"]
++  },
++  "text/troff": {
++    "source": "iana",
++    "extensions": ["t","tr","roff","man","me","ms"]
++  },
++  "text/turtle": {
++    "source": "iana",
++    "extensions": ["ttl"]
++  },
++  "text/ulpfec": {
++    "source": "iana"
++  },
++  "text/uri-list": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["uri","uris","urls"]
++  },
++  "text/vcard": {
++    "source": "iana",
++    "compressible": true,
++    "extensions": ["vcard"]
++  },
++  "text/vnd-a": {
++    "source": "iana"
++  },
++  "text/vnd-curl": {
++    "source": "iana"
++  },
++  "text/vnd.abc": {
++    "source": "iana"
++  },
++  "text/vnd.curl": {
++    "source": "apache",
++    "extensions": ["curl"]
++  },
++  "text/vnd.curl.dcurl": {
++    "source": "apache",
++    "extensions": ["dcurl"]
++  },
++  "text/vnd.curl.mcurl": {
++    "source": "apache",
++    "extensions": ["mcurl"]
++  },
++  "text/vnd.curl.scurl": {
++    "source": "apache",
++    "extensions": ["scurl"]
++  },
++  "text/vnd.debian.copyright": {
++    "source": "iana"
++  },
++  "text/vnd.dmclientscript": {
++    "source": "iana"
++  },
++  "text/vnd.dvb.subtitle": {
++    "source": "iana",
++    "extensions": ["sub"]
++  },
++  "text/vnd.esmertec.theme-descriptor": {
++    "source": "iana"
++  },
++  "text/vnd.fly": {
++    "source": "iana",
++    "extensions": ["fly"]
++  },
++  "text/vnd.fmi.flexstor": {
++    "source": "iana",
++    "extensions": ["flx"]
++  },
++  "text/vnd.graphviz": {
++    "source": "iana",
++    "extensions": ["gv"]
++  },
++  "text/vnd.in3d.3dml": {
++    "source": "iana",
++    "extensions": ["3dml"]
++  },
++  "text/vnd.in3d.spot": {
++    "source": "iana",
++    "extensions": ["spot"]
++  },
++  "text/vnd.iptc.newsml": {
++    "source": "iana"
++  },
++  "text/vnd.iptc.nitf": {
++    "source": "iana"
++  },
++  "text/vnd.latex-z": {
++    "source": "iana"
++  },
++  "text/vnd.motorola.reflex": {
++    "source": "iana"
++  },
++  "text/vnd.ms-mediapackage": {
++    "source": "iana"
++  },
++  "text/vnd.net2phone.commcenter.command": {
++    "source": "iana"
++  },
++  "text/vnd.radisys.msml-basic-layout": {
++    "source": "iana"
++  },
++  "text/vnd.si.uricatalogue": {
++    "source": "iana"
++  },
++  "text/vnd.sun.j2me.app-descriptor": {
++    "source": "iana",
++    "extensions": ["jad"]
++  },
++  "text/vnd.trolltech.linguist": {
++    "source": "iana"
++  },
++  "text/vnd.wap-wml": {
++    "source": "iana"
++  },
++  "text/vnd.wap.si": {
++    "source": "iana"
++  },
++  "text/vnd.wap.sl": {
++    "source": "iana"
++  },
++  "text/vnd.wap.wml": {
++    "source": "apache",
++    "extensions": ["wml"]
++  },
++  "text/vnd.wap.wmlscript": {
++    "source": "iana",
++    "extensions": ["wmls"]
++  },
++  "text/vtt": {
++    "charset": "UTF-8",
++    "compressible": true,
++    "extensions": ["vtt"]
++  },
++  "text/x-asm": {
++    "source": "apache",
++    "extensions": ["s","asm"]
++  },
++  "text/x-c": {
++    "source": "apache",
++    "extensions": ["c","cc","cxx","cpp","h","hh","dic"]
++  },
++  "text/x-component": {
++    "extensions": ["htc"]
++  },
++  "text/x-fortran": {
++    "source": "apache",
++    "extensions": ["f","for","f77","f90"]
++  },
++  "text/x-gwt-rpc": {
++    "compressible": true
++  },
++  "text/x-handlebars-template": {
++    "extensions": ["hbs"]
++  },
++  "text/x-java-source": {
++    "source": "apache",
++    "extensions": ["java"]
++  },
++  "text/x-jquery-tmpl": {
++    "compressible": true
++  },
++  "text/x-lua": {
++    "extensions": ["lua"]
++  },
++  "text/x-markdown": {
++    "compressible": true,
++    "extensions": ["markdown","md","mkd"]
++  },
++  "text/x-nfo": {
++    "source": "apache",
++    "extensions": ["nfo"]
++  },
++  "text/x-opml": {
++    "source": "apache",
++    "extensions": ["opml"]
++  },
++  "text/x-pascal": {
++    "source": "apache",
++    "extensions": ["p","pas"]
++  },
++  "text/x-sass": {
++    "extensions": ["sass"]
++  },
++  "text/x-scss": {
++    "extensions": ["scss"]
++  },
++  "text/x-setext": {
++    "source": "apache",
++    "extensions": ["etx"]
++  },
++  "text/x-sfv": {
++    "source": "apache",
++    "extensions": ["sfv"]
++  },
++  "text/x-uuencode": {
++    "source": "apache",
++    "extensions": ["uu"]
++  },
++  "text/x-vcalendar": {
++    "source": "apache",
++    "extensions": ["vcs"]
++  },
++  "text/x-vcard": {
++    "source": "apache",
++    "extensions": ["vcf"]
++  },
++  "text/xml": {
++    "source": "iana",
++    "compressible": true
++  },
++  "text/xml-external-parsed-entity": {
++    "source": "iana"
++  },
++  "video/1d-interleaved-parityfec": {
++    "source": "apache"
++  },
++  "video/3gpp": {
++    "source": "apache",
++    "extensions": ["3gp"]
++  },
++  "video/3gpp-tt": {
++    "source": "apache"
++  },
++  "video/3gpp2": {
++    "source": "apache",
++    "extensions": ["3g2"]
++  },
++  "video/bmpeg": {
++    "source": "apache"
++  },
++  "video/bt656": {
++    "source": "apache"
++  },
++  "video/celb": {
++    "source": "apache"
++  },
++  "video/dv": {
++    "source": "apache"
++  },
++  "video/example": {
++    "source": "apache"
++  },
++  "video/h261": {
++    "source": "apache",
++    "extensions": ["h261"]
++  },
++  "video/h263": {
++    "source": "apache",
++    "extensions": ["h263"]
++  },
++  "video/h263-1998": {
++    "source": "apache"
++  },
++  "video/h263-2000": {
++    "source": "apache"
++  },
++  "video/h264": {
++    "source": "apache",
++    "extensions": ["h264"]
++  },
++  "video/h264-rcdo": {
++    "source": "apache"
++  },
++  "video/h264-svc": {
++    "source": "apache"
++  },
++  "video/jpeg": {
++    "source": "apache",
++    "extensions": ["jpgv"]
++  },
++  "video/jpeg2000": {
++    "source": "apache"
++  },
++  "video/jpm": {
++    "source": "apache",
++    "extensions": ["jpm","jpgm"]
++  },
++  "video/mj2": {
++    "source": "apache",
++    "extensions": ["mj2","mjp2"]
++  },
++  "video/mp1s": {
++    "source": "apache"
++  },
++  "video/mp2p": {
++    "source": "apache"
++  },
++  "video/mp2t": {
++    "source": "apache",
++    "extensions": ["ts"]
++  },
++  "video/mp4": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["mp4","mp4v","mpg4"]
++  },
++  "video/mp4v-es": {
++    "source": "apache"
++  },
++  "video/mpeg": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["mpeg","mpg","mpe","m1v","m2v"]
++  },
++  "video/mpeg4-generic": {
++    "source": "apache"
++  },
++  "video/mpv": {
++    "source": "apache"
++  },
++  "video/nv": {
++    "source": "apache"
++  },
++  "video/ogg": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["ogv"]
++  },
++  "video/parityfec": {
++    "source": "apache"
++  },
++  "video/pointer": {
++    "source": "apache"
++  },
++  "video/quicktime": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["qt","mov"]
++  },
++  "video/raw": {
++    "source": "apache"
++  },
++  "video/rtp-enc-aescm128": {
++    "source": "apache"
++  },
++  "video/rtx": {
++    "source": "apache"
++  },
++  "video/smpte292m": {
++    "source": "apache"
++  },
++  "video/ulpfec": {
++    "source": "apache"
++  },
++  "video/vc1": {
++    "source": "apache"
++  },
++  "video/vnd.cctv": {
++    "source": "apache"
++  },
++  "video/vnd.dece.hd": {
++    "source": "apache",
++    "extensions": ["uvh","uvvh"]
++  },
++  "video/vnd.dece.mobile": {
++    "source": "apache",
++    "extensions": ["uvm","uvvm"]
++  },
++  "video/vnd.dece.mp4": {
++    "source": "apache"
++  },
++  "video/vnd.dece.pd": {
++    "source": "apache",
++    "extensions": ["uvp","uvvp"]
++  },
++  "video/vnd.dece.sd": {
++    "source": "apache",
++    "extensions": ["uvs","uvvs"]
++  },
++  "video/vnd.dece.video": {
++    "source": "apache",
++    "extensions": ["uvv","uvvv"]
++  },
++  "video/vnd.directv.mpeg": {
++    "source": "apache"
++  },
++  "video/vnd.directv.mpeg-tts": {
++    "source": "apache"
++  },
++  "video/vnd.dlna.mpeg-tts": {
++    "source": "apache"
++  },
++  "video/vnd.dvb.file": {
++    "source": "apache",
++    "extensions": ["dvb"]
++  },
++  "video/vnd.fvt": {
++    "source": "apache",
++    "extensions": ["fvt"]
++  },
++  "video/vnd.hns.video": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.1dparityfec-1010": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.1dparityfec-2005": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.2dparityfec-1010": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.2dparityfec-2005": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.ttsavc": {
++    "source": "apache"
++  },
++  "video/vnd.iptvforum.ttsmpeg2": {
++    "source": "apache"
++  },
++  "video/vnd.motorola.video": {
++    "source": "apache"
++  },
++  "video/vnd.motorola.videop": {
++    "source": "apache"
++  },
++  "video/vnd.mpegurl": {
++    "source": "apache",
++    "extensions": ["mxu","m4u"]
++  },
++  "video/vnd.ms-playready.media.pyv": {
++    "source": "apache",
++    "extensions": ["pyv"]
++  },
++  "video/vnd.nokia.interleaved-multimedia": {
++    "source": "apache"
++  },
++  "video/vnd.nokia.videovoip": {
++    "source": "apache"
++  },
++  "video/vnd.objectvideo": {
++    "source": "apache"
++  },
++  "video/vnd.sealed.mpeg1": {
++    "source": "apache"
++  },
++  "video/vnd.sealed.mpeg4": {
++    "source": "apache"
++  },
++  "video/vnd.sealed.swf": {
++    "source": "apache"
++  },
++  "video/vnd.sealedmedia.softseal.mov": {
++    "source": "apache"
++  },
++  "video/vnd.uvvu.mp4": {
++    "source": "apache",
++    "extensions": ["uvu","uvvu"]
++  },
++  "video/vnd.vivo": {
++    "source": "apache",
++    "extensions": ["viv"]
++  },
++  "video/webm": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["webm"]
++  },
++  "video/x-f4v": {
++    "source": "apache",
++    "extensions": ["f4v"]
++  },
++  "video/x-fli": {
++    "source": "apache",
++    "extensions": ["fli"]
++  },
++  "video/x-flv": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["flv"]
++  },
++  "video/x-m4v": {
++    "source": "apache",
++    "extensions": ["m4v"]
++  },
++  "video/x-matroska": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["mkv","mk3d","mks"]
++  },
++  "video/x-mng": {
++    "source": "apache",
++    "extensions": ["mng"]
++  },
++  "video/x-ms-asf": {
++    "source": "apache",
++    "extensions": ["asf","asx"]
++  },
++  "video/x-ms-vob": {
++    "source": "apache",
++    "extensions": ["vob"]
++  },
++  "video/x-ms-wm": {
++    "source": "apache",
++    "extensions": ["wm"]
++  },
++  "video/x-ms-wmv": {
++    "source": "apache",
++    "compressible": false,
++    "extensions": ["wmv"]
++  },
++  "video/x-ms-wmx": {
++    "source": "apache",
++    "extensions": ["wmx"]
++  },
++  "video/x-ms-wvx": {
++    "source": "apache",
++    "extensions": ["wvx"]
++  },
++  "video/x-msvideo": {
++    "source": "apache",
++    "extensions": ["avi"]
++  },
++  "video/x-sgi-movie": {
++    "source": "apache",
++    "extensions": ["movie"]
++  },
++  "video/x-smv": {
++    "source": "apache",
++    "extensions": ["smv"]
++  },
++  "x-conference/x-cooltalk": {
++    "source": "apache",
++    "extensions": ["ice"]
++  },
++  "x-shader/x-fragment": {
++    "compressible": true
++  },
++  "x-shader/x-vertex": {
++    "compressible": true
++  }
++}
+--- /dev/null
++++ b/node_modules/mime-db/index.js
+@@ -0,0 +1,11 @@
++/*!
++ * mime-db
++ * Copyright(c) 2014 Jonathan Ong
++ * MIT Licensed
++ */
++
++/**
++ * Module exports.
++ */
++
++module.exports = require('./db.json')
+--- /dev/null
++++ b/node_modules/mime-db/lib/charsets.json
+@@ -0,0 +1,5 @@
++{
++  "application/json": "UTF-8",
++  "application/javascript": "UTF-8",
++  "text/vtt": "UTF-8"
++}
+--- /dev/null
++++ b/node_modules/mime-db/lib/compressible.json
+@@ -0,0 +1,500 @@
++{
++  "+json": {
++    "compressible": true,
++    "notes": "+json means it is JSON, which is compressible."
++  },
++  "application/atom+xml": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/Atom_(standard)"
++    ]
++  },
++  "application/dart": {
++    "compressible": true
++  },
++  "application/edi-x12": {
++    "compressible": false
++  },
++  "application/edifact": {
++    "compressible": false
++  },
++  "application/ecmascript": {
++    "compressible": true
++  },
++  "application/font-woff": {
++    "compressible": false,
++    "sources": [
++      "https://github.com/h5bp/server-configs-apache/issues/42"
++    ],
++    "notes": "File type is already compressed."
++  },
++  "application/font-woff2": {
++    "compressible": false,
++    "sources": [
++      "http://dev.w3.org/webfonts/WOFF2/spec/#IMT"
++    ],
++    "notes": "File type is already compressed."
++  },
++  "application/gzip": {
++    "compressible": false
++  },
++  "application/java-archive": {
++    "compressible": false
++  },
++  "application/java-serialized-object": {
++    "compressible": false
++  },
++  "application/java-vm": {
++    "compressible": false
++  },
++  "application/javascript": {
++    "compressible": true
++  },
++  "application/json": {
++    "compressible": true
++  },
++  "application/msword": {
++    "compressible": false
++  },
++  "application/octet-stream": {
++    "compressible": false,
++    "sources": [
++      "https://github.com/broofa/node-mime/blob/master/types/mime.types#L154"
++    ]
++  },
++  "application/ogg": {
++    "compressible": false
++  },
++  "application/pdf": {
++    "compressible": false
++  },
++  "application/pgp-encrypted": {
++    "compressible": false
++  },
++  "application/postscript": {
++    "compressible": true
++  },
++  "application/rdf+xml": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/RDF/XML"
++    ]
++  },
++  "application/rss+xml": {
++    "compressible": true
++  },
++  "application/rtf": {
++    "compressible": true
++  },
++  "application/soap+xml": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/SOAP"
++    ]
++  },
++  "application/tar": {
++    "compressible": true
++  },
++  "application/vnd.android.package-archive": {
++    "compressible": false
++  },
++  "application/vnd.dart": {
++    "compressible": true
++  },
++  "application/vnd.google-earth.kml+xml": {
++    "compressible": true,
++    "sources": [
++      "https://developers.google.com/kml/documentation/kml_tut"
++    ]
++  },
++  "application/vnd.google-earth.kmz": {
++    "compressible": false
++  },
++  "application/vnd.mozilla.xul+xml": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/XUL"
++    ]
++  },
++  "application/vnd.ms-excel": {
++    "compressible": false
++  },
++  "application/vnd.ms-fontobject": {
++    "compressible": true,
++    "sources": [
++      "http://www.phpied.com/gzip-your-font-face-files/"
++    ]
++  },
++  "application/vnd.ms-opentype": {
++    "compressible": true,
++    "sources": [
++      "http://www.phpied.com/gzip-your-font-face-files/"
++    ]
++  },
++  "application/vnd.ms-powerpoint": {
++    "compressible": false
++  },
++  "application/vnd.ms-xpsdocument": {
++    "compressible": false
++  },
++  "application/vnd.oasis.opendocument.graphics": {
++    "compressible": false
++  },
++  "application/vnd.oasis.opendocument.presentation": {
++    "compressible": false
++  },
++  "application/vnd.oasis.opendocument.spreadsheet": {
++    "compressible": false
++  },
++  "application/vnd.oasis.opendocument.text": {
++    "compressible": false,
++    "sources": [
++      "http://en.wikipedia.org/wiki/OpenDocument_technical_specification#File_types"
++    ]
++  },
++  "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
++    "compressible": false
++  },
++  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
++    "compressible": false
++  },
++  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
++    "compressible": false
++  },
++  "application/x-7z-compressed": {
++    "compressible": false
++  },
++  "application/x-bzip": {
++    "compressible": false
++  },
++  "application/x-bzip2": {
++    "compressible": false
++  },
++  "application/x-deb": {
++    "compressible": false
++  },
++  "application/x-dvi": {
++    "compressible": false
++  },
++  "application/x-font-otf": {
++    "compressible": true,
++    "sources": [
++      "http://www.phpied.com/gzip-your-font-face-files/"
++    ]
++  },
++  "application/x-font-ttf": {
++    "compressible": true,
++    "sources": [
++      "http://www.phpied.com/gzip-your-font-face-files/"
++    ]
++  },
++  "application/x-java-jnlp-file": {
++    "compressible": false
++  },
++  "application/x-javascript": {
++    "compressible": true
++  },
++  "application/x-latex": {
++    "compressible": false
++  },
++  "application/x-mpegurl": {
++    "compressible": false
++  },
++  "application/x-pkcs12": {
++    "compressible": false
++  },
++  "application/x-rar-compressed": {
++    "compressible": false
++  },
++  "application/x-sh": {
++    "compressible": true
++  },
++  "application/x-shockwave-flash": {
++    "compressible": false
++  },
++  "application/x-stuffit": {
++    "compressible": false
++  },
++  "application/x-tar": {
++    "compressible": true
++  },
++  "application/x-www-form-urlencode": {
++    "compressible": false
++  },
++  "application/x-xpinstall": {
++    "compressible": false
++  },
++  "application/xhtml+xml": {
++    "compressible": true
++  },
++  "application/xml": {
++    "compressible": true
++  },
++  "application/xml-dtd": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/Document_type_definition"
++    ]
++  },
++  "application/xop+xml": {
++    "compressible": true
++  },
++  "application/zip": {
++    "compressible": false
++  },
++  "audio/l24": {
++    "compressible": false
++  },
++  "audio/basic": {
++    "compressible": false
++  },
++  "audio/mp4": {
++    "compressible": false
++  },
++  "audio/mpeg": {
++    "compressible": false
++  },
++  "audio/ogg": {
++    "compressible": false
++  },
++  "audio/vnd.rn-realaudio": {
++    "compressible": false
++  },
++  "audio/vnd.wave": {
++    "compressible": false
++  },
++  "audio/vorbis": {
++    "compressible": false
++  },
++  "audio/webm": {
++    "compressible": false
++  },
++  "audio/x-aac": {
++    "compressible": false
++  },
++  "audio/x-caf": {
++    "compressible": false
++  },
++  "font/opentype": {
++    "compressible": true,
++    "sources": [
++      "http://www.phpied.com/gzip-your-font-face-files/"
++    ]
++  },
++  "image/bmp": {
++    "compressible": true,
++    "sources": [
++      "http://stackoverflow.com/a/12770116"
++    ]
++  },
++  "image/gif": {
++    "compressible": false
++  },
++  "image/jpeg": {
++    "compressible": false
++  },
++  "image/pjpeg": {
++    "compressible": false
++  },
++  "image/png": {
++    "compressible": false
++  },
++  "image/svg+xml": {
++    "compressible": true
++  },
++  "image/tiff": {
++    "compressible": false,
++    "sources": [
++      "http://stackoverflow.com/a/12770116"
++    ],
++    "notes": "Gains insignificant in testing."
++  },
++  "image/vnd.adobe.photoshop": {
++    "compressible": true
++  },
++  "image/x-icon": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/ICO_(file_format)"
++    ],
++    "notes": "Usually a wrapper for .bmp formated images."
++  },
++  "image/x-xcf": {
++    "compressible": false
++  },
++  "message/http": {
++    "compressible": false,
++    "sources": [
++      "http://stackoverflow.com/a/1450163"
++    ],
++    "notes": "It is safest to leave these uncompressed."
++  },
++  "message/imdn+xml": {
++    "compressible": true,
++    "sources": [
++      "http://tools.ietf.org/html/rfc5438"
++    ]
++  },
++  "message/partial": {
++    "compressible": false
++  },
++  "message/rfc822": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/MIME#Multipart_subtypes"
++    ]
++  },
++  "model/example": {
++    "compressible": false
++  },
++  "model/iges": {
++    "compressible": false
++  },
++  "model/mesh": {
++    "compressible": false
++  },
++  "model/vrml": {
++    "compressible": false
++  },
++  "model/x3d+binary": {
++    "compressible": false
++  },
++  "model/x3d+vrml": {
++    "compressible": false
++  },
++  "model/x3d+xml": {
++    "compressible": true,
++    "sources": [
++      "http://edutechwiki.unige.ch/en/X3D_file_structure"
++    ]
++  },
++  "multipart/alternative": {
++    "compressible": false
++  },
++  "multipart/encrypted": {
++    "compressible": false
++  },
++  "multipart/form-data": {
++    "compressible": false
++  },
++  "multipart/mixed": {
++    "compressible": false
++  },
++  "multipart/related": {
++    "compressible": false
++  },
++  "multipart/signed": {
++    "compressible": false
++  },
++  "text/cache-manifest": {
++    "compressible": true,
++    "sources": [
++      "https://bugzilla.mozilla.org/show_bug.cgi?id=715191#c2"
++    ],
++    "notes": "I think so."
++  },
++  "text/calender": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/ICalendar"
++    ],
++    "notes": "Probably needs to be uncompressed before sent to iCalender."
++  },
++  "text/cmd": {
++    "compressible": true
++  },
++  "text/css": {
++    "compressible": true
++  },
++  "text/csv": {
++    "compressible": true
++  },
++  "text/html": {
++    "compressible": true
++  },
++  "text/javascript": {
++    "compressible": true
++  },
++  "text/jsx": {
++    "compressible": true,
++    "sources": [
++      "http://facebook.github.io/react/docs/getting-started.html"
++    ]
++  },
++  "text/n3": {
++    "compressible": true,
++    "sources": [
++      "http://en.wikipedia.org/wiki/Notation3"
++    ]
++  },
++  "text/plain": {
++    "compressible": true
++  },
++  "text/richtext": {
++    "compressible": true
++  },
++  "text/tab-separated-values": {
++    "compressible": true
++  },
++  "text/uri-list": {
++    "compressible": true
++  },
++  "text/vcard": {
++    "compressible": true
++  },
++  "text/vtt": {
++    "compressible": true,
++    "sources": [
++       "http://tools.ietf.org/html/draft-pantos-http-live-streaming-13"
++    ]
++  },
++  "text/x-gwt-rpc": {
++    "compressible": true
++  },
++  "text/x-jquery-tmpl": {
++    "compressible": true
++  },
++  "text/x-markdown": {
++    "compressible": true
++  },
++  "text/xml": {
++    "compressible": true
++  },
++  "video/mp4": {
++    "compressible": false
++  },
++  "video/mpeg": {
++    "compressible": false
++  },
++  "video/ogg": {
++    "compressible": false
++  },
++  "video/quicktime": {
++    "compressible": false
++  },
++  "video/webm": {
++    "compressible": false
++  },
++  "video/x-flv": {
++    "compressible": false
++  },
++  "video/x-matroska": {
++    "compressible": false
++  },
++  "video/x-ms-wmv": {
++    "compressible": false
++  },
++  "x-shader/x-fragment": {
++    "compressible": true,
++    "sources": [
++      "https://developer.mozilla.org/en-US/docs/Web/WebGL/Adding_2D_content_to_a_WebGL_context",
++      "https://bugzilla.mozilla.org/show_bug.cgi?id=715191#c2"
++    ]
++  },
++  "x-shader/x-vertex": {
++    "compressible": true,
++    "sources": [
++      "https://developer.mozilla.org/en-US/docs/Web/WebGL/Adding_2D_content_to_a_WebGL_context"
++    ]
++  }
++}
+--- /dev/null
++++ b/node_modules/mime-db/lib/extensions.json
+@@ -0,0 +1,30 @@
++{
++  "application/font-woff2": [
++    "woff2"
++  ],
++  "text/jade": [
++    "jade"
++  ],
++  "text/stylus": [
++    "stylus",
++    "styl"
++  ],
++  "text/less": [
++    "less"
++  ],
++  "text/x-sass": [
++    "sass"
++  ],
++  "text/x-scss": [
++    "scss"
++  ],
++  "text/coffeescript": [
++    "coffee"
++  ],
++  "text/x-handlebars-template": [
++    "hbs"
++  ],
++  "text/jsx": [
++    "jsx"
++  ]
++}
+--- /dev/null
++++ b/node_modules/mime-db/package.json
+@@ -0,0 +1,46 @@
++{
++  "name": "mime-db",
++  "description": "Media Type Database",
++  "version": "1.1.0",
++  "author": {
++    "name": "Jonathan Ong",
++    "email": "me at jongleberry.com",
++    "url": "http://jongleberry.com",
++    "twitter": "https://twitter.com/jongleberry"
++  },
++  "license": "MIT",
++  "repository": "jshttp/mime-db",
++  "devDependencies": {
++    "co": "3",
++    "cogent": "1",
++    "csv-parse": "0",
++    "gnode": "0.1.0",
++    "istanbul": "0.3.2",
++    "mocha": "~1.21.4",
++    "stream-to-array": "2"
++  },
++  "engines": {
++    "node": ">= 0.6"
++  },
++  "files": [
++    "LICENSE",
++    "db.json",
++    "index.js"
++  ],
++  "scripts": {
++    "update": "gnode scripts/extensions && gnode scripts/types && node scripts/build",
++    "clean": "rm src/*",
++    "test": "mocha --reporter spec --bail --check-leaks test/",
++    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
++    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
++  },
++  "keywords": [
++    "mime",
++    "db",
++    "type",
++    "types",
++    "database",
++    "charset",
++    "charsets"
++  ]
++}
+--- /dev/null
++++ b/node_modules/mime-db/scripts/build.js
+@@ -0,0 +1,87 @@
++
++var db = {}
++
++// initialize with all the IANA types
++require('../src/iana.json').forEach(function (mime) {
++  // i don't think the name is useful,
++  // and i don't think we need to bother with the "Reference"
++  // just look at the site yourself!
++
++  var name = mime[0]
++  var template = mime[1]
++  // for some reason, references are split into multiple values...
++  var type = mime[mime.length - 1]
++
++  if (!template) {
++    // some types don't have a template, so we guess it
++    console.log('guessing: %s/%s', type, name)
++    template = type + '/' + name
++  }
++
++  if (!~template.indexOf('/')) {
++    // i don't know what templates exactly are,
++    // but some aren't valid mime types.
++    console.log('prefixing: %s/%s', type, template)
++    template = type + '/' + template
++  }
++
++  db[template.toLowerCase()] = {
++    source: 'iana'
++  }
++})
++
++// add the mime extensions from Apache
++var mime = require('../src/mime.json')
++Object.keys(mime).forEach(function (type) {
++  var e = mime[type]
++  var t = type.toLowerCase()
++  var o = db[t] = db[t] || {source: 'apache'}
++  if (e.length) o.extensions = (o.extensions || []).concat(e)
++})
++
++// add all of node mime's mime extensions
++// though i think we should just put this in `types.json`
++var mime = require('../src/node.json')
++Object.keys(mime).forEach(function (type) {
++  var e = mime[type]
++  var t = type.toLowerCase()
++  var o = db[t] = db[t] || {}
++  if (e.length) o.extensions = (o.extensions || []).concat(e)
++})
++
++// now add all our custom extensions
++var mime = require('../lib/extensions.json')
++Object.keys(mime).forEach(function (type) {
++  var e = mime[type]
++  var t = type.toLowerCase()
++  var o = db[t] = db[t] || {}
++  if (e.length) o.extensions = (o.extensions || []).concat(e)
++})
++
++// add all the compressible metadata
++var mime = require('../lib/compressible.json')
++Object.keys(mime).sort().forEach(function (type) {
++  var e = mime[type]
++  var t = type.toLowerCase()
++
++  if (type[0] === '+') {
++    // suffix handling
++    Object.keys(db).forEach(function (type) {
++      if (type.substr(0 - t.length) !== t) return
++      db[type].compressible = e.compressible
++    })
++    return
++  }
++
++  var o = db[t] = db[t] || {}
++  o.compressible = e.compressible
++})
++
++// set the default charsets
++var charsets = require('../lib/charsets')
++Object.keys(charsets).forEach(function (name) {
++  db[name].charset = charsets[name]
++})
++
++// write db
++require('./lib/write-db')('db.json', db)
+--- /dev/null
++++ b/node_modules/mime-db/scripts/extensions.js
+@@ -0,0 +1,53 @@
++
++/**
++ * Convert these text files to JSON for browser usage.
++ */
++
++var co = require('co')
++var fs = require('fs')
++var path = require('path')
++var cogent = require('cogent')
++
++co(function* () {
++  yield [
++    get('http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types'),
++    get('https://raw.githubusercontent.com/broofa/node-mime/master/types/node.types')
++  ]
++})()
++
++function* get(url) {
++  var res = yield* cogent(url, {
++    string: true
++  })
++
++  if (res.statusCode !== 200)
++    throw new Error('got status code ' + res.statusCode + ' from ' + url)
++
++  var text = res.text
++  var json = {}
++  // http://en.wikipedia.org/wiki/Internet_media_type#Naming
++  /**
++   * Mime types and associated extensions are stored in the form:
++   *
++   *   <type> <ext> <ext> <ext>
++   *
++   * And some are commented out with a leading `#` because they have no associated extensions.
++   * This regexp checks whether a single line matches this format, ignoring lines that are just comments.
++   * We could also just remove all lines that start with `#` if we want to make the JSON files smaller
++   * and ignore all mime types without associated extensions.
++   */
++  var re = /^(?:# )?([\w-]+\/[\w\+\.-]+)(?:\s+\w+)*$/
++  text = text.split('\n')
++  .filter(Boolean)
++  .forEach(function (line) {
++    line = line.trim()
++    if (!line) return
++    var match = re.exec(line)
++    if (!match) return
++    // remove the leading # and <type> and return all the <ext>s
++    json[match[1]] = line.replace(/^(?:# )?([\w-]+\/[\w\+\.-]+)/, '')
++      .split(/\s+/)
++      .filter(Boolean)
++  })
++  fs.writeFileSync('src/' + path.basename(url).split('.')[0] + '.json', JSON.stringify(json))
++}
+--- /dev/null
++++ b/node_modules/mime-db/scripts/lib/write-db.js
+@@ -0,0 +1,43 @@
++
++var fs = require('fs')
++
++module.exports = function writeDatabaseSync(fileName, obj) {
++  var fd = fs.openSync(fileName, 'w')
++  var keys = Object.keys(obj).sort()
++
++  fs.writeSync(fd, '{\n');
++
++  keys.forEach(function (key, i, arr) {
++    fs.writeSync(fd, '  ' + JSON.stringify(key) + ': {\n');
++
++    var end = endLine.apply(this, arguments)
++    var data = obj[key]
++    var keys = Object.keys(data).sort(sortDataKeys)
++
++    keys.forEach(function (key, i, arr) {
++      var end = endLine.apply(this, arguments)
++      fs.writeSync(fd, '    ' + JSON.stringify(key) + ': ' + JSON.stringify(data[key]) + end);
++    })
++
++    fs.writeSync(fd, '  }' + end);
++  })
++
++  fs.writeSync(fd, '}\n');
++
++  fs.closeSync(fd);
++};
++
++function endLine(key, i, arr) {
++  var comma = i + 1 === arr.length
++    ? ''
++    : ','
++  return comma + '\n'
++}
++
++function sortDataKeys(a, b) {
++  var cmp = a.localeCompare(b)
++
++  return a !== 'source' || !cmp
++    ? cmp
++    : -1
++}
+--- /dev/null
++++ b/node_modules/mime-db/scripts/types.js
+@@ -0,0 +1,42 @@
++
++/**
++ * Convert the IANA definitions from CSV to local.
++ */
++
++var co = require('co')
++var fs = require('fs')
++var cogent = require('cogent')
++var parser = require('csv-parse')
++var toArray = require('stream-to-array')
++
++co(function* () {
++  var results = yield [
++    get('application'),
++    get('audio'),
++    get('image'),
++    get('message'),
++    get('model'),
++    get('multipart'),
++    get('text'),
++    get('audio'),
++  ]
++
++  fs.writeFileSync('src/iana.json', JSON.stringify(results.reduce(concat, [])))
++})()
++
++function* get(type) {
++  var res = yield* cogent('http://www.iana.org/assignments/media-types/' + type + '.csv')
++  if (res.statusCode !== 200)
++    throw new Error('got status code ' + res.statusCode + ' from ' + type)
++
++  var mimes = yield toArray(res.pipe(parser()))
++  mimes.shift() // remove the header
++  return mimes.map(function (mime) {
++    mime.push(type)
++    return mime
++  })
++}
++
++function concat(a, b) {
++  return a.concat(b)
++}
+--- /dev/null
++++ b/node_modules/mime-db/src/iana.json
+@@ -0,0 +1 @@
++[["1d-interleaved-parityfec","application/1d-interleaved-parityfec","[RFC6015]","application"],["3gpdash-qoe-report+xml","application/3gpdash-qoe-report+xml","[Ozgur_Oyman][ThreeGPP]","application"],["3gpp-ims+xml","application/3gpp-ims+xml","[John_M_Meredith]","application"],["activemessage","application/activemessage","[Ehud_Shapiro]","application"],["activemessage","application/activemessage","[Ehud_Shapiro]","application"],["alto-costmap+json","application/alto-costmap+json","[RFC72 [...]
+\ No newline at end of file
+--- /dev/null
++++ b/node_modules/mime-db/src/mime.json
+@@ -0,0 +1 @@
++{"application/1d-interleaved-parityfec":[],"application/3gpp-ims+xml":[],"application/activemessage":[],"application/andrew-inset":["ez"],"application/applefile":[],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomicmail":[],"application/atomsvc+xml":["atomsvc"],"application/auth-policy+xml":[],"application/batch-smtp":[],"application/beep+xml":[],"application/calendar+xml":[],"application/cals-1840":[],"application/c [...]
+\ No newline at end of file
+--- /dev/null
++++ b/node_modules/mime-db/src/node.json
+@@ -0,0 +1 @@
++{"text/vtt":["vtt"],"application/x-chrome-extension":["crx"],"text/x-component":["htc"],"text/cache-manifest":["manifest"],"application/octet-stream":["buffer"],"application/mp4":["m4p"],"audio/mp4":["m4a"],"video/MP2T":["ts"],"application/x-web-app-manifest+json":["webapp"],"text/x-lua":["lua"],"application/x-lua-bytecode":["luac"],"text/x-markdown":["markdown","md","mkd"],"text/plain":["ini"],"application/dash+xml":["mdp"],"font/opentype":["otf"],"application/json":["map"],"applicatio [...]
+\ No newline at end of file
+--- /dev/null
++++ b/node_modules/mime-db/test/index.js
+@@ -0,0 +1,45 @@
++
++var assert = require('assert')
++
++var db = require('..')
++
++describe('mime-db', function () {
++  it('should all be mime types', function () {
++    assert(Object.keys(db).every(function (name) {
++      return ~name.indexOf('/') || console.log(name)
++    }))
++  })
++
++  it('should not have any uppercased letters in names', function () {
++    assert(Object.keys(db).every(function (name) {
++      return name === name.toLowerCase()
++    }))
++  })
++
++  it('should have .json and .js as having UTF-8 charsets', function () {
++    assert.equal('UTF-8', db['application/json'].charset)
++    assert.equal('UTF-8', db['application/javascript'].charset)
++  })
++
++  it('should set audio/x-flac with extension=flac', function () {
++    assert.equal('flac', db['audio/x-flac'].extensions[0])
++  })
++
++  it('should have guessed application/mathml+xml', function () {
++    // because it doesn't have a "template"
++    assert(db['application/mathml+xml'])
++  })
++
++  it('should not have an empty .extensions', function () {
++    assert(Object.keys(db).every(function (name) {
++      var mime = db[name]
++      if (!mime.extensions) return true
++      return mime.extensions.length
++    }))
++  })
++
++  it('should have the default .extension as the first', function () {
++assert.equal(db['text/plain'].extensions[0], 'txt')
++assert.equal(db['video/x-matroska'].extensions[0], 'mkv')
++  })
++})

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-mime-types.git



More information about the Pkg-javascript-commits mailing list