From 76ac350e8842c478a28e17e7896ae5a4834b10b6 Mon Sep 17 00:00:00 2001 From: Joseph Werle Date: Wed, 8 Nov 2023 14:35:10 -0500 Subject: [PATCH] feat(api/mime): introduce MIME database --- api/index.d.ts | 65 ++ api/mime.js | 8 + api/mime/application.json | 1583 +++++++++++++++++++++++++++++++++++++ api/mime/audio.json | 166 ++++ api/mime/font.json | 8 + api/mime/image.json | 83 ++ api/mime/index.js | 128 +++ api/mime/model.json | 43 + api/mime/multipart.json | 19 + api/mime/text.json | 98 +++ api/mime/video.json | 97 +++ test/src/mime.js | 8 + 12 files changed, 2306 insertions(+) create mode 100644 api/mime.js create mode 100644 api/mime/application.json create mode 100644 api/mime/audio.json create mode 100644 api/mime/font.json create mode 100644 api/mime/image.json create mode 100644 api/mime/index.js create mode 100644 api/mime/model.json create mode 100644 api/mime/multipart.json create mode 100644 api/mime/text.json create mode 100644 api/mime/video.json create mode 100644 test/src/mime.js diff --git a/api/index.d.ts b/api/index.d.ts index 0c7af88c94..70e1ddaf5f 100644 --- a/api/index.d.ts +++ b/api/index.d.ts @@ -4911,6 +4911,71 @@ declare module "socket:i18n" { export default _default; import Enumeration from "socket:enumeration"; } +declare module "socket:mime/index" { + /** + * Look up a MIME type in various MIME databases. + * @return {Promise>} + */ + export function lookup(query: any): Promise>; + /** + * A container for MIME types by class (audio, video, text, etc) + * @see {@link https://www.iana.org/assignments/media-types/media-types.xhtml} + */ + export class Database { + /** + * `Database` class constructor. + * @param {string} name + */ + constructor(name: string); + /** + * @type {string} + */ + name: string; + /** + * @type {URL} + */ + url: URL; + /** + * @type {Map} + */ + map: Map; + /** + * Loads database MIME entries into internal map. + * @return {Promise} + */ + load(): Promise; + /** + * Lookup MIME type by name. + * @param {string} query + * @return {Promise<{ name: string, mime: string}>} + */ + lookup(query: string): Promise<{ + name: string; + mime: string; + }>; + } + export const application: Database; + export const audio: Database; + export const font: Database; + export const image: Database; + export const model: Database; + export const multipart: Database; + export const text: Database; + export const video: Database; + namespace _default { + export { application }; + export { Database }; + } + export default _default; +} +declare module "socket:mime" { + export * from "socket:mime/index"; + export default exports; + import * as exports from "socket:mime/index"; +} declare module "socket:test/fast-deep-equal" { export default function equal(a: any, b: any): boolean; } diff --git a/api/mime.js b/api/mime.js new file mode 100644 index 0000000000..5bd96b9182 --- /dev/null +++ b/api/mime.js @@ -0,0 +1,8 @@ +/** + * @module mime + * @notice This is a rexports of `mime/index.js` so consumers will + * need to only `import mime from 'socket:mime'` + */ +import * as exports from './mime/index.js' +export * from './mime/index.js' +export default exports diff --git a/api/mime/application.json b/api/mime/application.json new file mode 100644 index 0000000000..f684ee3864 --- /dev/null +++ b/api/mime/application.json @@ -0,0 +1,1583 @@ +{ + "1d-interleaved-parityfec": "application/1d-interleaved-parityfec", + "3gpdash-qoe-report+xml": "application/3gpdash-qoe-report+xml", + "3gppHal+json": "application/3gppHal+json", + "3gppHalForms+json": "application/3gppHalForms+json", + "3gpp-ims+xml": "application/3gpp-ims+xml", + "7z": "application/x-7z-compressed", + "abw": "application/x-abiword", + "A2L": "application/A2L", + "ace+cbor": "application/ace+cbor", + "ace+json": "application/ace+json", + "activemessage": "application/activemessage", + "activity+json": "application/activity+json", + "aif+cbor": "application/aif+cbor", + "aif+json": "application/aif+json", + "alto-cdni+json": "application/alto-cdni+json", + "alto-cdnifilter+json": "application/alto-cdnifilter+json", + "alto-costmap+json": "application/alto-costmap+json", + "alto-costmapfilter+json": "application/alto-costmapfilter+json", + "alto-directory+json": "application/alto-directory+json", + "alto-endpointprop+json": "application/alto-endpointprop+json", + "alto-endpointpropparams+json": "application/alto-endpointpropparams+json", + "alto-endpointcost+json": "application/alto-endpointcost+json", + "alto-endpointcostparams+json": "application/alto-endpointcostparams+json", + "alto-error+json": "application/alto-error+json", + "alto-networkmapfilter+json": "application/alto-networkmapfilter+json", + "alto-networkmap+json": "application/alto-networkmap+json", + "alto-propmap+json": "application/alto-propmap+json", + "alto-propmapparams+json": "application/alto-propmapparams+json", + "alto-updatestreamcontrol+json": "application/alto-updatestreamcontrol+json", + "alto-updatestreamparams+json": "application/alto-updatestreamparams+json", + "AML": "application/AML", + "andrew-inset": "application/andrew-inset", + "applefile": "application/applefile", + "arc": "application/x-freearc", + "at+jwt": "application/at+jwt", + "ATF": "application/ATF", + "ATFX": "application/ATFX", + "atom+xml": "application/atom+xml", + "atomcat+xml": "application/atomcat+xml", + "atomdeleted+xml": "application/atomdeleted+xml", + "atomicmail": "application/atomicmail", + "atomsvc+xml": "application/atomsvc+xml", + "atsc-dwd+xml": "application/atsc-dwd+xml", + "atsc-dynamic-event-message": "application/atsc-dynamic-event-message", + "atsc-held+xml": "application/atsc-held+xml", + "atsc-rdt+json": "application/atsc-rdt+json", + "atsc-rsat+xml": "application/atsc-rsat+xml", + "ATXML": "application/ATXML", + "auth-policy+xml": "application/auth-policy+xml", + "automationml-aml+xml": "application/automationml-aml+xml", + "automationml-amlx+zip": "application/automationml-amlx+zip", + "azw": "application/vnd.amazon.ebook", + "bacnet-xdd+zip": "application/bacnet-xdd+zip", + "batch-SMTP": "application/batch-SMTP", + "beep+xml": "application/beep+xml", + "bin": "application/octet-stream", + "bz": "application/x-bzip", + "bz2": "application/x-bzip2", + "c2pa": "application/c2pa", + "cda": "application/x-cdf", + "csh": "application/x-csh", + "calendar+json": "application/calendar+json", + "calendar+xml": "application/calendar+xml", + "call-completion": "application/call-completion", + "CALS-1840": "application/CALS-1840", + "captive+json": "application/captive+json", + "cbor": "application/cbor", + "cbor-seq": "application/cbor-seq", + "cccex": "application/cccex", + "ccmp+xml": "application/ccmp+xml", + "ccxml+xml": "application/ccxml+xml", + "cda+xml": "application/cda+xml", + "CDFX+XML": "application/CDFX+XML", + "cdmi-capability": "application/cdmi-capability", + "cdmi-container": "application/cdmi-container", + "cdmi-domain": "application/cdmi-domain", + "cdmi-object": "application/cdmi-object", + "cdmi-queue": "application/cdmi-queue", + "cdni": "application/cdni", + "CEA": "application/CEA", + "cea-2018+xml": "application/cea-2018+xml", + "cellml+xml": "application/cellml+xml", + "cfw": "application/cfw", + "cid-edhoc+cbor-seq": "application/cid-edhoc+cbor-seq", + "city+json": "application/city+json", + "clr": "application/clr", + "clue_info+xml": "application/clue_info+xml", + "clue+xml": "application/clue+xml", + "cms": "application/cms", + "cnrp+xml": "application/cnrp+xml", + "coap-group+json": "application/coap-group+json", + "coap-payload": "application/coap-payload", + "commonground": "application/commonground", + "concise-problem-details+cbor": "application/concise-problem-details+cbor", + "conference-info+xml": "application/conference-info+xml", + "cpl+xml": "application/cpl+xml", + "cose": "application/cose", + "cose-key": "application/cose-key", + "cose-key-set": "application/cose-key-set", + "cose-x509": "application/cose-x509", + "csrattrs": "application/csrattrs", + "csta+xml": "application/csta+xml", + "CSTAdata+xml": "application/CSTAdata+xml", + "csvm+json": "application/csvm+json", + "cwl": "application/cwl", + "cwl+json": "application/cwl+json", + "cwt": "application/cwt", + "cybercash": "application/cybercash", + "dash+xml": "application/dash+xml", + "dash-patch+xml": "application/dash-patch+xml", + "dashdelta": "application/dashdelta", + "davmount+xml": "application/davmount+xml", + "dca-rft": "application/dca-rft", + "DCD": "application/DCD", + "dec-dx": "application/dec-dx", + "dialog-info+xml": "application/dialog-info+xml", + "dicom": "application/dicom", + "dicom+json": "application/dicom+json", + "dicom+xml": "application/dicom+xml", + "DII": "application/DII", + "DIT": "application/DIT", + "dns": "application/dns", + "dns+json": "application/dns+json", + "dns-message": "application/dns-message", + "doc": "application/msword", + "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "dots+cbor": "application/dots+cbor", + "dpop+jwt": "application/dpop+jwt", + "dskpp+xml": "application/dskpp+xml", + "dssc+der": "application/dssc+der", + "dssc+xml": "application/dssc+xml", + "dvcs": "application/dvcs", + "edhoc+cbor-seq": "application/edhoc+cbor-seq", + "EDI-consent": "application/EDI-consent", + "EDIFACT": "application/EDIFACT", + "EDI-X12": "application/EDI-X12", + "efi": "application/efi", + "elm+json": "application/elm+json", + "elm+xml": "application/elm+xml", + "EmergencyCallData.cap+xml": "application/EmergencyCallData.cap+xml", + "EmergencyCallData.Comment+xml": "application/EmergencyCallData.Comment+xml", + "EmergencyCallData.Control+xml": "application/EmergencyCallData.Control+xml", + "EmergencyCallData.DeviceInfo+xml": "application/EmergencyCallData.DeviceInfo+xml", + "EmergencyCallData.eCall.MSD": "application/EmergencyCallData.eCall.MSD", + "EmergencyCallData.LegacyESN+json": "application/EmergencyCallData.LegacyESN+json", + "EmergencyCallData.ProviderInfo+xml": "application/EmergencyCallData.ProviderInfo+xml", + "EmergencyCallData.ServiceInfo+xml": "application/EmergencyCallData.ServiceInfo+xml", + "EmergencyCallData.SubscriberInfo+xml": "application/EmergencyCallData.SubscriberInfo+xml", + "EmergencyCallData.VEDS+xml": "application/EmergencyCallData.VEDS+xml", + "emma+xml": "application/emma+xml", + "emotionml+xml": "application/emotionml+xml", + "encaprtp": "application/encaprtp", + "eot": "application/vnd.ms-fontobject", + "epp+xml": "application/epp+xml", + "epub": "application/epub+zip", + "epub+zip": "application/epub+zip", + "eshop": "application/eshop", + "example": "application/example", + "exi": "application/exi", + "expect-ct-report+json": "application/expect-ct-report+json", + "express": "application/express", + "fastinfoset": "application/fastinfoset", + "fastsoap": "application/fastsoap", + "fdf": "application/fdf", + "fdt+xml": "application/fdt+xml", + "fhir+json": "application/fhir+json", + "fhir+xml": "application/fhir+xml", + "fits": "application/fits", + "flexfec": "application/flexfec", + "font-sfnt": "-", + "font-tdpfr": "application/font-tdpfr", + "font-woff": "-", + "framework-attributes+xml": "application/framework-attributes+xml", + "geo+json": "application/geo+json", + "geo+json-seq": "application/geo+json-seq", + "geopackage+sqlite3": "application/geopackage+sqlite3", + "geoxacml+xml": "application/geoxacml+xml", + "gltf-buffer": "application/gltf-buffer", + "gml+xml": "application/gml+xml", + "gz": "application/gzip", + "gzip": "application/gzip", + "H224": "application/H224", + "held+xml": "application/held+xml", + "hl7v2+xml": "application/hl7v2+xml", + "http": "application/http", + "hyperstudio": "application/hyperstudio", + "ibe-key-request+xml": "application/ibe-key-request+xml", + "ibe-pkg-reply+xml": "application/ibe-pkg-reply+xml", + "ibe-pp-data": "application/ibe-pp-data", + "iges": "application/iges", + "im-iscomposing+xml": "application/im-iscomposing+xml", + "index": "application/index", + "index.cmd": "application/index.cmd", + "index.obj": "application/index.obj", + "index.response": "application/index.response", + "index.vnd": "application/index.vnd", + "inkml+xml": "application/inkml+xml", + "IOTP": "application/IOTP", + "ipfix": "application/ipfix", + "ipp": "application/ipp", + "ISUP": "application/ISUP", + "its+xml": "application/its+xml", + "jar": "application/java-archive", + "java-archive": "application/java-archive", + "jf2feed+json": "application/jf2feed+json", + "jose": "application/jose", + "jose+json": "application/jose+json", + "jrd+json": "application/jrd+json", + "jscalendar+json": "application/jscalendar+json", + "jscontact+json": "application/jscontact+json", + "json": "application/json", + "jsonld": "application/ld+json", + "json-patch+json": "application/json-patch+json", + "json-seq": "application/json-seq", + "jsonpath": "application/jsonpath", + "jwk+json": "application/jwk+json", + "jwk-set+json": "application/jwk-set+json", + "jwt": "application/jwt", + "kpml-request+xml": "application/kpml-request+xml", + "kpml-response+xml": "application/kpml-response+xml", + "ld+json": "application/ld+json", + "lgr+xml": "application/lgr+xml", + "link-format": "application/link-format", + "linkset": "application/linkset", + "linkset+json": "application/linkset+json", + "load-control+xml": "application/load-control+xml", + "logout+jwt": "application/logout+jwt", + "lost+xml": "application/lost+xml", + "lostsync+xml": "application/lostsync+xml", + "lpf+zip": "application/lpf+zip", + "LXF": "application/LXF", + "mac-binhex40": "application/mac-binhex40", + "macwriteii": "application/macwriteii", + "mads+xml": "application/mads+xml", + "manifest+json": "application/manifest+json", + "marc": "application/marc", + "marcxml+xml": "application/marcxml+xml", + "mathematica": "application/mathematica", + "mathml+xml": "application/mathml+xml", + "mathml-content+xml": "application/mathml-content+xml", + "mathml-presentation+xml": "application/mathml-presentation+xml", + "mbms-associated-procedure-description+xml": "application/mbms-associated-procedure-description+xml", + "mbms-deregister+xml": "application/mbms-deregister+xml", + "mbms-envelope+xml": "application/mbms-envelope+xml", + "mbms-msk-response+xml": "application/mbms-msk-response+xml", + "mbms-msk+xml": "application/mbms-msk+xml", + "mbms-protection-description+xml": "application/mbms-protection-description+xml", + "mbms-reception-report+xml": "application/mbms-reception-report+xml", + "mbms-register-response+xml": "application/mbms-register-response+xml", + "mbms-register+xml": "application/mbms-register+xml", + "mbms-schedule+xml": "application/mbms-schedule+xml", + "mbms-user-service-description+xml": "application/mbms-user-service-description+xml", + "mbox": "application/mbox", + "media_control+xml": "application/media_control+xml", + "media-policy-dataset+xml": "application/media-policy-dataset+xml", + "mediaservercontrol+xml": "application/mediaservercontrol+xml", + "merge-patch+json": "application/merge-patch+json", + "metalink4+xml": "application/metalink4+xml", + "mets+xml": "application/mets+xml", + "MF4": "application/MF4", + "mikey": "application/mikey", + "mipc": "application/mipc", + "missing-blocks+cbor-seq": "application/missing-blocks+cbor-seq", + "mmt-aei+xml": "application/mmt-aei+xml", + "mmt-usd+xml": "application/mmt-usd+xml", + "mods+xml": "application/mods+xml", + "moss-keys": "application/moss-keys", + "moss-signature": "application/moss-signature", + "mosskey-data": "application/mosskey-data", + "mosskey-request": "application/mosskey-request", + "mp21": "application/mp21", + "mp4": "application/mp4", + "mpeg4-generic": "application/mpeg4-generic", + "mpeg4-iod": "application/mpeg4-iod", + "mpeg4-iod-xmt": "application/mpeg4-iod-xmt", + "mpkg": "application/vnd.apple.installer+xml", + "mrb-consumer+xml": "application/mrb-consumer+xml", + "mrb-publish+xml": "application/mrb-publish+xml", + "msc-ivr+xml": "application/msc-ivr+xml", + "msc-mixer+xml": "application/msc-mixer+xml", + "msword": "application/msword", + "mud+json": "application/mud+json", + "multipart-core": "application/multipart-core", + "mxf": "application/mxf", + "n-quads": "application/n-quads", + "n-triples": "application/n-triples", + "nasdata": "application/nasdata", + "news-checkgroups": "application/news-checkgroups", + "news-groupinfo": "application/news-groupinfo", + "news-transmission": "application/news-transmission", + "nlsml+xml": "application/nlsml+xml", + "node": "application/node", + "nss": "application/nss", + "oauth-authz-req+jwt": "application/oauth-authz-req+jwt", + "oblivious-dns-message": "application/oblivious-dns-message", + "ocsp-request": "application/ocsp-request", + "ocsp-response": "application/ocsp-response", + "octet-stream": "application/octet-stream", + "ODA": "application/ODA", + "odm+xml": "application/odm+xml", + "odp": "application/vnd.oasis.opendocument.presentation", + "ods": "application/vnd.oasis.opendocument.spreadsheet", + "odt": "application/vnd.oasis.opendocument.text", + "ODX": "application/ODX", + "oebps-package+xml": "application/oebps-package+xml", + "ogg": "application/ogg", + "ogx": "application/ogg", + "ohttp-keys": "application/ohttp-keys", + "opc-nodeset+xml": "application/opc-nodeset+xml", + "oscore": "application/oscore", + "oxps": "application/oxps", + "p21": "application/p21", + "p21+zip": "application/p21+zip", + "p2p-overlay+xml": "application/p2p-overlay+xml", + "parityfec": "application/parityfec", + "passport": "application/passport", + "patch-ops-error+xml": "application/patch-ops-error+xml", + "pdf": "application/pdf", + "PDX": "application/PDX", + "pem-certificate-chain": "application/pem-certificate-chain", + "pgp-encrypted": "application/pgp-encrypted", + "pgp-keys": "application/pgp-keys", + "pgp-signature": "application/pgp-signature", + "php": "application/x-httpd-php", + "pidf-diff+xml": "application/pidf-diff+xml", + "pidf+xml": "application/pidf+xml", + "pkcs10": "application/pkcs10", + "pkcs7-mime": "application/pkcs7-mime", + "pkcs7-signature": "application/pkcs7-signature", + "pkcs8": "application/pkcs8", + "pkcs8-encrypted": "application/pkcs8-encrypted", + "pkcs12": "application/pkcs12", + "pkix-attr-cert": "application/pkix-attr-cert", + "pkix-cert": "application/pkix-cert", + "pkix-crl": "application/pkix-crl", + "pkix-pkipath": "application/pkix-pkipath", + "pkixcmp": "application/pkixcmp", + "pls+xml": "application/pls+xml", + "poc-settings+xml": "application/poc-settings+xml", + "postscript": "application/postscript", + "ppt": "application/vnd.ms-powerpoint", + "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "ppsp-tracker+json": "application/ppsp-tracker+json", + "private-token-issuer-directory": "application/private-token-issuer-directory", + "private-token-request": "application/private-token-request", + "private-token-response": "application/private-token-response", + "problem+json": "application/problem+json", + "problem+xml": "application/problem+xml", + "provenance+xml": "application/provenance+xml", + "prs.alvestrand.titrax-sheet": "application/prs.alvestrand.titrax-sheet", + "prs.cww": "application/prs.cww", + "prs.cyn": "application/prs.cyn", + "prs.hpub+zip": "application/prs.hpub+zip", + "prs.implied-document+xml": "application/prs.implied-document+xml", + "prs.implied-executable": "application/prs.implied-executable", + "prs.implied-structure": "application/prs.implied-structure", + "prs.nprend": "application/prs.nprend", + "prs.plucker": "application/prs.plucker", + "prs.rdf-xml-crypt": "application/prs.rdf-xml-crypt", + "prs.vcfbzip2": "application/prs.vcfbzip2", + "prs.xsf+xml": "application/prs.xsf+xml", + "pskc+xml": "application/pskc+xml", + "pvd+json": "application/pvd+json", + "rar": "application/vnd.rar", + "rdf+xml": "application/rdf+xml", + "route-apd+xml": "application/route-apd+xml", + "route-s-tsid+xml": "application/route-s-tsid+xml", + "route-usd+xml": "application/route-usd+xml", + "QSIG": "application/QSIG", + "raptorfec": "application/raptorfec", + "rdap+json": "application/rdap+json", + "reginfo+xml": "application/reginfo+xml", + "relax-ng-compact-syntax": "application/relax-ng-compact-syntax", + "reputon+json": "application/reputon+json", + "resource-lists-diff+xml": "application/resource-lists-diff+xml", + "resource-lists+xml": "application/resource-lists+xml", + "rfc+xml": "application/rfc+xml", + "riscos": "application/riscos", + "rlmi+xml": "application/rlmi+xml", + "rls-services+xml": "application/rls-services+xml", + "rpki-checklist": "application/rpki-checklist", + "rpki-ghostbusters": "application/rpki-ghostbusters", + "rpki-manifest": "application/rpki-manifest", + "rpki-publication": "application/rpki-publication", + "rpki-roa": "application/rpki-roa", + "rpki-updown": "application/rpki-updown", + "rtf": "application/rtf", + "rtploopback": "application/rtploopback", + "rtx": "application/rtx", + "samlassertion+xml": "application/samlassertion+xml", + "samlmetadata+xml": "application/samlmetadata+xml", + "sarif-external-properties+json": "application/sarif-external-properties+json", + "sarif+json": "application/sarif+json", + "sbe": "application/sbe", + "sbml+xml": "application/sbml+xml", + "scaip+xml": "application/scaip+xml", + "scim+json": "application/scim+json", + "scvp-cv-request": "application/scvp-cv-request", + "scvp-cv-response": "application/scvp-cv-response", + "scvp-vp-request": "application/scvp-vp-request", + "scvp-vp-response": "application/scvp-vp-response", + "sdp": "application/sdp", + "secevent+jwt": "application/secevent+jwt", + "senml-etch+cbor": "application/senml-etch+cbor", + "senml-etch+json": "application/senml-etch+json", + "senml-exi": "application/senml-exi", + "senml+cbor": "application/senml+cbor", + "senml+json": "application/senml+json", + "senml+xml": "application/senml+xml", + "sensml-exi": "application/sensml-exi", + "sensml+cbor": "application/sensml+cbor", + "sensml+json": "application/sensml+json", + "sensml+xml": "application/sensml+xml", + "sep-exi": "application/sep-exi", + "sep+xml": "application/sep+xml", + "session-info": "application/session-info", + "set-payment": "application/set-payment", + "set-payment-initiation": "application/set-payment-initiation", + "set-registration": "application/set-registration", + "set-registration-initiation": "application/set-registration-initiation", + "SGML": "application/SGML", + "sgml-open-catalog": "application/sgml-open-catalog", + "sh": "application/x-sh", + "shf+xml": "application/shf+xml", + "sieve": "application/sieve", + "simple-filter+xml": "application/simple-filter+xml", + "simple-message-summary": "application/simple-message-summary", + "simpleSymbolContainer": "application/simpleSymbolContainer", + "sipc": "application/sipc", + "slate": "application/slate", + "smil+xml": "application/smil+xml", + "smpte336m": "application/smpte336m", + "soap+fastinfoset": "application/soap+fastinfoset", + "soap+xml": "application/soap+xml", + "sparql-query": "application/sparql-query", + "spdx+json": "application/spdx+json", + "sparql-results+xml": "application/sparql-results+xml", + "spirits-event+xml": "application/spirits-event+xml", + "sql": "application/sql", + "srgs": "application/srgs", + "srgs+xml": "application/srgs+xml", + "sru+xml": "application/sru+xml", + "ssml+xml": "application/ssml+xml", + "stix+json": "application/stix+json", + "swid+cbor": "application/swid+cbor", + "swid+xml": "application/swid+xml", + "tamp-apex-update": "application/tamp-apex-update", + "tamp-apex-update-confirm": "application/tamp-apex-update-confirm", + "tamp-community-update": "application/tamp-community-update", + "tamp-community-update-confirm": "application/tamp-community-update-confirm", + "tamp-error": "application/tamp-error", + "tamp-sequence-adjust": "application/tamp-sequence-adjust", + "tamp-sequence-adjust-confirm": "application/tamp-sequence-adjust-confirm", + "tamp-status-query": "application/tamp-status-query", + "tamp-status-response": "application/tamp-status-response", + "tamp-update": "application/tamp-update", + "tamp-update-confirm": "application/tamp-update-confirm", + "tar": "application/x-tar", + "taxii+json": "application/taxii+json", + "td+json": "application/td+json", + "tei+xml": "application/tei+xml", + "TETRA_ISI": "application/TETRA_ISI", + "thraud+xml": "application/thraud+xml", + "timestamp-query": "application/timestamp-query", + "timestamp-reply": "application/timestamp-reply", + "timestamped-data": "application/timestamped-data", + "tlsrpt+gzip": "application/tlsrpt+gzip", + "tlsrpt+json": "application/tlsrpt+json", + "tm+json": "application/tm+json", + "tnauthlist": "application/tnauthlist", + "token-introspection+jwt": "application/token-introspection+jwt", + "trickle-ice-sdpfrag": "application/trickle-ice-sdpfrag", + "trig": "application/trig", + "ttml+xml": "application/ttml+xml", + "tve-trigger": "application/tve-trigger", + "tzif": "application/tzif", + "tzif-leap": "application/tzif-leap", + "ulpfec": "application/ulpfec", + "urc-grpsheet+xml": "application/urc-grpsheet+xml", + "urc-ressheet+xml": "application/urc-ressheet+xml", + "urc-targetdesc+xml": "application/urc-targetdesc+xml", + "urc-uisocketdesc+xml": "application/urc-uisocketdesc+xml", + "vcard+json": "application/vcard+json", + "vcard+xml": "application/vcard+xml", + "vemmi": "application/vemmi", + "vnd.1000minds.decision-model+xml": "application/vnd.1000minds.decision-model+xml", + "vnd.1ob": "application/vnd.1ob", + "vnd.3gpp.5gnas": "application/vnd.3gpp.5gnas", + "vnd.3gpp.access-transfer-events+xml": "application/vnd.3gpp.access-transfer-events+xml", + "vnd.3gpp.bsf+xml": "application/vnd.3gpp.bsf+xml", + "vnd.3gpp.crs+xml": "application/vnd.3gpp.crs+xml", + "vnd.3gpp.current-location-discovery+xml": "application/vnd.3gpp.current-location-discovery+xml", + "vnd.3gpp.GMOP+xml": "application/vnd.3gpp.GMOP+xml", + "vnd.3gpp.gtpc": "application/vnd.3gpp.gtpc", + "vnd.3gpp.interworking-data": "application/vnd.3gpp.interworking-data", + "vnd.3gpp.lpp": "application/vnd.3gpp.lpp", + "vnd.3gpp.mc-signalling-ear": "application/vnd.3gpp.mc-signalling-ear", + "vnd.3gpp.mcdata-affiliation-command+xml": "application/vnd.3gpp.mcdata-affiliation-command+xml", + "vnd.3gpp.mcdata-info+xml": "application/vnd.3gpp.mcdata-info+xml", + "vnd.3gpp.mcdata-msgstore-ctrl-request+xml": "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + "vnd.3gpp.mcdata-payload": "application/vnd.3gpp.mcdata-payload", + "vnd.3gpp.mcdata-regroup+xml": "application/vnd.3gpp.mcdata-regroup+xml", + "vnd.3gpp.mcdata-service-config+xml": "application/vnd.3gpp.mcdata-service-config+xml", + "vnd.3gpp.mcdata-signalling": "application/vnd.3gpp.mcdata-signalling", + "vnd.3gpp.mcdata-ue-config+xml": "application/vnd.3gpp.mcdata-ue-config+xml", + "vnd.3gpp.mcdata-user-profile+xml": "application/vnd.3gpp.mcdata-user-profile+xml", + "vnd.3gpp.mcptt-affiliation-command+xml": "application/vnd.3gpp.mcptt-affiliation-command+xml", + "vnd.3gpp.mcptt-floor-request+xml": "application/vnd.3gpp.mcptt-floor-request+xml", + "vnd.3gpp.mcptt-info+xml": "application/vnd.3gpp.mcptt-info+xml", + "vnd.3gpp.mcptt-location-info+xml": "application/vnd.3gpp.mcptt-location-info+xml", + "vnd.3gpp.mcptt-mbms-usage-info+xml": "application/vnd.3gpp.mcptt-mbms-usage-info+xml", + "vnd.3gpp.mcptt-regroup+xml": "application/vnd.3gpp.mcptt-regroup+xml", + "vnd.3gpp.mcptt-service-config+xml": "application/vnd.3gpp.mcptt-service-config+xml", + "vnd.3gpp.mcptt-signed+xml": "application/vnd.3gpp.mcptt-signed+xml", + "vnd.3gpp.mcptt-ue-config+xml": "application/vnd.3gpp.mcptt-ue-config+xml", + "vnd.3gpp.mcptt-ue-init-config+xml": "application/vnd.3gpp.mcptt-ue-init-config+xml", + "vnd.3gpp.mcptt-user-profile+xml": "application/vnd.3gpp.mcptt-user-profile+xml", + "vnd.3gpp.mcvideo-affiliation-command+xml": "application/vnd.3gpp.mcvideo-affiliation-command+xml", + "vnd.3gpp.mcvideo-info+xml": "application/vnd.3gpp.mcvideo-info+xml", + "vnd.3gpp.mcvideo-location-info+xml": "application/vnd.3gpp.mcvideo-location-info+xml", + "vnd.3gpp.mcvideo-mbms-usage-info+xml": "application/vnd.3gpp.mcvideo-mbms-usage-info+xml", + "vnd.3gpp.mcvideo-regroup+xml": "application/vnd.3gpp.mcvideo-regroup+xml", + "vnd.3gpp.mcvideo-service-config+xml": "application/vnd.3gpp.mcvideo-service-config+xml", + "vnd.3gpp.mcvideo-transmission-request+xml": "application/vnd.3gpp.mcvideo-transmission-request+xml", + "vnd.3gpp.mcvideo-ue-config+xml": "application/vnd.3gpp.mcvideo-ue-config+xml", + "vnd.3gpp.mcvideo-user-profile+xml": "application/vnd.3gpp.mcvideo-user-profile+xml", + "vnd.3gpp.mid-call+xml": "application/vnd.3gpp.mid-call+xml", + "vnd.3gpp.ngap": "application/vnd.3gpp.ngap", + "vnd.3gpp.pfcp": "application/vnd.3gpp.pfcp", + "vnd.3gpp.pic-bw-large": "application/vnd.3gpp.pic-bw-large", + "vnd.3gpp.pic-bw-small": "application/vnd.3gpp.pic-bw-small", + "vnd.3gpp.pic-bw-var": "application/vnd.3gpp.pic-bw-var", + "vnd.3gpp-prose-pc3a+xml": "application/vnd.3gpp-prose-pc3a+xml", + "vnd.3gpp-prose-pc3ach+xml": "application/vnd.3gpp-prose-pc3ach+xml", + "vnd.3gpp-prose-pc3ch+xml": "application/vnd.3gpp-prose-pc3ch+xml", + "vnd.3gpp-prose-pc8+xml": "application/vnd.3gpp-prose-pc8+xml", + "vnd.3gpp-prose+xml": "application/vnd.3gpp-prose+xml", + "vnd.3gpp.s1ap": "application/vnd.3gpp.s1ap", + "vnd.3gpp.seal-group-doc+xml": "application/vnd.3gpp.seal-group-doc+xml", + "vnd.3gpp.seal-info+xml": "application/vnd.3gpp.seal-info+xml", + "vnd.3gpp.seal-location-info+xml": "application/vnd.3gpp.seal-location-info+xml", + "vnd.3gpp.seal-mbms-usage-info+xml": "application/vnd.3gpp.seal-mbms-usage-info+xml", + "vnd.3gpp.seal-network-QoS-management-info+xml": "application/vnd.3gpp.seal-network-QoS-management-info+xml", + "vnd.3gpp.seal-ue-config-info+xml": "application/vnd.3gpp.seal-ue-config-info+xml", + "vnd.3gpp.seal-unicast-info+xml": "application/vnd.3gpp.seal-unicast-info+xml", + "vnd.3gpp.seal-user-profile-info+xml": "application/vnd.3gpp.seal-user-profile-info+xml", + "vnd.3gpp.sms": "application/vnd.3gpp.sms", + "vnd.3gpp.sms+xml": "application/vnd.3gpp.sms+xml", + "vnd.3gpp.srvcc-ext+xml": "application/vnd.3gpp.srvcc-ext+xml", + "vnd.3gpp.SRVCC-info+xml": "application/vnd.3gpp.SRVCC-info+xml", + "vnd.3gpp.state-and-event-info+xml": "application/vnd.3gpp.state-and-event-info+xml", + "vnd.3gpp.ussd+xml": "application/vnd.3gpp.ussd+xml", + "vnd.3gpp.vae-info+xml": "application/vnd.3gpp.vae-info+xml", + "vnd.3gpp-v2x-local-service-information": "application/vnd.3gpp-v2x-local-service-information", + "vnd.3gpp2.bcmcsinfo+xml": "application/vnd.3gpp2.bcmcsinfo+xml", + "vnd.3gpp2.sms": "application/vnd.3gpp2.sms", + "vnd.3gpp2.tcap": "application/vnd.3gpp2.tcap", + "vnd.3gpp.v2x": "application/vnd.3gpp.v2x", + "vnd.3lightssoftware.imagescal": "application/vnd.3lightssoftware.imagescal", + "vnd.3M.Post-it-Notes": "application/vnd.3M.Post-it-Notes", + "vnd.accpac.simply.aso": "application/vnd.accpac.simply.aso", + "vnd.accpac.simply.imp": "application/vnd.accpac.simply.imp", + "vnd.acm.addressxfer+json": "application/vnd.acm.addressxfer+json", + "vnd.acm.chatbot+json": "application/vnd.acm.chatbot+json", + "vnd.acucobol": "application/vnd.acucobol", + "vnd.acucorp": "application/vnd.acucorp", + "vnd.adobe.flash.movie": "application/vnd.adobe.flash.movie", + "vnd.adobe.formscentral.fcdt": "application/vnd.adobe.formscentral.fcdt", + "vnd.adobe.fxp": "application/vnd.adobe.fxp", + "vnd.adobe.partial-upload": "application/vnd.adobe.partial-upload", + "vnd.adobe.xdp+xml": "application/vnd.adobe.xdp+xml", + "vnd.aether.imp": "application/vnd.aether.imp", + "vnd.afpc.afplinedata": "application/vnd.afpc.afplinedata", + "vnd.afpc.afplinedata-pagedef": "application/vnd.afpc.afplinedata-pagedef", + "vnd.afpc.cmoca-cmresource": "application/vnd.afpc.cmoca-cmresource", + "vnd.afpc.foca-charset": "application/vnd.afpc.foca-charset", + "vnd.afpc.foca-codedfont": "application/vnd.afpc.foca-codedfont", + "vnd.afpc.foca-codepage": "application/vnd.afpc.foca-codepage", + "vnd.afpc.modca": "application/vnd.afpc.modca", + "vnd.afpc.modca-cmtable": "application/vnd.afpc.modca-cmtable", + "vnd.afpc.modca-formdef": "application/vnd.afpc.modca-formdef", + "vnd.afpc.modca-mediummap": "application/vnd.afpc.modca-mediummap", + "vnd.afpc.modca-objectcontainer": "application/vnd.afpc.modca-objectcontainer", + "vnd.afpc.modca-overlay": "application/vnd.afpc.modca-overlay", + "vnd.afpc.modca-pagesegment": "application/vnd.afpc.modca-pagesegment", + "vnd.age": "application/vnd.age", + "vnd.ah-barcode": "application/vnd.ah-barcode", + "vnd.ahead.space": "application/vnd.ahead.space", + "vnd.airzip.filesecure.azf": "application/vnd.airzip.filesecure.azf", + "vnd.airzip.filesecure.azs": "application/vnd.airzip.filesecure.azs", + "vnd.amadeus+json": "application/vnd.amadeus+json", + "vnd.amazon.mobi8-ebook": "application/vnd.amazon.mobi8-ebook", + "vnd.americandynamics.acc": "application/vnd.americandynamics.acc", + "vnd.amiga.ami": "application/vnd.amiga.ami", + "vnd.amundsen.maze+xml": "application/vnd.amundsen.maze+xml", + "vnd.android.ota": "application/vnd.android.ota", + "vnd.anki": "application/vnd.anki", + "vnd.anser-web-certificate-issue-initiation": "application/vnd.anser-web-certificate-issue-initiation", + "vnd.antix.game-component": "application/vnd.antix.game-component", + "vnd.apache.arrow.file": "application/vnd.apache.arrow.file", + "vnd.apache.arrow.stream": "application/vnd.apache.arrow.stream", + "vnd.apache.thrift.binary": "application/vnd.apache.thrift.binary", + "vnd.apache.thrift.compact": "application/vnd.apache.thrift.compact", + "vnd.apache.thrift.json": "application/vnd.apache.thrift.json", + "vnd.apexlang": "application/vnd.apexlang", + "vnd.api+json": "application/vnd.api+json", + "vnd.aplextor.warrp+json": "application/vnd.aplextor.warrp+json", + "vnd.apothekende.reservation+json": "application/vnd.apothekende.reservation+json", + "vnd.apple.installer+xml": "application/vnd.apple.installer+xml", + "vnd.apple.keynote": "application/vnd.apple.keynote", + "vnd.apple.mpegurl": "application/vnd.apple.mpegurl", + "vnd.apple.numbers": "application/vnd.apple.numbers", + "vnd.apple.pages": "application/vnd.apple.pages", + "vnd.aristanetworks.swi": "application/vnd.aristanetworks.swi", + "vnd.artisan+json": "application/vnd.artisan+json", + "vnd.artsquare": "application/vnd.artsquare", + "vnd.astraea-software.iota": "application/vnd.astraea-software.iota", + "vnd.audiograph": "application/vnd.audiograph", + "vnd.autopackage": "application/vnd.autopackage", + "vnd.avalon+json": "application/vnd.avalon+json", + "vnd.avistar+xml": "application/vnd.avistar+xml", + "vnd.balsamiq.bmml+xml": "application/vnd.balsamiq.bmml+xml", + "vnd.banana-accounting": "application/vnd.banana-accounting", + "vnd.bbf.usp.error": "application/vnd.bbf.usp.error", + "vnd.bbf.usp.msg": "application/vnd.bbf.usp.msg", + "vnd.bbf.usp.msg+json": "application/vnd.bbf.usp.msg+json", + "vnd.balsamiq.bmpr": "application/vnd.balsamiq.bmpr", + "vnd.bekitzur-stech+json": "application/vnd.bekitzur-stech+json", + "vnd.belightsoft.lhzd+zip": "application/vnd.belightsoft.lhzd+zip", + "vnd.belightsoft.lhzl+zip": "application/vnd.belightsoft.lhzl+zip", + "vnd.bint.med-content": "application/vnd.bint.med-content", + "vnd.biopax.rdf+xml": "application/vnd.biopax.rdf+xml", + "vnd.blink-idb-value-wrapper": "application/vnd.blink-idb-value-wrapper", + "vnd.blueice.multipass": "application/vnd.blueice.multipass", + "vnd.bluetooth.ep.oob": "application/vnd.bluetooth.ep.oob", + "vnd.bluetooth.le.oob": "application/vnd.bluetooth.le.oob", + "vnd.bmi": "application/vnd.bmi", + "vnd.bpf": "application/vnd.bpf", + "vnd.bpf3": "application/vnd.bpf3", + "vnd.businessobjects": "application/vnd.businessobjects", + "vnd.byu.uapi+json": "application/vnd.byu.uapi+json", + "vnd.bzip3": "application/vnd.bzip3", + "vnd.cab-jscript": "application/vnd.cab-jscript", + "vnd.canon-cpdl": "application/vnd.canon-cpdl", + "vnd.canon-lips": "application/vnd.canon-lips", + "vnd.capasystems-pg+json": "application/vnd.capasystems-pg+json", + "vnd.cendio.thinlinc.clientconf": "application/vnd.cendio.thinlinc.clientconf", + "vnd.century-systems.tcp_stream": "application/vnd.century-systems.tcp_stream", + "vnd.chemdraw+xml": "application/vnd.chemdraw+xml", + "vnd.chess-pgn": "application/vnd.chess-pgn", + "vnd.chipnuts.karaoke-mmd": "application/vnd.chipnuts.karaoke-mmd", + "vnd.ciedi": "application/vnd.ciedi", + "vnd.cinderella": "application/vnd.cinderella", + "vnd.cirpack.isdn-ext": "application/vnd.cirpack.isdn-ext", + "vnd.citationstyles.style+xml": "application/vnd.citationstyles.style+xml", + "vnd.claymore": "application/vnd.claymore", + "vnd.cloanto.rp9": "application/vnd.cloanto.rp9", + "vnd.clonk.c4group": "application/vnd.clonk.c4group", + "vnd.cluetrust.cartomobile-config": "application/vnd.cluetrust.cartomobile-config", + "vnd.cluetrust.cartomobile-config-pkg": "application/vnd.cluetrust.cartomobile-config-pkg", + "vnd.cncf.helm.chart.content.v1.tar+gzip": "application/vnd.cncf.helm.chart.content.v1.tar+gzip", + "vnd.cncf.helm.chart.provenance.v1.prov": "application/vnd.cncf.helm.chart.provenance.v1.prov", + "vnd.cncf.helm.config.v1+json": "application/vnd.cncf.helm.config.v1+json", + "vnd.coffeescript": "application/vnd.coffeescript", + "vnd.collabio.xodocuments.document": "application/vnd.collabio.xodocuments.document", + "vnd.collabio.xodocuments.document-template": "application/vnd.collabio.xodocuments.document-template", + "vnd.collabio.xodocuments.presentation": "application/vnd.collabio.xodocuments.presentation", + "vnd.collabio.xodocuments.presentation-template": "application/vnd.collabio.xodocuments.presentation-template", + "vnd.collabio.xodocuments.spreadsheet": "application/vnd.collabio.xodocuments.spreadsheet", + "vnd.collabio.xodocuments.spreadsheet-template": "application/vnd.collabio.xodocuments.spreadsheet-template", + "vnd.collection.doc+json": "application/vnd.collection.doc+json", + "vnd.collection+json": "application/vnd.collection+json", + "vnd.collection.next+json": "application/vnd.collection.next+json", + "vnd.comicbook-rar": "application/vnd.comicbook-rar", + "vnd.comicbook+zip": "application/vnd.comicbook+zip", + "vnd.commerce-battelle": "application/vnd.commerce-battelle", + "vnd.commonspace": "application/vnd.commonspace", + "vnd.coreos.ignition+json": "application/vnd.coreos.ignition+json", + "vnd.cosmocaller": "application/vnd.cosmocaller", + "vnd.contact.cmsg": "application/vnd.contact.cmsg", + "vnd.crick.clicker": "application/vnd.crick.clicker", + "vnd.crick.clicker.keyboard": "application/vnd.crick.clicker.keyboard", + "vnd.crick.clicker.palette": "application/vnd.crick.clicker.palette", + "vnd.crick.clicker.template": "application/vnd.crick.clicker.template", + "vnd.crick.clicker.wordbank": "application/vnd.crick.clicker.wordbank", + "vnd.criticaltools.wbs+xml": "application/vnd.criticaltools.wbs+xml", + "vnd.cryptii.pipe+json": "application/vnd.cryptii.pipe+json", + "vnd.crypto-shade-file": "application/vnd.crypto-shade-file", + "vnd.cryptomator.encrypted": "application/vnd.cryptomator.encrypted", + "vnd.cryptomator.vault": "application/vnd.cryptomator.vault", + "vnd.ctc-posml": "application/vnd.ctc-posml", + "vnd.ctct.ws+xml": "application/vnd.ctct.ws+xml", + "vnd.cups-pdf": "application/vnd.cups-pdf", + "vnd.cups-postscript": "application/vnd.cups-postscript", + "vnd.cups-ppd": "application/vnd.cups-ppd", + "vnd.cups-raster": "application/vnd.cups-raster", + "vnd.cups-raw": "application/vnd.cups-raw", + "vnd.curl": "application/vnd.curl", + "vnd.cyan.dean.root+xml": "application/vnd.cyan.dean.root+xml", + "vnd.cybank": "application/vnd.cybank", + "vnd.cyclonedx+json": "application/vnd.cyclonedx+json", + "vnd.cyclonedx+xml": "application/vnd.cyclonedx+xml", + "vnd.d2l.coursepackage1p0+zip": "application/vnd.d2l.coursepackage1p0+zip", + "vnd.d3m-dataset": "application/vnd.d3m-dataset", + "vnd.d3m-problem": "application/vnd.d3m-problem", + "vnd.dart": "application/vnd.dart", + "vnd.data-vision.rdz": "application/vnd.data-vision.rdz", + "vnd.datalog": "application/vnd.datalog", + "vnd.datapackage+json": "application/vnd.datapackage+json", + "vnd.dataresource+json": "application/vnd.dataresource+json", + "vnd.dbf": "application/vnd.dbf", + "vnd.debian.binary-package": "application/vnd.debian.binary-package", + "vnd.dece.data": "application/vnd.dece.data", + "vnd.dece.ttml+xml": "application/vnd.dece.ttml+xml", + "vnd.dece.unspecified": "application/vnd.dece.unspecified", + "vnd.dece.zip": "application/vnd.dece.zip", + "vnd.denovo.fcselayout-link": "application/vnd.denovo.fcselayout-link", + "vnd.desmume.movie": "application/vnd.desmume.movie", + "vnd.dir-bi.plate-dl-nosuffix": "application/vnd.dir-bi.plate-dl-nosuffix", + "vnd.dm.delegation+xml": "application/vnd.dm.delegation+xml", + "vnd.dna": "application/vnd.dna", + "vnd.document+json": "application/vnd.document+json", + "vnd.dolby.mobile.1": "application/vnd.dolby.mobile.1", + "vnd.dolby.mobile.2": "application/vnd.dolby.mobile.2", + "vnd.doremir.scorecloud-binary-document": "application/vnd.doremir.scorecloud-binary-document", + "vnd.dpgraph": "application/vnd.dpgraph", + "vnd.dreamfactory": "application/vnd.dreamfactory", + "vnd.drive+json": "application/vnd.drive+json", + "vnd.dtg.local": "application/vnd.dtg.local", + "vnd.dtg.local.flash": "application/vnd.dtg.local.flash", + "vnd.dtg.local.html": "application/vnd.dtg.local.html", + "vnd.dvb.ait": "application/vnd.dvb.ait", + "vnd.dvb.dvbisl+xml": "application/vnd.dvb.dvbisl+xml", + "vnd.dvb.dvbj": "application/vnd.dvb.dvbj", + "vnd.dvb.esgcontainer": "application/vnd.dvb.esgcontainer", + "vnd.dvb.ipdcdftnotifaccess": "application/vnd.dvb.ipdcdftnotifaccess", + "vnd.dvb.ipdcesgaccess": "application/vnd.dvb.ipdcesgaccess", + "vnd.dvb.ipdcesgaccess2": "application/vnd.dvb.ipdcesgaccess2", + "vnd.dvb.ipdcesgpdd": "application/vnd.dvb.ipdcesgpdd", + "vnd.dvb.ipdcroaming": "application/vnd.dvb.ipdcroaming", + "vnd.dvb.iptv.alfec-base": "application/vnd.dvb.iptv.alfec-base", + "vnd.dvb.iptv.alfec-enhancement": "application/vnd.dvb.iptv.alfec-enhancement", + "vnd.dvb.notif-aggregate-root+xml": "application/vnd.dvb.notif-aggregate-root+xml", + "vnd.dvb.notif-container+xml": "application/vnd.dvb.notif-container+xml", + "vnd.dvb.notif-generic+xml": "application/vnd.dvb.notif-generic+xml", + "vnd.dvb.notif-ia-msglist+xml": "application/vnd.dvb.notif-ia-msglist+xml", + "vnd.dvb.notif-ia-registration-request+xml": "application/vnd.dvb.notif-ia-registration-request+xml", + "vnd.dvb.notif-ia-registration-response+xml": "application/vnd.dvb.notif-ia-registration-response+xml", + "vnd.dvb.notif-init+xml": "application/vnd.dvb.notif-init+xml", + "vnd.dvb.pfr": "application/vnd.dvb.pfr", + "vnd.dvb.service": "application/vnd.dvb.service", + "vnd.dxr": "application/vnd.dxr", + "vnd.dynageo": "application/vnd.dynageo", + "vnd.dzr": "application/vnd.dzr", + "vnd.easykaraoke.cdgdownload": "application/vnd.easykaraoke.cdgdownload", + "vnd.ecip.rlp": "application/vnd.ecip.rlp", + "vnd.ecdis-update": "application/vnd.ecdis-update", + "vnd.eclipse.ditto+json": "application/vnd.eclipse.ditto+json", + "vnd.ecowin.chart": "application/vnd.ecowin.chart", + "vnd.ecowin.filerequest": "application/vnd.ecowin.filerequest", + "vnd.ecowin.fileupdate": "application/vnd.ecowin.fileupdate", + "vnd.ecowin.series": "application/vnd.ecowin.series", + "vnd.ecowin.seriesrequest": "application/vnd.ecowin.seriesrequest", + "vnd.ecowin.seriesupdate": "application/vnd.ecowin.seriesupdate", + "vnd.efi.img": "application/vnd.efi.img", + "vnd.efi.iso": "application/vnd.efi.iso", + "vnd.eln+zip": "application/vnd.eln+zip", + "vnd.emclient.accessrequest+xml": "application/vnd.emclient.accessrequest+xml", + "vnd.enliven": "application/vnd.enliven", + "vnd.enphase.envoy": "application/vnd.enphase.envoy", + "vnd.eprints.data+xml": "application/vnd.eprints.data+xml", + "vnd.epson.esf": "application/vnd.epson.esf", + "vnd.epson.msf": "application/vnd.epson.msf", + "vnd.epson.quickanime": "application/vnd.epson.quickanime", + "vnd.epson.salt": "application/vnd.epson.salt", + "vnd.epson.ssf": "application/vnd.epson.ssf", + "vnd.ericsson.quickcall": "application/vnd.ericsson.quickcall", + "vnd.espass-espass+zip": "application/vnd.espass-espass+zip", + "vnd.eszigno3+xml": "application/vnd.eszigno3+xml", + "vnd.etsi.aoc+xml": "application/vnd.etsi.aoc+xml", + "vnd.etsi.asic-s+zip": "application/vnd.etsi.asic-s+zip", + "vnd.etsi.asic-e+zip": "application/vnd.etsi.asic-e+zip", + "vnd.etsi.cug+xml": "application/vnd.etsi.cug+xml", + "vnd.etsi.iptvcommand+xml": "application/vnd.etsi.iptvcommand+xml", + "vnd.etsi.iptvdiscovery+xml": "application/vnd.etsi.iptvdiscovery+xml", + "vnd.etsi.iptvprofile+xml": "application/vnd.etsi.iptvprofile+xml", + "vnd.etsi.iptvsad-bc+xml": "application/vnd.etsi.iptvsad-bc+xml", + "vnd.etsi.iptvsad-cod+xml": "application/vnd.etsi.iptvsad-cod+xml", + "vnd.etsi.iptvsad-npvr+xml": "application/vnd.etsi.iptvsad-npvr+xml", + "vnd.etsi.iptvservice+xml": "application/vnd.etsi.iptvservice+xml", + "vnd.etsi.iptvsync+xml": "application/vnd.etsi.iptvsync+xml", + "vnd.etsi.iptvueprofile+xml": "application/vnd.etsi.iptvueprofile+xml", + "vnd.etsi.mcid+xml": "application/vnd.etsi.mcid+xml", + "vnd.etsi.mheg5": "application/vnd.etsi.mheg5", + "vnd.etsi.overload-control-policy-dataset+xml": "application/vnd.etsi.overload-control-policy-dataset+xml", + "vnd.etsi.pstn+xml": "application/vnd.etsi.pstn+xml", + "vnd.etsi.sci+xml": "application/vnd.etsi.sci+xml", + "vnd.etsi.simservs+xml": "application/vnd.etsi.simservs+xml", + "vnd.etsi.timestamp-token": "application/vnd.etsi.timestamp-token", + "vnd.etsi.tsl+xml": "application/vnd.etsi.tsl+xml", + "vnd.etsi.tsl.der": "application/vnd.etsi.tsl.der", + "vnd.eu.kasparian.car+json": "application/vnd.eu.kasparian.car+json", + "vnd.eudora.data": "application/vnd.eudora.data", + "vnd.evolv.ecig.profile": "application/vnd.evolv.ecig.profile", + "vnd.evolv.ecig.settings": "application/vnd.evolv.ecig.settings", + "vnd.evolv.ecig.theme": "application/vnd.evolv.ecig.theme", + "vnd.exstream-empower+zip": "application/vnd.exstream-empower+zip", + "vnd.exstream-package": "application/vnd.exstream-package", + "vnd.ezpix-album": "application/vnd.ezpix-album", + "vnd.ezpix-package": "application/vnd.ezpix-package", + "vnd.f-secure.mobile": "application/vnd.f-secure.mobile", + "vnd.fastcopy-disk-image": "application/vnd.fastcopy-disk-image", + "vnd.familysearch.gedcom+zip": "application/vnd.familysearch.gedcom+zip", + "vnd.fdsn.mseed": "application/vnd.fdsn.mseed", + "vnd.fdsn.seed": "application/vnd.fdsn.seed", + "vnd.ffsns": "application/vnd.ffsns", + "vnd.ficlab.flb+zip": "application/vnd.ficlab.flb+zip", + "vnd.filmit.zfc": "application/vnd.filmit.zfc", + "vnd.fints": "application/vnd.fints", + "vnd.firemonkeys.cloudcell": "application/vnd.firemonkeys.cloudcell", + "vnd.FloGraphIt": "application/vnd.FloGraphIt", + "vnd.fluxtime.clip": "application/vnd.fluxtime.clip", + "vnd.font-fontforge-sfd": "application/vnd.font-fontforge-sfd", + "vnd.framemaker": "application/vnd.framemaker", + "vnd.freelog.comic": "application/vnd.freelog.comic", + "vnd.fsc.weblaunch": "application/vnd.fsc.weblaunch", + "vnd.fujifilm.fb.docuworks": "application/vnd.fujifilm.fb.docuworks", + "vnd.fujifilm.fb.docuworks.binder": "application/vnd.fujifilm.fb.docuworks.binder", + "vnd.fujifilm.fb.docuworks.container": "application/vnd.fujifilm.fb.docuworks.container", + "vnd.fujifilm.fb.jfi+xml": "application/vnd.fujifilm.fb.jfi+xml", + "vnd.fujitsu.oasys": "application/vnd.fujitsu.oasys", + "vnd.fujitsu.oasys2": "application/vnd.fujitsu.oasys2", + "vnd.fujitsu.oasys3": "application/vnd.fujitsu.oasys3", + "vnd.fujitsu.oasysgp": "application/vnd.fujitsu.oasysgp", + "vnd.fujitsu.oasysprs": "application/vnd.fujitsu.oasysprs", + "vnd.fujixerox.ART4": "application/vnd.fujixerox.ART4", + "vnd.fujixerox.ART-EX": "application/vnd.fujixerox.ART-EX", + "vnd.fujixerox.ddd": "application/vnd.fujixerox.ddd", + "vnd.fujixerox.docuworks": "application/vnd.fujixerox.docuworks", + "vnd.fujixerox.docuworks.binder": "application/vnd.fujixerox.docuworks.binder", + "vnd.fujixerox.docuworks.container": "application/vnd.fujixerox.docuworks.container", + "vnd.fujixerox.HBPL": "application/vnd.fujixerox.HBPL", + "vnd.fut-misnet": "application/vnd.fut-misnet", + "vnd.futoin+cbor": "application/vnd.futoin+cbor", + "vnd.futoin+json": "application/vnd.futoin+json", + "vnd.fuzzysheet": "application/vnd.fuzzysheet", + "vnd.genomatix.tuxedo": "application/vnd.genomatix.tuxedo", + "vnd.genozip": "application/vnd.genozip", + "vnd.gentics.grd+json": "application/vnd.gentics.grd+json", + "vnd.gentoo.catmetadata+xml": "application/vnd.gentoo.catmetadata+xml", + "vnd.gentoo.ebuild": "application/vnd.gentoo.ebuild", + "vnd.gentoo.eclass": "application/vnd.gentoo.eclass", + "vnd.gentoo.gpkg": "application/vnd.gentoo.gpkg", + "vnd.gentoo.manifest": "application/vnd.gentoo.manifest", + "vnd.gentoo.xpak": "application/vnd.gentoo.xpak", + "vnd.gentoo.pkgmetadata+xml": "application/vnd.gentoo.pkgmetadata+xml", + "vnd.geogebra.file": "application/vnd.geogebra.file", + "vnd.geogebra.slides": "application/vnd.geogebra.slides", + "vnd.geogebra.tool": "application/vnd.geogebra.tool", + "vnd.geometry-explorer": "application/vnd.geometry-explorer", + "vnd.geonext": "application/vnd.geonext", + "vnd.geoplan": "application/vnd.geoplan", + "vnd.geospace": "application/vnd.geospace", + "vnd.gerber": "application/vnd.gerber", + "vnd.globalplatform.card-content-mgt": "application/vnd.globalplatform.card-content-mgt", + "vnd.globalplatform.card-content-mgt-response": "application/vnd.globalplatform.card-content-mgt-response", + "vnd.gmx": "-", + "vnd.gnu.taler.exchange+json": "application/vnd.gnu.taler.exchange+json", + "vnd.gnu.taler.merchant+json": "application/vnd.gnu.taler.merchant+json", + "vnd.google-earth.kml+xml": "application/vnd.google-earth.kml+xml", + "vnd.google-earth.kmz": "application/vnd.google-earth.kmz", + "vnd.gov.sk.e-form+xml": "application/vnd.gov.sk.e-form+xml", + "vnd.gov.sk.e-form+zip": "application/vnd.gov.sk.e-form+zip", + "vnd.gov.sk.xmldatacontainer+xml": "application/vnd.gov.sk.xmldatacontainer+xml", + "vnd.gpxsee.map+xml": "application/vnd.gpxsee.map+xml", + "vnd.grafeq": "application/vnd.grafeq", + "vnd.gridmp": "application/vnd.gridmp", + "vnd.groove-account": "application/vnd.groove-account", + "vnd.groove-help": "application/vnd.groove-help", + "vnd.groove-identity-message": "application/vnd.groove-identity-message", + "vnd.groove-injector": "application/vnd.groove-injector", + "vnd.groove-tool-message": "application/vnd.groove-tool-message", + "vnd.groove-tool-template": "application/vnd.groove-tool-template", + "vnd.groove-vcard": "application/vnd.groove-vcard", + "vnd.hal+json": "application/vnd.hal+json", + "vnd.hal+xml": "application/vnd.hal+xml", + "vnd.HandHeld-Entertainment+xml": "application/vnd.HandHeld-Entertainment+xml", + "vnd.hbci": "application/vnd.hbci", + "vnd.hc+json": "application/vnd.hc+json", + "vnd.hcl-bireports": "application/vnd.hcl-bireports", + "vnd.hdt": "application/vnd.hdt", + "vnd.heroku+json": "application/vnd.heroku+json", + "vnd.hhe.lesson-player": "application/vnd.hhe.lesson-player", + "vnd.hp-HPGL": "application/vnd.hp-HPGL", + "vnd.hp-hpid": "application/vnd.hp-hpid", + "vnd.hp-hps": "application/vnd.hp-hps", + "vnd.hp-jlyt": "application/vnd.hp-jlyt", + "vnd.hp-PCL": "application/vnd.hp-PCL", + "vnd.hp-PCLXL": "application/vnd.hp-PCLXL", + "vnd.hsl": "application/vnd.hsl", + "vnd.httphone": "application/vnd.httphone", + "vnd.hydrostatix.sof-data": "application/vnd.hydrostatix.sof-data", + "vnd.hyper-item+json": "application/vnd.hyper-item+json", + "vnd.hyper+json": "application/vnd.hyper+json", + "vnd.hyperdrive+json": "application/vnd.hyperdrive+json", + "vnd.hzn-3d-crossword": "application/vnd.hzn-3d-crossword", + "vnd.ibm.electronic-media": "application/vnd.ibm.electronic-media", + "vnd.ibm.MiniPay": "application/vnd.ibm.MiniPay", + "vnd.ibm.rights-management": "application/vnd.ibm.rights-management", + "vnd.ibm.secure-container": "application/vnd.ibm.secure-container", + "vnd.iccprofile": "application/vnd.iccprofile", + "vnd.ieee.1905": "application/vnd.ieee.1905", + "vnd.igloader": "application/vnd.igloader", + "vnd.imagemeter.folder+zip": "application/vnd.imagemeter.folder+zip", + "vnd.imagemeter.image+zip": "application/vnd.imagemeter.image+zip", + "vnd.immervision-ivp": "application/vnd.immervision-ivp", + "vnd.immervision-ivu": "application/vnd.immervision-ivu", + "vnd.ims.imsccv1p1": "application/vnd.ims.imsccv1p1", + "vnd.ims.imsccv1p2": "application/vnd.ims.imsccv1p2", + "vnd.ims.imsccv1p3": "application/vnd.ims.imsccv1p3", + "vnd.ims.lis.v2.result+json": "application/vnd.ims.lis.v2.result+json", + "vnd.ims.lti.v2.toolconsumerprofile+json": "application/vnd.ims.lti.v2.toolconsumerprofile+json", + "vnd.ims.lti.v2.toolproxy.id+json": "application/vnd.ims.lti.v2.toolproxy.id+json", + "vnd.ims.lti.v2.toolproxy+json": "application/vnd.ims.lti.v2.toolproxy+json", + "vnd.ims.lti.v2.toolsettings+json": "application/vnd.ims.lti.v2.toolsettings+json", + "vnd.ims.lti.v2.toolsettings.simple+json": "application/vnd.ims.lti.v2.toolsettings.simple+json", + "vnd.informedcontrol.rms+xml": "application/vnd.informedcontrol.rms+xml", + "vnd.infotech.project": "application/vnd.infotech.project", + "vnd.infotech.project+xml": "application/vnd.infotech.project+xml", + "vnd.innopath.wamp.notification": "application/vnd.innopath.wamp.notification", + "vnd.insors.igm": "application/vnd.insors.igm", + "vnd.intercon.formnet": "application/vnd.intercon.formnet", + "vnd.intergeo": "application/vnd.intergeo", + "vnd.intertrust.digibox": "application/vnd.intertrust.digibox", + "vnd.intertrust.nncp": "application/vnd.intertrust.nncp", + "vnd.intu.qbo": "application/vnd.intu.qbo", + "vnd.intu.qfx": "application/vnd.intu.qfx", + "vnd.ipfs.ipns-record": "application/vnd.ipfs.ipns-record", + "vnd.ipld.car": "application/vnd.ipld.car", + "vnd.ipld.dag-cbor": "application/vnd.ipld.dag-cbor", + "vnd.ipld.dag-json": "application/vnd.ipld.dag-json", + "vnd.ipld.raw": "application/vnd.ipld.raw", + "vnd.iptc.g2.catalogitem+xml": "application/vnd.iptc.g2.catalogitem+xml", + "vnd.iptc.g2.conceptitem+xml": "application/vnd.iptc.g2.conceptitem+xml", + "vnd.iptc.g2.knowledgeitem+xml": "application/vnd.iptc.g2.knowledgeitem+xml", + "vnd.iptc.g2.newsitem+xml": "application/vnd.iptc.g2.newsitem+xml", + "vnd.iptc.g2.newsmessage+xml": "application/vnd.iptc.g2.newsmessage+xml", + "vnd.iptc.g2.packageitem+xml": "application/vnd.iptc.g2.packageitem+xml", + "vnd.iptc.g2.planningitem+xml": "application/vnd.iptc.g2.planningitem+xml", + "vnd.ipunplugged.rcprofile": "application/vnd.ipunplugged.rcprofile", + "vnd.irepository.package+xml": "application/vnd.irepository.package+xml", + "vnd.is-xpr": "application/vnd.is-xpr", + "vnd.isac.fcs": "application/vnd.isac.fcs", + "vnd.jam": "application/vnd.jam", + "vnd.iso11783-10+zip": "application/vnd.iso11783-10+zip", + "vnd.japannet-directory-service": "application/vnd.japannet-directory-service", + "vnd.japannet-jpnstore-wakeup": "application/vnd.japannet-jpnstore-wakeup", + "vnd.japannet-payment-wakeup": "application/vnd.japannet-payment-wakeup", + "vnd.japannet-registration": "application/vnd.japannet-registration", + "vnd.japannet-registration-wakeup": "application/vnd.japannet-registration-wakeup", + "vnd.japannet-setstore-wakeup": "application/vnd.japannet-setstore-wakeup", + "vnd.japannet-verification": "application/vnd.japannet-verification", + "vnd.japannet-verification-wakeup": "application/vnd.japannet-verification-wakeup", + "vnd.jcp.javame.midlet-rms": "application/vnd.jcp.javame.midlet-rms", + "vnd.jisp": "application/vnd.jisp", + "vnd.joost.joda-archive": "application/vnd.joost.joda-archive", + "vnd.jsk.isdn-ngn": "application/vnd.jsk.isdn-ngn", + "vnd.kahootz": "application/vnd.kahootz", + "vnd.kde.karbon": "application/vnd.kde.karbon", + "vnd.kde.kchart": "application/vnd.kde.kchart", + "vnd.kde.kformula": "application/vnd.kde.kformula", + "vnd.kde.kivio": "application/vnd.kde.kivio", + "vnd.kde.kontour": "application/vnd.kde.kontour", + "vnd.kde.kpresenter": "application/vnd.kde.kpresenter", + "vnd.kde.kspread": "application/vnd.kde.kspread", + "vnd.kde.kword": "application/vnd.kde.kword", + "vnd.kenameaapp": "application/vnd.kenameaapp", + "vnd.kidspiration": "application/vnd.kidspiration", + "vnd.Kinar": "application/vnd.Kinar", + "vnd.koan": "application/vnd.koan", + "vnd.kodak-descriptor": "application/vnd.kodak-descriptor", + "vnd.las": "application/vnd.las", + "vnd.las.las+json": "application/vnd.las.las+json", + "vnd.las.las+xml": "application/vnd.las.las+xml", + "vnd.laszip": "application/vnd.laszip", + "vnd.leap+json": "application/vnd.leap+json", + "vnd.liberty-request+xml": "application/vnd.liberty-request+xml", + "vnd.llamagraphics.life-balance.desktop": "application/vnd.llamagraphics.life-balance.desktop", + "vnd.llamagraphics.life-balance.exchange+xml": "application/vnd.llamagraphics.life-balance.exchange+xml", + "vnd.logipipe.circuit+zip": "application/vnd.logipipe.circuit+zip", + "vnd.loom": "application/vnd.loom", + "vnd.lotus-1-2-3": "application/vnd.lotus-1-2-3", + "vnd.lotus-approach": "application/vnd.lotus-approach", + "vnd.lotus-freelance": "application/vnd.lotus-freelance", + "vnd.lotus-notes": "application/vnd.lotus-notes", + "vnd.lotus-organizer": "application/vnd.lotus-organizer", + "vnd.lotus-screencam": "application/vnd.lotus-screencam", + "vnd.lotus-wordpro": "application/vnd.lotus-wordpro", + "vnd.macports.portpkg": "application/vnd.macports.portpkg", + "vnd.mapbox-vector-tile": "application/vnd.mapbox-vector-tile", + "vnd.marlin.drm.actiontoken+xml": "application/vnd.marlin.drm.actiontoken+xml", + "vnd.marlin.drm.conftoken+xml": "application/vnd.marlin.drm.conftoken+xml", + "vnd.marlin.drm.license+xml": "application/vnd.marlin.drm.license+xml", + "vnd.marlin.drm.mdcf": "application/vnd.marlin.drm.mdcf", + "vnd.mason+json": "application/vnd.mason+json", + "vnd.maxar.archive.3tz+zip": "application/vnd.maxar.archive.3tz+zip", + "vnd.maxmind.maxmind-db": "application/vnd.maxmind.maxmind-db", + "vnd.mcd": "application/vnd.mcd", + "vnd.mdl": "application/vnd.mdl", + "vnd.mdl-mbsdf": "application/vnd.mdl-mbsdf", + "vnd.medcalcdata": "application/vnd.medcalcdata", + "vnd.mediastation.cdkey": "application/vnd.mediastation.cdkey", + "vnd.medicalholodeck.recordxr": "application/vnd.medicalholodeck.recordxr", + "vnd.meridian-slingshot": "application/vnd.meridian-slingshot", + "vnd.mermaid": "application/vnd.mermaid", + "vnd.MFER": "application/vnd.MFER", + "vnd.mfmp": "application/vnd.mfmp", + "vnd.micro+json": "application/vnd.micro+json", + "vnd.micrografx.flo": "application/vnd.micrografx.flo", + "vnd.micrografx.igx": "application/vnd.micrografx.igx", + "vnd.microsoft.portable-executable": "application/vnd.microsoft.portable-executable", + "vnd.microsoft.windows.thumbnail-cache": "application/vnd.microsoft.windows.thumbnail-cache", + "vnd.miele+json": "application/vnd.miele+json", + "vnd.mif": "application/vnd.mif", + "vnd.minisoft-hp3000-save": "application/vnd.minisoft-hp3000-save", + "vnd.mitsubishi.misty-guard.trustweb": "application/vnd.mitsubishi.misty-guard.trustweb", + "vnd.Mobius.DAF": "application/vnd.Mobius.DAF", + "vnd.Mobius.DIS": "application/vnd.Mobius.DIS", + "vnd.Mobius.MBK": "application/vnd.Mobius.MBK", + "vnd.Mobius.MQY": "application/vnd.Mobius.MQY", + "vnd.Mobius.MSL": "application/vnd.Mobius.MSL", + "vnd.Mobius.PLC": "application/vnd.Mobius.PLC", + "vnd.Mobius.TXF": "application/vnd.Mobius.TXF", + "vnd.modl": "application/vnd.modl", + "vnd.mophun.application": "application/vnd.mophun.application", + "vnd.mophun.certificate": "application/vnd.mophun.certificate", + "vnd.motorola.flexsuite": "application/vnd.motorola.flexsuite", + "vnd.motorola.flexsuite.adsi": "application/vnd.motorola.flexsuite.adsi", + "vnd.motorola.flexsuite.fis": "application/vnd.motorola.flexsuite.fis", + "vnd.motorola.flexsuite.gotap": "application/vnd.motorola.flexsuite.gotap", + "vnd.motorola.flexsuite.kmr": "application/vnd.motorola.flexsuite.kmr", + "vnd.motorola.flexsuite.ttc": "application/vnd.motorola.flexsuite.ttc", + "vnd.motorola.flexsuite.wem": "application/vnd.motorola.flexsuite.wem", + "vnd.motorola.iprm": "application/vnd.motorola.iprm", + "vnd.mozilla.xul+xml": "application/vnd.mozilla.xul+xml", + "vnd.ms-artgalry": "application/vnd.ms-artgalry", + "vnd.ms-asf": "application/vnd.ms-asf", + "vnd.ms-cab-compressed": "application/vnd.ms-cab-compressed", + "vnd.ms-3mfdocument": "application/vnd.ms-3mfdocument", + "vnd.ms-excel": "application/vnd.ms-excel", + "vnd.ms-excel.addin.macroEnabled.12": "application/vnd.ms-excel.addin.macroEnabled.12", + "vnd.ms-excel.sheet.binary.macroEnabled.12": "application/vnd.ms-excel.sheet.binary.macroEnabled.12", + "vnd.ms-excel.sheet.macroEnabled.12": "application/vnd.ms-excel.sheet.macroEnabled.12", + "vnd.ms-excel.template.macroEnabled.12": "application/vnd.ms-excel.template.macroEnabled.12", + "vnd.ms-fontobject": "application/vnd.ms-fontobject", + "vnd.ms-htmlhelp": "application/vnd.ms-htmlhelp", + "vnd.ms-ims": "application/vnd.ms-ims", + "vnd.ms-lrm": "application/vnd.ms-lrm", + "vnd.ms-office.activeX+xml": "application/vnd.ms-office.activeX+xml", + "vnd.ms-officetheme": "application/vnd.ms-officetheme", + "vnd.ms-playready.initiator+xml": "application/vnd.ms-playready.initiator+xml", + "vnd.ms-powerpoint": "application/vnd.ms-powerpoint", + "vnd.ms-powerpoint.addin.macroEnabled.12": "application/vnd.ms-powerpoint.addin.macroEnabled.12", + "vnd.ms-powerpoint.presentation.macroEnabled.12": "application/vnd.ms-powerpoint.presentation.macroEnabled.12", + "vnd.ms-powerpoint.slide.macroEnabled.12": "application/vnd.ms-powerpoint.slide.macroEnabled.12", + "vnd.ms-powerpoint.slideshow.macroEnabled.12": "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", + "vnd.ms-powerpoint.template.macroEnabled.12": "application/vnd.ms-powerpoint.template.macroEnabled.12", + "vnd.ms-PrintDeviceCapabilities+xml": "application/vnd.ms-PrintDeviceCapabilities+xml", + "vnd.ms-PrintSchemaTicket+xml": "application/vnd.ms-PrintSchemaTicket+xml", + "vnd.ms-project": "application/vnd.ms-project", + "vnd.ms-tnef": "application/vnd.ms-tnef", + "vnd.ms-windows.devicepairing": "application/vnd.ms-windows.devicepairing", + "vnd.ms-windows.nwprinting.oob": "application/vnd.ms-windows.nwprinting.oob", + "vnd.ms-windows.printerpairing": "application/vnd.ms-windows.printerpairing", + "vnd.ms-windows.wsd.oob": "application/vnd.ms-windows.wsd.oob", + "vnd.ms-wmdrm.lic-chlg-req": "application/vnd.ms-wmdrm.lic-chlg-req", + "vnd.ms-wmdrm.lic-resp": "application/vnd.ms-wmdrm.lic-resp", + "vnd.ms-wmdrm.meter-chlg-req": "application/vnd.ms-wmdrm.meter-chlg-req", + "vnd.ms-wmdrm.meter-resp": "application/vnd.ms-wmdrm.meter-resp", + "vnd.ms-word.document.macroEnabled.12": "application/vnd.ms-word.document.macroEnabled.12", + "vnd.ms-word.template.macroEnabled.12": "application/vnd.ms-word.template.macroEnabled.12", + "vnd.ms-works": "application/vnd.ms-works", + "vnd.ms-wpl": "application/vnd.ms-wpl", + "vnd.ms-xpsdocument": "application/vnd.ms-xpsdocument", + "vnd.msa-disk-image": "application/vnd.msa-disk-image", + "vnd.mseq": "application/vnd.mseq", + "vnd.msign": "application/vnd.msign", + "vnd.multiad.creator": "application/vnd.multiad.creator", + "vnd.multiad.creator.cif": "application/vnd.multiad.creator.cif", + "vnd.musician": "application/vnd.musician", + "vnd.music-niff": "application/vnd.music-niff", + "vnd.muvee.style": "application/vnd.muvee.style", + "vnd.mynfc": "application/vnd.mynfc", + "vnd.nacamar.ybrid+json": "application/vnd.nacamar.ybrid+json", + "vnd.ncd.control": "application/vnd.ncd.control", + "vnd.ncd.reference": "application/vnd.ncd.reference", + "vnd.nearst.inv+json": "application/vnd.nearst.inv+json", + "vnd.nebumind.line": "application/vnd.nebumind.line", + "vnd.nervana": "application/vnd.nervana", + "vnd.netfpx": "application/vnd.netfpx", + "vnd.neurolanguage.nlu": "application/vnd.neurolanguage.nlu", + "vnd.nimn": "application/vnd.nimn", + "vnd.nintendo.snes.rom": "application/vnd.nintendo.snes.rom", + "vnd.nintendo.nitro.rom": "application/vnd.nintendo.nitro.rom", + "vnd.nitf": "application/vnd.nitf", + "vnd.noblenet-directory": "application/vnd.noblenet-directory", + "vnd.noblenet-sealer": "application/vnd.noblenet-sealer", + "vnd.noblenet-web": "application/vnd.noblenet-web", + "vnd.nokia.catalogs": "application/vnd.nokia.catalogs", + "vnd.nokia.conml+wbxml": "application/vnd.nokia.conml+wbxml", + "vnd.nokia.conml+xml": "application/vnd.nokia.conml+xml", + "vnd.nokia.iptv.config+xml": "application/vnd.nokia.iptv.config+xml", + "vnd.nokia.iSDS-radio-presets": "application/vnd.nokia.iSDS-radio-presets", + "vnd.nokia.landmark+wbxml": "application/vnd.nokia.landmark+wbxml", + "vnd.nokia.landmark+xml": "application/vnd.nokia.landmark+xml", + "vnd.nokia.landmarkcollection+xml": "application/vnd.nokia.landmarkcollection+xml", + "vnd.nokia.ncd": "application/vnd.nokia.ncd", + "vnd.nokia.n-gage.ac+xml": "application/vnd.nokia.n-gage.ac+xml", + "vnd.nokia.n-gage.data": "application/vnd.nokia.n-gage.data", + "vnd.nokia.pcd+wbxml": "application/vnd.nokia.pcd+wbxml", + "vnd.nokia.pcd+xml": "application/vnd.nokia.pcd+xml", + "vnd.nokia.radio-preset": "application/vnd.nokia.radio-preset", + "vnd.nokia.radio-presets": "application/vnd.nokia.radio-presets", + "vnd.novadigm.EDM": "application/vnd.novadigm.EDM", + "vnd.novadigm.EDX": "application/vnd.novadigm.EDX", + "vnd.novadigm.EXT": "application/vnd.novadigm.EXT", + "vnd.ntt-local.content-share": "application/vnd.ntt-local.content-share", + "vnd.ntt-local.file-transfer": "application/vnd.ntt-local.file-transfer", + "vnd.ntt-local.ogw_remote-access": "application/vnd.ntt-local.ogw_remote-access", + "vnd.ntt-local.sip-ta_remote": "application/vnd.ntt-local.sip-ta_remote", + "vnd.ntt-local.sip-ta_tcp_stream": "application/vnd.ntt-local.sip-ta_tcp_stream", + "vnd.oasis.opendocument.base": "application/vnd.oasis.opendocument.base", + "vnd.oasis.opendocument.chart": "application/vnd.oasis.opendocument.chart", + "vnd.oasis.opendocument.chart-template": "application/vnd.oasis.opendocument.chart-template", + "vnd.oasis.opendocument.formula": "application/vnd.oasis.opendocument.formula", + "vnd.oasis.opendocument.formula-template": "application/vnd.oasis.opendocument.formula-template", + "vnd.oasis.opendocument.graphics": "application/vnd.oasis.opendocument.graphics", + "vnd.oasis.opendocument.graphics-template": "application/vnd.oasis.opendocument.graphics-template", + "vnd.oasis.opendocument.image": "application/vnd.oasis.opendocument.image", + "vnd.oasis.opendocument.image-template": "application/vnd.oasis.opendocument.image-template", + "vnd.oasis.opendocument.presentation": "application/vnd.oasis.opendocument.presentation", + "vnd.oasis.opendocument.presentation-template": "application/vnd.oasis.opendocument.presentation-template", + "vnd.oasis.opendocument.spreadsheet": "application/vnd.oasis.opendocument.spreadsheet", + "vnd.oasis.opendocument.spreadsheet-template": "application/vnd.oasis.opendocument.spreadsheet-template", + "vnd.oasis.opendocument.text": "application/vnd.oasis.opendocument.text", + "vnd.oasis.opendocument.text-master": "application/vnd.oasis.opendocument.text-master", + "vnd.oasis.opendocument.text-master-template": "application/vnd.oasis.opendocument.text-master-template", + "vnd.oasis.opendocument.text-template": "application/vnd.oasis.opendocument.text-template", + "vnd.oasis.opendocument.text-web": "application/vnd.oasis.opendocument.text-web", + "vnd.obn": "application/vnd.obn", + "vnd.ocf+cbor": "application/vnd.ocf+cbor", + "vnd.oci.image.manifest.v1+json": "application/vnd.oci.image.manifest.v1+json", + "vnd.oftn.l10n+json": "application/vnd.oftn.l10n+json", + "vnd.oipf.contentaccessdownload+xml": "application/vnd.oipf.contentaccessdownload+xml", + "vnd.oipf.contentaccessstreaming+xml": "application/vnd.oipf.contentaccessstreaming+xml", + "vnd.oipf.cspg-hexbinary": "application/vnd.oipf.cspg-hexbinary", + "vnd.oipf.dae.svg+xml": "application/vnd.oipf.dae.svg+xml", + "vnd.oipf.dae.xhtml+xml": "application/vnd.oipf.dae.xhtml+xml", + "vnd.oipf.mippvcontrolmessage+xml": "application/vnd.oipf.mippvcontrolmessage+xml", + "vnd.oipf.pae.gem": "application/vnd.oipf.pae.gem", + "vnd.oipf.spdiscovery+xml": "application/vnd.oipf.spdiscovery+xml", + "vnd.oipf.spdlist+xml": "application/vnd.oipf.spdlist+xml", + "vnd.oipf.ueprofile+xml": "application/vnd.oipf.ueprofile+xml", + "vnd.oipf.userprofile+xml": "application/vnd.oipf.userprofile+xml", + "vnd.olpc-sugar": "application/vnd.olpc-sugar", + "vnd.oma.bcast.associated-procedure-parameter+xml": "application/vnd.oma.bcast.associated-procedure-parameter+xml", + "vnd.oma.bcast.drm-trigger+xml": "application/vnd.oma.bcast.drm-trigger+xml", + "vnd.oma.bcast.imd+xml": "application/vnd.oma.bcast.imd+xml", + "vnd.oma.bcast.ltkm": "application/vnd.oma.bcast.ltkm", + "vnd.oma.bcast.notification+xml": "application/vnd.oma.bcast.notification+xml", + "vnd.oma.bcast.provisioningtrigger": "application/vnd.oma.bcast.provisioningtrigger", + "vnd.oma.bcast.sgboot": "application/vnd.oma.bcast.sgboot", + "vnd.oma.bcast.sgdd+xml": "application/vnd.oma.bcast.sgdd+xml", + "vnd.oma.bcast.sgdu": "application/vnd.oma.bcast.sgdu", + "vnd.oma.bcast.simple-symbol-container": "application/vnd.oma.bcast.simple-symbol-container", + "vnd.oma.bcast.smartcard-trigger+xml": "application/vnd.oma.bcast.smartcard-trigger+xml", + "vnd.oma.bcast.sprov+xml": "application/vnd.oma.bcast.sprov+xml", + "vnd.oma.bcast.stkm": "application/vnd.oma.bcast.stkm", + "vnd.oma.cab-address-book+xml": "application/vnd.oma.cab-address-book+xml", + "vnd.oma.cab-feature-handler+xml": "application/vnd.oma.cab-feature-handler+xml", + "vnd.oma.cab-pcc+xml": "application/vnd.oma.cab-pcc+xml", + "vnd.oma.cab-subs-invite+xml": "application/vnd.oma.cab-subs-invite+xml", + "vnd.oma.cab-user-prefs+xml": "application/vnd.oma.cab-user-prefs+xml", + "vnd.oma.dcd": "application/vnd.oma.dcd", + "vnd.oma.dcdc": "application/vnd.oma.dcdc", + "vnd.oma.dd2+xml": "application/vnd.oma.dd2+xml", + "vnd.oma.drm.risd+xml": "application/vnd.oma.drm.risd+xml", + "vnd.oma.group-usage-list+xml": "application/vnd.oma.group-usage-list+xml", + "vnd.oma.lwm2m+cbor": "application/vnd.oma.lwm2m+cbor", + "vnd.oma.lwm2m+json": "application/vnd.oma.lwm2m+json", + "vnd.oma.lwm2m+tlv": "application/vnd.oma.lwm2m+tlv", + "vnd.oma.pal+xml": "application/vnd.oma.pal+xml", + "vnd.oma.poc.detailed-progress-report+xml": "application/vnd.oma.poc.detailed-progress-report+xml", + "vnd.oma.poc.final-report+xml": "application/vnd.oma.poc.final-report+xml", + "vnd.oma.poc.groups+xml": "application/vnd.oma.poc.groups+xml", + "vnd.oma.poc.invocation-descriptor+xml": "application/vnd.oma.poc.invocation-descriptor+xml", + "vnd.oma.poc.optimized-progress-report+xml": "application/vnd.oma.poc.optimized-progress-report+xml", + "vnd.oma.push": "application/vnd.oma.push", + "vnd.oma.scidm.messages+xml": "application/vnd.oma.scidm.messages+xml", + "vnd.oma.xcap-directory+xml": "application/vnd.oma.xcap-directory+xml", + "vnd.omads-email+xml": "application/vnd.omads-email+xml", + "vnd.omads-file+xml": "application/vnd.omads-file+xml", + "vnd.omads-folder+xml": "application/vnd.omads-folder+xml", + "vnd.omaloc-supl-init": "application/vnd.omaloc-supl-init", + "vnd.oma-scws-config": "application/vnd.oma-scws-config", + "vnd.oma-scws-http-request": "application/vnd.oma-scws-http-request", + "vnd.oma-scws-http-response": "application/vnd.oma-scws-http-response", + "vnd.onepager": "application/vnd.onepager", + "vnd.onepagertamp": "application/vnd.onepagertamp", + "vnd.onepagertamx": "application/vnd.onepagertamx", + "vnd.onepagertat": "application/vnd.onepagertat", + "vnd.onepagertatp": "application/vnd.onepagertatp", + "vnd.onepagertatx": "application/vnd.onepagertatx", + "vnd.onvif.metadata": "application/vnd.onvif.metadata", + "vnd.openblox.game-binary": "application/vnd.openblox.game-binary", + "vnd.openblox.game+xml": "application/vnd.openblox.game+xml", + "vnd.openeye.oeb": "application/vnd.openeye.oeb", + "vnd.openstreetmap.data+xml": "application/vnd.openstreetmap.data+xml", + "vnd.opentimestamps.ots": "application/vnd.opentimestamps.ots", + "vnd.openxmlformats-officedocument.custom-properties+xml": "application/vnd.openxmlformats-officedocument.custom-properties+xml", + "vnd.openxmlformats-officedocument.customXmlProperties+xml": "application/vnd.openxmlformats-officedocument.customXmlProperties+xml", + "vnd.openxmlformats-officedocument.drawing+xml": "application/vnd.openxmlformats-officedocument.drawing+xml", + "vnd.openxmlformats-officedocument.drawingml.chart+xml": "application/vnd.openxmlformats-officedocument.drawingml.chart+xml", + "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + "vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + "vnd.openxmlformats-officedocument.extended-properties+xml": "application/vnd.openxmlformats-officedocument.extended-properties+xml", + "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml": "application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + "vnd.openxmlformats-officedocument.presentationml.comments+xml": "application/vnd.openxmlformats-officedocument.presentationml.comments+xml", + "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml": "application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml": "application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml": "application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + "vnd.openxmlformats-officedocument.presentationml.presentation": "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + "vnd.openxmlformats-officedocument.presentationml.presProps+xml": "application/vnd.openxmlformats-officedocument.presentationml.presProps+xml", + "vnd.openxmlformats-officedocument.presentationml.slide": "application/vnd.openxmlformats-officedocument.presentationml.slide", + "vnd.openxmlformats-officedocument.presentationml.slide+xml": "application/vnd.openxmlformats-officedocument.presentationml.slide+xml", + "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml": "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml": "application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + "vnd.openxmlformats-officedocument.presentationml.slideshow": "application/vnd.openxmlformats-officedocument.presentationml.slideshow", + "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml": "application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml": "application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + "vnd.openxmlformats-officedocument.presentationml.tags+xml": "application/vnd.openxmlformats-officedocument.presentationml.tags+xml", + "vnd.openxmlformats-officedocument.presentationml.template": "application/vnd.openxmlformats-officedocument.presentationml.template", + "vnd.openxmlformats-officedocument.presentationml.template.main+xml": "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml", + "vnd.openxmlformats-officedocument.presentationml.viewProps+xml": "application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.sheet": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.template": "application/vnd.openxmlformats-officedocument.spreadsheetml.template", + "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + "vnd.openxmlformats-officedocument.theme+xml": "application/vnd.openxmlformats-officedocument.theme+xml", + "vnd.openxmlformats-officedocument.themeOverride+xml": "application/vnd.openxmlformats-officedocument.themeOverride+xml", + "vnd.openxmlformats-officedocument.vmlDrawing": "application/vnd.openxmlformats-officedocument.vmlDrawing", + "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.document": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.template": "application/vnd.openxmlformats-officedocument.wordprocessingml.template", + "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml": "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + "vnd.openxmlformats-package.core-properties+xml": "application/vnd.openxmlformats-package.core-properties+xml", + "vnd.openxmlformats-package.digital-signature-xmlsignature+xml": "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + "vnd.openxmlformats-package.relationships+xml": "application/vnd.openxmlformats-package.relationships+xml", + "vnd.oracle.resource+json": "application/vnd.oracle.resource+json", + "vnd.orange.indata": "application/vnd.orange.indata", + "vnd.osa.netdeploy": "application/vnd.osa.netdeploy", + "vnd.osgeo.mapguide.package": "application/vnd.osgeo.mapguide.package", + "vnd.osgi.bundle": "application/vnd.osgi.bundle", + "vnd.osgi.dp": "application/vnd.osgi.dp", + "vnd.osgi.subsystem": "application/vnd.osgi.subsystem", + "vnd.otps.ct-kip+xml": "application/vnd.otps.ct-kip+xml", + "vnd.oxli.countgraph": "application/vnd.oxli.countgraph", + "vnd.pagerduty+json": "application/vnd.pagerduty+json", + "vnd.palm": "application/vnd.palm", + "vnd.panoply": "application/vnd.panoply", + "vnd.paos.xml": "application/vnd.paos.xml", + "vnd.patentdive": "application/vnd.patentdive", + "vnd.patientecommsdoc": "application/vnd.patientecommsdoc", + "vnd.pawaafile": "application/vnd.pawaafile", + "vnd.pcos": "application/vnd.pcos", + "vnd.pg.format": "application/vnd.pg.format", + "vnd.pg.osasli": "application/vnd.pg.osasli", + "vnd.piaccess.application-licence": "application/vnd.piaccess.application-licence", + "vnd.picsel": "application/vnd.picsel", + "vnd.pmi.widget": "application/vnd.pmi.widget", + "vnd.poc.group-advertisement+xml": "application/vnd.poc.group-advertisement+xml", + "vnd.pocketlearn": "application/vnd.pocketlearn", + "vnd.powerbuilder6": "application/vnd.powerbuilder6", + "vnd.powerbuilder6-s": "application/vnd.powerbuilder6-s", + "vnd.powerbuilder7": "application/vnd.powerbuilder7", + "vnd.powerbuilder75": "application/vnd.powerbuilder75", + "vnd.powerbuilder75-s": "application/vnd.powerbuilder75-s", + "vnd.powerbuilder7-s": "application/vnd.powerbuilder7-s", + "vnd.preminet": "application/vnd.preminet", + "vnd.previewsystems.box": "application/vnd.previewsystems.box", + "vnd.proteus.magazine": "application/vnd.proteus.magazine", + "vnd.psfs": "application/vnd.psfs", + "vnd.pt.mundusmundi": "application/vnd.pt.mundusmundi", + "vnd.publishare-delta-tree": "application/vnd.publishare-delta-tree", + "vnd.pvi.ptid1": "application/vnd.pvi.ptid1", + "vnd.pwg-multiplexed": "application/vnd.pwg-multiplexed", + "vnd.pwg-xhtml-print+xml": "application/vnd.pwg-xhtml-print+xml", + "vnd.qualcomm.brew-app-res": "application/vnd.qualcomm.brew-app-res", + "vnd.quarantainenet": "application/vnd.quarantainenet", + "vnd.Quark.QuarkXPress": "application/vnd.Quark.QuarkXPress", + "vnd.quobject-quoxdocument": "application/vnd.quobject-quoxdocument", + "vnd.radisys.moml+xml": "application/vnd.radisys.moml+xml", + "vnd.radisys.msml-audit-conf+xml": "application/vnd.radisys.msml-audit-conf+xml", + "vnd.radisys.msml-audit-conn+xml": "application/vnd.radisys.msml-audit-conn+xml", + "vnd.radisys.msml-audit-dialog+xml": "application/vnd.radisys.msml-audit-dialog+xml", + "vnd.radisys.msml-audit-stream+xml": "application/vnd.radisys.msml-audit-stream+xml", + "vnd.radisys.msml-audit+xml": "application/vnd.radisys.msml-audit+xml", + "vnd.radisys.msml-conf+xml": "application/vnd.radisys.msml-conf+xml", + "vnd.radisys.msml-dialog-base+xml": "application/vnd.radisys.msml-dialog-base+xml", + "vnd.radisys.msml-dialog-fax-detect+xml": "application/vnd.radisys.msml-dialog-fax-detect+xml", + "vnd.radisys.msml-dialog-fax-sendrecv+xml": "application/vnd.radisys.msml-dialog-fax-sendrecv+xml", + "vnd.radisys.msml-dialog-group+xml": "application/vnd.radisys.msml-dialog-group+xml", + "vnd.radisys.msml-dialog-speech+xml": "application/vnd.radisys.msml-dialog-speech+xml", + "vnd.radisys.msml-dialog-transform+xml": "application/vnd.radisys.msml-dialog-transform+xml", + "vnd.radisys.msml-dialog+xml": "application/vnd.radisys.msml-dialog+xml", + "vnd.radisys.msml+xml": "application/vnd.radisys.msml+xml", + "vnd.rainstor.data": "application/vnd.rainstor.data", + "vnd.rapid": "application/vnd.rapid", + "vnd.rar": "application/vnd.rar", + "vnd.realvnc.bed": "application/vnd.realvnc.bed", + "vnd.recordare.musicxml": "application/vnd.recordare.musicxml", + "vnd.recordare.musicxml+xml": "application/vnd.recordare.musicxml+xml", + "vnd.relpipe": "application/vnd.relpipe", + "vnd.RenLearn.rlprint": "application/vnd.RenLearn.rlprint", + "vnd.resilient.logic": "application/vnd.resilient.logic", + "vnd.restful+json": "application/vnd.restful+json", + "vnd.rig.cryptonote": "application/vnd.rig.cryptonote", + "vnd.route66.link66+xml": "application/vnd.route66.link66+xml", + "vnd.rs-274x": "application/vnd.rs-274x", + "vnd.ruckus.download": "application/vnd.ruckus.download", + "vnd.s3sms": "application/vnd.s3sms", + "vnd.sailingtracker.track": "application/vnd.sailingtracker.track", + "vnd.sar": "application/vnd.sar", + "vnd.sbm.cid": "application/vnd.sbm.cid", + "vnd.sbm.mid2": "application/vnd.sbm.mid2", + "vnd.scribus": "application/vnd.scribus", + "vnd.sealed.3df": "application/vnd.sealed.3df", + "vnd.sealed.csf": "application/vnd.sealed.csf", + "vnd.sealed.doc": "application/vnd.sealed.doc", + "vnd.sealed.eml": "application/vnd.sealed.eml", + "vnd.sealed.mht": "application/vnd.sealed.mht", + "vnd.sealed.net": "application/vnd.sealed.net", + "vnd.sealed.ppt": "application/vnd.sealed.ppt", + "vnd.sealed.tiff": "application/vnd.sealed.tiff", + "vnd.sealed.xls": "application/vnd.sealed.xls", + "vnd.sealedmedia.softseal.html": "application/vnd.sealedmedia.softseal.html", + "vnd.sealedmedia.softseal.pdf": "application/vnd.sealedmedia.softseal.pdf", + "vnd.seemail": "application/vnd.seemail", + "vnd.seis+json": "application/vnd.seis+json", + "vnd.sema": "application/vnd.sema", + "vnd.semd": "application/vnd.semd", + "vnd.semf": "application/vnd.semf", + "vnd.shade-save-file": "application/vnd.shade-save-file", + "vnd.shana.informed.formdata": "application/vnd.shana.informed.formdata", + "vnd.shana.informed.formtemplate": "application/vnd.shana.informed.formtemplate", + "vnd.shana.informed.interchange": "application/vnd.shana.informed.interchange", + "vnd.shana.informed.package": "application/vnd.shana.informed.package", + "vnd.shootproof+json": "application/vnd.shootproof+json", + "vnd.shopkick+json": "application/vnd.shopkick+json", + "vnd.shp": "application/vnd.shp", + "vnd.shx": "application/vnd.shx", + "vnd.sigrok.session": "application/vnd.sigrok.session", + "vnd.SimTech-MindMapper": "application/vnd.SimTech-MindMapper", + "vnd.siren+json": "application/vnd.siren+json", + "vnd.smaf": "application/vnd.smaf", + "vnd.smart.notebook": "application/vnd.smart.notebook", + "vnd.smart.teacher": "application/vnd.smart.teacher", + "vnd.smintio.portals.archive": "application/vnd.smintio.portals.archive", + "vnd.snesdev-page-table": "application/vnd.snesdev-page-table", + "vnd.software602.filler.form+xml": "application/vnd.software602.filler.form+xml", + "vnd.software602.filler.form-xml-zip": "application/vnd.software602.filler.form-xml-zip", + "vnd.solent.sdkm+xml": "application/vnd.solent.sdkm+xml", + "vnd.spotfire.dxp": "application/vnd.spotfire.dxp", + "vnd.spotfire.sfs": "application/vnd.spotfire.sfs", + "vnd.sqlite3": "application/vnd.sqlite3", + "vnd.sss-cod": "application/vnd.sss-cod", + "vnd.sss-dtf": "application/vnd.sss-dtf", + "vnd.sss-ntf": "application/vnd.sss-ntf", + "vnd.stepmania.package": "application/vnd.stepmania.package", + "vnd.stepmania.stepchart": "application/vnd.stepmania.stepchart", + "vnd.street-stream": "application/vnd.street-stream", + "vnd.sun.wadl+xml": "application/vnd.sun.wadl+xml", + "vnd.sus-calendar": "application/vnd.sus-calendar", + "vnd.svd": "application/vnd.svd", + "vnd.swiftview-ics": "application/vnd.swiftview-ics", + "vnd.sybyl.mol2": "application/vnd.sybyl.mol2", + "vnd.sycle+xml": "application/vnd.sycle+xml", + "vnd.syft+json": "application/vnd.syft+json", + "vnd.syncml.dm.notification": "application/vnd.syncml.dm.notification", + "vnd.syncml.dmddf+xml": "application/vnd.syncml.dmddf+xml", + "vnd.syncml.dmtnds+wbxml": "application/vnd.syncml.dmtnds+wbxml", + "vnd.syncml.dmtnds+xml": "application/vnd.syncml.dmtnds+xml", + "vnd.syncml.dmddf+wbxml": "application/vnd.syncml.dmddf+wbxml", + "vnd.syncml.dm+wbxml": "application/vnd.syncml.dm+wbxml", + "vnd.syncml.dm+xml": "application/vnd.syncml.dm+xml", + "vnd.syncml.ds.notification": "application/vnd.syncml.ds.notification", + "vnd.syncml+xml": "application/vnd.syncml+xml", + "vnd.tableschema+json": "application/vnd.tableschema+json", + "vnd.tao.intent-module-archive": "application/vnd.tao.intent-module-archive", + "vnd.tcpdump.pcap": "application/vnd.tcpdump.pcap", + "vnd.think-cell.ppttc+json": "application/vnd.think-cell.ppttc+json", + "vnd.tml": "application/vnd.tml", + "vnd.tmd.mediaflex.api+xml": "application/vnd.tmd.mediaflex.api+xml", + "vnd.tmobile-livetv": "application/vnd.tmobile-livetv", + "vnd.tri.onesource": "application/vnd.tri.onesource", + "vnd.trid.tpt": "application/vnd.trid.tpt", + "vnd.triscape.mxs": "application/vnd.triscape.mxs", + "vnd.trueapp": "application/vnd.trueapp", + "vnd.truedoc": "application/vnd.truedoc", + "vnd.ubisoft.webplayer": "application/vnd.ubisoft.webplayer", + "vnd.ufdl": "application/vnd.ufdl", + "vnd.uiq.theme": "application/vnd.uiq.theme", + "vnd.umajin": "application/vnd.umajin", + "vnd.unity": "application/vnd.unity", + "vnd.uoml+xml": "application/vnd.uoml+xml", + "vnd.uplanet.alert": "application/vnd.uplanet.alert", + "vnd.uplanet.alert-wbxml": "application/vnd.uplanet.alert-wbxml", + "vnd.uplanet.bearer-choice": "application/vnd.uplanet.bearer-choice", + "vnd.uplanet.bearer-choice-wbxml": "application/vnd.uplanet.bearer-choice-wbxml", + "vnd.uplanet.cacheop": "application/vnd.uplanet.cacheop", + "vnd.uplanet.cacheop-wbxml": "application/vnd.uplanet.cacheop-wbxml", + "vnd.uplanet.channel": "application/vnd.uplanet.channel", + "vnd.uplanet.channel-wbxml": "application/vnd.uplanet.channel-wbxml", + "vnd.uplanet.list": "application/vnd.uplanet.list", + "vnd.uplanet.listcmd": "application/vnd.uplanet.listcmd", + "vnd.uplanet.listcmd-wbxml": "application/vnd.uplanet.listcmd-wbxml", + "vnd.uplanet.list-wbxml": "application/vnd.uplanet.list-wbxml", + "vnd.uri-map": "application/vnd.uri-map", + "vnd.uplanet.signal": "application/vnd.uplanet.signal", + "vnd.valve.source.material": "application/vnd.valve.source.material", + "vnd.vcx": "application/vnd.vcx", + "vnd.vd-study": "application/vnd.vd-study", + "vnd.vectorworks": "application/vnd.vectorworks", + "vnd.vel+json": "application/vnd.vel+json", + "vnd.verimatrix.vcas": "application/vnd.verimatrix.vcas", + "vnd.veritone.aion+json": "application/vnd.veritone.aion+json", + "vnd.veryant.thin": "application/vnd.veryant.thin", + "vnd.ves.encrypted": "application/vnd.ves.encrypted", + "vnd.vidsoft.vidconference": "application/vnd.vidsoft.vidconference", + "vnd.visio": "application/vnd.visio", + "vnd.visionary": "application/vnd.visionary", + "vnd.vividence.scriptfile": "application/vnd.vividence.scriptfile", + "vnd.vsf": "application/vnd.vsf", + "vnd.wap.sic": "application/vnd.wap.sic", + "vnd.wap.slc": "application/vnd.wap.slc", + "vnd.wap.wbxml": "application/vnd.wap.wbxml", + "vnd.wap.wmlc": "application/vnd.wap.wmlc", + "vnd.wap.wmlscriptc": "application/vnd.wap.wmlscriptc", + "vnd.wasmflow.wafl": "application/vnd.wasmflow.wafl", + "vnd.webturbo": "application/vnd.webturbo", + "vnd.wfa.dpp": "application/vnd.wfa.dpp", + "vnd.wfa.p2p": "application/vnd.wfa.p2p", + "vnd.wfa.wsc": "application/vnd.wfa.wsc", + "vnd.windows.devicepairing": "application/vnd.windows.devicepairing", + "vnd.wmc": "application/vnd.wmc", + "vnd.wmf.bootstrap": "application/vnd.wmf.bootstrap", + "vnd.wolfram.mathematica": "application/vnd.wolfram.mathematica", + "vnd.wolfram.mathematica.package": "application/vnd.wolfram.mathematica.package", + "vnd.wolfram.player": "application/vnd.wolfram.player", + "vnd.wordlift": "application/vnd.wordlift", + "vnd.wordperfect": "application/vnd.wordperfect", + "vnd.wqd": "application/vnd.wqd", + "vnd.wrq-hp3000-labelled": "application/vnd.wrq-hp3000-labelled", + "vnd.wt.stf": "application/vnd.wt.stf", + "vnd.wv.csp+xml": "application/vnd.wv.csp+xml", + "vnd.wv.csp+wbxml": "application/vnd.wv.csp+wbxml", + "vnd.wv.ssp+xml": "application/vnd.wv.ssp+xml", + "vnd.xacml+json": "application/vnd.xacml+json", + "vnd.xara": "application/vnd.xara", + "vnd.xfdl": "application/vnd.xfdl", + "vnd.xfdl.webform": "application/vnd.xfdl.webform", + "vnd.xmi+xml": "application/vnd.xmi+xml", + "vnd.xmpie.cpkg": "application/vnd.xmpie.cpkg", + "vnd.xmpie.dpkg": "application/vnd.xmpie.dpkg", + "vnd.xmpie.plan": "application/vnd.xmpie.plan", + "vnd.xmpie.ppkg": "application/vnd.xmpie.ppkg", + "vnd.xmpie.xlim": "application/vnd.xmpie.xlim", + "vnd.yamaha.hv-dic": "application/vnd.yamaha.hv-dic", + "vnd.yamaha.hv-script": "application/vnd.yamaha.hv-script", + "vnd.yamaha.hv-voice": "application/vnd.yamaha.hv-voice", + "vnd.yamaha.openscoreformat.osfpvg+xml": "application/vnd.yamaha.openscoreformat.osfpvg+xml", + "vnd.yamaha.openscoreformat": "application/vnd.yamaha.openscoreformat", + "vnd.yamaha.remote-setup": "application/vnd.yamaha.remote-setup", + "vnd.yamaha.smaf-audio": "application/vnd.yamaha.smaf-audio", + "vnd.yamaha.smaf-phrase": "application/vnd.yamaha.smaf-phrase", + "vnd.yamaha.through-ngn": "application/vnd.yamaha.through-ngn", + "vnd.yamaha.tunnel-udpencap": "application/vnd.yamaha.tunnel-udpencap", + "vnd.yaoweme": "application/vnd.yaoweme", + "vnd.yellowriver-custom-menu": "application/vnd.yellowriver-custom-menu", + "vnd.zul": "application/vnd.zul", + "vnd.zzazz.deck+xml": "application/vnd.zzazz.deck+xml", + "voicexml+xml": "application/voicexml+xml", + "voucher-cms+json": "application/voucher-cms+json", + "vsd": "application/vnd.visio", + "vq-rtcpxr": "application/vq-rtcpxr", + "wasm": "application/wasm", + "watcherinfo+xml": "application/watcherinfo+xml", + "webpush-options+json": "application/webpush-options+json", + "whoispp-query": "application/whoispp-query", + "whoispp-response": "application/whoispp-response", + "widget": "application/widget", + "wita": "application/wita", + "wordperfect5.1": "application/wordperfect5.1", + "wsdl+xml": "application/wsdl+xml", + "wspolicy+xml": "application/wspolicy+xml", + "x-pki-message": "application/x-pki-message", + "x-www-form-urlencoded": "application/x-www-form-urlencoded", + "x-x509-ca-cert": "application/x-x509-ca-cert", + "x-x509-ca-ra-cert": "application/x-x509-ca-ra-cert", + "x-x509-next-ca-cert": "application/x-x509-next-ca-cert", + "x400-bp": "application/x400-bp", + "xacml+xml": "application/xacml+xml", + "xcap-att+xml": "application/xcap-att+xml", + "xcap-caps+xml": "application/xcap-caps+xml", + "xcap-diff+xml": "application/xcap-diff+xml", + "xcap-el+xml": "application/xcap-el+xml", + "xcap-error+xml": "application/xcap-error+xml", + "xcap-ns+xml": "application/xcap-ns+xml", + "xcon-conference-info-diff+xml": "application/xcon-conference-info-diff+xml", + "xcon-conference-info+xml": "application/xcon-conference-info+xml", + "xenc+xml": "application/xenc+xml", + "xfdf": "application/xfdf", + "xhtml+xml": "application/xhtml+xml", + "xliff+xml": "application/xliff+xml", + "xls": "application/vnd.ms-excel", + "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "xml": "application/xml", + "xml-dtd": "application/xml-dtd", + "xml-external-parsed-entity": "application/xml-external-parsed-entity", + "xml-patch+xml": "application/xml-patch+xml", + "xmpp+xml": "application/xmpp+xml", + "xop+xml": "application/xop+xml", + "xslt+xml": "application/xslt+xml", + "xul": "application/vnd.mozilla.xul+xml", + "xv+xml": "application/xv+xml", + "yaml": "application/yaml", + "yang": "application/yang", + "yang-data+cbor": "application/yang-data+cbor", + "yang-data+json": "application/yang-data+json", + "yang-data+xml": "application/yang-data+xml", + "yang-patch+json": "application/yang-patch+json", + "yang-patch+xml": "application/yang-patch+xml", + "yin+xml": "application/yin+xml", + "zip": "application/zip", + "zlib": "application/zlib", + "zstd": "application/zstd" +} diff --git a/api/mime/audio.json b/api/mime/audio.json new file mode 100644 index 0000000000..151f3be027 --- /dev/null +++ b/api/mime/audio.json @@ -0,0 +1,166 @@ +{ + "1d-interleaved-parityfec": "audio/1d-interleaved-parityfec", + "32kadpcm": "audio/32kadpcm", + "3gpp": "audio/3gpp", + "3gpp2": "audio/3gpp2", + "aac": "audio/aac", + "ac3": "audio/ac3", + "AMR": "audio/AMR", + "AMR-WB": "audio/AMR-WB", + "amr-wb+": "audio/amr-wb+", + "aptx": "audio/aptx", + "asc": "audio/asc", + "ATRAC-ADVANCED-LOSSLESS": "audio/ATRAC-ADVANCED-LOSSLESS", + "ATRAC-X": "audio/ATRAC-X", + "ATRAC3": "audio/ATRAC3", + "basic": "audio/basic", + "BV16": "audio/BV16", + "BV32": "audio/BV32", + "clearmode": "audio/clearmode", + "CN": "audio/CN", + "DAT12": "audio/DAT12", + "dls": "audio/dls", + "dsr-es201108": "audio/dsr-es201108", + "dsr-es202050": "audio/dsr-es202050", + "dsr-es202211": "audio/dsr-es202211", + "dsr-es202212": "audio/dsr-es202212", + "DV": "audio/DV", + "DVI4": "audio/DVI4", + "eac3": "audio/eac3", + "encaprtp": "audio/encaprtp", + "EVRC": "audio/EVRC", + "EVRC-QCP": "audio/EVRC-QCP", + "EVRC0": "audio/EVRC0", + "EVRC1": "audio/EVRC1", + "EVRCB": "audio/EVRCB", + "EVRCB0": "audio/EVRCB0", + "EVRCB1": "audio/EVRCB1", + "EVRCNW": "audio/EVRCNW", + "EVRCNW0": "audio/EVRCNW0", + "EVRCNW1": "audio/EVRCNW1", + "EVRCWB": "audio/EVRCWB", + "EVRCWB0": "audio/EVRCWB0", + "EVRCWB1": "audio/EVRCWB1", + "EVS": "audio/EVS", + "example": "audio/example", + "flexfec": "audio/flexfec", + "fwdred": "audio/fwdred", + "G711-0": "audio/G711-0", + "G719": "audio/G719", + "G7221": "audio/G7221", + "G722": "audio/G722", + "G723": "audio/G723", + "G726-16": "audio/G726-16", + "G726-24": "audio/G726-24", + "G726-32": "audio/G726-32", + "G726-40": "audio/G726-40", + "G728": "audio/G728", + "G729": "audio/G729", + "G7291": "audio/G7291", + "G729D": "audio/G729D", + "G729E": "audio/G729E", + "GSM": "audio/GSM", + "GSM-EFR": "audio/GSM-EFR", + "GSM-HR-08": "audio/GSM-HR-08", + "iLBC": "audio/iLBC", + "ip-mr_v2.5": "audio/ip-mr_v2.5", + "L8": "audio/L8", + "L16": "audio/L16", + "L20": "audio/L20", + "L24": "audio/L24", + "LPC": "audio/LPC", + "matroska": "audio/matroska", + "MELP": "audio/MELP", + "MELP600": "audio/MELP600", + "MELP1200": "audio/MELP1200", + "MELP2400": "audio/MELP2400", + "mhas": "audio/mhas", + "mid": "audio/midi", + "midi": "audio/x-midi", + "mobile-xmf": "audio/mobile-xmf", + "MPA": "audio/MPA", + "mp4": "audio/mp4", + "MP4A-LATM": "audio/MP4A-LATM", + "mpa-robust": "audio/mpa-robust", + "mp3": "audio/mpeg", + "mpeg": "audio/mpeg", + "mpeg4-generic": "audio/mpeg4-generic", + "ogg": "audio/ogg", + "opus": "audio/opus", + "parityfec": "audio/parityfec", + "PCMA": "audio/PCMA", + "PCMA-WB": "audio/PCMA-WB", + "PCMU": "audio/PCMU", + "PCMU-WB": "audio/PCMU-WB", + "prs.sid": "audio/prs.sid", + "QCELP": "audio/QCELP", + "raptorfec": "audio/raptorfec", + "RED": "audio/RED", + "rtp-enc-aescm128": "audio/rtp-enc-aescm128", + "rtploopback": "audio/rtploopback", + "rtp-midi": "audio/rtp-midi", + "rtx": "audio/rtx", + "scip": "audio/scip", + "SMV": "audio/SMV", + "SMV0": "audio/SMV0", + "SMV-QCP": "audio/SMV-QCP", + "sofa": "audio/sofa", + "sp-midi": "audio/sp-midi", + "speex": "audio/speex", + "t140c": "audio/t140c", + "t38": "audio/t38", + "telephone-event": "audio/telephone-event", + "TETRA_ACELP": "audio/TETRA_ACELP", + "TETRA_ACELP_BB": "audio/TETRA_ACELP_BB", + "tone": "audio/tone", + "TSVCIS": "audio/TSVCIS", + "UEMCLIP": "audio/UEMCLIP", + "ulpfec": "audio/ulpfec", + "usac": "audio/usac", + "VDVI": "audio/VDVI", + "VMR-WB": "audio/VMR-WB", + "vnd.3gpp.iufp": "audio/vnd.3gpp.iufp", + "vnd.4SB": "audio/vnd.4SB", + "vnd.audiokoz": "audio/vnd.audiokoz", + "vnd.CELP": "audio/vnd.CELP", + "vnd.cisco.nse": "audio/vnd.cisco.nse", + "vnd.cmles.radio-events": "audio/vnd.cmles.radio-events", + "vnd.cns.anp1": "audio/vnd.cns.anp1", + "vnd.cns.inf1": "audio/vnd.cns.inf1", + "vnd.dece.audio": "audio/vnd.dece.audio", + "vnd.digital-winds": "audio/vnd.digital-winds", + "vnd.dlna.adts": "audio/vnd.dlna.adts", + "vnd.dolby.heaac.1": "audio/vnd.dolby.heaac.1", + "vnd.dolby.heaac.2": "audio/vnd.dolby.heaac.2", + "vnd.dolby.mlp": "audio/vnd.dolby.mlp", + "vnd.dolby.mps": "audio/vnd.dolby.mps", + "vnd.dolby.pl2": "audio/vnd.dolby.pl2", + "vnd.dolby.pl2x": "audio/vnd.dolby.pl2x", + "vnd.dolby.pl2z": "audio/vnd.dolby.pl2z", + "vnd.dolby.pulse.1": "audio/vnd.dolby.pulse.1", + "vnd.dra": "audio/vnd.dra", + "vnd.dts": "audio/vnd.dts", + "vnd.dts.hd": "audio/vnd.dts.hd", + "vnd.dts.uhd": "audio/vnd.dts.uhd", + "vnd.dvb.file": "audio/vnd.dvb.file", + "vnd.everad.plj": "audio/vnd.everad.plj", + "vnd.hns.audio": "audio/vnd.hns.audio", + "vnd.lucent.voice": "audio/vnd.lucent.voice", + "vnd.ms-playready.media.pya": "audio/vnd.ms-playready.media.pya", + "vnd.nokia.mobile-xmf": "audio/vnd.nokia.mobile-xmf", + "vnd.nortel.vbk": "audio/vnd.nortel.vbk", + "vnd.nuera.ecelp4800": "audio/vnd.nuera.ecelp4800", + "vnd.nuera.ecelp7470": "audio/vnd.nuera.ecelp7470", + "vnd.nuera.ecelp9600": "audio/vnd.nuera.ecelp9600", + "vnd.octel.sbc": "audio/vnd.octel.sbc", + "vnd.presonus.multitrack": "audio/vnd.presonus.multitrack", + "vnd.qcelp": "-", + "vnd.rhetorex.32kadpcm": "audio/vnd.rhetorex.32kadpcm", + "vnd.rip": "audio/vnd.rip", + "vnd.sealedmedia.softseal.mpeg": "audio/vnd.sealedmedia.softseal.mpeg", + "vnd.vmx.cvsd": "audio/vnd.vmx.cvsd", + "vorbis": "audio/vorbis", + "vorbis-config": "audio/vorbis-config", + "weba": "audio/webm", + "wav": "audio/wav" +} diff --git a/api/mime/font.json b/api/mime/font.json new file mode 100644 index 0000000000..7c17ce3f88 --- /dev/null +++ b/api/mime/font.json @@ -0,0 +1,8 @@ +{ + "collection": "font/collection", + "otf": "font/otf", + "sfnt": "font/sfnt", + "ttf": "font/ttf", + "woff": "font/woff", + "woff2": "font/woff2" +} diff --git a/api/mime/image.json b/api/mime/image.json new file mode 100644 index 0000000000..5378c687a3 --- /dev/null +++ b/api/mime/image.json @@ -0,0 +1,83 @@ +{ + "aces": "image/aces", + "apng": "image/apng", + "avci": "image/avci", + "avcs": "image/avcs", + "avif": "image/avif", + "bmp": "image/bmp", + "cgm": "image/cgm", + "dicom-rle": "image/dicom-rle", + "dpx": "image/dpx", + "emf": "image/emf", + "example": "image/example", + "fits": "image/fits", + "g3fax": "image/g3fax", + "gif": "image/gif", + "heic": "image/heic", + "heic-sequence": "image/heic-sequence", + "heif": "image/heif", + "heif-sequence": "image/heif-sequence", + "hej2k": "image/hej2k", + "hsj2": "image/hsj2", + "ico": "image/vnd.microsoft.icon", + "j2c": "image/j2c", + "jls": "image/jls", + "jp2": "image/jp2", + "jpeg": "image/jpeg", + "jpg": "image/jpeg", + "jph": "image/jph", + "jphc": "image/jphc", + "jpm": "image/jpm", + "jpx": "image/jpx", + "jxr": "image/jxr", + "jxrA": "image/jxrA", + "jxrS": "image/jxrS", + "jxs": "image/jxs", + "jxsc": "image/jxsc", + "jxsi": "image/jxsi", + "jxss": "image/jxss", + "ktx": "image/ktx", + "ktx2": "image/ktx2", + "naplps": "image/naplps", + "png": "image/png", + "prs.btif": "image/prs.btif", + "prs.pti": "image/prs.pti", + "pwg-raster": "image/pwg-raster", + "svg+xml": "image/svg+xml", + "t38": "image/t38", + "tif": "image/tiff", + "tiff": "image/tiff", + "tiff-fx": "image/tiff-fx", + "vnd.adobe.photoshop": "image/vnd.adobe.photoshop", + "vnd.airzip.accelerator.azv": "image/vnd.airzip.accelerator.azv", + "vnd.cns.inf2": "image/vnd.cns.inf2", + "vnd.dece.graphic": "image/vnd.dece.graphic", + "vnd.djvu": "image/vnd.djvu", + "vnd.dwg": "image/vnd.dwg", + "vnd.dxf": "image/vnd.dxf", + "vnd.dvb.subtitle": "image/vnd.dvb.subtitle", + "vnd.fastbidsheet": "image/vnd.fastbidsheet", + "vnd.fpx": "image/vnd.fpx", + "vnd.fst": "image/vnd.fst", + "vnd.fujixerox.edmics-mmr": "image/vnd.fujixerox.edmics-mmr", + "vnd.fujixerox.edmics-rlc": "image/vnd.fujixerox.edmics-rlc", + "vnd.globalgraphics.pgb": "image/vnd.globalgraphics.pgb", + "vnd.microsoft.icon": "image/vnd.microsoft.icon", + "vnd.mix": "image/vnd.mix", + "vnd.ms-modi": "image/vnd.ms-modi", + "vnd.mozilla.apng": "image/vnd.mozilla.apng", + "vnd.net-fpx": "image/vnd.net-fpx", + "vnd.pco.b16": "image/vnd.pco.b16", + "vnd.radiance": "image/vnd.radiance", + "vnd.sealed.png": "image/vnd.sealed.png", + "vnd.sealedmedia.softseal.gif": "image/vnd.sealedmedia.softseal.gif", + "vnd.sealedmedia.softseal.jpg": "image/vnd.sealedmedia.softseal.jpg", + "vnd.svf": "image/vnd.svf", + "vnd.tencent.tap": "image/vnd.tencent.tap", + "vnd.valve.source.texture": "image/vnd.valve.source.texture", + "vnd.wap.wbmp": "image/vnd.wap.wbmp", + "vnd.xiff": "image/vnd.xiff", + "vnd.zbrush.pcx": "image/vnd.zbrush.pcx", + "webp": "image/webp", + "wmf": "image/wmf" +} diff --git a/api/mime/index.js b/api/mime/index.js new file mode 100644 index 0000000000..bfcec47924 --- /dev/null +++ b/api/mime/index.js @@ -0,0 +1,128 @@ +/** + * A container for MIME types by class (audio, video, text, etc) + * @see {@link https://www.iana.org/assignments/media-types/media-types.xhtml} + */ +export class Database { + /** + * @type {string} + */ + name = '' + + /** + * @type {URL} + */ + url = null + + /** + * @type {Map} + */ + map = null + + /** + * `Database` class constructor. + * @param {string} name + */ + constructor (name) { + // @ts-ignore + this.url = new URL(`${name}.json`, import.meta.url) + this.map = new Map() + this.name = name + } + + /** + * Loads database MIME entries into internal map. + * @return {Promise} + */ + async load () { + if (this.map.size === 0) { + const response = await fetch(this.url) + const json = await response.json() + + for (const [key, value] of Object.entries(json)) { + this.map.set(key, value) + } + } + } + + /** + * Lookup MIME type by name. + * @param {string} query + * @return {Promise<{ name: string, mime: string}>} + */ + async lookup (query) { + query = query.toLowerCase() + + await this.load() + + const queryParts = query.split('+') + const results = [] + + for (const [key, value] of this.map.entries()) { + const name = key.toLowerCase() + const mime = value.toLowerCase() + + if (query === name) { + results.push({ name, mime }) + } else if (name.startsWith(query)) { + const nameParts = key.toLowerCase().split('+') + if (queryParts.length <= nameParts.length) { + let match = false + + for (let i = 0; i < queryParts.length; ++i) { + if (queryParts[i] === nameParts[i]) { + match = true + } else { + match = false + break + } + } + + if (match) { + results.push({ name, mime }) + } + } + } + } + + return results + } +} + +export const application = new Database('application') +export const audio = new Database('audio') +export const font = new Database('font') +export const image = new Database('image') +export const model = new Database('model') +export const multipart = new Database('multipart') +export const text = new Database('text') +export const video = new Database('video') + +/** + * Look up a MIME type in various MIME databases. + * @return {Promise>} + */ +export async function lookup (query) { + const databases = [ + application, + audio, + font, + image, + model, + multipart, + text, + video + ] + + const results = [] + for (const database of databases) { + const result = await database.lookup(query) + results.push(...result) + } + + return results +} + +export default { + application, + Database +} diff --git a/api/mime/model.json b/api/mime/model.json new file mode 100644 index 0000000000..48829c4016 --- /dev/null +++ b/api/mime/model.json @@ -0,0 +1,43 @@ +{ + "3mf": "model/3mf", + "e57": "model/e57", + "example": "model/example", + "gltf-binary": "model/gltf-binary", + "gltf+json": "model/gltf+json", + "JT": "model/JT", + "iges": "model/iges", + "mesh": "model/mesh", + "mtl": "model/mtl", + "obj": "model/obj", + "prc": "model/prc", + "step": "model/step", + "step+xml": "model/step+xml", + "step+zip": "model/step+zip", + "step-xml+zip": "model/step-xml+zip", + "stl": "model/stl", + "u3d": "model/u3d", + "vnd.bary": "model/vnd.bary", + "vnd.cld": "model/vnd.cld", + "vnd.collada+xml": "model/vnd.collada+xml", + "vnd.dwf": "model/vnd.dwf", + "vnd.flatland.3dml": "model/vnd.flatland.3dml", + "vnd.gdl": "model/vnd.gdl", + "vnd.gs-gdl": "model/vnd.gs-gdl", + "vnd.gtw": "model/vnd.gtw", + "vnd.moml+xml": "model/vnd.moml+xml", + "vnd.mts": "model/vnd.mts", + "vnd.opengex": "model/vnd.opengex", + "vnd.parasolid.transmit.binary": "model/vnd.parasolid.transmit.binary", + "vnd.parasolid.transmit.text": "model/vnd.parasolid.transmit.text", + "vnd.pytha.pyox": "model/vnd.pytha.pyox", + "vnd.rosette.annotated-data-model": "model/vnd.rosette.annotated-data-model", + "vnd.sap.vds": "model/vnd.sap.vds", + "vnd.usda": "model/vnd.usda", + "vnd.usdz+zip": "model/vnd.usdz+zip", + "vnd.valve.source.compiled-map": "model/vnd.valve.source.compiled-map", + "vnd.vtu": "model/vnd.vtu", + "vrml": "model/vrml", + "x3d-vrml": "model/x3d-vrml", + "x3d+fastinfoset": "model/x3d+fastinfoset", + "x3d+xml": "model/x3d+xml" +} diff --git a/api/mime/multipart.json b/api/mime/multipart.json new file mode 100644 index 0000000000..4e7673bbca --- /dev/null +++ b/api/mime/multipart.json @@ -0,0 +1,19 @@ +{ + "alternative": "multipart/alternative", + "appledouble": "multipart/appledouble", + "byteranges": "multipart/byteranges", + "digest": "multipart/digest", + "encrypted": "multipart/encrypted", + "example": "multipart/example", + "form-data": "multipart/form-data", + "header-set": "multipart/header-set", + "mixed": "multipart/mixex", + "multilingual": "multipart/multilingual", + "parallel": "multipart/parallel", + "related": "multipart/related", + "report": "multipart/report", + "signed": "multipart/signed", + "vnd.bint.med-plus": "multipart/vnd.bint.med-plus", + "voice-message": "multipart/voice-message", + "x-mixed-replace": "multipart/x-mixed-replace" +} diff --git a/api/mime/text.json b/api/mime/text.json new file mode 100644 index 0000000000..a6e2be8532 --- /dev/null +++ b/api/mime/text.json @@ -0,0 +1,98 @@ +{ + "1d-interleaved-parityfec": "text/1d-interleaved-parityfec", + "cache-manifest": "text/cache-manifest", + "calendar": "text/calendar", + "cql": "text/cql", + "cql-expression": "text/cql-expression", + "cql-identifier": "text/cql-identifier", + "css": "text/css", + "csv": "text/csv", + "csv-schema": "text/csv-schema", + "dns": "text/dns", + "encaprtp": "text/encaprtp", + "enriched": "text/enriched", + "example": "text/example", + "fhirpath": "text/fhirpath", + "flexfec": "text/flexfec", + "fwdred": "text/fwdred", + "gff3": "text/gff3", + "grammar-ref-list": "text/grammar-ref-list", + "hl7v2": "text/hl7v2", + "htm": "text/html", + "html": "text/html", + "ics": "text/calendar", + "javascript": "text/javascript", + "js": "text/javascript", + "jcr-cnd": "text/jcr-cnd", + "markdown": "text/markdown", + "mizar": "text/mizar", + "n3": "text/n3", + "mjs": "text/javascript", + "parameters": "text/parameters", + "parityfec": "text/parityfec", + "plain": "text/plain", + "provenance-notation": "text/provenance-notation", + "prs.fallenstein.rst": "text/prs.fallenstein.rst", + "prs.lines.tag": "text/prs.lines.tag", + "prs.prop.logic": "text/prs.prop.logic", + "prs.texi": "text/prs.texi", + "raptorfec": "text/raptorfec", + "RED": "text/RED", + "rfc822-headers": "text/rfc822-headers", + "richtext": "text/richtext", + "rtf": "text/rtf", + "rtp-enc-aescm128": "text/rtp-enc-aescm128", + "rtploopback": "text/rtploopback", + "rtx": "text/rtx", + "SGML": "text/SGML", + "shaclc": "text/shaclc", + "shex": "text/shex", + "spdx": "text/spdx", + "strings": "text/strings", + "t140": "text/t140", + "tab-separated-values": "text/tab-separated-values", + "troff": "text/troff", + "turtle": "text/turtle", + "txt": "text/plain", + "ulpfec": "text/ulpfec", + "uri-list": "text/uri-list", + "vcard": "text/vcard", + "vnd.a": "text/vnd.a", + "vnd.abc": "text/vnd.abc", + "vnd.ascii-art": "text/vnd.ascii-art", + "vnd.curl": "text/vnd.curl", + "vnd.debian.copyright": "text/vnd.debian.copyright", + "vnd.DMClientScript": "text/vnd.DMClientScript", + "vnd.dvb.subtitle": "text/vnd.dvb.subtitle", + "vnd.esmertec.theme-descriptor": "text/vnd.esmertec.theme-descriptor", + "vnd.exchangeable": "text/vnd.exchangeable", + "vnd.familysearch.gedcom": "text/vnd.familysearch.gedcom", + "vnd.ficlab.flt": "text/vnd.ficlab.flt", + "vnd.fly": "text/vnd.fly", + "vnd.fmi.flexstor": "text/vnd.fmi.flexstor", + "vnd.gml": "text/vnd.gml", + "vnd.graphviz": "text/vnd.graphviz", + "vnd.hans": "text/vnd.hans", + "vnd.hgl": "text/vnd.hgl", + "vnd.in3d.3dml": "text/vnd.in3d.3dml", + "vnd.in3d.spot": "text/vnd.in3d.spot", + "vnd.IPTC.NewsML": "text/vnd.IPTC.NewsML", + "vnd.IPTC.NITF": "text/vnd.IPTC.NITF", + "vnd.latex-z": "text/vnd.latex-z", + "vnd.motorola.reflex": "text/vnd.motorola.reflex", + "vnd.ms-mediapackage": "text/vnd.ms-mediapackage", + "vnd.net2phone.commcenter.command": "text/vnd.net2phone.commcenter.command", + "vnd.radisys.msml-basic-layout": "text/vnd.radisys.msml-basic-layout", + "vnd.senx.warpscript": "text/vnd.senx.warpscript", + "vnd.sun.j2me.app-descriptor": "text/vnd.sun.j2me.app-descriptor", + "vnd.sosi": "text/vnd.sosi", + "vnd.trolltech.linguist": "text/vnd.trolltech.linguist", + "vnd.wap.si": "text/vnd.wap.si", + "vnd.wap.sl": "text/vnd.wap.sl", + "vnd.wap.wml": "text/vnd.wap.wml", + "vnd.wap.wmlscript": "text/vnd.wap.wmlscript", + "vtt": "text/vtt", + "wgsl": "text/wgsl", + "xml": "text/xml", + "xml-external-parsed-entity": "text/xml-external-parsed-entity" +} diff --git a/api/mime/video.json b/api/mime/video.json new file mode 100644 index 0000000000..dc6030bf68 --- /dev/null +++ b/api/mime/video.json @@ -0,0 +1,97 @@ +{ + "1d-interleaved-parityfec": "video/1d-interleaved-parityfec", + "3gpp": "video/3gpp", + "3gpp2": "video/3gpp2", + "3gpp-tt": "video/3gpp-tt", + "AV1": "video/AV1", + "avi": "video/x-msvideo", + "BMPEG": "video/BMPEG", + "BT656": "video/BT656", + "CelB": "video/CelB", + "DV": "video/DV", + "encaprtp": "video/encaprtp", + "example": "video/example", + "FFV1": "video/FFV1", + "flexfec": "video/flexfec", + "H261": "video/H261", + "H263": "video/H263", + "H263-1998": "video/H263-1998", + "H263-2000": "video/H263-2000", + "H264": "video/H264", + "H264-RCDO": "video/H264-RCDO", + "H264-SVC": "video/H264-SVC", + "H265": "video/H265", + "H266": "video/H266", + "iso.segment": "video/iso.segment", + "JPEG": "video/JPEG", + "jpeg2000": "video/jpeg2000", + "jxsv": "video/jxsv", + "matroska": "video/matroska", + "matroska-3d": "video/matroska-3d", + "mj2": "video/mj2", + "MP1S": "video/MP1S", + "MP2P": "video/MP2P", + "MP2T": "video/MP2T", + "mp4": "video/mp4", + "MP4V-ES": "video/MP4V-ES", + "MPV": "video/MPV", + "mpeg": "vidoe/MPEG", + "mpeg4-generic": "video/mpeg4-generic", + "nv": "video/nv", + "ogg": "video/ogg", + "ogv": "video/ogg", + "parityfec": "video/parityfec", + "pointer": "video/pointer", + "quicktime": "video/quicktime", + "raptorfec": "video/raptorfec", + "raw": "video/raw", + "rtp-enc-aescm128": "video/rtp-enc-aescm128", + "rtploopback": "video/rtploopback", + "rtx": "video/rtx", + "scip": "video/scip", + "smpte291": "video/smpte291", + "SMPTE292M": "video/SMPTE292M", + "ts": "video/mp2t", + "ulpfec": "video/ulpfec", + "vc1": "video/vc1", + "vc2": "video/vc2", + "vnd.CCTV": "video/vnd.CCTV", + "vnd.dece.hd": "video/vnd.dece.hd", + "vnd.dece.mobile": "video/vnd.dece.mobile", + "vnd.dece.mp4": "video/vnd.dece.mp4", + "vnd.dece.pd": "video/vnd.dece.pd", + "vnd.dece.sd": "video/vnd.dece.sd", + "vnd.dece.video": "video/vnd.dece.video", + "vnd.directv.mpeg": "video/vnd.directv.mpeg", + "vnd.directv.mpeg-tts": "video/vnd.directv.mpeg-tts", + "vnd.dlna.mpeg-tts": "video/vnd.dlna.mpeg-tts", + "vnd.dvb.file": "video/vnd.dvb.file", + "vnd.fvt": "video/vnd.fvt", + "vnd.hns.video": "video/vnd.hns.video", + "vnd.iptvforum.1dparityfec-1010": "video/vnd.iptvforum.1dparityfec-1010", + "vnd.iptvforum.1dparityfec-2005": "video/vnd.iptvforum.1dparityfec-2005", + "vnd.iptvforum.2dparityfec-1010": "video/vnd.iptvforum.2dparityfec-1010", + "vnd.iptvforum.2dparityfec-2005": "video/vnd.iptvforum.2dparityfec-2005", + "vnd.iptvforum.ttsavc": "video/vnd.iptvforum.ttsavc", + "vnd.iptvforum.ttsmpeg2": "video/vnd.iptvforum.ttsmpeg2", + "vnd.motorola.video": "video/vnd.motorola.video", + "vnd.motorola.videop": "video/vnd.motorola.videop", + "vnd.mpegurl": "video/vnd.mpegurl", + "vnd.ms-playready.media.pyv": "video/vnd.ms-playready.media.pyv", + "vnd.nokia.interleaved-multimedia": "video/vnd.nokia.interleaved-multimedia", + "vnd.nokia.mp4vr": "video/vnd.nokia.mp4vr", + "vnd.nokia.videovoip": "video/vnd.nokia.videovoip", + "vnd.objectvideo": "video/vnd.objectvideo", + "vnd.radgamettools.bink": "video/vnd.radgamettools.bink", + "vnd.radgamettools.smacker": "video/vnd.radgamettools.smacker", + "vnd.sealed.mpeg1": "video/vnd.sealed.mpeg1", + "vnd.sealed.mpeg4": "video/vnd.sealed.mpeg4", + "vnd.sealed.swf": "video/vnd.sealed.swf", + "vnd.sealedmedia.softseal.mov": "video/vnd.sealedmedia.softseal.mov", + "vnd.uvvu.mp4": "video/vnd.uvvu.mp4", + "vnd.youtube.yt": "video/vnd.youtube.yt", + "vnd.vivo": "video/vnd.vivo", + "VP8": "video/VP8", + "VP9": "video/VP9", + "webm": "video/webm" +} diff --git a/test/src/mime.js b/test/src/mime.js new file mode 100644 index 0000000000..216b5e0f7f --- /dev/null +++ b/test/src/mime.js @@ -0,0 +1,8 @@ +import { test } from 'socket:test' +import mime from 'socket:mime' + +test('mime.lookup', async (t) => { + const results = await mime.lookup('html') + t.ok(results) + // TODO: introduce common test cases +})