m06_task3.js 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. package/.idea/.name +1 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +10 -0
  3. package/.idea/jsLibraryMappings.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/node_lab_6.iml +12 -0
  6. package/06_task2.html +73 -0
  7. package/06_task2.js +52 -0
  8. package/06_task3.js +3 -0
  9. package/06_task4.js +3 -0
  10. package/m06_task3.js +28 -0
  11. package/package/index.js +28 -0
  12. package/package/node_modules/.package-lock.json +31 -0
  13. package/package/node_modules/@types/node/LICENSE +21 -0
  14. package/package/node_modules/@types/node/README.md +16 -0
  15. package/package/node_modules/@types/node/assert/strict.d.ts +8 -0
  16. package/package/node_modules/@types/node/assert.d.ts +961 -0
  17. package/package/node_modules/@types/node/async_hooks.d.ts +501 -0
  18. package/package/node_modules/@types/node/buffer.d.ts +2258 -0
  19. package/package/node_modules/@types/node/child_process.d.ts +1369 -0
  20. package/package/node_modules/@types/node/cluster.d.ts +410 -0
  21. package/package/node_modules/@types/node/console.d.ts +412 -0
  22. package/package/node_modules/@types/node/constants.d.ts +18 -0
  23. package/package/node_modules/@types/node/crypto.d.ts +3964 -0
  24. package/package/node_modules/@types/node/dgram.d.ts +545 -0
  25. package/package/node_modules/@types/node/diagnostics_channel.d.ts +153 -0
  26. package/package/node_modules/@types/node/dns/promises.d.ts +370 -0
  27. package/package/node_modules/@types/node/dns.d.ts +659 -0
  28. package/package/node_modules/@types/node/dom-events.d.ts +126 -0
  29. package/package/node_modules/@types/node/domain.d.ts +170 -0
  30. package/package/node_modules/@types/node/events.d.ts +678 -0
  31. package/package/node_modules/@types/node/fs/promises.d.ts +1138 -0
  32. package/package/node_modules/@types/node/fs.d.ts +3872 -0
  33. package/package/node_modules/@types/node/globals.d.ts +300 -0
  34. package/package/node_modules/@types/node/globals.global.d.ts +1 -0
  35. package/package/node_modules/@types/node/http.d.ts +1614 -0
  36. package/package/node_modules/@types/node/http2.d.ts +2134 -0
  37. package/package/node_modules/@types/node/https.d.ts +541 -0
  38. package/package/node_modules/@types/node/index.d.ts +133 -0
  39. package/package/node_modules/@types/node/inspector.d.ts +2741 -0
  40. package/package/node_modules/@types/node/module.d.ts +114 -0
  41. package/package/node_modules/@types/node/net.d.ts +869 -0
  42. package/package/node_modules/@types/node/os.d.ts +466 -0
  43. package/package/node_modules/@types/node/package.json +232 -0
  44. package/package/node_modules/@types/node/path.d.ts +191 -0
  45. package/package/node_modules/@types/node/perf_hooks.d.ts +625 -0
  46. package/package/node_modules/@types/node/process.d.ts +1482 -0
  47. package/package/node_modules/@types/node/punycode.d.ts +117 -0
  48. package/package/node_modules/@types/node/querystring.d.ts +131 -0
  49. package/package/node_modules/@types/node/readline/promises.d.ts +143 -0
  50. package/package/node_modules/@types/node/readline.d.ts +653 -0
  51. package/package/node_modules/@types/node/repl.d.ts +424 -0
  52. package/package/node_modules/@types/node/stream/consumers.d.ts +12 -0
  53. package/package/node_modules/@types/node/stream/promises.d.ts +42 -0
  54. package/package/node_modules/@types/node/stream/web.d.ts +330 -0
  55. package/package/node_modules/@types/node/stream.d.ts +1340 -0
  56. package/package/node_modules/@types/node/string_decoder.d.ts +67 -0
  57. package/package/node_modules/@types/node/test.d.ts +314 -0
  58. package/package/node_modules/@types/node/timers/promises.d.ts +68 -0
  59. package/package/node_modules/@types/node/timers.d.ts +94 -0
  60. package/package/node_modules/@types/node/tls.d.ts +1028 -0
  61. package/package/node_modules/@types/node/trace_events.d.ts +171 -0
  62. package/package/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
  63. package/package/node_modules/@types/node/ts4.8/assert.d.ts +961 -0
  64. package/package/node_modules/@types/node/ts4.8/async_hooks.d.ts +501 -0
  65. package/package/node_modules/@types/node/ts4.8/buffer.d.ts +2259 -0
  66. package/package/node_modules/@types/node/ts4.8/child_process.d.ts +1369 -0
  67. package/package/node_modules/@types/node/ts4.8/cluster.d.ts +410 -0
  68. package/package/node_modules/@types/node/ts4.8/console.d.ts +412 -0
  69. package/package/node_modules/@types/node/ts4.8/constants.d.ts +18 -0
  70. package/package/node_modules/@types/node/ts4.8/crypto.d.ts +3964 -0
  71. package/package/node_modules/@types/node/ts4.8/dgram.d.ts +545 -0
  72. package/package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +153 -0
  73. package/package/node_modules/@types/node/ts4.8/dns/promises.d.ts +370 -0
  74. package/package/node_modules/@types/node/ts4.8/dns.d.ts +659 -0
  75. package/package/node_modules/@types/node/ts4.8/dom-events.d.ts +126 -0
  76. package/package/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
  77. package/package/node_modules/@types/node/ts4.8/events.d.ts +678 -0
  78. package/package/node_modules/@types/node/ts4.8/fs/promises.d.ts +1138 -0
  79. package/package/node_modules/@types/node/ts4.8/fs.d.ts +3872 -0
  80. package/package/node_modules/@types/node/ts4.8/globals.d.ts +294 -0
  81. package/package/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
  82. package/package/node_modules/@types/node/ts4.8/http.d.ts +1614 -0
  83. package/package/node_modules/@types/node/ts4.8/http2.d.ts +2134 -0
  84. package/package/node_modules/@types/node/ts4.8/https.d.ts +541 -0
  85. package/package/node_modules/@types/node/ts4.8/index.d.ts +88 -0
  86. package/package/node_modules/@types/node/ts4.8/inspector.d.ts +2741 -0
  87. package/package/node_modules/@types/node/ts4.8/module.d.ts +114 -0
  88. package/package/node_modules/@types/node/ts4.8/net.d.ts +869 -0
  89. package/package/node_modules/@types/node/ts4.8/os.d.ts +466 -0
  90. package/package/node_modules/@types/node/ts4.8/path.d.ts +191 -0
  91. package/package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +625 -0
  92. package/package/node_modules/@types/node/ts4.8/process.d.ts +1482 -0
  93. package/package/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
  94. package/package/node_modules/@types/node/ts4.8/querystring.d.ts +131 -0
  95. package/package/node_modules/@types/node/ts4.8/readline/promises.d.ts +143 -0
  96. package/package/node_modules/@types/node/ts4.8/readline.d.ts +653 -0
  97. package/package/node_modules/@types/node/ts4.8/repl.d.ts +424 -0
  98. package/package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
  99. package/package/node_modules/@types/node/ts4.8/stream/promises.d.ts +42 -0
  100. package/package/node_modules/@types/node/ts4.8/stream/web.d.ts +330 -0
  101. package/package/node_modules/@types/node/ts4.8/stream.d.ts +1340 -0
  102. package/package/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
  103. package/package/node_modules/@types/node/ts4.8/test.d.ts +314 -0
  104. package/package/node_modules/@types/node/ts4.8/timers/promises.d.ts +68 -0
  105. package/package/node_modules/@types/node/ts4.8/timers.d.ts +94 -0
  106. package/package/node_modules/@types/node/ts4.8/tls.d.ts +1028 -0
  107. package/package/node_modules/@types/node/ts4.8/trace_events.d.ts +171 -0
  108. package/package/node_modules/@types/node/ts4.8/tty.d.ts +206 -0
  109. package/package/node_modules/@types/node/ts4.8/url.d.ts +897 -0
  110. package/package/node_modules/@types/node/ts4.8/util.d.ts +1850 -0
  111. package/package/node_modules/@types/node/ts4.8/v8.d.ts +396 -0
  112. package/package/node_modules/@types/node/ts4.8/vm.d.ts +509 -0
  113. package/package/node_modules/@types/node/ts4.8/wasi.d.ts +158 -0
  114. package/package/node_modules/@types/node/ts4.8/worker_threads.d.ts +689 -0
  115. package/package/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
  116. package/package/node_modules/@types/node/tty.d.ts +206 -0
  117. package/package/node_modules/@types/node/url.d.ts +897 -0
  118. package/package/node_modules/@types/node/util.d.ts +1850 -0
  119. package/package/node_modules/@types/node/v8.d.ts +396 -0
  120. package/package/node_modules/@types/node/vm.d.ts +509 -0
  121. package/package/node_modules/@types/node/wasi.d.ts +158 -0
  122. package/package/node_modules/@types/node/worker_threads.d.ts +689 -0
  123. package/package/node_modules/@types/node/zlib.d.ts +517 -0
  124. package/package/node_modules/@types/nodemailer/LICENSE +21 -0
  125. package/package/node_modules/@types/nodemailer/README.md +16 -0
  126. package/package/node_modules/@types/nodemailer/index.d.ts +83 -0
  127. package/package/node_modules/@types/nodemailer/lib/addressparser/index.d.ts +31 -0
  128. package/package/node_modules/@types/nodemailer/lib/base64/index.d.ts +22 -0
  129. package/package/node_modules/@types/nodemailer/lib/dkim/index.d.ts +45 -0
  130. package/package/node_modules/@types/nodemailer/lib/dkim/message-parser.d.ts +75 -0
  131. package/package/node_modules/@types/nodemailer/lib/dkim/relaxed-body.d.ts +75 -0
  132. package/package/node_modules/@types/nodemailer/lib/dkim/sign.d.ts +11 -0
  133. package/package/node_modules/@types/nodemailer/lib/fetch/cookies.d.ts +54 -0
  134. package/package/node_modules/@types/nodemailer/lib/fetch/index.d.ts +38 -0
  135. package/package/node_modules/@types/nodemailer/lib/json-transport/index.d.ts +50 -0
  136. package/package/node_modules/@types/nodemailer/lib/mail-composer/index.d.ts +25 -0
  137. package/package/node_modules/@types/nodemailer/lib/mailer/index.d.ts +230 -0
  138. package/package/node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts +28 -0
  139. package/package/node_modules/@types/nodemailer/lib/mime-funcs/index.d.ts +87 -0
  140. package/package/node_modules/@types/nodemailer/lib/mime-funcs/mime-types.d.ts +2 -0
  141. package/package/node_modules/@types/nodemailer/lib/mime-node/index.d.ts +137 -0
  142. package/package/node_modules/@types/nodemailer/lib/mime-node/last-newline.d.ts +9 -0
  143. package/package/node_modules/@types/nodemailer/lib/qp/index.d.ts +23 -0
  144. package/package/node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts +53 -0
  145. package/package/node_modules/@types/nodemailer/lib/sendmail-transport/le-unix.d.ts +7 -0
  146. package/package/node_modules/@types/nodemailer/lib/sendmail-transport/le-windows.d.ts +7 -0
  147. package/package/node_modules/@types/nodemailer/lib/ses-transport/index.d.ts +136 -0
  148. package/package/node_modules/@types/nodemailer/lib/shared/index.d.ts +51 -0
  149. package/package/node_modules/@types/nodemailer/lib/smtp-connection/data-stream.d.ts +11 -0
  150. package/package/node_modules/@types/nodemailer/lib/smtp-connection/http-proxy-client.d.ts +11 -0
  151. package/package/node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts +254 -0
  152. package/package/node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts +90 -0
  153. package/package/node_modules/@types/nodemailer/lib/smtp-pool/pool-resource.d.ts +66 -0
  154. package/package/node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts +115 -0
  155. package/package/node_modules/@types/nodemailer/lib/stream-transport/index.d.ts +56 -0
  156. package/package/node_modules/@types/nodemailer/lib/well-known/index.d.ts +6 -0
  157. package/package/node_modules/@types/nodemailer/lib/xoauth2/index.d.ts +110 -0
  158. package/package/node_modules/@types/nodemailer/package.json +37 -0
  159. package/package/node_modules/nodemailer/.gitattributes +6 -0
  160. package/package/node_modules/nodemailer/.prettierrc.js +8 -0
  161. package/package/node_modules/nodemailer/CHANGELOG.md +715 -0
  162. package/package/node_modules/nodemailer/CODE_OF_CONDUCT.md +76 -0
  163. package/package/node_modules/nodemailer/CONTRIBUTING.md +67 -0
  164. package/package/node_modules/nodemailer/LICENSE +16 -0
  165. package/package/node_modules/nodemailer/README.md +93 -0
  166. package/package/node_modules/nodemailer/SECURITY.txt +22 -0
  167. package/package/node_modules/nodemailer/lib/addressparser/index.js +313 -0
  168. package/package/node_modules/nodemailer/lib/base64/index.js +142 -0
  169. package/package/node_modules/nodemailer/lib/dkim/index.js +251 -0
  170. package/package/node_modules/nodemailer/lib/dkim/message-parser.js +155 -0
  171. package/package/node_modules/nodemailer/lib/dkim/relaxed-body.js +154 -0
  172. package/package/node_modules/nodemailer/lib/dkim/sign.js +117 -0
  173. package/package/node_modules/nodemailer/lib/fetch/cookies.js +281 -0
  174. package/package/node_modules/nodemailer/lib/fetch/index.js +269 -0
  175. package/package/node_modules/nodemailer/lib/json-transport/index.js +82 -0
  176. package/package/node_modules/nodemailer/lib/mail-composer/index.js +558 -0
  177. package/package/node_modules/nodemailer/lib/mailer/index.js +427 -0
  178. package/package/node_modules/nodemailer/lib/mailer/mail-message.js +315 -0
  179. package/package/node_modules/nodemailer/lib/mime-funcs/index.js +619 -0
  180. package/package/node_modules/nodemailer/lib/mime-funcs/mime-types.js +2102 -0
  181. package/package/node_modules/nodemailer/lib/mime-node/index.js +1290 -0
  182. package/package/node_modules/nodemailer/lib/mime-node/last-newline.js +33 -0
  183. package/package/node_modules/nodemailer/lib/mime-node/le-unix.js +43 -0
  184. package/package/node_modules/nodemailer/lib/mime-node/le-windows.js +52 -0
  185. package/package/node_modules/nodemailer/lib/nodemailer.js +143 -0
  186. package/package/node_modules/nodemailer/lib/qp/index.js +219 -0
  187. package/package/node_modules/nodemailer/lib/sendmail-transport/index.js +210 -0
  188. package/package/node_modules/nodemailer/lib/ses-transport/index.js +349 -0
  189. package/package/node_modules/nodemailer/lib/shared/index.js +639 -0
  190. package/package/node_modules/nodemailer/lib/smtp-connection/data-stream.js +108 -0
  191. package/package/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js +143 -0
  192. package/package/node_modules/nodemailer/lib/smtp-connection/index.js +1786 -0
  193. package/package/node_modules/nodemailer/lib/smtp-pool/index.js +648 -0
  194. package/package/node_modules/nodemailer/lib/smtp-pool/pool-resource.js +253 -0
  195. package/package/node_modules/nodemailer/lib/smtp-transport/index.js +416 -0
  196. package/package/node_modules/nodemailer/lib/stream-transport/index.js +135 -0
  197. package/package/node_modules/nodemailer/lib/well-known/index.js +47 -0
  198. package/package/node_modules/nodemailer/lib/well-known/services.json +286 -0
  199. package/package/node_modules/nodemailer/lib/xoauth2/index.js +376 -0
  200. package/package/node_modules/nodemailer/package.json +46 -0
  201. package/package/node_modules/nodemailer/postinstall.js +101 -0
  202. package/package/package-lock.json +60 -0
  203. package/package/package.json +6 -0
  204. package/package.json +19 -0
@@ -0,0 +1,2102 @@
1
+ /* eslint quote-props: 0 */
2
+
3
+ 'use strict';
4
+
5
+ const path = require('path');
6
+
7
+ const defaultMimeType = 'application/octet-stream';
8
+ const defaultExtension = 'bin';
9
+
10
+ const mimeTypes = new Map([
11
+ ['application/acad', 'dwg'],
12
+ ['application/applixware', 'aw'],
13
+ ['application/arj', 'arj'],
14
+ ['application/atom+xml', 'xml'],
15
+ ['application/atomcat+xml', 'atomcat'],
16
+ ['application/atomsvc+xml', 'atomsvc'],
17
+ ['application/base64', ['mm', 'mme']],
18
+ ['application/binhex', 'hqx'],
19
+ ['application/binhex4', 'hqx'],
20
+ ['application/book', ['book', 'boo']],
21
+ ['application/ccxml+xml,', 'ccxml'],
22
+ ['application/cdf', 'cdf'],
23
+ ['application/cdmi-capability', 'cdmia'],
24
+ ['application/cdmi-container', 'cdmic'],
25
+ ['application/cdmi-domain', 'cdmid'],
26
+ ['application/cdmi-object', 'cdmio'],
27
+ ['application/cdmi-queue', 'cdmiq'],
28
+ ['application/clariscad', 'ccad'],
29
+ ['application/commonground', 'dp'],
30
+ ['application/cu-seeme', 'cu'],
31
+ ['application/davmount+xml', 'davmount'],
32
+ ['application/drafting', 'drw'],
33
+ ['application/dsptype', 'tsp'],
34
+ ['application/dssc+der', 'dssc'],
35
+ ['application/dssc+xml', 'xdssc'],
36
+ ['application/dxf', 'dxf'],
37
+ ['application/ecmascript', ['js', 'es']],
38
+ ['application/emma+xml', 'emma'],
39
+ ['application/envoy', 'evy'],
40
+ ['application/epub+zip', 'epub'],
41
+ ['application/excel', ['xls', 'xl', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],
42
+ ['application/exi', 'exi'],
43
+ ['application/font-tdpfr', 'pfr'],
44
+ ['application/fractals', 'fif'],
45
+ ['application/freeloader', 'frl'],
46
+ ['application/futuresplash', 'spl'],
47
+ ['application/gnutar', 'tgz'],
48
+ ['application/groupwise', 'vew'],
49
+ ['application/hlp', 'hlp'],
50
+ ['application/hta', 'hta'],
51
+ ['application/hyperstudio', 'stk'],
52
+ ['application/i-deas', 'unv'],
53
+ ['application/iges', ['iges', 'igs']],
54
+ ['application/inf', 'inf'],
55
+ ['application/internet-property-stream', 'acx'],
56
+ ['application/ipfix', 'ipfix'],
57
+ ['application/java', 'class'],
58
+ ['application/java-archive', 'jar'],
59
+ ['application/java-byte-code', 'class'],
60
+ ['application/java-serialized-object', 'ser'],
61
+ ['application/java-vm', 'class'],
62
+ ['application/javascript', 'js'],
63
+ ['application/json', 'json'],
64
+ ['application/lha', 'lha'],
65
+ ['application/lzx', 'lzx'],
66
+ ['application/mac-binary', 'bin'],
67
+ ['application/mac-binhex', 'hqx'],
68
+ ['application/mac-binhex40', 'hqx'],
69
+ ['application/mac-compactpro', 'cpt'],
70
+ ['application/macbinary', 'bin'],
71
+ ['application/mads+xml', 'mads'],
72
+ ['application/marc', 'mrc'],
73
+ ['application/marcxml+xml', 'mrcx'],
74
+ ['application/mathematica', 'ma'],
75
+ ['application/mathml+xml', 'mathml'],
76
+ ['application/mbedlet', 'mbd'],
77
+ ['application/mbox', 'mbox'],
78
+ ['application/mcad', 'mcd'],
79
+ ['application/mediaservercontrol+xml', 'mscml'],
80
+ ['application/metalink4+xml', 'meta4'],
81
+ ['application/mets+xml', 'mets'],
82
+ ['application/mime', 'aps'],
83
+ ['application/mods+xml', 'mods'],
84
+ ['application/mp21', 'm21'],
85
+ ['application/mp4', 'mp4'],
86
+ ['application/mspowerpoint', ['ppt', 'pot', 'pps', 'ppz']],
87
+ ['application/msword', ['doc', 'dot', 'w6w', 'wiz', 'word']],
88
+ ['application/mswrite', 'wri'],
89
+ ['application/mxf', 'mxf'],
90
+ ['application/netmc', 'mcp'],
91
+ ['application/octet-stream', ['*']],
92
+ ['application/oda', 'oda'],
93
+ ['application/oebps-package+xml', 'opf'],
94
+ ['application/ogg', 'ogx'],
95
+ ['application/olescript', 'axs'],
96
+ ['application/onenote', 'onetoc'],
97
+ ['application/patch-ops-error+xml', 'xer'],
98
+ ['application/pdf', 'pdf'],
99
+ ['application/pgp-encrypted', 'asc'],
100
+ ['application/pgp-signature', 'pgp'],
101
+ ['application/pics-rules', 'prf'],
102
+ ['application/pkcs-12', 'p12'],
103
+ ['application/pkcs-crl', 'crl'],
104
+ ['application/pkcs10', 'p10'],
105
+ ['application/pkcs7-mime', ['p7c', 'p7m']],
106
+ ['application/pkcs7-signature', 'p7s'],
107
+ ['application/pkcs8', 'p8'],
108
+ ['application/pkix-attr-cert', 'ac'],
109
+ ['application/pkix-cert', ['cer', 'crt']],
110
+ ['application/pkix-crl', 'crl'],
111
+ ['application/pkix-pkipath', 'pkipath'],
112
+ ['application/pkixcmp', 'pki'],
113
+ ['application/plain', 'text'],
114
+ ['application/pls+xml', 'pls'],
115
+ ['application/postscript', ['ps', 'ai', 'eps']],
116
+ ['application/powerpoint', 'ppt'],
117
+ ['application/pro_eng', ['part', 'prt']],
118
+ ['application/prs.cww', 'cww'],
119
+ ['application/pskc+xml', 'pskcxml'],
120
+ ['application/rdf+xml', 'rdf'],
121
+ ['application/reginfo+xml', 'rif'],
122
+ ['application/relax-ng-compact-syntax', 'rnc'],
123
+ ['application/resource-lists+xml', 'rl'],
124
+ ['application/resource-lists-diff+xml', 'rld'],
125
+ ['application/ringing-tones', 'rng'],
126
+ ['application/rls-services+xml', 'rs'],
127
+ ['application/rsd+xml', 'rsd'],
128
+ ['application/rss+xml', 'xml'],
129
+ ['application/rtf', ['rtf', 'rtx']],
130
+ ['application/sbml+xml', 'sbml'],
131
+ ['application/scvp-cv-request', 'scq'],
132
+ ['application/scvp-cv-response', 'scs'],
133
+ ['application/scvp-vp-request', 'spq'],
134
+ ['application/scvp-vp-response', 'spp'],
135
+ ['application/sdp', 'sdp'],
136
+ ['application/sea', 'sea'],
137
+ ['application/set', 'set'],
138
+ ['application/set-payment-initiation', 'setpay'],
139
+ ['application/set-registration-initiation', 'setreg'],
140
+ ['application/shf+xml', 'shf'],
141
+ ['application/sla', 'stl'],
142
+ ['application/smil', ['smi', 'smil']],
143
+ ['application/smil+xml', 'smi'],
144
+ ['application/solids', 'sol'],
145
+ ['application/sounder', 'sdr'],
146
+ ['application/sparql-query', 'rq'],
147
+ ['application/sparql-results+xml', 'srx'],
148
+ ['application/srgs', 'gram'],
149
+ ['application/srgs+xml', 'grxml'],
150
+ ['application/sru+xml', 'sru'],
151
+ ['application/ssml+xml', 'ssml'],
152
+ ['application/step', ['step', 'stp']],
153
+ ['application/streamingmedia', 'ssm'],
154
+ ['application/tei+xml', 'tei'],
155
+ ['application/thraud+xml', 'tfi'],
156
+ ['application/timestamped-data', 'tsd'],
157
+ ['application/toolbook', 'tbk'],
158
+ ['application/vda', 'vda'],
159
+ ['application/vnd.3gpp.pic-bw-large', 'plb'],
160
+ ['application/vnd.3gpp.pic-bw-small', 'psb'],
161
+ ['application/vnd.3gpp.pic-bw-var', 'pvb'],
162
+ ['application/vnd.3gpp2.tcap', 'tcap'],
163
+ ['application/vnd.3m.post-it-notes', 'pwn'],
164
+ ['application/vnd.accpac.simply.aso', 'aso'],
165
+ ['application/vnd.accpac.simply.imp', 'imp'],
166
+ ['application/vnd.acucobol', 'acu'],
167
+ ['application/vnd.acucorp', 'atc'],
168
+ ['application/vnd.adobe.air-application-installer-package+zip', 'air'],
169
+ ['application/vnd.adobe.fxp', 'fxp'],
170
+ ['application/vnd.adobe.xdp+xml', 'xdp'],
171
+ ['application/vnd.adobe.xfdf', 'xfdf'],
172
+ ['application/vnd.ahead.space', 'ahead'],
173
+ ['application/vnd.airzip.filesecure.azf', 'azf'],
174
+ ['application/vnd.airzip.filesecure.azs', 'azs'],
175
+ ['application/vnd.amazon.ebook', 'azw'],
176
+ ['application/vnd.americandynamics.acc', 'acc'],
177
+ ['application/vnd.amiga.ami', 'ami'],
178
+ ['application/vnd.android.package-archive', 'apk'],
179
+ ['application/vnd.anser-web-certificate-issue-initiation', 'cii'],
180
+ ['application/vnd.anser-web-funds-transfer-initiation', 'fti'],
181
+ ['application/vnd.antix.game-component', 'atx'],
182
+ ['application/vnd.apple.installer+xml', 'mpkg'],
183
+ ['application/vnd.apple.mpegurl', 'm3u8'],
184
+ ['application/vnd.aristanetworks.swi', 'swi'],
185
+ ['application/vnd.audiograph', 'aep'],
186
+ ['application/vnd.blueice.multipass', 'mpm'],
187
+ ['application/vnd.bmi', 'bmi'],
188
+ ['application/vnd.businessobjects', 'rep'],
189
+ ['application/vnd.chemdraw+xml', 'cdxml'],
190
+ ['application/vnd.chipnuts.karaoke-mmd', 'mmd'],
191
+ ['application/vnd.cinderella', 'cdy'],
192
+ ['application/vnd.claymore', 'cla'],
193
+ ['application/vnd.cloanto.rp9', 'rp9'],
194
+ ['application/vnd.clonk.c4group', 'c4g'],
195
+ ['application/vnd.cluetrust.cartomobile-config', 'c11amc'],
196
+ ['application/vnd.cluetrust.cartomobile-config-pkg', 'c11amz'],
197
+ ['application/vnd.commonspace', 'csp'],
198
+ ['application/vnd.contact.cmsg', 'cdbcmsg'],
199
+ ['application/vnd.cosmocaller', 'cmc'],
200
+ ['application/vnd.crick.clicker', 'clkx'],
201
+ ['application/vnd.crick.clicker.keyboard', 'clkk'],
202
+ ['application/vnd.crick.clicker.palette', 'clkp'],
203
+ ['application/vnd.crick.clicker.template', 'clkt'],
204
+ ['application/vnd.crick.clicker.wordbank', 'clkw'],
205
+ ['application/vnd.criticaltools.wbs+xml', 'wbs'],
206
+ ['application/vnd.ctc-posml', 'pml'],
207
+ ['application/vnd.cups-ppd', 'ppd'],
208
+ ['application/vnd.curl.car', 'car'],
209
+ ['application/vnd.curl.pcurl', 'pcurl'],
210
+ ['application/vnd.data-vision.rdz', 'rdz'],
211
+ ['application/vnd.denovo.fcselayout-link', 'fe_launch'],
212
+ ['application/vnd.dna', 'dna'],
213
+ ['application/vnd.dolby.mlp', 'mlp'],
214
+ ['application/vnd.dpgraph', 'dpg'],
215
+ ['application/vnd.dreamfactory', 'dfac'],
216
+ ['application/vnd.dvb.ait', 'ait'],
217
+ ['application/vnd.dvb.service', 'svc'],
218
+ ['application/vnd.dynageo', 'geo'],
219
+ ['application/vnd.ecowin.chart', 'mag'],
220
+ ['application/vnd.enliven', 'nml'],
221
+ ['application/vnd.epson.esf', 'esf'],
222
+ ['application/vnd.epson.msf', 'msf'],
223
+ ['application/vnd.epson.quickanime', 'qam'],
224
+ ['application/vnd.epson.salt', 'slt'],
225
+ ['application/vnd.epson.ssf', 'ssf'],
226
+ ['application/vnd.eszigno3+xml', 'es3'],
227
+ ['application/vnd.ezpix-album', 'ez2'],
228
+ ['application/vnd.ezpix-package', 'ez3'],
229
+ ['application/vnd.fdf', 'fdf'],
230
+ ['application/vnd.fdsn.seed', 'seed'],
231
+ ['application/vnd.flographit', 'gph'],
232
+ ['application/vnd.fluxtime.clip', 'ftc'],
233
+ ['application/vnd.framemaker', 'fm'],
234
+ ['application/vnd.frogans.fnc', 'fnc'],
235
+ ['application/vnd.frogans.ltf', 'ltf'],
236
+ ['application/vnd.fsc.weblaunch', 'fsc'],
237
+ ['application/vnd.fujitsu.oasys', 'oas'],
238
+ ['application/vnd.fujitsu.oasys2', 'oa2'],
239
+ ['application/vnd.fujitsu.oasys3', 'oa3'],
240
+ ['application/vnd.fujitsu.oasysgp', 'fg5'],
241
+ ['application/vnd.fujitsu.oasysprs', 'bh2'],
242
+ ['application/vnd.fujixerox.ddd', 'ddd'],
243
+ ['application/vnd.fujixerox.docuworks', 'xdw'],
244
+ ['application/vnd.fujixerox.docuworks.binder', 'xbd'],
245
+ ['application/vnd.fuzzysheet', 'fzs'],
246
+ ['application/vnd.genomatix.tuxedo', 'txd'],
247
+ ['application/vnd.geogebra.file', 'ggb'],
248
+ ['application/vnd.geogebra.tool', 'ggt'],
249
+ ['application/vnd.geometry-explorer', 'gex'],
250
+ ['application/vnd.geonext', 'gxt'],
251
+ ['application/vnd.geoplan', 'g2w'],
252
+ ['application/vnd.geospace', 'g3w'],
253
+ ['application/vnd.gmx', 'gmx'],
254
+ ['application/vnd.google-earth.kml+xml', 'kml'],
255
+ ['application/vnd.google-earth.kmz', 'kmz'],
256
+ ['application/vnd.grafeq', 'gqf'],
257
+ ['application/vnd.groove-account', 'gac'],
258
+ ['application/vnd.groove-help', 'ghf'],
259
+ ['application/vnd.groove-identity-message', 'gim'],
260
+ ['application/vnd.groove-injector', 'grv'],
261
+ ['application/vnd.groove-tool-message', 'gtm'],
262
+ ['application/vnd.groove-tool-template', 'tpl'],
263
+ ['application/vnd.groove-vcard', 'vcg'],
264
+ ['application/vnd.hal+xml', 'hal'],
265
+ ['application/vnd.handheld-entertainment+xml', 'zmm'],
266
+ ['application/vnd.hbci', 'hbci'],
267
+ ['application/vnd.hhe.lesson-player', 'les'],
268
+ ['application/vnd.hp-hpgl', ['hgl', 'hpg', 'hpgl']],
269
+ ['application/vnd.hp-hpid', 'hpid'],
270
+ ['application/vnd.hp-hps', 'hps'],
271
+ ['application/vnd.hp-jlyt', 'jlt'],
272
+ ['application/vnd.hp-pcl', 'pcl'],
273
+ ['application/vnd.hp-pclxl', 'pclxl'],
274
+ ['application/vnd.hydrostatix.sof-data', 'sfd-hdstx'],
275
+ ['application/vnd.hzn-3d-crossword', 'x3d'],
276
+ ['application/vnd.ibm.minipay', 'mpy'],
277
+ ['application/vnd.ibm.modcap', 'afp'],
278
+ ['application/vnd.ibm.rights-management', 'irm'],
279
+ ['application/vnd.ibm.secure-container', 'sc'],
280
+ ['application/vnd.iccprofile', 'icc'],
281
+ ['application/vnd.igloader', 'igl'],
282
+ ['application/vnd.immervision-ivp', 'ivp'],
283
+ ['application/vnd.immervision-ivu', 'ivu'],
284
+ ['application/vnd.insors.igm', 'igm'],
285
+ ['application/vnd.intercon.formnet', 'xpw'],
286
+ ['application/vnd.intergeo', 'i2g'],
287
+ ['application/vnd.intu.qbo', 'qbo'],
288
+ ['application/vnd.intu.qfx', 'qfx'],
289
+ ['application/vnd.ipunplugged.rcprofile', 'rcprofile'],
290
+ ['application/vnd.irepository.package+xml', 'irp'],
291
+ ['application/vnd.is-xpr', 'xpr'],
292
+ ['application/vnd.isac.fcs', 'fcs'],
293
+ ['application/vnd.jam', 'jam'],
294
+ ['application/vnd.jcp.javame.midlet-rms', 'rms'],
295
+ ['application/vnd.jisp', 'jisp'],
296
+ ['application/vnd.joost.joda-archive', 'joda'],
297
+ ['application/vnd.kahootz', 'ktz'],
298
+ ['application/vnd.kde.karbon', 'karbon'],
299
+ ['application/vnd.kde.kchart', 'chrt'],
300
+ ['application/vnd.kde.kformula', 'kfo'],
301
+ ['application/vnd.kde.kivio', 'flw'],
302
+ ['application/vnd.kde.kontour', 'kon'],
303
+ ['application/vnd.kde.kpresenter', 'kpr'],
304
+ ['application/vnd.kde.kspread', 'ksp'],
305
+ ['application/vnd.kde.kword', 'kwd'],
306
+ ['application/vnd.kenameaapp', 'htke'],
307
+ ['application/vnd.kidspiration', 'kia'],
308
+ ['application/vnd.kinar', 'kne'],
309
+ ['application/vnd.koan', 'skp'],
310
+ ['application/vnd.kodak-descriptor', 'sse'],
311
+ ['application/vnd.las.las+xml', 'lasxml'],
312
+ ['application/vnd.llamagraphics.life-balance.desktop', 'lbd'],
313
+ ['application/vnd.llamagraphics.life-balance.exchange+xml', 'lbe'],
314
+ ['application/vnd.lotus-1-2-3', '123'],
315
+ ['application/vnd.lotus-approach', 'apr'],
316
+ ['application/vnd.lotus-freelance', 'pre'],
317
+ ['application/vnd.lotus-notes', 'nsf'],
318
+ ['application/vnd.lotus-organizer', 'org'],
319
+ ['application/vnd.lotus-screencam', 'scm'],
320
+ ['application/vnd.lotus-wordpro', 'lwp'],
321
+ ['application/vnd.macports.portpkg', 'portpkg'],
322
+ ['application/vnd.mcd', 'mcd'],
323
+ ['application/vnd.medcalcdata', 'mc1'],
324
+ ['application/vnd.mediastation.cdkey', 'cdkey'],
325
+ ['application/vnd.mfer', 'mwf'],
326
+ ['application/vnd.mfmp', 'mfm'],
327
+ ['application/vnd.micrografx.flo', 'flo'],
328
+ ['application/vnd.micrografx.igx', 'igx'],
329
+ ['application/vnd.mif', 'mif'],
330
+ ['application/vnd.mobius.daf', 'daf'],
331
+ ['application/vnd.mobius.dis', 'dis'],
332
+ ['application/vnd.mobius.mbk', 'mbk'],
333
+ ['application/vnd.mobius.mqy', 'mqy'],
334
+ ['application/vnd.mobius.msl', 'msl'],
335
+ ['application/vnd.mobius.plc', 'plc'],
336
+ ['application/vnd.mobius.txf', 'txf'],
337
+ ['application/vnd.mophun.application', 'mpn'],
338
+ ['application/vnd.mophun.certificate', 'mpc'],
339
+ ['application/vnd.mozilla.xul+xml', 'xul'],
340
+ ['application/vnd.ms-artgalry', 'cil'],
341
+ ['application/vnd.ms-cab-compressed', 'cab'],
342
+ ['application/vnd.ms-excel', ['xls', 'xla', 'xlc', 'xlm', 'xlt', 'xlw', 'xlb', 'xll']],
343
+ ['application/vnd.ms-excel.addin.macroenabled.12', 'xlam'],
344
+ ['application/vnd.ms-excel.sheet.binary.macroenabled.12', 'xlsb'],
345
+ ['application/vnd.ms-excel.sheet.macroenabled.12', 'xlsm'],
346
+ ['application/vnd.ms-excel.template.macroenabled.12', 'xltm'],
347
+ ['application/vnd.ms-fontobject', 'eot'],
348
+ ['application/vnd.ms-htmlhelp', 'chm'],
349
+ ['application/vnd.ms-ims', 'ims'],
350
+ ['application/vnd.ms-lrm', 'lrm'],
351
+ ['application/vnd.ms-officetheme', 'thmx'],
352
+ ['application/vnd.ms-outlook', 'msg'],
353
+ ['application/vnd.ms-pki.certstore', 'sst'],
354
+ ['application/vnd.ms-pki.pko', 'pko'],
355
+ ['application/vnd.ms-pki.seccat', 'cat'],
356
+ ['application/vnd.ms-pki.stl', 'stl'],
357
+ ['application/vnd.ms-pkicertstore', 'sst'],
358
+ ['application/vnd.ms-pkiseccat', 'cat'],
359
+ ['application/vnd.ms-pkistl', 'stl'],
360
+ ['application/vnd.ms-powerpoint', ['ppt', 'pot', 'pps', 'ppa', 'pwz']],
361
+ ['application/vnd.ms-powerpoint.addin.macroenabled.12', 'ppam'],
362
+ ['application/vnd.ms-powerpoint.presentation.macroenabled.12', 'pptm'],
363
+ ['application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldm'],
364
+ ['application/vnd.ms-powerpoint.slideshow.macroenabled.12', 'ppsm'],
365
+ ['application/vnd.ms-powerpoint.template.macroenabled.12', 'potm'],
366
+ ['application/vnd.ms-project', 'mpp'],
367
+ ['application/vnd.ms-word.document.macroenabled.12', 'docm'],
368
+ ['application/vnd.ms-word.template.macroenabled.12', 'dotm'],
369
+ ['application/vnd.ms-works', ['wks', 'wcm', 'wdb', 'wps']],
370
+ ['application/vnd.ms-wpl', 'wpl'],
371
+ ['application/vnd.ms-xpsdocument', 'xps'],
372
+ ['application/vnd.mseq', 'mseq'],
373
+ ['application/vnd.musician', 'mus'],
374
+ ['application/vnd.muvee.style', 'msty'],
375
+ ['application/vnd.neurolanguage.nlu', 'nlu'],
376
+ ['application/vnd.noblenet-directory', 'nnd'],
377
+ ['application/vnd.noblenet-sealer', 'nns'],
378
+ ['application/vnd.noblenet-web', 'nnw'],
379
+ ['application/vnd.nokia.configuration-message', 'ncm'],
380
+ ['application/vnd.nokia.n-gage.data', 'ngdat'],
381
+ ['application/vnd.nokia.n-gage.symbian.install', 'n-gage'],
382
+ ['application/vnd.nokia.radio-preset', 'rpst'],
383
+ ['application/vnd.nokia.radio-presets', 'rpss'],
384
+ ['application/vnd.nokia.ringing-tone', 'rng'],
385
+ ['application/vnd.novadigm.edm', 'edm'],
386
+ ['application/vnd.novadigm.edx', 'edx'],
387
+ ['application/vnd.novadigm.ext', 'ext'],
388
+ ['application/vnd.oasis.opendocument.chart', 'odc'],
389
+ ['application/vnd.oasis.opendocument.chart-template', 'otc'],
390
+ ['application/vnd.oasis.opendocument.database', 'odb'],
391
+ ['application/vnd.oasis.opendocument.formula', 'odf'],
392
+ ['application/vnd.oasis.opendocument.formula-template', 'odft'],
393
+ ['application/vnd.oasis.opendocument.graphics', 'odg'],
394
+ ['application/vnd.oasis.opendocument.graphics-template', 'otg'],
395
+ ['application/vnd.oasis.opendocument.image', 'odi'],
396
+ ['application/vnd.oasis.opendocument.image-template', 'oti'],
397
+ ['application/vnd.oasis.opendocument.presentation', 'odp'],
398
+ ['application/vnd.oasis.opendocument.presentation-template', 'otp'],
399
+ ['application/vnd.oasis.opendocument.spreadsheet', 'ods'],
400
+ ['application/vnd.oasis.opendocument.spreadsheet-template', 'ots'],
401
+ ['application/vnd.oasis.opendocument.text', 'odt'],
402
+ ['application/vnd.oasis.opendocument.text-master', 'odm'],
403
+ ['application/vnd.oasis.opendocument.text-template', 'ott'],
404
+ ['application/vnd.oasis.opendocument.text-web', 'oth'],
405
+ ['application/vnd.olpc-sugar', 'xo'],
406
+ ['application/vnd.oma.dd2+xml', 'dd2'],
407
+ ['application/vnd.openofficeorg.extension', 'oxt'],
408
+ ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pptx'],
409
+ ['application/vnd.openxmlformats-officedocument.presentationml.slide', 'sldx'],
410
+ ['application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppsx'],
411
+ ['application/vnd.openxmlformats-officedocument.presentationml.template', 'potx'],
412
+ ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'],
413
+ ['application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xltx'],
414
+ ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'docx'],
415
+ ['application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dotx'],
416
+ ['application/vnd.osgeo.mapguide.package', 'mgp'],
417
+ ['application/vnd.osgi.dp', 'dp'],
418
+ ['application/vnd.palm', 'pdb'],
419
+ ['application/vnd.pawaafile', 'paw'],
420
+ ['application/vnd.pg.format', 'str'],
421
+ ['application/vnd.pg.osasli', 'ei6'],
422
+ ['application/vnd.picsel', 'efif'],
423
+ ['application/vnd.pmi.widget', 'wg'],
424
+ ['application/vnd.pocketlearn', 'plf'],
425
+ ['application/vnd.powerbuilder6', 'pbd'],
426
+ ['application/vnd.previewsystems.box', 'box'],
427
+ ['application/vnd.proteus.magazine', 'mgz'],
428
+ ['application/vnd.publishare-delta-tree', 'qps'],
429
+ ['application/vnd.pvi.ptid1', 'ptid'],
430
+ ['application/vnd.quark.quarkxpress', 'qxd'],
431
+ ['application/vnd.realvnc.bed', 'bed'],
432
+ ['application/vnd.recordare.musicxml', 'mxl'],
433
+ ['application/vnd.recordare.musicxml+xml', 'musicxml'],
434
+ ['application/vnd.rig.cryptonote', 'cryptonote'],
435
+ ['application/vnd.rim.cod', 'cod'],
436
+ ['application/vnd.rn-realmedia', 'rm'],
437
+ ['application/vnd.rn-realplayer', 'rnx'],
438
+ ['application/vnd.route66.link66+xml', 'link66'],
439
+ ['application/vnd.sailingtracker.track', 'st'],
440
+ ['application/vnd.seemail', 'see'],
441
+ ['application/vnd.sema', 'sema'],
442
+ ['application/vnd.semd', 'semd'],
443
+ ['application/vnd.semf', 'semf'],
444
+ ['application/vnd.shana.informed.formdata', 'ifm'],
445
+ ['application/vnd.shana.informed.formtemplate', 'itp'],
446
+ ['application/vnd.shana.informed.interchange', 'iif'],
447
+ ['application/vnd.shana.informed.package', 'ipk'],
448
+ ['application/vnd.simtech-mindmapper', 'twd'],
449
+ ['application/vnd.smaf', 'mmf'],
450
+ ['application/vnd.smart.teacher', 'teacher'],
451
+ ['application/vnd.solent.sdkm+xml', 'sdkm'],
452
+ ['application/vnd.spotfire.dxp', 'dxp'],
453
+ ['application/vnd.spotfire.sfs', 'sfs'],
454
+ ['application/vnd.stardivision.calc', 'sdc'],
455
+ ['application/vnd.stardivision.draw', 'sda'],
456
+ ['application/vnd.stardivision.impress', 'sdd'],
457
+ ['application/vnd.stardivision.math', 'smf'],
458
+ ['application/vnd.stardivision.writer', 'sdw'],
459
+ ['application/vnd.stardivision.writer-global', 'sgl'],
460
+ ['application/vnd.stepmania.stepchart', 'sm'],
461
+ ['application/vnd.sun.xml.calc', 'sxc'],
462
+ ['application/vnd.sun.xml.calc.template', 'stc'],
463
+ ['application/vnd.sun.xml.draw', 'sxd'],
464
+ ['application/vnd.sun.xml.draw.template', 'std'],
465
+ ['application/vnd.sun.xml.impress', 'sxi'],
466
+ ['application/vnd.sun.xml.impress.template', 'sti'],
467
+ ['application/vnd.sun.xml.math', 'sxm'],
468
+ ['application/vnd.sun.xml.writer', 'sxw'],
469
+ ['application/vnd.sun.xml.writer.global', 'sxg'],
470
+ ['application/vnd.sun.xml.writer.template', 'stw'],
471
+ ['application/vnd.sus-calendar', 'sus'],
472
+ ['application/vnd.svd', 'svd'],
473
+ ['application/vnd.symbian.install', 'sis'],
474
+ ['application/vnd.syncml+xml', 'xsm'],
475
+ ['application/vnd.syncml.dm+wbxml', 'bdm'],
476
+ ['application/vnd.syncml.dm+xml', 'xdm'],
477
+ ['application/vnd.tao.intent-module-archive', 'tao'],
478
+ ['application/vnd.tmobile-livetv', 'tmo'],
479
+ ['application/vnd.trid.tpt', 'tpt'],
480
+ ['application/vnd.triscape.mxs', 'mxs'],
481
+ ['application/vnd.trueapp', 'tra'],
482
+ ['application/vnd.ufdl', 'ufd'],
483
+ ['application/vnd.uiq.theme', 'utz'],
484
+ ['application/vnd.umajin', 'umj'],
485
+ ['application/vnd.unity', 'unityweb'],
486
+ ['application/vnd.uoml+xml', 'uoml'],
487
+ ['application/vnd.vcx', 'vcx'],
488
+ ['application/vnd.visio', 'vsd'],
489
+ ['application/vnd.visionary', 'vis'],
490
+ ['application/vnd.vsf', 'vsf'],
491
+ ['application/vnd.wap.wbxml', 'wbxml'],
492
+ ['application/vnd.wap.wmlc', 'wmlc'],
493
+ ['application/vnd.wap.wmlscriptc', 'wmlsc'],
494
+ ['application/vnd.webturbo', 'wtb'],
495
+ ['application/vnd.wolfram.player', 'nbp'],
496
+ ['application/vnd.wordperfect', 'wpd'],
497
+ ['application/vnd.wqd', 'wqd'],
498
+ ['application/vnd.wt.stf', 'stf'],
499
+ ['application/vnd.xara', ['web', 'xar']],
500
+ ['application/vnd.xfdl', 'xfdl'],
501
+ ['application/vnd.yamaha.hv-dic', 'hvd'],
502
+ ['application/vnd.yamaha.hv-script', 'hvs'],
503
+ ['application/vnd.yamaha.hv-voice', 'hvp'],
504
+ ['application/vnd.yamaha.openscoreformat', 'osf'],
505
+ ['application/vnd.yamaha.openscoreformat.osfpvg+xml', 'osfpvg'],
506
+ ['application/vnd.yamaha.smaf-audio', 'saf'],
507
+ ['application/vnd.yamaha.smaf-phrase', 'spf'],
508
+ ['application/vnd.yellowriver-custom-menu', 'cmp'],
509
+ ['application/vnd.zul', 'zir'],
510
+ ['application/vnd.zzazz.deck+xml', 'zaz'],
511
+ ['application/vocaltec-media-desc', 'vmd'],
512
+ ['application/vocaltec-media-file', 'vmf'],
513
+ ['application/voicexml+xml', 'vxml'],
514
+ ['application/widget', 'wgt'],
515
+ ['application/winhlp', 'hlp'],
516
+ ['application/wordperfect', ['wp', 'wp5', 'wp6', 'wpd']],
517
+ ['application/wordperfect6.0', ['w60', 'wp5']],
518
+ ['application/wordperfect6.1', 'w61'],
519
+ ['application/wsdl+xml', 'wsdl'],
520
+ ['application/wspolicy+xml', 'wspolicy'],
521
+ ['application/x-123', 'wk1'],
522
+ ['application/x-7z-compressed', '7z'],
523
+ ['application/x-abiword', 'abw'],
524
+ ['application/x-ace-compressed', 'ace'],
525
+ ['application/x-aim', 'aim'],
526
+ ['application/x-authorware-bin', 'aab'],
527
+ ['application/x-authorware-map', 'aam'],
528
+ ['application/x-authorware-seg', 'aas'],
529
+ ['application/x-bcpio', 'bcpio'],
530
+ ['application/x-binary', 'bin'],
531
+ ['application/x-binhex40', 'hqx'],
532
+ ['application/x-bittorrent', 'torrent'],
533
+ ['application/x-bsh', ['bsh', 'sh', 'shar']],
534
+ ['application/x-bytecode.elisp', 'elc'],
535
+ ['application/x-bytecode.python', 'pyc'],
536
+ ['application/x-bzip', 'bz'],
537
+ ['application/x-bzip2', ['boz', 'bz2']],
538
+ ['application/x-cdf', 'cdf'],
539
+ ['application/x-cdlink', 'vcd'],
540
+ ['application/x-chat', ['cha', 'chat']],
541
+ ['application/x-chess-pgn', 'pgn'],
542
+ ['application/x-cmu-raster', 'ras'],
543
+ ['application/x-cocoa', 'cco'],
544
+ ['application/x-compactpro', 'cpt'],
545
+ ['application/x-compress', 'z'],
546
+ ['application/x-compressed', ['tgz', 'gz', 'z', 'zip']],
547
+ ['application/x-conference', 'nsc'],
548
+ ['application/x-cpio', 'cpio'],
549
+ ['application/x-cpt', 'cpt'],
550
+ ['application/x-csh', 'csh'],
551
+ ['application/x-debian-package', 'deb'],
552
+ ['application/x-deepv', 'deepv'],
553
+ ['application/x-director', ['dir', 'dcr', 'dxr']],
554
+ ['application/x-doom', 'wad'],
555
+ ['application/x-dtbncx+xml', 'ncx'],
556
+ ['application/x-dtbook+xml', 'dtb'],
557
+ ['application/x-dtbresource+xml', 'res'],
558
+ ['application/x-dvi', 'dvi'],
559
+ ['application/x-elc', 'elc'],
560
+ ['application/x-envoy', ['env', 'evy']],
561
+ ['application/x-esrehber', 'es'],
562
+ ['application/x-excel', ['xls', 'xla', 'xlb', 'xlc', 'xld', 'xlk', 'xll', 'xlm', 'xlt', 'xlv', 'xlw']],
563
+ ['application/x-font-bdf', 'bdf'],
564
+ ['application/x-font-ghostscript', 'gsf'],
565
+ ['application/x-font-linux-psf', 'psf'],
566
+ ['application/x-font-otf', 'otf'],
567
+ ['application/x-font-pcf', 'pcf'],
568
+ ['application/x-font-snf', 'snf'],
569
+ ['application/x-font-ttf', 'ttf'],
570
+ ['application/x-font-type1', 'pfa'],
571
+ ['application/x-font-woff', 'woff'],
572
+ ['application/x-frame', 'mif'],
573
+ ['application/x-freelance', 'pre'],
574
+ ['application/x-futuresplash', 'spl'],
575
+ ['application/x-gnumeric', 'gnumeric'],
576
+ ['application/x-gsp', 'gsp'],
577
+ ['application/x-gss', 'gss'],
578
+ ['application/x-gtar', 'gtar'],
579
+ ['application/x-gzip', ['gz', 'gzip']],
580
+ ['application/x-hdf', 'hdf'],
581
+ ['application/x-helpfile', ['help', 'hlp']],
582
+ ['application/x-httpd-imap', 'imap'],
583
+ ['application/x-ima', 'ima'],
584
+ ['application/x-internet-signup', ['ins', 'isp']],
585
+ ['application/x-internett-signup', 'ins'],
586
+ ['application/x-inventor', 'iv'],
587
+ ['application/x-ip2', 'ip'],
588
+ ['application/x-iphone', 'iii'],
589
+ ['application/x-java-class', 'class'],
590
+ ['application/x-java-commerce', 'jcm'],
591
+ ['application/x-java-jnlp-file', 'jnlp'],
592
+ ['application/x-javascript', 'js'],
593
+ ['application/x-koan', ['skd', 'skm', 'skp', 'skt']],
594
+ ['application/x-ksh', 'ksh'],
595
+ ['application/x-latex', ['latex', 'ltx']],
596
+ ['application/x-lha', 'lha'],
597
+ ['application/x-lisp', 'lsp'],
598
+ ['application/x-livescreen', 'ivy'],
599
+ ['application/x-lotus', 'wq1'],
600
+ ['application/x-lotusscreencam', 'scm'],
601
+ ['application/x-lzh', 'lzh'],
602
+ ['application/x-lzx', 'lzx'],
603
+ ['application/x-mac-binhex40', 'hqx'],
604
+ ['application/x-macbinary', 'bin'],
605
+ ['application/x-magic-cap-package-1.0', 'mc$'],
606
+ ['application/x-mathcad', 'mcd'],
607
+ ['application/x-meme', 'mm'],
608
+ ['application/x-midi', ['mid', 'midi']],
609
+ ['application/x-mif', 'mif'],
610
+ ['application/x-mix-transfer', 'nix'],
611
+ ['application/x-mobipocket-ebook', 'prc'],
612
+ ['application/x-mplayer2', 'asx'],
613
+ ['application/x-ms-application', 'application'],
614
+ ['application/x-ms-wmd', 'wmd'],
615
+ ['application/x-ms-wmz', 'wmz'],
616
+ ['application/x-ms-xbap', 'xbap'],
617
+ ['application/x-msaccess', 'mdb'],
618
+ ['application/x-msbinder', 'obd'],
619
+ ['application/x-mscardfile', 'crd'],
620
+ ['application/x-msclip', 'clp'],
621
+ ['application/x-msdownload', ['exe', 'dll']],
622
+ ['application/x-msexcel', ['xls', 'xla', 'xlw']],
623
+ ['application/x-msmediaview', ['mvb', 'm13', 'm14']],
624
+ ['application/x-msmetafile', 'wmf'],
625
+ ['application/x-msmoney', 'mny'],
626
+ ['application/x-mspowerpoint', 'ppt'],
627
+ ['application/x-mspublisher', 'pub'],
628
+ ['application/x-msschedule', 'scd'],
629
+ ['application/x-msterminal', 'trm'],
630
+ ['application/x-mswrite', 'wri'],
631
+ ['application/x-navi-animation', 'ani'],
632
+ ['application/x-navidoc', 'nvd'],
633
+ ['application/x-navimap', 'map'],
634
+ ['application/x-navistyle', 'stl'],
635
+ ['application/x-netcdf', ['cdf', 'nc']],
636
+ ['application/x-newton-compatible-pkg', 'pkg'],
637
+ ['application/x-nokia-9000-communicator-add-on-software', 'aos'],
638
+ ['application/x-omc', 'omc'],
639
+ ['application/x-omcdatamaker', 'omcd'],
640
+ ['application/x-omcregerator', 'omcr'],
641
+ ['application/x-pagemaker', ['pm4', 'pm5']],
642
+ ['application/x-pcl', 'pcl'],
643
+ ['application/x-perfmon', ['pma', 'pmc', 'pml', 'pmr', 'pmw']],
644
+ ['application/x-pixclscript', 'plx'],
645
+ ['application/x-pkcs10', 'p10'],
646
+ ['application/x-pkcs12', ['p12', 'pfx']],
647
+ ['application/x-pkcs7-certificates', ['p7b', 'spc']],
648
+ ['application/x-pkcs7-certreqresp', 'p7r'],
649
+ ['application/x-pkcs7-mime', ['p7m', 'p7c']],
650
+ ['application/x-pkcs7-signature', ['p7s', 'p7a']],
651
+ ['application/x-pointplus', 'css'],
652
+ ['application/x-portable-anymap', 'pnm'],
653
+ ['application/x-project', ['mpc', 'mpt', 'mpv', 'mpx']],
654
+ ['application/x-qpro', 'wb1'],
655
+ ['application/x-rar-compressed', 'rar'],
656
+ ['application/x-rtf', 'rtf'],
657
+ ['application/x-sdp', 'sdp'],
658
+ ['application/x-sea', 'sea'],
659
+ ['application/x-seelogo', 'sl'],
660
+ ['application/x-sh', 'sh'],
661
+ ['application/x-shar', ['shar', 'sh']],
662
+ ['application/x-shockwave-flash', 'swf'],
663
+ ['application/x-silverlight-app', 'xap'],
664
+ ['application/x-sit', 'sit'],
665
+ ['application/x-sprite', ['spr', 'sprite']],
666
+ ['application/x-stuffit', 'sit'],
667
+ ['application/x-stuffitx', 'sitx'],
668
+ ['application/x-sv4cpio', 'sv4cpio'],
669
+ ['application/x-sv4crc', 'sv4crc'],
670
+ ['application/x-tar', 'tar'],
671
+ ['application/x-tbook', ['sbk', 'tbk']],
672
+ ['application/x-tcl', 'tcl'],
673
+ ['application/x-tex', 'tex'],
674
+ ['application/x-tex-tfm', 'tfm'],
675
+ ['application/x-texinfo', ['texi', 'texinfo']],
676
+ ['application/x-troff', ['roff', 't', 'tr']],
677
+ ['application/x-troff-man', 'man'],
678
+ ['application/x-troff-me', 'me'],
679
+ ['application/x-troff-ms', 'ms'],
680
+ ['application/x-troff-msvideo', 'avi'],
681
+ ['application/x-ustar', 'ustar'],
682
+ ['application/x-visio', ['vsd', 'vst', 'vsw']],
683
+ ['application/x-vnd.audioexplosion.mzz', 'mzz'],
684
+ ['application/x-vnd.ls-xpix', 'xpix'],
685
+ ['application/x-vrml', 'vrml'],
686
+ ['application/x-wais-source', ['src', 'wsrc']],
687
+ ['application/x-winhelp', 'hlp'],
688
+ ['application/x-wintalk', 'wtk'],
689
+ ['application/x-world', ['wrl', 'svr']],
690
+ ['application/x-wpwin', 'wpd'],
691
+ ['application/x-wri', 'wri'],
692
+ ['application/x-x509-ca-cert', ['cer', 'crt', 'der']],
693
+ ['application/x-x509-user-cert', 'crt'],
694
+ ['application/x-xfig', 'fig'],
695
+ ['application/x-xpinstall', 'xpi'],
696
+ ['application/x-zip-compressed', 'zip'],
697
+ ['application/xcap-diff+xml', 'xdf'],
698
+ ['application/xenc+xml', 'xenc'],
699
+ ['application/xhtml+xml', 'xhtml'],
700
+ ['application/xml', 'xml'],
701
+ ['application/xml-dtd', 'dtd'],
702
+ ['application/xop+xml', 'xop'],
703
+ ['application/xslt+xml', 'xslt'],
704
+ ['application/xspf+xml', 'xspf'],
705
+ ['application/xv+xml', 'mxml'],
706
+ ['application/yang', 'yang'],
707
+ ['application/yin+xml', 'yin'],
708
+ ['application/ynd.ms-pkipko', 'pko'],
709
+ ['application/zip', 'zip'],
710
+ ['audio/adpcm', 'adp'],
711
+ ['audio/aiff', ['aiff', 'aif', 'aifc']],
712
+ ['audio/basic', ['snd', 'au']],
713
+ ['audio/it', 'it'],
714
+ ['audio/make', ['funk', 'my', 'pfunk']],
715
+ ['audio/make.my.funk', 'pfunk'],
716
+ ['audio/mid', ['mid', 'rmi']],
717
+ ['audio/midi', ['midi', 'kar', 'mid']],
718
+ ['audio/mod', 'mod'],
719
+ ['audio/mp4', 'mp4a'],
720
+ ['audio/mpeg', ['mpga', 'mp3', 'm2a', 'mp2', 'mpa', 'mpg']],
721
+ ['audio/mpeg3', 'mp3'],
722
+ ['audio/nspaudio', ['la', 'lma']],
723
+ ['audio/ogg', 'oga'],
724
+ ['audio/s3m', 's3m'],
725
+ ['audio/tsp-audio', 'tsi'],
726
+ ['audio/tsplayer', 'tsp'],
727
+ ['audio/vnd.dece.audio', 'uva'],
728
+ ['audio/vnd.digital-winds', 'eol'],
729
+ ['audio/vnd.dra', 'dra'],
730
+ ['audio/vnd.dts', 'dts'],
731
+ ['audio/vnd.dts.hd', 'dtshd'],
732
+ ['audio/vnd.lucent.voice', 'lvp'],
733
+ ['audio/vnd.ms-playready.media.pya', 'pya'],
734
+ ['audio/vnd.nuera.ecelp4800', 'ecelp4800'],
735
+ ['audio/vnd.nuera.ecelp7470', 'ecelp7470'],
736
+ ['audio/vnd.nuera.ecelp9600', 'ecelp9600'],
737
+ ['audio/vnd.qcelp', 'qcp'],
738
+ ['audio/vnd.rip', 'rip'],
739
+ ['audio/voc', 'voc'],
740
+ ['audio/voxware', 'vox'],
741
+ ['audio/wav', 'wav'],
742
+ ['audio/webm', 'weba'],
743
+ ['audio/x-aac', 'aac'],
744
+ ['audio/x-adpcm', 'snd'],
745
+ ['audio/x-aiff', ['aiff', 'aif', 'aifc']],
746
+ ['audio/x-au', 'au'],
747
+ ['audio/x-gsm', ['gsd', 'gsm']],
748
+ ['audio/x-jam', 'jam'],
749
+ ['audio/x-liveaudio', 'lam'],
750
+ ['audio/x-mid', ['mid', 'midi']],
751
+ ['audio/x-midi', ['midi', 'mid']],
752
+ ['audio/x-mod', 'mod'],
753
+ ['audio/x-mpeg', 'mp2'],
754
+ ['audio/x-mpeg-3', 'mp3'],
755
+ ['audio/x-mpegurl', 'm3u'],
756
+ ['audio/x-mpequrl', 'm3u'],
757
+ ['audio/x-ms-wax', 'wax'],
758
+ ['audio/x-ms-wma', 'wma'],
759
+ ['audio/x-nspaudio', ['la', 'lma']],
760
+ ['audio/x-pn-realaudio', ['ra', 'ram', 'rm', 'rmm', 'rmp']],
761
+ ['audio/x-pn-realaudio-plugin', ['ra', 'rmp', 'rpm']],
762
+ ['audio/x-psid', 'sid'],
763
+ ['audio/x-realaudio', 'ra'],
764
+ ['audio/x-twinvq', 'vqf'],
765
+ ['audio/x-twinvq-plugin', ['vqe', 'vql']],
766
+ ['audio/x-vnd.audioexplosion.mjuicemediafile', 'mjf'],
767
+ ['audio/x-voc', 'voc'],
768
+ ['audio/x-wav', 'wav'],
769
+ ['audio/xm', 'xm'],
770
+ ['chemical/x-cdx', 'cdx'],
771
+ ['chemical/x-cif', 'cif'],
772
+ ['chemical/x-cmdf', 'cmdf'],
773
+ ['chemical/x-cml', 'cml'],
774
+ ['chemical/x-csml', 'csml'],
775
+ ['chemical/x-pdb', ['pdb', 'xyz']],
776
+ ['chemical/x-xyz', 'xyz'],
777
+ ['drawing/x-dwf', 'dwf'],
778
+ ['i-world/i-vrml', 'ivr'],
779
+ ['image/bmp', ['bmp', 'bm']],
780
+ ['image/cgm', 'cgm'],
781
+ ['image/cis-cod', 'cod'],
782
+ ['image/cmu-raster', ['ras', 'rast']],
783
+ ['image/fif', 'fif'],
784
+ ['image/florian', ['flo', 'turbot']],
785
+ ['image/g3fax', 'g3'],
786
+ ['image/gif', 'gif'],
787
+ ['image/ief', ['ief', 'iefs']],
788
+ ['image/jpeg', ['jpeg', 'jpe', 'jpg', 'jfif', 'jfif-tbnl']],
789
+ ['image/jutvision', 'jut'],
790
+ ['image/ktx', 'ktx'],
791
+ ['image/naplps', ['nap', 'naplps']],
792
+ ['image/pict', ['pic', 'pict']],
793
+ ['image/pipeg', 'jfif'],
794
+ ['image/pjpeg', ['jfif', 'jpe', 'jpeg', 'jpg']],
795
+ ['image/png', ['png', 'x-png']],
796
+ ['image/prs.btif', 'btif'],
797
+ ['image/svg+xml', 'svg'],
798
+ ['image/tiff', ['tif', 'tiff']],
799
+ ['image/vasa', 'mcf'],
800
+ ['image/vnd.adobe.photoshop', 'psd'],
801
+ ['image/vnd.dece.graphic', 'uvi'],
802
+ ['image/vnd.djvu', 'djvu'],
803
+ ['image/vnd.dvb.subtitle', 'sub'],
804
+ ['image/vnd.dwg', ['dwg', 'dxf', 'svf']],
805
+ ['image/vnd.dxf', 'dxf'],
806
+ ['image/vnd.fastbidsheet', 'fbs'],
807
+ ['image/vnd.fpx', 'fpx'],
808
+ ['image/vnd.fst', 'fst'],
809
+ ['image/vnd.fujixerox.edmics-mmr', 'mmr'],
810
+ ['image/vnd.fujixerox.edmics-rlc', 'rlc'],
811
+ ['image/vnd.ms-modi', 'mdi'],
812
+ ['image/vnd.net-fpx', ['fpx', 'npx']],
813
+ ['image/vnd.rn-realflash', 'rf'],
814
+ ['image/vnd.rn-realpix', 'rp'],
815
+ ['image/vnd.wap.wbmp', 'wbmp'],
816
+ ['image/vnd.xiff', 'xif'],
817
+ ['image/webp', 'webp'],
818
+ ['image/x-cmu-raster', 'ras'],
819
+ ['image/x-cmx', 'cmx'],
820
+ ['image/x-dwg', ['dwg', 'dxf', 'svf']],
821
+ ['image/x-freehand', 'fh'],
822
+ ['image/x-icon', 'ico'],
823
+ ['image/x-jg', 'art'],
824
+ ['image/x-jps', 'jps'],
825
+ ['image/x-niff', ['niff', 'nif']],
826
+ ['image/x-pcx', 'pcx'],
827
+ ['image/x-pict', ['pct', 'pic']],
828
+ ['image/x-portable-anymap', 'pnm'],
829
+ ['image/x-portable-bitmap', 'pbm'],
830
+ ['image/x-portable-graymap', 'pgm'],
831
+ ['image/x-portable-greymap', 'pgm'],
832
+ ['image/x-portable-pixmap', 'ppm'],
833
+ ['image/x-quicktime', ['qif', 'qti', 'qtif']],
834
+ ['image/x-rgb', 'rgb'],
835
+ ['image/x-tiff', ['tif', 'tiff']],
836
+ ['image/x-windows-bmp', 'bmp'],
837
+ ['image/x-xbitmap', 'xbm'],
838
+ ['image/x-xbm', 'xbm'],
839
+ ['image/x-xpixmap', ['xpm', 'pm']],
840
+ ['image/x-xwd', 'xwd'],
841
+ ['image/x-xwindowdump', 'xwd'],
842
+ ['image/xbm', 'xbm'],
843
+ ['image/xpm', 'xpm'],
844
+ ['message/rfc822', ['eml', 'mht', 'mhtml', 'nws', 'mime']],
845
+ ['model/iges', ['iges', 'igs']],
846
+ ['model/mesh', 'msh'],
847
+ ['model/vnd.collada+xml', 'dae'],
848
+ ['model/vnd.dwf', 'dwf'],
849
+ ['model/vnd.gdl', 'gdl'],
850
+ ['model/vnd.gtw', 'gtw'],
851
+ ['model/vnd.mts', 'mts'],
852
+ ['model/vnd.vtu', 'vtu'],
853
+ ['model/vrml', ['vrml', 'wrl', 'wrz']],
854
+ ['model/x-pov', 'pov'],
855
+ ['multipart/x-gzip', 'gzip'],
856
+ ['multipart/x-ustar', 'ustar'],
857
+ ['multipart/x-zip', 'zip'],
858
+ ['music/crescendo', ['mid', 'midi']],
859
+ ['music/x-karaoke', 'kar'],
860
+ ['paleovu/x-pv', 'pvu'],
861
+ ['text/asp', 'asp'],
862
+ ['text/calendar', 'ics'],
863
+ ['text/css', 'css'],
864
+ ['text/csv', 'csv'],
865
+ ['text/ecmascript', 'js'],
866
+ ['text/h323', '323'],
867
+ ['text/html', ['html', 'htm', 'stm', 'acgi', 'htmls', 'htx', 'shtml']],
868
+ ['text/iuls', 'uls'],
869
+ ['text/javascript', 'js'],
870
+ ['text/mcf', 'mcf'],
871
+ ['text/n3', 'n3'],
872
+ ['text/pascal', 'pas'],
873
+ [
874
+ 'text/plain',
875
+ [
876
+ 'txt',
877
+ 'bas',
878
+ 'c',
879
+ 'h',
880
+ 'c++',
881
+ 'cc',
882
+ 'com',
883
+ 'conf',
884
+ 'cxx',
885
+ 'def',
886
+ 'f',
887
+ 'f90',
888
+ 'for',
889
+ 'g',
890
+ 'hh',
891
+ 'idc',
892
+ 'jav',
893
+ 'java',
894
+ 'list',
895
+ 'log',
896
+ 'lst',
897
+ 'm',
898
+ 'mar',
899
+ 'pl',
900
+ 'sdml',
901
+ 'text'
902
+ ]
903
+ ],
904
+ ['text/plain-bas', 'par'],
905
+ ['text/prs.lines.tag', 'dsc'],
906
+ ['text/richtext', ['rtx', 'rt', 'rtf']],
907
+ ['text/scriplet', 'wsc'],
908
+ ['text/scriptlet', 'sct'],
909
+ ['text/sgml', ['sgm', 'sgml']],
910
+ ['text/tab-separated-values', 'tsv'],
911
+ ['text/troff', 't'],
912
+ ['text/turtle', 'ttl'],
913
+ ['text/uri-list', ['uni', 'unis', 'uri', 'uris']],
914
+ ['text/vnd.abc', 'abc'],
915
+ ['text/vnd.curl', 'curl'],
916
+ ['text/vnd.curl.dcurl', 'dcurl'],
917
+ ['text/vnd.curl.mcurl', 'mcurl'],
918
+ ['text/vnd.curl.scurl', 'scurl'],
919
+ ['text/vnd.fly', 'fly'],
920
+ ['text/vnd.fmi.flexstor', 'flx'],
921
+ ['text/vnd.graphviz', 'gv'],
922
+ ['text/vnd.in3d.3dml', '3dml'],
923
+ ['text/vnd.in3d.spot', 'spot'],
924
+ ['text/vnd.rn-realtext', 'rt'],
925
+ ['text/vnd.sun.j2me.app-descriptor', 'jad'],
926
+ ['text/vnd.wap.wml', 'wml'],
927
+ ['text/vnd.wap.wmlscript', 'wmls'],
928
+ ['text/webviewhtml', 'htt'],
929
+ ['text/x-asm', ['asm', 's']],
930
+ ['text/x-audiosoft-intra', 'aip'],
931
+ ['text/x-c', ['c', 'cc', 'cpp']],
932
+ ['text/x-component', 'htc'],
933
+ ['text/x-fortran', ['for', 'f', 'f77', 'f90']],
934
+ ['text/x-h', ['h', 'hh']],
935
+ ['text/x-java-source', ['java', 'jav']],
936
+ ['text/x-java-source,java', 'java'],
937
+ ['text/x-la-asf', 'lsx'],
938
+ ['text/x-m', 'm'],
939
+ ['text/x-pascal', 'p'],
940
+ ['text/x-script', 'hlb'],
941
+ ['text/x-script.csh', 'csh'],
942
+ ['text/x-script.elisp', 'el'],
943
+ ['text/x-script.guile', 'scm'],
944
+ ['text/x-script.ksh', 'ksh'],
945
+ ['text/x-script.lisp', 'lsp'],
946
+ ['text/x-script.perl', 'pl'],
947
+ ['text/x-script.perl-module', 'pm'],
948
+ ['text/x-script.phyton', 'py'],
949
+ ['text/x-script.rexx', 'rexx'],
950
+ ['text/x-script.scheme', 'scm'],
951
+ ['text/x-script.sh', 'sh'],
952
+ ['text/x-script.tcl', 'tcl'],
953
+ ['text/x-script.tcsh', 'tcsh'],
954
+ ['text/x-script.zsh', 'zsh'],
955
+ ['text/x-server-parsed-html', ['shtml', 'ssi']],
956
+ ['text/x-setext', 'etx'],
957
+ ['text/x-sgml', ['sgm', 'sgml']],
958
+ ['text/x-speech', ['spc', 'talk']],
959
+ ['text/x-uil', 'uil'],
960
+ ['text/x-uuencode', ['uu', 'uue']],
961
+ ['text/x-vcalendar', 'vcs'],
962
+ ['text/x-vcard', 'vcf'],
963
+ ['text/xml', 'xml'],
964
+ ['video/3gpp', '3gp'],
965
+ ['video/3gpp2', '3g2'],
966
+ ['video/animaflex', 'afl'],
967
+ ['video/avi', 'avi'],
968
+ ['video/avs-video', 'avs'],
969
+ ['video/dl', 'dl'],
970
+ ['video/fli', 'fli'],
971
+ ['video/gl', 'gl'],
972
+ ['video/h261', 'h261'],
973
+ ['video/h263', 'h263'],
974
+ ['video/h264', 'h264'],
975
+ ['video/jpeg', 'jpgv'],
976
+ ['video/jpm', 'jpm'],
977
+ ['video/mj2', 'mj2'],
978
+ ['video/mp4', 'mp4'],
979
+ ['video/mpeg', ['mpeg', 'mp2', 'mpa', 'mpe', 'mpg', 'mpv2', 'm1v', 'm2v', 'mp3']],
980
+ ['video/msvideo', 'avi'],
981
+ ['video/ogg', 'ogv'],
982
+ ['video/quicktime', ['mov', 'qt', 'moov']],
983
+ ['video/vdo', 'vdo'],
984
+ ['video/vivo', ['viv', 'vivo']],
985
+ ['video/vnd.dece.hd', 'uvh'],
986
+ ['video/vnd.dece.mobile', 'uvm'],
987
+ ['video/vnd.dece.pd', 'uvp'],
988
+ ['video/vnd.dece.sd', 'uvs'],
989
+ ['video/vnd.dece.video', 'uvv'],
990
+ ['video/vnd.fvt', 'fvt'],
991
+ ['video/vnd.mpegurl', 'mxu'],
992
+ ['video/vnd.ms-playready.media.pyv', 'pyv'],
993
+ ['video/vnd.rn-realvideo', 'rv'],
994
+ ['video/vnd.uvvu.mp4', 'uvu'],
995
+ ['video/vnd.vivo', ['viv', 'vivo']],
996
+ ['video/vosaic', 'vos'],
997
+ ['video/webm', 'webm'],
998
+ ['video/x-amt-demorun', 'xdr'],
999
+ ['video/x-amt-showrun', 'xsr'],
1000
+ ['video/x-atomic3d-feature', 'fmf'],
1001
+ ['video/x-dl', 'dl'],
1002
+ ['video/x-dv', ['dif', 'dv']],
1003
+ ['video/x-f4v', 'f4v'],
1004
+ ['video/x-fli', 'fli'],
1005
+ ['video/x-flv', 'flv'],
1006
+ ['video/x-gl', 'gl'],
1007
+ ['video/x-isvideo', 'isu'],
1008
+ ['video/x-la-asf', ['lsf', 'lsx']],
1009
+ ['video/x-m4v', 'm4v'],
1010
+ ['video/x-motion-jpeg', 'mjpg'],
1011
+ ['video/x-mpeg', ['mp3', 'mp2']],
1012
+ ['video/x-mpeq2a', 'mp2'],
1013
+ ['video/x-ms-asf', ['asf', 'asr', 'asx']],
1014
+ ['video/x-ms-asf-plugin', 'asx'],
1015
+ ['video/x-ms-wm', 'wm'],
1016
+ ['video/x-ms-wmv', 'wmv'],
1017
+ ['video/x-ms-wmx', 'wmx'],
1018
+ ['video/x-ms-wvx', 'wvx'],
1019
+ ['video/x-msvideo', 'avi'],
1020
+ ['video/x-qtc', 'qtc'],
1021
+ ['video/x-scm', 'scm'],
1022
+ ['video/x-sgi-movie', ['movie', 'mv']],
1023
+ ['windows/metafile', 'wmf'],
1024
+ ['www/mime', 'mime'],
1025
+ ['x-conference/x-cooltalk', 'ice'],
1026
+ ['x-music/x-midi', ['mid', 'midi']],
1027
+ ['x-world/x-3dmf', ['3dm', '3dmf', 'qd3', 'qd3d']],
1028
+ ['x-world/x-svr', 'svr'],
1029
+ ['x-world/x-vrml', ['flr', 'vrml', 'wrl', 'wrz', 'xaf', 'xof']],
1030
+ ['x-world/x-vrt', 'vrt'],
1031
+ ['xgl/drawing', 'xgz'],
1032
+ ['xgl/movie', 'xmz']
1033
+ ]);
1034
+ const extensions = new Map([
1035
+ ['123', 'application/vnd.lotus-1-2-3'],
1036
+ ['323', 'text/h323'],
1037
+ ['*', 'application/octet-stream'],
1038
+ ['3dm', 'x-world/x-3dmf'],
1039
+ ['3dmf', 'x-world/x-3dmf'],
1040
+ ['3dml', 'text/vnd.in3d.3dml'],
1041
+ ['3g2', 'video/3gpp2'],
1042
+ ['3gp', 'video/3gpp'],
1043
+ ['7z', 'application/x-7z-compressed'],
1044
+ ['a', 'application/octet-stream'],
1045
+ ['aab', 'application/x-authorware-bin'],
1046
+ ['aac', 'audio/x-aac'],
1047
+ ['aam', 'application/x-authorware-map'],
1048
+ ['aas', 'application/x-authorware-seg'],
1049
+ ['abc', 'text/vnd.abc'],
1050
+ ['abw', 'application/x-abiword'],
1051
+ ['ac', 'application/pkix-attr-cert'],
1052
+ ['acc', 'application/vnd.americandynamics.acc'],
1053
+ ['ace', 'application/x-ace-compressed'],
1054
+ ['acgi', 'text/html'],
1055
+ ['acu', 'application/vnd.acucobol'],
1056
+ ['acx', 'application/internet-property-stream'],
1057
+ ['adp', 'audio/adpcm'],
1058
+ ['aep', 'application/vnd.audiograph'],
1059
+ ['afl', 'video/animaflex'],
1060
+ ['afp', 'application/vnd.ibm.modcap'],
1061
+ ['ahead', 'application/vnd.ahead.space'],
1062
+ ['ai', 'application/postscript'],
1063
+ ['aif', ['audio/aiff', 'audio/x-aiff']],
1064
+ ['aifc', ['audio/aiff', 'audio/x-aiff']],
1065
+ ['aiff', ['audio/aiff', 'audio/x-aiff']],
1066
+ ['aim', 'application/x-aim'],
1067
+ ['aip', 'text/x-audiosoft-intra'],
1068
+ ['air', 'application/vnd.adobe.air-application-installer-package+zip'],
1069
+ ['ait', 'application/vnd.dvb.ait'],
1070
+ ['ami', 'application/vnd.amiga.ami'],
1071
+ ['ani', 'application/x-navi-animation'],
1072
+ ['aos', 'application/x-nokia-9000-communicator-add-on-software'],
1073
+ ['apk', 'application/vnd.android.package-archive'],
1074
+ ['application', 'application/x-ms-application'],
1075
+ ['apr', 'application/vnd.lotus-approach'],
1076
+ ['aps', 'application/mime'],
1077
+ ['arc', 'application/octet-stream'],
1078
+ ['arj', ['application/arj', 'application/octet-stream']],
1079
+ ['art', 'image/x-jg'],
1080
+ ['asf', 'video/x-ms-asf'],
1081
+ ['asm', 'text/x-asm'],
1082
+ ['aso', 'application/vnd.accpac.simply.aso'],
1083
+ ['asp', 'text/asp'],
1084
+ ['asr', 'video/x-ms-asf'],
1085
+ ['asx', ['video/x-ms-asf', 'application/x-mplayer2', 'video/x-ms-asf-plugin']],
1086
+ ['atc', 'application/vnd.acucorp'],
1087
+ ['atomcat', 'application/atomcat+xml'],
1088
+ ['atomsvc', 'application/atomsvc+xml'],
1089
+ ['atx', 'application/vnd.antix.game-component'],
1090
+ ['au', ['audio/basic', 'audio/x-au']],
1091
+ ['avi', ['video/avi', 'video/msvideo', 'application/x-troff-msvideo', 'video/x-msvideo']],
1092
+ ['avs', 'video/avs-video'],
1093
+ ['aw', 'application/applixware'],
1094
+ ['axs', 'application/olescript'],
1095
+ ['azf', 'application/vnd.airzip.filesecure.azf'],
1096
+ ['azs', 'application/vnd.airzip.filesecure.azs'],
1097
+ ['azw', 'application/vnd.amazon.ebook'],
1098
+ ['bas', 'text/plain'],
1099
+ ['bcpio', 'application/x-bcpio'],
1100
+ ['bdf', 'application/x-font-bdf'],
1101
+ ['bdm', 'application/vnd.syncml.dm+wbxml'],
1102
+ ['bed', 'application/vnd.realvnc.bed'],
1103
+ ['bh2', 'application/vnd.fujitsu.oasysprs'],
1104
+ ['bin', ['application/octet-stream', 'application/mac-binary', 'application/macbinary', 'application/x-macbinary', 'application/x-binary']],
1105
+ ['bm', 'image/bmp'],
1106
+ ['bmi', 'application/vnd.bmi'],
1107
+ ['bmp', ['image/bmp', 'image/x-windows-bmp']],
1108
+ ['boo', 'application/book'],
1109
+ ['book', 'application/book'],
1110
+ ['box', 'application/vnd.previewsystems.box'],
1111
+ ['boz', 'application/x-bzip2'],
1112
+ ['bsh', 'application/x-bsh'],
1113
+ ['btif', 'image/prs.btif'],
1114
+ ['bz', 'application/x-bzip'],
1115
+ ['bz2', 'application/x-bzip2'],
1116
+ ['c', ['text/plain', 'text/x-c']],
1117
+ ['c++', 'text/plain'],
1118
+ ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],
1119
+ ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],
1120
+ ['c4g', 'application/vnd.clonk.c4group'],
1121
+ ['cab', 'application/vnd.ms-cab-compressed'],
1122
+ ['car', 'application/vnd.curl.car'],
1123
+ ['cat', ['application/vnd.ms-pkiseccat', 'application/vnd.ms-pki.seccat']],
1124
+ ['cc', ['text/plain', 'text/x-c']],
1125
+ ['ccad', 'application/clariscad'],
1126
+ ['cco', 'application/x-cocoa'],
1127
+ ['ccxml', 'application/ccxml+xml,'],
1128
+ ['cdbcmsg', 'application/vnd.contact.cmsg'],
1129
+ ['cdf', ['application/cdf', 'application/x-cdf', 'application/x-netcdf']],
1130
+ ['cdkey', 'application/vnd.mediastation.cdkey'],
1131
+ ['cdmia', 'application/cdmi-capability'],
1132
+ ['cdmic', 'application/cdmi-container'],
1133
+ ['cdmid', 'application/cdmi-domain'],
1134
+ ['cdmio', 'application/cdmi-object'],
1135
+ ['cdmiq', 'application/cdmi-queue'],
1136
+ ['cdx', 'chemical/x-cdx'],
1137
+ ['cdxml', 'application/vnd.chemdraw+xml'],
1138
+ ['cdy', 'application/vnd.cinderella'],
1139
+ ['cer', ['application/pkix-cert', 'application/x-x509-ca-cert']],
1140
+ ['cgm', 'image/cgm'],
1141
+ ['cha', 'application/x-chat'],
1142
+ ['chat', 'application/x-chat'],
1143
+ ['chm', 'application/vnd.ms-htmlhelp'],
1144
+ ['chrt', 'application/vnd.kde.kchart'],
1145
+ ['cif', 'chemical/x-cif'],
1146
+ ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],
1147
+ ['cil', 'application/vnd.ms-artgalry'],
1148
+ ['cla', 'application/vnd.claymore'],
1149
+ ['class', ['application/octet-stream', 'application/java', 'application/java-byte-code', 'application/java-vm', 'application/x-java-class']],
1150
+ ['clkk', 'application/vnd.crick.clicker.keyboard'],
1151
+ ['clkp', 'application/vnd.crick.clicker.palette'],
1152
+ ['clkt', 'application/vnd.crick.clicker.template'],
1153
+ ['clkw', 'application/vnd.crick.clicker.wordbank'],
1154
+ ['clkx', 'application/vnd.crick.clicker'],
1155
+ ['clp', 'application/x-msclip'],
1156
+ ['cmc', 'application/vnd.cosmocaller'],
1157
+ ['cmdf', 'chemical/x-cmdf'],
1158
+ ['cml', 'chemical/x-cml'],
1159
+ ['cmp', 'application/vnd.yellowriver-custom-menu'],
1160
+ ['cmx', 'image/x-cmx'],
1161
+ ['cod', ['image/cis-cod', 'application/vnd.rim.cod']],
1162
+ ['com', ['application/octet-stream', 'text/plain']],
1163
+ ['conf', 'text/plain'],
1164
+ ['cpio', 'application/x-cpio'],
1165
+ ['cpp', 'text/x-c'],
1166
+ ['cpt', ['application/mac-compactpro', 'application/x-compactpro', 'application/x-cpt']],
1167
+ ['crd', 'application/x-mscardfile'],
1168
+ ['crl', ['application/pkix-crl', 'application/pkcs-crl']],
1169
+ ['crt', ['application/pkix-cert', 'application/x-x509-user-cert', 'application/x-x509-ca-cert']],
1170
+ ['cryptonote', 'application/vnd.rig.cryptonote'],
1171
+ ['csh', ['text/x-script.csh', 'application/x-csh']],
1172
+ ['csml', 'chemical/x-csml'],
1173
+ ['csp', 'application/vnd.commonspace'],
1174
+ ['css', ['text/css', 'application/x-pointplus']],
1175
+ ['csv', 'text/csv'],
1176
+ ['cu', 'application/cu-seeme'],
1177
+ ['curl', 'text/vnd.curl'],
1178
+ ['cww', 'application/prs.cww'],
1179
+ ['cxx', 'text/plain'],
1180
+ ['dae', 'model/vnd.collada+xml'],
1181
+ ['daf', 'application/vnd.mobius.daf'],
1182
+ ['davmount', 'application/davmount+xml'],
1183
+ ['dcr', 'application/x-director'],
1184
+ ['dcurl', 'text/vnd.curl.dcurl'],
1185
+ ['dd2', 'application/vnd.oma.dd2+xml'],
1186
+ ['ddd', 'application/vnd.fujixerox.ddd'],
1187
+ ['deb', 'application/x-debian-package'],
1188
+ ['deepv', 'application/x-deepv'],
1189
+ ['def', 'text/plain'],
1190
+ ['der', 'application/x-x509-ca-cert'],
1191
+ ['dfac', 'application/vnd.dreamfactory'],
1192
+ ['dif', 'video/x-dv'],
1193
+ ['dir', 'application/x-director'],
1194
+ ['dis', 'application/vnd.mobius.dis'],
1195
+ ['djvu', 'image/vnd.djvu'],
1196
+ ['dl', ['video/dl', 'video/x-dl']],
1197
+ ['dll', 'application/x-msdownload'],
1198
+ ['dms', 'application/octet-stream'],
1199
+ ['dna', 'application/vnd.dna'],
1200
+ ['doc', 'application/msword'],
1201
+ ['docm', 'application/vnd.ms-word.document.macroenabled.12'],
1202
+ ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
1203
+ ['dot', 'application/msword'],
1204
+ ['dotm', 'application/vnd.ms-word.template.macroenabled.12'],
1205
+ ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],
1206
+ ['dp', ['application/commonground', 'application/vnd.osgi.dp']],
1207
+ ['dpg', 'application/vnd.dpgraph'],
1208
+ ['dra', 'audio/vnd.dra'],
1209
+ ['drw', 'application/drafting'],
1210
+ ['dsc', 'text/prs.lines.tag'],
1211
+ ['dssc', 'application/dssc+der'],
1212
+ ['dtb', 'application/x-dtbook+xml'],
1213
+ ['dtd', 'application/xml-dtd'],
1214
+ ['dts', 'audio/vnd.dts'],
1215
+ ['dtshd', 'audio/vnd.dts.hd'],
1216
+ ['dump', 'application/octet-stream'],
1217
+ ['dv', 'video/x-dv'],
1218
+ ['dvi', 'application/x-dvi'],
1219
+ ['dwf', ['model/vnd.dwf', 'drawing/x-dwf']],
1220
+ ['dwg', ['application/acad', 'image/vnd.dwg', 'image/x-dwg']],
1221
+ ['dxf', ['application/dxf', 'image/vnd.dwg', 'image/vnd.dxf', 'image/x-dwg']],
1222
+ ['dxp', 'application/vnd.spotfire.dxp'],
1223
+ ['dxr', 'application/x-director'],
1224
+ ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],
1225
+ ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],
1226
+ ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],
1227
+ ['edm', 'application/vnd.novadigm.edm'],
1228
+ ['edx', 'application/vnd.novadigm.edx'],
1229
+ ['efif', 'application/vnd.picsel'],
1230
+ ['ei6', 'application/vnd.pg.osasli'],
1231
+ ['el', 'text/x-script.elisp'],
1232
+ ['elc', ['application/x-elc', 'application/x-bytecode.elisp']],
1233
+ ['eml', 'message/rfc822'],
1234
+ ['emma', 'application/emma+xml'],
1235
+ ['env', 'application/x-envoy'],
1236
+ ['eol', 'audio/vnd.digital-winds'],
1237
+ ['eot', 'application/vnd.ms-fontobject'],
1238
+ ['eps', 'application/postscript'],
1239
+ ['epub', 'application/epub+zip'],
1240
+ ['es', ['application/ecmascript', 'application/x-esrehber']],
1241
+ ['es3', 'application/vnd.eszigno3+xml'],
1242
+ ['esf', 'application/vnd.epson.esf'],
1243
+ ['etx', 'text/x-setext'],
1244
+ ['evy', ['application/envoy', 'application/x-envoy']],
1245
+ ['exe', ['application/octet-stream', 'application/x-msdownload']],
1246
+ ['exi', 'application/exi'],
1247
+ ['ext', 'application/vnd.novadigm.ext'],
1248
+ ['ez2', 'application/vnd.ezpix-album'],
1249
+ ['ez3', 'application/vnd.ezpix-package'],
1250
+ ['f', ['text/plain', 'text/x-fortran']],
1251
+ ['f4v', 'video/x-f4v'],
1252
+ ['f77', 'text/x-fortran'],
1253
+ ['f90', ['text/plain', 'text/x-fortran']],
1254
+ ['fbs', 'image/vnd.fastbidsheet'],
1255
+ ['fcs', 'application/vnd.isac.fcs'],
1256
+ ['fdf', 'application/vnd.fdf'],
1257
+ ['fe_launch', 'application/vnd.denovo.fcselayout-link'],
1258
+ ['fg5', 'application/vnd.fujitsu.oasysgp'],
1259
+ ['fh', 'image/x-freehand'],
1260
+ ['fif', ['application/fractals', 'image/fif']],
1261
+ ['fig', 'application/x-xfig'],
1262
+ ['fli', ['video/fli', 'video/x-fli']],
1263
+ ['flo', ['image/florian', 'application/vnd.micrografx.flo']],
1264
+ ['flr', 'x-world/x-vrml'],
1265
+ ['flv', 'video/x-flv'],
1266
+ ['flw', 'application/vnd.kde.kivio'],
1267
+ ['flx', 'text/vnd.fmi.flexstor'],
1268
+ ['fly', 'text/vnd.fly'],
1269
+ ['fm', 'application/vnd.framemaker'],
1270
+ ['fmf', 'video/x-atomic3d-feature'],
1271
+ ['fnc', 'application/vnd.frogans.fnc'],
1272
+ ['for', ['text/plain', 'text/x-fortran']],
1273
+ ['fpx', ['image/vnd.fpx', 'image/vnd.net-fpx']],
1274
+ ['frl', 'application/freeloader'],
1275
+ ['fsc', 'application/vnd.fsc.weblaunch'],
1276
+ ['fst', 'image/vnd.fst'],
1277
+ ['ftc', 'application/vnd.fluxtime.clip'],
1278
+ ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],
1279
+ ['funk', 'audio/make'],
1280
+ ['fvt', 'video/vnd.fvt'],
1281
+ ['fxp', 'application/vnd.adobe.fxp'],
1282
+ ['fzs', 'application/vnd.fuzzysheet'],
1283
+ ['g', 'text/plain'],
1284
+ ['g2w', 'application/vnd.geoplan'],
1285
+ ['g3', 'image/g3fax'],
1286
+ ['g3w', 'application/vnd.geospace'],
1287
+ ['gac', 'application/vnd.groove-account'],
1288
+ ['gdl', 'model/vnd.gdl'],
1289
+ ['geo', 'application/vnd.dynageo'],
1290
+ ['gex', 'application/vnd.geometry-explorer'],
1291
+ ['ggb', 'application/vnd.geogebra.file'],
1292
+ ['ggt', 'application/vnd.geogebra.tool'],
1293
+ ['ghf', 'application/vnd.groove-help'],
1294
+ ['gif', 'image/gif'],
1295
+ ['gim', 'application/vnd.groove-identity-message'],
1296
+ ['gl', ['video/gl', 'video/x-gl']],
1297
+ ['gmx', 'application/vnd.gmx'],
1298
+ ['gnumeric', 'application/x-gnumeric'],
1299
+ ['gph', 'application/vnd.flographit'],
1300
+ ['gqf', 'application/vnd.grafeq'],
1301
+ ['gram', 'application/srgs'],
1302
+ ['grv', 'application/vnd.groove-injector'],
1303
+ ['grxml', 'application/srgs+xml'],
1304
+ ['gsd', 'audio/x-gsm'],
1305
+ ['gsf', 'application/x-font-ghostscript'],
1306
+ ['gsm', 'audio/x-gsm'],
1307
+ ['gsp', 'application/x-gsp'],
1308
+ ['gss', 'application/x-gss'],
1309
+ ['gtar', 'application/x-gtar'],
1310
+ ['gtm', 'application/vnd.groove-tool-message'],
1311
+ ['gtw', 'model/vnd.gtw'],
1312
+ ['gv', 'text/vnd.graphviz'],
1313
+ ['gxt', 'application/vnd.geonext'],
1314
+ ['gz', ['application/x-gzip', 'application/x-compressed']],
1315
+ ['gzip', ['multipart/x-gzip', 'application/x-gzip']],
1316
+ ['h', ['text/plain', 'text/x-h']],
1317
+ ['h261', 'video/h261'],
1318
+ ['h263', 'video/h263'],
1319
+ ['h264', 'video/h264'],
1320
+ ['hal', 'application/vnd.hal+xml'],
1321
+ ['hbci', 'application/vnd.hbci'],
1322
+ ['hdf', 'application/x-hdf'],
1323
+ ['help', 'application/x-helpfile'],
1324
+ ['hgl', 'application/vnd.hp-hpgl'],
1325
+ ['hh', ['text/plain', 'text/x-h']],
1326
+ ['hlb', 'text/x-script'],
1327
+ ['hlp', ['application/winhlp', 'application/hlp', 'application/x-helpfile', 'application/x-winhelp']],
1328
+ ['hpg', 'application/vnd.hp-hpgl'],
1329
+ ['hpgl', 'application/vnd.hp-hpgl'],
1330
+ ['hpid', 'application/vnd.hp-hpid'],
1331
+ ['hps', 'application/vnd.hp-hps'],
1332
+ [
1333
+ 'hqx',
1334
+ [
1335
+ 'application/mac-binhex40',
1336
+ 'application/binhex',
1337
+ 'application/binhex4',
1338
+ 'application/mac-binhex',
1339
+ 'application/x-binhex40',
1340
+ 'application/x-mac-binhex40'
1341
+ ]
1342
+ ],
1343
+ ['hta', 'application/hta'],
1344
+ ['htc', 'text/x-component'],
1345
+ ['htke', 'application/vnd.kenameaapp'],
1346
+ ['htm', 'text/html'],
1347
+ ['html', 'text/html'],
1348
+ ['htmls', 'text/html'],
1349
+ ['htt', 'text/webviewhtml'],
1350
+ ['htx', 'text/html'],
1351
+ ['hvd', 'application/vnd.yamaha.hv-dic'],
1352
+ ['hvp', 'application/vnd.yamaha.hv-voice'],
1353
+ ['hvs', 'application/vnd.yamaha.hv-script'],
1354
+ ['i2g', 'application/vnd.intergeo'],
1355
+ ['icc', 'application/vnd.iccprofile'],
1356
+ ['ice', 'x-conference/x-cooltalk'],
1357
+ ['ico', 'image/x-icon'],
1358
+ ['ics', 'text/calendar'],
1359
+ ['idc', 'text/plain'],
1360
+ ['ief', 'image/ief'],
1361
+ ['iefs', 'image/ief'],
1362
+ ['ifm', 'application/vnd.shana.informed.formdata'],
1363
+ ['iges', ['application/iges', 'model/iges']],
1364
+ ['igl', 'application/vnd.igloader'],
1365
+ ['igm', 'application/vnd.insors.igm'],
1366
+ ['igs', ['application/iges', 'model/iges']],
1367
+ ['igx', 'application/vnd.micrografx.igx'],
1368
+ ['iif', 'application/vnd.shana.informed.interchange'],
1369
+ ['iii', 'application/x-iphone'],
1370
+ ['ima', 'application/x-ima'],
1371
+ ['imap', 'application/x-httpd-imap'],
1372
+ ['imp', 'application/vnd.accpac.simply.imp'],
1373
+ ['ims', 'application/vnd.ms-ims'],
1374
+ ['inf', 'application/inf'],
1375
+ ['ins', ['application/x-internet-signup', 'application/x-internett-signup']],
1376
+ ['ip', 'application/x-ip2'],
1377
+ ['ipfix', 'application/ipfix'],
1378
+ ['ipk', 'application/vnd.shana.informed.package'],
1379
+ ['irm', 'application/vnd.ibm.rights-management'],
1380
+ ['irp', 'application/vnd.irepository.package+xml'],
1381
+ ['isp', 'application/x-internet-signup'],
1382
+ ['isu', 'video/x-isvideo'],
1383
+ ['it', 'audio/it'],
1384
+ ['itp', 'application/vnd.shana.informed.formtemplate'],
1385
+ ['iv', 'application/x-inventor'],
1386
+ ['ivp', 'application/vnd.immervision-ivp'],
1387
+ ['ivr', 'i-world/i-vrml'],
1388
+ ['ivu', 'application/vnd.immervision-ivu'],
1389
+ ['ivy', 'application/x-livescreen'],
1390
+ ['jad', 'text/vnd.sun.j2me.app-descriptor'],
1391
+ ['jam', ['application/vnd.jam', 'audio/x-jam']],
1392
+ ['jar', 'application/java-archive'],
1393
+ ['jav', ['text/plain', 'text/x-java-source']],
1394
+ ['java', ['text/plain', 'text/x-java-source,java', 'text/x-java-source']],
1395
+ ['jcm', 'application/x-java-commerce'],
1396
+ ['jfif', ['image/pipeg', 'image/jpeg', 'image/pjpeg']],
1397
+ ['jfif-tbnl', 'image/jpeg'],
1398
+ ['jisp', 'application/vnd.jisp'],
1399
+ ['jlt', 'application/vnd.hp-jlyt'],
1400
+ ['jnlp', 'application/x-java-jnlp-file'],
1401
+ ['joda', 'application/vnd.joost.joda-archive'],
1402
+ ['jpe', ['image/jpeg', 'image/pjpeg']],
1403
+ ['jpeg', ['image/jpeg', 'image/pjpeg']],
1404
+ ['jpg', ['image/jpeg', 'image/pjpeg']],
1405
+ ['jpgv', 'video/jpeg'],
1406
+ ['jpm', 'video/jpm'],
1407
+ ['jps', 'image/x-jps'],
1408
+ ['js', ['application/javascript', 'application/ecmascript', 'text/javascript', 'text/ecmascript', 'application/x-javascript']],
1409
+ ['json', 'application/json'],
1410
+ ['jut', 'image/jutvision'],
1411
+ ['kar', ['audio/midi', 'music/x-karaoke']],
1412
+ ['karbon', 'application/vnd.kde.karbon'],
1413
+ ['kfo', 'application/vnd.kde.kformula'],
1414
+ ['kia', 'application/vnd.kidspiration'],
1415
+ ['kml', 'application/vnd.google-earth.kml+xml'],
1416
+ ['kmz', 'application/vnd.google-earth.kmz'],
1417
+ ['kne', 'application/vnd.kinar'],
1418
+ ['kon', 'application/vnd.kde.kontour'],
1419
+ ['kpr', 'application/vnd.kde.kpresenter'],
1420
+ ['ksh', ['application/x-ksh', 'text/x-script.ksh']],
1421
+ ['ksp', 'application/vnd.kde.kspread'],
1422
+ ['ktx', 'image/ktx'],
1423
+ ['ktz', 'application/vnd.kahootz'],
1424
+ ['kwd', 'application/vnd.kde.kword'],
1425
+ ['la', ['audio/nspaudio', 'audio/x-nspaudio']],
1426
+ ['lam', 'audio/x-liveaudio'],
1427
+ ['lasxml', 'application/vnd.las.las+xml'],
1428
+ ['latex', 'application/x-latex'],
1429
+ ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],
1430
+ ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],
1431
+ ['les', 'application/vnd.hhe.lesson-player'],
1432
+ ['lha', ['application/octet-stream', 'application/lha', 'application/x-lha']],
1433
+ ['lhx', 'application/octet-stream'],
1434
+ ['link66', 'application/vnd.route66.link66+xml'],
1435
+ ['list', 'text/plain'],
1436
+ ['lma', ['audio/nspaudio', 'audio/x-nspaudio']],
1437
+ ['log', 'text/plain'],
1438
+ ['lrm', 'application/vnd.ms-lrm'],
1439
+ ['lsf', 'video/x-la-asf'],
1440
+ ['lsp', ['application/x-lisp', 'text/x-script.lisp']],
1441
+ ['lst', 'text/plain'],
1442
+ ['lsx', ['video/x-la-asf', 'text/x-la-asf']],
1443
+ ['ltf', 'application/vnd.frogans.ltf'],
1444
+ ['ltx', 'application/x-latex'],
1445
+ ['lvp', 'audio/vnd.lucent.voice'],
1446
+ ['lwp', 'application/vnd.lotus-wordpro'],
1447
+ ['lzh', ['application/octet-stream', 'application/x-lzh']],
1448
+ ['lzx', ['application/lzx', 'application/octet-stream', 'application/x-lzx']],
1449
+ ['m', ['text/plain', 'text/x-m']],
1450
+ ['m13', 'application/x-msmediaview'],
1451
+ ['m14', 'application/x-msmediaview'],
1452
+ ['m1v', 'video/mpeg'],
1453
+ ['m21', 'application/mp21'],
1454
+ ['m2a', 'audio/mpeg'],
1455
+ ['m2v', 'video/mpeg'],
1456
+ ['m3u', ['audio/x-mpegurl', 'audio/x-mpequrl']],
1457
+ ['m3u8', 'application/vnd.apple.mpegurl'],
1458
+ ['m4v', 'video/x-m4v'],
1459
+ ['ma', 'application/mathematica'],
1460
+ ['mads', 'application/mads+xml'],
1461
+ ['mag', 'application/vnd.ecowin.chart'],
1462
+ ['man', 'application/x-troff-man'],
1463
+ ['map', 'application/x-navimap'],
1464
+ ['mar', 'text/plain'],
1465
+ ['mathml', 'application/mathml+xml'],
1466
+ ['mbd', 'application/mbedlet'],
1467
+ ['mbk', 'application/vnd.mobius.mbk'],
1468
+ ['mbox', 'application/mbox'],
1469
+ ['mc$', 'application/x-magic-cap-package-1.0'],
1470
+ ['mc1', 'application/vnd.medcalcdata'],
1471
+ ['mcd', ['application/mcad', 'application/vnd.mcd', 'application/x-mathcad']],
1472
+ ['mcf', ['image/vasa', 'text/mcf']],
1473
+ ['mcp', 'application/netmc'],
1474
+ ['mcurl', 'text/vnd.curl.mcurl'],
1475
+ ['mdb', 'application/x-msaccess'],
1476
+ ['mdi', 'image/vnd.ms-modi'],
1477
+ ['me', 'application/x-troff-me'],
1478
+ ['meta4', 'application/metalink4+xml'],
1479
+ ['mets', 'application/mets+xml'],
1480
+ ['mfm', 'application/vnd.mfmp'],
1481
+ ['mgp', 'application/vnd.osgeo.mapguide.package'],
1482
+ ['mgz', 'application/vnd.proteus.magazine'],
1483
+ ['mht', 'message/rfc822'],
1484
+ ['mhtml', 'message/rfc822'],
1485
+ ['mid', ['audio/mid', 'audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],
1486
+ ['midi', ['audio/midi', 'music/crescendo', 'x-music/x-midi', 'audio/x-midi', 'application/x-midi', 'audio/x-mid']],
1487
+ ['mif', ['application/vnd.mif', 'application/x-mif', 'application/x-frame']],
1488
+ ['mime', ['message/rfc822', 'www/mime']],
1489
+ ['mj2', 'video/mj2'],
1490
+ ['mjf', 'audio/x-vnd.audioexplosion.mjuicemediafile'],
1491
+ ['mjpg', 'video/x-motion-jpeg'],
1492
+ ['mlp', 'application/vnd.dolby.mlp'],
1493
+ ['mm', ['application/base64', 'application/x-meme']],
1494
+ ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],
1495
+ ['mme', 'application/base64'],
1496
+ ['mmf', 'application/vnd.smaf'],
1497
+ ['mmr', 'image/vnd.fujixerox.edmics-mmr'],
1498
+ ['mny', 'application/x-msmoney'],
1499
+ ['mod', ['audio/mod', 'audio/x-mod']],
1500
+ ['mods', 'application/mods+xml'],
1501
+ ['moov', 'video/quicktime'],
1502
+ ['mov', 'video/quicktime'],
1503
+ ['movie', 'video/x-sgi-movie'],
1504
+ ['mp2', ['video/mpeg', 'audio/mpeg', 'video/x-mpeg', 'audio/x-mpeg', 'video/x-mpeq2a']],
1505
+ ['mp3', ['audio/mpeg', 'audio/mpeg3', 'video/mpeg', 'audio/x-mpeg-3', 'video/x-mpeg']],
1506
+ ['mp4', ['video/mp4', 'application/mp4']],
1507
+ ['mp4a', 'audio/mp4'],
1508
+ ['mpa', ['video/mpeg', 'audio/mpeg']],
1509
+ ['mpc', ['application/vnd.mophun.certificate', 'application/x-project']],
1510
+ ['mpe', 'video/mpeg'],
1511
+ ['mpeg', 'video/mpeg'],
1512
+ ['mpg', ['video/mpeg', 'audio/mpeg']],
1513
+ ['mpga', 'audio/mpeg'],
1514
+ ['mpkg', 'application/vnd.apple.installer+xml'],
1515
+ ['mpm', 'application/vnd.blueice.multipass'],
1516
+ ['mpn', 'application/vnd.mophun.application'],
1517
+ ['mpp', 'application/vnd.ms-project'],
1518
+ ['mpt', 'application/x-project'],
1519
+ ['mpv', 'application/x-project'],
1520
+ ['mpv2', 'video/mpeg'],
1521
+ ['mpx', 'application/x-project'],
1522
+ ['mpy', 'application/vnd.ibm.minipay'],
1523
+ ['mqy', 'application/vnd.mobius.mqy'],
1524
+ ['mrc', 'application/marc'],
1525
+ ['mrcx', 'application/marcxml+xml'],
1526
+ ['ms', 'application/x-troff-ms'],
1527
+ ['mscml', 'application/mediaservercontrol+xml'],
1528
+ ['mseq', 'application/vnd.mseq'],
1529
+ ['msf', 'application/vnd.epson.msf'],
1530
+ ['msg', 'application/vnd.ms-outlook'],
1531
+ ['msh', 'model/mesh'],
1532
+ ['msl', 'application/vnd.mobius.msl'],
1533
+ ['msty', 'application/vnd.muvee.style'],
1534
+ ['mts', 'model/vnd.mts'],
1535
+ ['mus', 'application/vnd.musician'],
1536
+ ['musicxml', 'application/vnd.recordare.musicxml+xml'],
1537
+ ['mv', 'video/x-sgi-movie'],
1538
+ ['mvb', 'application/x-msmediaview'],
1539
+ ['mwf', 'application/vnd.mfer'],
1540
+ ['mxf', 'application/mxf'],
1541
+ ['mxl', 'application/vnd.recordare.musicxml'],
1542
+ ['mxml', 'application/xv+xml'],
1543
+ ['mxs', 'application/vnd.triscape.mxs'],
1544
+ ['mxu', 'video/vnd.mpegurl'],
1545
+ ['my', 'audio/make'],
1546
+ ['mzz', 'application/x-vnd.audioexplosion.mzz'],
1547
+ ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],
1548
+ ['n3', 'text/n3'],
1549
+ ['nap', 'image/naplps'],
1550
+ ['naplps', 'image/naplps'],
1551
+ ['nbp', 'application/vnd.wolfram.player'],
1552
+ ['nc', 'application/x-netcdf'],
1553
+ ['ncm', 'application/vnd.nokia.configuration-message'],
1554
+ ['ncx', 'application/x-dtbncx+xml'],
1555
+ ['ngdat', 'application/vnd.nokia.n-gage.data'],
1556
+ ['nif', 'image/x-niff'],
1557
+ ['niff', 'image/x-niff'],
1558
+ ['nix', 'application/x-mix-transfer'],
1559
+ ['nlu', 'application/vnd.neurolanguage.nlu'],
1560
+ ['nml', 'application/vnd.enliven'],
1561
+ ['nnd', 'application/vnd.noblenet-directory'],
1562
+ ['nns', 'application/vnd.noblenet-sealer'],
1563
+ ['nnw', 'application/vnd.noblenet-web'],
1564
+ ['npx', 'image/vnd.net-fpx'],
1565
+ ['nsc', 'application/x-conference'],
1566
+ ['nsf', 'application/vnd.lotus-notes'],
1567
+ ['nvd', 'application/x-navidoc'],
1568
+ ['nws', 'message/rfc822'],
1569
+ ['o', 'application/octet-stream'],
1570
+ ['oa2', 'application/vnd.fujitsu.oasys2'],
1571
+ ['oa3', 'application/vnd.fujitsu.oasys3'],
1572
+ ['oas', 'application/vnd.fujitsu.oasys'],
1573
+ ['obd', 'application/x-msbinder'],
1574
+ ['oda', 'application/oda'],
1575
+ ['odb', 'application/vnd.oasis.opendocument.database'],
1576
+ ['odc', 'application/vnd.oasis.opendocument.chart'],
1577
+ ['odf', 'application/vnd.oasis.opendocument.formula'],
1578
+ ['odft', 'application/vnd.oasis.opendocument.formula-template'],
1579
+ ['odg', 'application/vnd.oasis.opendocument.graphics'],
1580
+ ['odi', 'application/vnd.oasis.opendocument.image'],
1581
+ ['odm', 'application/vnd.oasis.opendocument.text-master'],
1582
+ ['odp', 'application/vnd.oasis.opendocument.presentation'],
1583
+ ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
1584
+ ['odt', 'application/vnd.oasis.opendocument.text'],
1585
+ ['oga', 'audio/ogg'],
1586
+ ['ogv', 'video/ogg'],
1587
+ ['ogx', 'application/ogg'],
1588
+ ['omc', 'application/x-omc'],
1589
+ ['omcd', 'application/x-omcdatamaker'],
1590
+ ['omcr', 'application/x-omcregerator'],
1591
+ ['onetoc', 'application/onenote'],
1592
+ ['opf', 'application/oebps-package+xml'],
1593
+ ['org', 'application/vnd.lotus-organizer'],
1594
+ ['osf', 'application/vnd.yamaha.openscoreformat'],
1595
+ ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],
1596
+ ['otc', 'application/vnd.oasis.opendocument.chart-template'],
1597
+ ['otf', 'application/x-font-otf'],
1598
+ ['otg', 'application/vnd.oasis.opendocument.graphics-template'],
1599
+ ['oth', 'application/vnd.oasis.opendocument.text-web'],
1600
+ ['oti', 'application/vnd.oasis.opendocument.image-template'],
1601
+ ['otp', 'application/vnd.oasis.opendocument.presentation-template'],
1602
+ ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],
1603
+ ['ott', 'application/vnd.oasis.opendocument.text-template'],
1604
+ ['oxt', 'application/vnd.openofficeorg.extension'],
1605
+ ['p', 'text/x-pascal'],
1606
+ ['p10', ['application/pkcs10', 'application/x-pkcs10']],
1607
+ ['p12', ['application/pkcs-12', 'application/x-pkcs12']],
1608
+ ['p7a', 'application/x-pkcs7-signature'],
1609
+ ['p7b', 'application/x-pkcs7-certificates'],
1610
+ ['p7c', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],
1611
+ ['p7m', ['application/pkcs7-mime', 'application/x-pkcs7-mime']],
1612
+ ['p7r', 'application/x-pkcs7-certreqresp'],
1613
+ ['p7s', ['application/pkcs7-signature', 'application/x-pkcs7-signature']],
1614
+ ['p8', 'application/pkcs8'],
1615
+ ['par', 'text/plain-bas'],
1616
+ ['part', 'application/pro_eng'],
1617
+ ['pas', 'text/pascal'],
1618
+ ['paw', 'application/vnd.pawaafile'],
1619
+ ['pbd', 'application/vnd.powerbuilder6'],
1620
+ ['pbm', 'image/x-portable-bitmap'],
1621
+ ['pcf', 'application/x-font-pcf'],
1622
+ ['pcl', ['application/vnd.hp-pcl', 'application/x-pcl']],
1623
+ ['pclxl', 'application/vnd.hp-pclxl'],
1624
+ ['pct', 'image/x-pict'],
1625
+ ['pcurl', 'application/vnd.curl.pcurl'],
1626
+ ['pcx', 'image/x-pcx'],
1627
+ ['pdb', ['application/vnd.palm', 'chemical/x-pdb']],
1628
+ ['pdf', 'application/pdf'],
1629
+ ['pfa', 'application/x-font-type1'],
1630
+ ['pfr', 'application/font-tdpfr'],
1631
+ ['pfunk', ['audio/make', 'audio/make.my.funk']],
1632
+ ['pfx', 'application/x-pkcs12'],
1633
+ ['pgm', ['image/x-portable-graymap', 'image/x-portable-greymap']],
1634
+ ['pgn', 'application/x-chess-pgn'],
1635
+ ['pgp', 'application/pgp-signature'],
1636
+ ['pic', ['image/pict', 'image/x-pict']],
1637
+ ['pict', 'image/pict'],
1638
+ ['pkg', 'application/x-newton-compatible-pkg'],
1639
+ ['pki', 'application/pkixcmp'],
1640
+ ['pkipath', 'application/pkix-pkipath'],
1641
+ ['pko', ['application/ynd.ms-pkipko', 'application/vnd.ms-pki.pko']],
1642
+ ['pl', ['text/plain', 'text/x-script.perl']],
1643
+ ['plb', 'application/vnd.3gpp.pic-bw-large'],
1644
+ ['plc', 'application/vnd.mobius.plc'],
1645
+ ['plf', 'application/vnd.pocketlearn'],
1646
+ ['pls', 'application/pls+xml'],
1647
+ ['plx', 'application/x-pixclscript'],
1648
+ ['pm', ['text/x-script.perl-module', 'image/x-xpixmap']],
1649
+ ['pm4', 'application/x-pagemaker'],
1650
+ ['pm5', 'application/x-pagemaker'],
1651
+ ['pma', 'application/x-perfmon'],
1652
+ ['pmc', 'application/x-perfmon'],
1653
+ ['pml', ['application/vnd.ctc-posml', 'application/x-perfmon']],
1654
+ ['pmr', 'application/x-perfmon'],
1655
+ ['pmw', 'application/x-perfmon'],
1656
+ ['png', 'image/png'],
1657
+ ['pnm', ['application/x-portable-anymap', 'image/x-portable-anymap']],
1658
+ ['portpkg', 'application/vnd.macports.portpkg'],
1659
+ ['pot', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],
1660
+ ['potm', 'application/vnd.ms-powerpoint.template.macroenabled.12'],
1661
+ ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],
1662
+ ['pov', 'model/x-pov'],
1663
+ ['ppa', 'application/vnd.ms-powerpoint'],
1664
+ ['ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12'],
1665
+ ['ppd', 'application/vnd.cups-ppd'],
1666
+ ['ppm', 'image/x-portable-pixmap'],
1667
+ ['pps', ['application/vnd.ms-powerpoint', 'application/mspowerpoint']],
1668
+ ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'],
1669
+ ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],
1670
+ ['ppt', ['application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/x-mspowerpoint']],
1671
+ ['pptm', 'application/vnd.ms-powerpoint.presentation.macroenabled.12'],
1672
+ ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],
1673
+ ['ppz', 'application/mspowerpoint'],
1674
+ ['prc', 'application/x-mobipocket-ebook'],
1675
+ ['pre', ['application/vnd.lotus-freelance', 'application/x-freelance']],
1676
+ ['prf', 'application/pics-rules'],
1677
+ ['prt', 'application/pro_eng'],
1678
+ ['ps', 'application/postscript'],
1679
+ ['psb', 'application/vnd.3gpp.pic-bw-small'],
1680
+ ['psd', ['application/octet-stream', 'image/vnd.adobe.photoshop']],
1681
+ ['psf', 'application/x-font-linux-psf'],
1682
+ ['pskcxml', 'application/pskc+xml'],
1683
+ ['ptid', 'application/vnd.pvi.ptid1'],
1684
+ ['pub', 'application/x-mspublisher'],
1685
+ ['pvb', 'application/vnd.3gpp.pic-bw-var'],
1686
+ ['pvu', 'paleovu/x-pv'],
1687
+ ['pwn', 'application/vnd.3m.post-it-notes'],
1688
+ ['pwz', 'application/vnd.ms-powerpoint'],
1689
+ ['py', 'text/x-script.phyton'],
1690
+ ['pya', 'audio/vnd.ms-playready.media.pya'],
1691
+ ['pyc', 'application/x-bytecode.python'],
1692
+ ['pyv', 'video/vnd.ms-playready.media.pyv'],
1693
+ ['qam', 'application/vnd.epson.quickanime'],
1694
+ ['qbo', 'application/vnd.intu.qbo'],
1695
+ ['qcp', 'audio/vnd.qcelp'],
1696
+ ['qd3', 'x-world/x-3dmf'],
1697
+ ['qd3d', 'x-world/x-3dmf'],
1698
+ ['qfx', 'application/vnd.intu.qfx'],
1699
+ ['qif', 'image/x-quicktime'],
1700
+ ['qps', 'application/vnd.publishare-delta-tree'],
1701
+ ['qt', 'video/quicktime'],
1702
+ ['qtc', 'video/x-qtc'],
1703
+ ['qti', 'image/x-quicktime'],
1704
+ ['qtif', 'image/x-quicktime'],
1705
+ ['qxd', 'application/vnd.quark.quarkxpress'],
1706
+ ['ra', ['audio/x-realaudio', 'audio/x-pn-realaudio', 'audio/x-pn-realaudio-plugin']],
1707
+ ['ram', 'audio/x-pn-realaudio'],
1708
+ ['rar', 'application/x-rar-compressed'],
1709
+ ['ras', ['image/cmu-raster', 'application/x-cmu-raster', 'image/x-cmu-raster']],
1710
+ ['rast', 'image/cmu-raster'],
1711
+ ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],
1712
+ ['rdf', 'application/rdf+xml'],
1713
+ ['rdz', 'application/vnd.data-vision.rdz'],
1714
+ ['rep', 'application/vnd.businessobjects'],
1715
+ ['res', 'application/x-dtbresource+xml'],
1716
+ ['rexx', 'text/x-script.rexx'],
1717
+ ['rf', 'image/vnd.rn-realflash'],
1718
+ ['rgb', 'image/x-rgb'],
1719
+ ['rif', 'application/reginfo+xml'],
1720
+ ['rip', 'audio/vnd.rip'],
1721
+ ['rl', 'application/resource-lists+xml'],
1722
+ ['rlc', 'image/vnd.fujixerox.edmics-rlc'],
1723
+ ['rld', 'application/resource-lists-diff+xml'],
1724
+ ['rm', ['application/vnd.rn-realmedia', 'audio/x-pn-realaudio']],
1725
+ ['rmi', 'audio/mid'],
1726
+ ['rmm', 'audio/x-pn-realaudio'],
1727
+ ['rmp', ['audio/x-pn-realaudio-plugin', 'audio/x-pn-realaudio']],
1728
+ ['rms', 'application/vnd.jcp.javame.midlet-rms'],
1729
+ ['rnc', 'application/relax-ng-compact-syntax'],
1730
+ ['rng', ['application/ringing-tones', 'application/vnd.nokia.ringing-tone']],
1731
+ ['rnx', 'application/vnd.rn-realplayer'],
1732
+ ['roff', 'application/x-troff'],
1733
+ ['rp', 'image/vnd.rn-realpix'],
1734
+ ['rp9', 'application/vnd.cloanto.rp9'],
1735
+ ['rpm', 'audio/x-pn-realaudio-plugin'],
1736
+ ['rpss', 'application/vnd.nokia.radio-presets'],
1737
+ ['rpst', 'application/vnd.nokia.radio-preset'],
1738
+ ['rq', 'application/sparql-query'],
1739
+ ['rs', 'application/rls-services+xml'],
1740
+ ['rsd', 'application/rsd+xml'],
1741
+ ['rt', ['text/richtext', 'text/vnd.rn-realtext']],
1742
+ ['rtf', ['application/rtf', 'text/richtext', 'application/x-rtf']],
1743
+ ['rtx', ['text/richtext', 'application/rtf']],
1744
+ ['rv', 'video/vnd.rn-realvideo'],
1745
+ ['s', 'text/x-asm'],
1746
+ ['s3m', 'audio/s3m'],
1747
+ ['saf', 'application/vnd.yamaha.smaf-audio'],
1748
+ ['saveme', 'application/octet-stream'],
1749
+ ['sbk', 'application/x-tbook'],
1750
+ ['sbml', 'application/sbml+xml'],
1751
+ ['sc', 'application/vnd.ibm.secure-container'],
1752
+ ['scd', 'application/x-msschedule'],
1753
+ ['scm', ['application/vnd.lotus-screencam', 'video/x-scm', 'text/x-script.guile', 'application/x-lotusscreencam', 'text/x-script.scheme']],
1754
+ ['scq', 'application/scvp-cv-request'],
1755
+ ['scs', 'application/scvp-cv-response'],
1756
+ ['sct', 'text/scriptlet'],
1757
+ ['scurl', 'text/vnd.curl.scurl'],
1758
+ ['sda', 'application/vnd.stardivision.draw'],
1759
+ ['sdc', 'application/vnd.stardivision.calc'],
1760
+ ['sdd', 'application/vnd.stardivision.impress'],
1761
+ ['sdkm', 'application/vnd.solent.sdkm+xml'],
1762
+ ['sdml', 'text/plain'],
1763
+ ['sdp', ['application/sdp', 'application/x-sdp']],
1764
+ ['sdr', 'application/sounder'],
1765
+ ['sdw', 'application/vnd.stardivision.writer'],
1766
+ ['sea', ['application/sea', 'application/x-sea']],
1767
+ ['see', 'application/vnd.seemail'],
1768
+ ['seed', 'application/vnd.fdsn.seed'],
1769
+ ['sema', 'application/vnd.sema'],
1770
+ ['semd', 'application/vnd.semd'],
1771
+ ['semf', 'application/vnd.semf'],
1772
+ ['ser', 'application/java-serialized-object'],
1773
+ ['set', 'application/set'],
1774
+ ['setpay', 'application/set-payment-initiation'],
1775
+ ['setreg', 'application/set-registration-initiation'],
1776
+ ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],
1777
+ ['sfs', 'application/vnd.spotfire.sfs'],
1778
+ ['sgl', 'application/vnd.stardivision.writer-global'],
1779
+ ['sgm', ['text/sgml', 'text/x-sgml']],
1780
+ ['sgml', ['text/sgml', 'text/x-sgml']],
1781
+ ['sh', ['application/x-shar', 'application/x-bsh', 'application/x-sh', 'text/x-script.sh']],
1782
+ ['shar', ['application/x-bsh', 'application/x-shar']],
1783
+ ['shf', 'application/shf+xml'],
1784
+ ['shtml', ['text/html', 'text/x-server-parsed-html']],
1785
+ ['sid', 'audio/x-psid'],
1786
+ ['sis', 'application/vnd.symbian.install'],
1787
+ ['sit', ['application/x-stuffit', 'application/x-sit']],
1788
+ ['sitx', 'application/x-stuffitx'],
1789
+ ['skd', 'application/x-koan'],
1790
+ ['skm', 'application/x-koan'],
1791
+ ['skp', ['application/vnd.koan', 'application/x-koan']],
1792
+ ['skt', 'application/x-koan'],
1793
+ ['sl', 'application/x-seelogo'],
1794
+ ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],
1795
+ ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],
1796
+ ['slt', 'application/vnd.epson.salt'],
1797
+ ['sm', 'application/vnd.stepmania.stepchart'],
1798
+ ['smf', 'application/vnd.stardivision.math'],
1799
+ ['smi', ['application/smil', 'application/smil+xml']],
1800
+ ['smil', 'application/smil'],
1801
+ ['snd', ['audio/basic', 'audio/x-adpcm']],
1802
+ ['snf', 'application/x-font-snf'],
1803
+ ['sol', 'application/solids'],
1804
+ ['spc', ['text/x-speech', 'application/x-pkcs7-certificates']],
1805
+ ['spf', 'application/vnd.yamaha.smaf-phrase'],
1806
+ ['spl', ['application/futuresplash', 'application/x-futuresplash']],
1807
+ ['spot', 'text/vnd.in3d.spot'],
1808
+ ['spp', 'application/scvp-vp-response'],
1809
+ ['spq', 'application/scvp-vp-request'],
1810
+ ['spr', 'application/x-sprite'],
1811
+ ['sprite', 'application/x-sprite'],
1812
+ ['src', 'application/x-wais-source'],
1813
+ ['sru', 'application/sru+xml'],
1814
+ ['srx', 'application/sparql-results+xml'],
1815
+ ['sse', 'application/vnd.kodak-descriptor'],
1816
+ ['ssf', 'application/vnd.epson.ssf'],
1817
+ ['ssi', 'text/x-server-parsed-html'],
1818
+ ['ssm', 'application/streamingmedia'],
1819
+ ['ssml', 'application/ssml+xml'],
1820
+ ['sst', ['application/vnd.ms-pkicertstore', 'application/vnd.ms-pki.certstore']],
1821
+ ['st', 'application/vnd.sailingtracker.track'],
1822
+ ['stc', 'application/vnd.sun.xml.calc.template'],
1823
+ ['std', 'application/vnd.sun.xml.draw.template'],
1824
+ ['step', 'application/step'],
1825
+ ['stf', 'application/vnd.wt.stf'],
1826
+ ['sti', 'application/vnd.sun.xml.impress.template'],
1827
+ ['stk', 'application/hyperstudio'],
1828
+ ['stl', ['application/vnd.ms-pkistl', 'application/sla', 'application/vnd.ms-pki.stl', 'application/x-navistyle']],
1829
+ ['stm', 'text/html'],
1830
+ ['stp', 'application/step'],
1831
+ ['str', 'application/vnd.pg.format'],
1832
+ ['stw', 'application/vnd.sun.xml.writer.template'],
1833
+ ['sub', 'image/vnd.dvb.subtitle'],
1834
+ ['sus', 'application/vnd.sus-calendar'],
1835
+ ['sv4cpio', 'application/x-sv4cpio'],
1836
+ ['sv4crc', 'application/x-sv4crc'],
1837
+ ['svc', 'application/vnd.dvb.service'],
1838
+ ['svd', 'application/vnd.svd'],
1839
+ ['svf', ['image/vnd.dwg', 'image/x-dwg']],
1840
+ ['svg', 'image/svg+xml'],
1841
+ ['svr', ['x-world/x-svr', 'application/x-world']],
1842
+ ['swf', 'application/x-shockwave-flash'],
1843
+ ['swi', 'application/vnd.aristanetworks.swi'],
1844
+ ['sxc', 'application/vnd.sun.xml.calc'],
1845
+ ['sxd', 'application/vnd.sun.xml.draw'],
1846
+ ['sxg', 'application/vnd.sun.xml.writer.global'],
1847
+ ['sxi', 'application/vnd.sun.xml.impress'],
1848
+ ['sxm', 'application/vnd.sun.xml.math'],
1849
+ ['sxw', 'application/vnd.sun.xml.writer'],
1850
+ ['t', ['text/troff', 'application/x-troff']],
1851
+ ['talk', 'text/x-speech'],
1852
+ ['tao', 'application/vnd.tao.intent-module-archive'],
1853
+ ['tar', 'application/x-tar'],
1854
+ ['tbk', ['application/toolbook', 'application/x-tbook']],
1855
+ ['tcap', 'application/vnd.3gpp2.tcap'],
1856
+ ['tcl', ['text/x-script.tcl', 'application/x-tcl']],
1857
+ ['tcsh', 'text/x-script.tcsh'],
1858
+ ['teacher', 'application/vnd.smart.teacher'],
1859
+ ['tei', 'application/tei+xml'],
1860
+ ['tex', 'application/x-tex'],
1861
+ ['texi', 'application/x-texinfo'],
1862
+ ['texinfo', 'application/x-texinfo'],
1863
+ ['text', ['application/plain', 'text/plain']],
1864
+ ['tfi', 'application/thraud+xml'],
1865
+ ['tfm', 'application/x-tex-tfm'],
1866
+ ['tgz', ['application/gnutar', 'application/x-compressed']],
1867
+ ['thmx', 'application/vnd.ms-officetheme'],
1868
+ ['tif', ['image/tiff', 'image/x-tiff']],
1869
+ ['tiff', ['image/tiff', 'image/x-tiff']],
1870
+ ['tmo', 'application/vnd.tmobile-livetv'],
1871
+ ['torrent', 'application/x-bittorrent'],
1872
+ ['tpl', 'application/vnd.groove-tool-template'],
1873
+ ['tpt', 'application/vnd.trid.tpt'],
1874
+ ['tr', 'application/x-troff'],
1875
+ ['tra', 'application/vnd.trueapp'],
1876
+ ['trm', 'application/x-msterminal'],
1877
+ ['tsd', 'application/timestamped-data'],
1878
+ ['tsi', 'audio/tsp-audio'],
1879
+ ['tsp', ['application/dsptype', 'audio/tsplayer']],
1880
+ ['tsv', 'text/tab-separated-values'],
1881
+ ['ttf', 'application/x-font-ttf'],
1882
+ ['ttl', 'text/turtle'],
1883
+ ['turbot', 'image/florian'],
1884
+ ['twd', 'application/vnd.simtech-mindmapper'],
1885
+ ['txd', 'application/vnd.genomatix.tuxedo'],
1886
+ ['txf', 'application/vnd.mobius.txf'],
1887
+ ['txt', 'text/plain'],
1888
+ ['ufd', 'application/vnd.ufdl'],
1889
+ ['uil', 'text/x-uil'],
1890
+ ['uls', 'text/iuls'],
1891
+ ['umj', 'application/vnd.umajin'],
1892
+ ['uni', 'text/uri-list'],
1893
+ ['unis', 'text/uri-list'],
1894
+ ['unityweb', 'application/vnd.unity'],
1895
+ ['unv', 'application/i-deas'],
1896
+ ['uoml', 'application/vnd.uoml+xml'],
1897
+ ['uri', 'text/uri-list'],
1898
+ ['uris', 'text/uri-list'],
1899
+ ['ustar', ['application/x-ustar', 'multipart/x-ustar']],
1900
+ ['utz', 'application/vnd.uiq.theme'],
1901
+ ['uu', ['application/octet-stream', 'text/x-uuencode']],
1902
+ ['uue', 'text/x-uuencode'],
1903
+ ['uva', 'audio/vnd.dece.audio'],
1904
+ ['uvh', 'video/vnd.dece.hd'],
1905
+ ['uvi', 'image/vnd.dece.graphic'],
1906
+ ['uvm', 'video/vnd.dece.mobile'],
1907
+ ['uvp', 'video/vnd.dece.pd'],
1908
+ ['uvs', 'video/vnd.dece.sd'],
1909
+ ['uvu', 'video/vnd.uvvu.mp4'],
1910
+ ['uvv', 'video/vnd.dece.video'],
1911
+ ['vcd', 'application/x-cdlink'],
1912
+ ['vcf', 'text/x-vcard'],
1913
+ ['vcg', 'application/vnd.groove-vcard'],
1914
+ ['vcs', 'text/x-vcalendar'],
1915
+ ['vcx', 'application/vnd.vcx'],
1916
+ ['vda', 'application/vda'],
1917
+ ['vdo', 'video/vdo'],
1918
+ ['vew', 'application/groupwise'],
1919
+ ['vis', 'application/vnd.visionary'],
1920
+ ['viv', ['video/vivo', 'video/vnd.vivo']],
1921
+ ['vivo', ['video/vivo', 'video/vnd.vivo']],
1922
+ ['vmd', 'application/vocaltec-media-desc'],
1923
+ ['vmf', 'application/vocaltec-media-file'],
1924
+ ['voc', ['audio/voc', 'audio/x-voc']],
1925
+ ['vos', 'video/vosaic'],
1926
+ ['vox', 'audio/voxware'],
1927
+ ['vqe', 'audio/x-twinvq-plugin'],
1928
+ ['vqf', 'audio/x-twinvq'],
1929
+ ['vql', 'audio/x-twinvq-plugin'],
1930
+ ['vrml', ['model/vrml', 'x-world/x-vrml', 'application/x-vrml']],
1931
+ ['vrt', 'x-world/x-vrt'],
1932
+ ['vsd', ['application/vnd.visio', 'application/x-visio']],
1933
+ ['vsf', 'application/vnd.vsf'],
1934
+ ['vst', 'application/x-visio'],
1935
+ ['vsw', 'application/x-visio'],
1936
+ ['vtu', 'model/vnd.vtu'],
1937
+ ['vxml', 'application/voicexml+xml'],
1938
+ ['w60', 'application/wordperfect6.0'],
1939
+ ['w61', 'application/wordperfect6.1'],
1940
+ ['w6w', 'application/msword'],
1941
+ ['wad', 'application/x-doom'],
1942
+ ['wav', ['audio/wav', 'audio/x-wav']],
1943
+ ['wax', 'audio/x-ms-wax'],
1944
+ ['wb1', 'application/x-qpro'],
1945
+ ['wbmp', 'image/vnd.wap.wbmp'],
1946
+ ['wbs', 'application/vnd.criticaltools.wbs+xml'],
1947
+ ['wbxml', 'application/vnd.wap.wbxml'],
1948
+ ['wcm', 'application/vnd.ms-works'],
1949
+ ['wdb', 'application/vnd.ms-works'],
1950
+ ['web', 'application/vnd.xara'],
1951
+ ['weba', 'audio/webm'],
1952
+ ['webm', 'video/webm'],
1953
+ ['webp', 'image/webp'],
1954
+ ['wg', 'application/vnd.pmi.widget'],
1955
+ ['wgt', 'application/widget'],
1956
+ ['wiz', 'application/msword'],
1957
+ ['wk1', 'application/x-123'],
1958
+ ['wks', 'application/vnd.ms-works'],
1959
+ ['wm', 'video/x-ms-wm'],
1960
+ ['wma', 'audio/x-ms-wma'],
1961
+ ['wmd', 'application/x-ms-wmd'],
1962
+ ['wmf', ['windows/metafile', 'application/x-msmetafile']],
1963
+ ['wml', 'text/vnd.wap.wml'],
1964
+ ['wmlc', 'application/vnd.wap.wmlc'],
1965
+ ['wmls', 'text/vnd.wap.wmlscript'],
1966
+ ['wmlsc', 'application/vnd.wap.wmlscriptc'],
1967
+ ['wmv', 'video/x-ms-wmv'],
1968
+ ['wmx', 'video/x-ms-wmx'],
1969
+ ['wmz', 'application/x-ms-wmz'],
1970
+ ['woff', 'application/x-font-woff'],
1971
+ ['word', 'application/msword'],
1972
+ ['wp', 'application/wordperfect'],
1973
+ ['wp5', ['application/wordperfect', 'application/wordperfect6.0']],
1974
+ ['wp6', 'application/wordperfect'],
1975
+ ['wpd', ['application/wordperfect', 'application/vnd.wordperfect', 'application/x-wpwin']],
1976
+ ['wpl', 'application/vnd.ms-wpl'],
1977
+ ['wps', 'application/vnd.ms-works'],
1978
+ ['wq1', 'application/x-lotus'],
1979
+ ['wqd', 'application/vnd.wqd'],
1980
+ ['wri', ['application/mswrite', 'application/x-wri', 'application/x-mswrite']],
1981
+ ['wrl', ['model/vrml', 'x-world/x-vrml', 'application/x-world']],
1982
+ ['wrz', ['model/vrml', 'x-world/x-vrml']],
1983
+ ['wsc', 'text/scriplet'],
1984
+ ['wsdl', 'application/wsdl+xml'],
1985
+ ['wspolicy', 'application/wspolicy+xml'],
1986
+ ['wsrc', 'application/x-wais-source'],
1987
+ ['wtb', 'application/vnd.webturbo'],
1988
+ ['wtk', 'application/x-wintalk'],
1989
+ ['wvx', 'video/x-ms-wvx'],
1990
+ ['x-png', 'image/png'],
1991
+ ['x3d', 'application/vnd.hzn-3d-crossword'],
1992
+ ['xaf', 'x-world/x-vrml'],
1993
+ ['xap', 'application/x-silverlight-app'],
1994
+ ['xar', 'application/vnd.xara'],
1995
+ ['xbap', 'application/x-ms-xbap'],
1996
+ ['xbd', 'application/vnd.fujixerox.docuworks.binder'],
1997
+ ['xbm', ['image/xbm', 'image/x-xbm', 'image/x-xbitmap']],
1998
+ ['xdf', 'application/xcap-diff+xml'],
1999
+ ['xdm', 'application/vnd.syncml.dm+xml'],
2000
+ ['xdp', 'application/vnd.adobe.xdp+xml'],
2001
+ ['xdr', 'video/x-amt-demorun'],
2002
+ ['xdssc', 'application/dssc+xml'],
2003
+ ['xdw', 'application/vnd.fujixerox.docuworks'],
2004
+ ['xenc', 'application/xenc+xml'],
2005
+ ['xer', 'application/patch-ops-error+xml'],
2006
+ ['xfdf', 'application/vnd.adobe.xfdf'],
2007
+ ['xfdl', 'application/vnd.xfdl'],
2008
+ ['xgz', 'xgl/drawing'],
2009
+ ['xhtml', 'application/xhtml+xml'],
2010
+ ['xif', 'image/vnd.xiff'],
2011
+ ['xl', 'application/excel'],
2012
+ ['xla', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],
2013
+ ['xlam', 'application/vnd.ms-excel.addin.macroenabled.12'],
2014
+ ['xlb', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],
2015
+ ['xlc', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],
2016
+ ['xld', ['application/excel', 'application/x-excel']],
2017
+ ['xlk', ['application/excel', 'application/x-excel']],
2018
+ ['xll', ['application/excel', 'application/vnd.ms-excel', 'application/x-excel']],
2019
+ ['xlm', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],
2020
+ ['xls', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],
2021
+ ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12'],
2022
+ ['xlsm', 'application/vnd.ms-excel.sheet.macroenabled.12'],
2023
+ ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
2024
+ ['xlt', ['application/vnd.ms-excel', 'application/excel', 'application/x-excel']],
2025
+ ['xltm', 'application/vnd.ms-excel.template.macroenabled.12'],
2026
+ ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],
2027
+ ['xlv', ['application/excel', 'application/x-excel']],
2028
+ ['xlw', ['application/vnd.ms-excel', 'application/excel', 'application/x-msexcel', 'application/x-excel']],
2029
+ ['xm', 'audio/xm'],
2030
+ ['xml', ['application/xml', 'text/xml', 'application/atom+xml', 'application/rss+xml']],
2031
+ ['xmz', 'xgl/movie'],
2032
+ ['xo', 'application/vnd.olpc-sugar'],
2033
+ ['xof', 'x-world/x-vrml'],
2034
+ ['xop', 'application/xop+xml'],
2035
+ ['xpi', 'application/x-xpinstall'],
2036
+ ['xpix', 'application/x-vnd.ls-xpix'],
2037
+ ['xpm', ['image/xpm', 'image/x-xpixmap']],
2038
+ ['xpr', 'application/vnd.is-xpr'],
2039
+ ['xps', 'application/vnd.ms-xpsdocument'],
2040
+ ['xpw', 'application/vnd.intercon.formnet'],
2041
+ ['xslt', 'application/xslt+xml'],
2042
+ ['xsm', 'application/vnd.syncml+xml'],
2043
+ ['xspf', 'application/xspf+xml'],
2044
+ ['xsr', 'video/x-amt-showrun'],
2045
+ ['xul', 'application/vnd.mozilla.xul+xml'],
2046
+ ['xwd', ['image/x-xwd', 'image/x-xwindowdump']],
2047
+ ['xyz', ['chemical/x-xyz', 'chemical/x-pdb']],
2048
+ ['yang', 'application/yang'],
2049
+ ['yin', 'application/yin+xml'],
2050
+ ['z', ['application/x-compressed', 'application/x-compress']],
2051
+ ['zaz', 'application/vnd.zzazz.deck+xml'],
2052
+ ['zip', ['application/zip', 'multipart/x-zip', 'application/x-zip-compressed', 'application/x-compressed']],
2053
+ ['zir', 'application/vnd.zul'],
2054
+ ['zmm', 'application/vnd.handheld-entertainment+xml'],
2055
+ ['zoo', 'application/octet-stream'],
2056
+ ['zsh', 'text/x-script.zsh']
2057
+ ]);
2058
+
2059
+ module.exports = {
2060
+ detectMimeType(filename) {
2061
+ if (!filename) {
2062
+ return defaultMimeType;
2063
+ }
2064
+
2065
+ let parsed = path.parse(filename);
2066
+ let extension = (parsed.ext.substr(1) || parsed.name || '').split('?').shift().trim().toLowerCase();
2067
+ let value = defaultMimeType;
2068
+
2069
+ if (extensions.has(extension)) {
2070
+ value = extensions.get(extension);
2071
+ }
2072
+
2073
+ if (Array.isArray(value)) {
2074
+ return value[0];
2075
+ }
2076
+ return value;
2077
+ },
2078
+
2079
+ detectExtension(mimeType) {
2080
+ if (!mimeType) {
2081
+ return defaultExtension;
2082
+ }
2083
+ let parts = (mimeType || '').toLowerCase().trim().split('/');
2084
+ let rootType = parts.shift().trim();
2085
+ let subType = parts.join('/').trim();
2086
+
2087
+ if (mimeTypes.has(rootType + '/' + subType)) {
2088
+ let value = mimeTypes.get(rootType + '/' + subType);
2089
+ if (Array.isArray(value)) {
2090
+ return value[0];
2091
+ }
2092
+ return value;
2093
+ }
2094
+
2095
+ switch (rootType) {
2096
+ case 'text':
2097
+ return 'txt';
2098
+ default:
2099
+ return 'bin';
2100
+ }
2101
+ }
2102
+ };