ranuts 0.1.0-alpha → 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/assets/img/sort/bubble.gif +0 -0
  2. package/assets/img/sort/complexity.png +0 -0
  3. package/assets/img/sort/select.gif +0 -0
  4. package/assets/img/sort/sort.png +0 -0
  5. package/assets/img/tree/balanceTree.png +0 -0
  6. package/dist/index.d.ts +15 -8
  7. package/dist/index.js +1078 -44
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.umd.cjs +1 -1
  10. package/dist/index.umd.cjs.map +1 -1
  11. package/dist/src/file/fileInfo.d.ts +7 -0
  12. package/dist/src/file/fs.d.ts +2 -0
  13. package/dist/src/file/readDir.d.ts +6 -0
  14. package/dist/src/file/readFile.d.ts +8 -0
  15. package/dist/src/file/watchFile.d.ts +8 -0
  16. package/dist/src/file/writeFile.d.ts +8 -0
  17. package/dist/src/mode/subscribe.d.ts +16 -0
  18. package/dist/src/ranlog/behavior.d.ts +1 -0
  19. package/dist/src/ranlog/env.d.ts +5 -0
  20. package/dist/src/ranlog/error.d.ts +2 -0
  21. package/dist/src/ranlog/index.d.ts +26 -0
  22. package/dist/src/ranlog/performance.d.ts +21 -0
  23. package/dist/src/ranlog/report.d.ts +7 -0
  24. package/dist/src/ranlog/request.d.ts +18 -0
  25. package/dist/src/ranlog/utils.d.ts +19 -0
  26. package/dist/src/utils/filterObj.d.ts +8 -0
  27. package/dist/src/utils/str2Xml.d.ts +8 -0
  28. package/dist/src/vnode/h.d.ts +6 -0
  29. package/dist/src/vnode/hooks.d.ts +23 -0
  30. package/dist/src/vnode/htmlDomApi.d.ts +33 -0
  31. package/dist/src/vnode/init.d.ts +2 -0
  32. package/dist/src/vnode/is.d.ts +5 -0
  33. package/dist/src/vnode/modules/attributes.d.ts +8 -0
  34. package/dist/src/vnode/modules/class.d.ts +8 -0
  35. package/dist/src/vnode/modules/index.d.ts +7 -0
  36. package/dist/src/vnode/modules/listeners.d.ts +14 -0
  37. package/dist/src/vnode/modules/props.d.ts +8 -0
  38. package/dist/src/vnode/modules/style.d.ts +14 -0
  39. package/dist/src/vnode/vnode.d.ts +31 -0
  40. package/package.json +32 -9
  41. package/readme.md +1 -0
  42. package/src/astParser/Parser.ts +654 -0
  43. package/src/astParser/Tokenizer.ts +447 -0
  44. package/src/astParser/nodeTypes.ts +194 -0
  45. package/src/astParser/utils.ts +27 -0
  46. package/src/babel/parser.ts +10 -0
  47. package/src/colors/fmt.ts +29 -0
  48. package/src/colors/isColorSupported.ts +13 -0
  49. package/src/file/appendFile.ts +29 -0
  50. package/src/file/fileInfo.ts +22 -0
  51. package/src/file/fs.ts +9 -0
  52. package/src/file/readDir.ts +18 -0
  53. package/src/file/readFile.ts +26 -0
  54. package/src/file/watchFile.ts +31 -0
  55. package/src/file/writeFile.ts +38 -0
  56. package/src/mode/subscribe.ts +89 -0
  57. package/src/ran/commit.ts +0 -0
  58. package/src/ran/dom.ts +0 -0
  59. package/src/ran/hooks.ts +0 -0
  60. package/src/ran/reconcile.ts +0 -0
  61. package/src/ran/schedule.ts +0 -0
  62. package/src/ranlog/behavior.ts +5 -0
  63. package/src/ranlog/console.ts +16 -0
  64. package/src/ranlog/env.ts +29 -0
  65. package/src/ranlog/error.ts +11 -0
  66. package/src/ranlog/performance.ts +65 -0
  67. package/src/ranlog/report.ts +33 -0
  68. package/src/ranlog/request.ts +60 -0
  69. package/src/ranlog/utils.ts +92 -0
  70. package/src/ranpack/ast/Declaration.ts +120 -0
  71. package/src/ranpack/ast/Node.ts +7 -0
  72. package/src/ranpack/ast/Reference.ts +32 -0
  73. package/src/ranpack/ast/Scope.ts +80 -0
  74. package/src/ranpack/bundle.ts +50 -0
  75. package/src/ranpack/graph.ts +143 -0
  76. package/src/ranpack/module.ts +431 -0
  77. package/src/ranpack/moduleLoader.ts +73 -0
  78. package/src/ranpack/plugins.ts +70 -0
  79. package/src/ranpack/statement.ts +66 -0
  80. package/src/ranpack/utils/buildScope.ts +77 -0
  81. package/src/ranpack/utils/findReference.ts +36 -0
  82. package/src/ranpack/utils/isFunctionDeclaration.ts +41 -0
  83. package/src/ranpack/utils/makeLegalIdentifier.ts +18 -0
  84. package/src/ranpack/utils/object.ts +8 -0
  85. package/src/ranpack/utils/resolve.ts +32 -0
  86. package/src/ranpack/utils/walk.ts +66 -0
  87. package/src/ranpack/ws.ts +269 -0
  88. package/src/server/connectType.ts +9 -0
  89. package/src/server/encodeUrl.ts +46 -0
  90. package/src/server/escapeHtml.ts +46 -0
  91. package/src/server/get.ts +36 -0
  92. package/src/server/jitter.ts +77 -0
  93. package/src/server/mimeType.ts +858 -0
  94. package/src/server/paresUrl.ts +40 -0
  95. package/src/server/send.ts +89 -0
  96. package/src/server/server.ts +67 -0
  97. package/src/server/status.ts +191 -0
  98. package/src/server/traverse.ts +54 -0
  99. package/src/server/websocket.ts +200 -0
  100. package/src/sort/bubble.ts +21 -0
  101. package/src/sort/bucket.ts +11 -0
  102. package/src/sort/count.ts +10 -0
  103. package/src/sort/heap.ts +10 -0
  104. package/src/sort/insert.ts +20 -0
  105. package/src/sort/merge.ts +35 -0
  106. package/src/sort/quick.ts +50 -0
  107. package/src/sort/radix.ts +11 -0
  108. package/src/sort/randomArray.ts +21 -0
  109. package/src/sort/select.ts +23 -0
  110. package/src/sort/shell.ts +22 -0
  111. package/src/utils/compose.ts +37 -0
  112. package/src/utils/filterObj.ts +21 -0
  113. package/src/utils/mergeObj.ts +12 -0
  114. package/src/utils/startTask.ts +15 -0
  115. package/src/utils/str2Xml.ts +26 -0
  116. package/src/utils/taskEnd.ts +14 -0
  117. package/src/vnode/h.ts +108 -0
  118. package/src/vnode/hooks.ts +25 -0
  119. package/src/vnode/htmlDomApi.ts +199 -0
  120. package/src/vnode/init.ts +429 -0
  121. package/src/vnode/is.ts +17 -0
  122. package/src/vnode/modules/attributes.ts +70 -0
  123. package/src/vnode/modules/class.ts +46 -0
  124. package/src/vnode/modules/listeners.ts +123 -0
  125. package/src/vnode/modules/props.ts +41 -0
  126. package/src/vnode/modules/style.ts +118 -0
  127. package/src/vnode/vnode.ts +65 -0
@@ -0,0 +1,858 @@
1
+ export const MimeType = new Map<string, string>([
2
+ ['.ez', 'application/andrew-inset'],
3
+ ['.aw', 'application/applixware'],
4
+ ['.txt', 'text/plain'],
5
+ ['.ez', 'application/andrew-inset'],
6
+ ['.aw', 'application/applixware'],
7
+ ['.atom', 'application/atom+xml'],
8
+ ['.atomcat', 'application/atomcat+xml'],
9
+ ['.atomsvc', 'application/atomsvc+xml'],
10
+ ['.ccxml', 'application/ccxml+xml'],
11
+ ['.cu', 'application/cu-seeme'],
12
+ ['.davmount', 'application/davmount+xml'],
13
+ ['.ecma', 'application/ecmascript'],
14
+ ['.emma', 'application/emma+xml'],
15
+ ['.epub', 'application/epub+zip'],
16
+ ['.pfr', 'application/font-tdpfr'],
17
+ ['.stk', 'application/hyperstudio'],
18
+ ['.jar', 'application/java-archive'],
19
+ ['.ser', 'application/java-serialized-object'],
20
+ ['.class', 'application/java-vm'],
21
+ ['.js', 'application/javascript'],
22
+ ['.ts', 'application/javascript'],
23
+ ['.json', 'application/json'],
24
+ ['.lostxml', 'application/lost+xml'],
25
+ ['.hqx', 'application/mac-binhex40'],
26
+ ['.cpt', 'application/mac-compactpro'],
27
+ ['.mrc', 'application/marc'],
28
+ ['.ma,', 'application/mathematica'],
29
+ ['.nb', 'application/mathematica'],
30
+ ['.mb', 'application/mathematica'],
31
+ ['.mathml', 'application/mathml+xml'],
32
+ ['.mbox', 'application/mbox'],
33
+ ['.mscml', 'application/mediaservercontrol+xml'],
34
+ ['.mp4s', 'application/mp4'],
35
+ ['.doc', 'application/msword'],
36
+ ['.dot', 'application/msword'],
37
+ ['.mxf', 'application/mxf'],
38
+ ['.oda', 'application/oda'],
39
+ ['.opf', 'application/oebps-package+xml'],
40
+ ['.ogx', 'application/ogg'],
41
+ ['.onetoc', 'application/onenote'],
42
+ ['.onetoc2', 'application/onenote'],
43
+ ['.onetmp', 'application/onenote'],
44
+ ['.onepkg', 'application/onenote'],
45
+ ['.xer', 'application/patch-ops-error+xml'],
46
+ ['.pdf', 'application/pdf'],
47
+ ['.pgp', 'application/pgp-encrypted'],
48
+ ['.asc', 'application/pgp-signature'],
49
+ ['.sig', 'application/pgp-signature'],
50
+ ['.prf', 'application/pics-rules'],
51
+ ['.p10', 'application/pkcs10'],
52
+ ['.p7c', 'application/pkcs7-mime'],
53
+ ['.p7m', 'application/pkcs7-mime'],
54
+ ['.p7s', 'application/pkcs7-signature'],
55
+ ['.cer', 'application/pkix-cert'],
56
+ ['.crl', 'application/pkix-crl'],
57
+ ['.pkipath', 'application/pkix-pkipath'],
58
+ ['.pki', 'application/pkixcmp'],
59
+ ['.pls', 'application/pls+xml'],
60
+ ['.ai', 'application/postscript'],
61
+ ['.eps', 'application/postscript'],
62
+ ['.ps', 'application/postscript'],
63
+ ['.cww', 'application/prs.cww'],
64
+ ['.rdf', 'application/rdf+xml'],
65
+ ['.rif', 'application/reginfo+xml'],
66
+ ['.rnc', 'application/relax-ng-compact-syntax'],
67
+ ['.rl', 'application/resource-lists+xml'],
68
+ ['.rld', 'application/resource-lists-diff+xml'],
69
+ ['.rs', 'application/rls-services+xml'],
70
+ ['.rsd', 'application/rsd+xml'],
71
+ ['.rss', 'application/rss+xml'],
72
+ ['.rtf', 'application/rtf'],
73
+ ['.sbml', 'application/sbml+xml'],
74
+ ['.scq', 'application/scvp-cv-request'],
75
+ ['.scs', 'application/scvp-cv-response'],
76
+ ['.spq', 'application/scvp-vp-request'],
77
+ ['.spp', 'application/scvp-vp-response'],
78
+ ['.sdp', 'application/sdp'],
79
+ ['.setpay', 'application/set-payment-initiation'],
80
+ ['.setreg', 'application/set-registration-initiation'],
81
+ ['.shf', 'application/shf+xml'],
82
+ ['.smil', 'application/smil+xml'],
83
+ ['.smi', 'application/smil+xml'],
84
+ ['.rq', 'application/sparql-query'],
85
+ ['.srx', 'application/sparql-results+xml'],
86
+ ['.gram', 'application/srgs'],
87
+ ['.grxml', 'application/srgs+xml'],
88
+ ['.ssml', 'application/ssml+xml'],
89
+ ['.plb', 'application/vnd.3gpp.pic-bw-large'],
90
+ ['.psb', 'application/vnd.3gpp.pic-bw-small'],
91
+ ['.pvb', 'application/vnd.3gpp.pic-bw-var'],
92
+ ['.tcap', 'application/vnd.3gpp2.tcap'],
93
+ ['.pwn', 'application/vnd.3m.post-it-notes'],
94
+ ['.aso', 'application/vnd.accpac.simply.aso'],
95
+ ['.imp', 'application/vnd.accpac.simply.imp'],
96
+ ['.acu', 'application/vnd.acucobol'],
97
+ ['.atc', 'application/vnd.acucorp'],
98
+ ['.acutc', 'application/vnd.acucorp'],
99
+ ['.air', 'application/vnd.adobe.air-application-installer-package+zip'],
100
+ ['.xdp', 'application/vnd.adobe.xdp+xml'],
101
+ ['.xfdf', 'application/vnd.adobe.xfdf'],
102
+ ['.azf', 'application/vnd.airzip.filesecure.azf'],
103
+ ['.azs', 'application/vnd.airzip.filesecure.azs'],
104
+ ['.azw', 'application/vnd.amazon.ebook'],
105
+ ['.acc', 'application/vnd.americandynamics.acc'],
106
+ ['.ami', 'application/vnd.amiga.ami'],
107
+ ['.apk', 'application/vnd.android.package-archive'],
108
+ ['.cii', 'application/vnd.anser-web-certificate-issue-initiation'],
109
+ ['.fti', 'application/vnd.anser-web-funds-transfer-initiation'],
110
+ ['.atx', 'application/vnd.antix.game-component'],
111
+ ['.mpkg', 'application/vnd.apple.installer+xml'],
112
+ ['.swi', 'application/vnd.arastra.swi'],
113
+ ['.aep', 'application/vnd.audiograph'],
114
+ ['.mpm', 'application/vnd.blueice.multipass'],
115
+ ['.bmi', 'application/vnd.bmi'],
116
+ ['.rep', 'application/vnd.businessobjects'],
117
+ ['.cdxml', 'application/vnd.chemdraw+xml'],
118
+ ['.mmd', 'application/vnd.chipnuts.karaoke-mmd'],
119
+ ['.cdy', 'application/vnd.cinderella'],
120
+ ['.cla', 'application/vnd.claymore'],
121
+ ['.c4u', 'application/vnd.clonk.c4group'],
122
+ ['.c4p', 'application/vnd.clonk.c4group'],
123
+ ['.c4f', 'application/vnd.clonk.c4group'],
124
+ ['.c4d', 'application/vnd.clonk.c4group'],
125
+ ['.c4g', 'application/vnd.clonk.c4group'],
126
+ ['.csp', 'application/vnd.commonspace'],
127
+ ['.cdbcmsg', 'application/vnd.contact.cmsg'],
128
+ ['.cmc', 'application/vnd.cosmocaller'],
129
+ ['.clkx', 'application/vnd.crick.clicker'],
130
+ ['.clkk', 'application/vnd.crick.clicker.keyboard'],
131
+ ['.clkp', 'application/vnd.crick.clicker.palette'],
132
+ ['.clkt', 'application/vnd.crick.clicker.template'],
133
+ ['.clkw', 'application/vnd.crick.clicker.wordbank'],
134
+ ['.wbs', 'application/vnd.criticaltools.wbs+xml'],
135
+ ['.pml', 'application/vnd.ctc-posml'],
136
+ ['.ppd', 'application/vnd.cups-ppd'],
137
+ ['.car', 'application/vnd.curl.car'],
138
+ ['.pcurl', 'application/vnd.curl.pcurl'],
139
+ ['.rdz', 'application/vnd.data-vision.rdz'],
140
+ ['.fe_launch', 'application/vnd.denovo.fcselayout-link'],
141
+ ['.dna', 'application/vnd.dna'],
142
+ ['.mlp', 'application/vnd.dolby.mlp'],
143
+ ['.dpg', 'application/vnd.dpgraph'],
144
+ ['.dfac', 'application/vnd.dreamfactory'],
145
+ ['.geo', 'application/vnd.dynageo'],
146
+ ['.mag', 'application/vnd.ecowin.chart'],
147
+ ['.nml', 'application/vnd.enliven'],
148
+ ['.esf', 'application/vnd.epson.esf'],
149
+ ['.msf', 'application/vnd.epson.msf'],
150
+ ['.qam', 'application/vnd.epson.quickanime'],
151
+ ['.slt', 'application/vnd.epson.salt'],
152
+ ['.ssf', 'application/vnd.epson.ssf'],
153
+ ['.et3', 'application/vnd.eszigno3+xml'],
154
+ ['.es3', 'application/vnd.eszigno3+xml'],
155
+ ['.ez2', 'application/vnd.ezpix-album'],
156
+ ['.ez3', 'application/vnd.ezpix-package'],
157
+ ['.fdf', 'application/vnd.fdf'],
158
+ ['.mseed', 'application/vnd.fdsn.mseed'],
159
+ ['.dataless', 'application/vnd.fdsn.seed'],
160
+ ['.seed', 'application/vnd.fdsn.seed'],
161
+ ['.gph', 'application/vnd.flographit'],
162
+ ['.ftc', 'application/vnd.fluxtime.clip'],
163
+ ['.fm', 'application/vnd.framemaker'],
164
+ ['.frame', 'application/vnd.framemaker'],
165
+ ['.maker', 'application/vnd.framemaker'],
166
+ ['.book', 'application/vnd.framemaker'],
167
+ ['.fnc', 'application/vnd.frogans.fnc'],
168
+ ['.ltf', 'application/vnd.frogans.ltf'],
169
+ ['.fsc', 'application/vnd.fsc.weblaunch'],
170
+ ['.oas', 'application/vnd.fujitsu.oasys'],
171
+ ['.oa2', 'application/vnd.fujitsu.oasys2'],
172
+ ['.oa3', 'application/vnd.fujitsu.oasys3'],
173
+ ['.fg5', 'application/vnd.fujitsu.oasysgp'],
174
+ ['.bh2', 'application/vnd.fujitsu.oasysprs'],
175
+ ['.ddd', 'application/vnd.fujixerox.ddd'],
176
+ ['.xdw', 'application/vnd.fujixerox.docuworks'],
177
+ ['.xbd', 'application/vnd.fujixerox.docuworks.binder'],
178
+ ['.fzs', 'application/vnd.fuzzysheet'],
179
+ ['.txd', 'application/vnd.genomatix.tuxedo'],
180
+ ['.ggb', 'application/vnd.geogebra.file'],
181
+ ['.ggt', 'application/vnd.geogebra.tool'],
182
+ ['.gre', 'application/vnd.geometry-explorer'],
183
+ ['.gex', 'application/vnd.geometry-explorer'],
184
+ ['.gmx', 'application/vnd.gmx'],
185
+ ['.kml', 'application/vnd.google-earth.kml+xml'],
186
+ ['.kmz', 'application/vnd.google-earth.kmz'],
187
+ ['.gqf', 'application/vnd.grafeq'],
188
+ ['.gqs', 'application/vnd.grafeq'],
189
+ ['.gac', 'application/vnd.groove-account'],
190
+ ['.ghf', 'application/vnd.groove-help'],
191
+ ['.gim', 'application/vnd.groove-identity-message'],
192
+ ['.grv', 'application/vnd.groove-injector'],
193
+ ['.gtm', 'application/vnd.groove-tool-message'],
194
+ ['.tpl', 'application/vnd.groove-tool-template'],
195
+ ['.vcg', 'application/vnd.groove-vcard'],
196
+ ['.zmm', 'application/vnd.handheld-entertainment+xml'],
197
+ ['.hbci', 'application/vnd.hbci'],
198
+ ['.les', 'application/vnd.hhe.lesson-player'],
199
+ ['.hpgl', 'application/vnd.hp-hpgl'],
200
+ ['.hpid', 'application/vnd.hp-hpid'],
201
+ ['.hps', 'application/vnd.hp-hps'],
202
+ ['.jlt', 'application/vnd.hp-jlyt'],
203
+ ['.pcl', 'application/vnd.hp-pcl'],
204
+ ['.pclxl', 'application/vnd.hp-pclxl'],
205
+ ['.sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],
206
+ ['.x3d', 'application/vnd.hzn-3d-crossword'],
207
+ ['.mpy', 'application/vnd.ibm.minipay'],
208
+ ['.afp', 'application/vnd.ibm.modcap'],
209
+ ['.listafp', 'application/vnd.ibm.modcap'],
210
+ ['.list3820', 'application/vnd.ibm.modcap'],
211
+ ['.irm', 'application/vnd.ibm.rights-management'],
212
+ ['.sc', 'application/vnd.ibm.secure-container'],
213
+ ['.icm', 'application/vnd.iccprofile'],
214
+ ['.icc', 'application/vnd.iccprofile'],
215
+ ['.igl', 'application/vnd.igloader'],
216
+ ['.ivp', 'application/vnd.immervision-ivp'],
217
+ ['.ivu', 'application/vnd.immervision-ivu'],
218
+ ['.xpw', 'application/vnd.intercon.formnet'],
219
+ ['.xpx', 'application/vnd.intercon.formnet'],
220
+ ['.qbo', 'application/vnd.intu.qbo'],
221
+ ['.qfx', 'application/vnd.intu.qfx'],
222
+ ['.rcprofile', 'application/vnd.ipunplugged.rcprofile'],
223
+ ['.irp', 'application/vnd.irepository.package+xml'],
224
+ ['.xpr', 'application/vnd.is-xpr'],
225
+ ['.jam', 'application/vnd.jam'],
226
+ ['.rms', 'application/vnd.jcp.javame.midlet-rms'],
227
+ ['.jisp', 'application/vnd.jisp'],
228
+ ['.joda', 'application/vnd.joost.joda-archive'],
229
+ ['.ktz', 'application/vnd.kahootz'],
230
+ ['.ktr', 'application/vnd.kahootz'],
231
+ ['.karbon', 'application/vnd.kde.karbon'],
232
+ ['.chrt', 'application/vnd.kde.kchart'],
233
+ ['.kfo', 'application/vnd.kde.kformula'],
234
+ ['.flw', 'application/vnd.kde.kivio'],
235
+ ['.kon', 'application/vnd.kde.kontour'],
236
+ ['.kpt', 'application/vnd.kde.kpresenter'],
237
+ ['.kpr', 'application/vnd.kde.kpresenter'],
238
+ ['.ksp', 'application/vnd.kde.kspread'],
239
+ ['.kwd', 'application/vnd.kde.kword'],
240
+ ['.kwt', 'application/vnd.kde.kword'],
241
+ ['.htke', 'application/vnd.kenameaapp'],
242
+ ['.kia', 'application/vnd.kidspiration'],
243
+ ['.kne', 'application/vnd.kinar'],
244
+ ['.knp', 'application/vnd.kinar'],
245
+ ['.skp', 'application/vnd.koan'],
246
+ ['.skd', 'application/vnd.koan'],
247
+ ['.skt', 'application/vnd.koan'],
248
+ ['.skm', 'application/vnd.koan'],
249
+ ['.sse', 'application/vnd.kodak-descriptor'],
250
+ ['.lbd', 'application/vnd.llamagraphics.life-balance.desktop'],
251
+ ['.lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],
252
+ ['.123', 'application/vnd.lotus-1-2-3'],
253
+ ['.apr', 'application/vnd.lotus-approach'],
254
+ ['.pre', 'application/vnd.lotus-freelance'],
255
+ ['.nsf', 'application/vnd.lotus-notes'],
256
+ ['.org', 'application/vnd.lotus-organizer'],
257
+ ['.scm', 'application/vnd.lotus-screencam'],
258
+ ['.lwp', 'application/vnd.lotus-wordpro'],
259
+ ['.portpkg', 'application/vnd.macports.portpkg'],
260
+ ['.mcd', 'application/vnd.mcd'],
261
+ ['.mc1', 'application/vnd.medcalcdata'],
262
+ ['.cdkey', 'application/vnd.mediastation.cdkey'],
263
+ ['.mwf', 'application/vnd.mfer'],
264
+ ['.mfm', 'application/vnd.mfmp'],
265
+ ['.flo', 'application/vnd.micrografx.flo'],
266
+ ['.igx', 'application/vnd.micrografx.igx'],
267
+ ['.mif', 'application/vnd.mif'],
268
+ ['.daf', 'application/vnd.mobius.daf'],
269
+ ['.dis', 'application/vnd.mobius.dis'],
270
+ ['.mbk', 'application/vnd.mobius.mbk'],
271
+ ['.mqy', 'application/vnd.mobius.mqy'],
272
+ ['.msl', 'application/vnd.mobius.msl'],
273
+ ['.plc', 'application/vnd.mobius.plc'],
274
+ ['.txf', 'application/vnd.mobius.txf'],
275
+ ['.mpn', 'application/vnd.mophun.application'],
276
+ ['.mpc', 'application/vnd.mophun.certificate'],
277
+ ['.xul', 'application/vnd.mozilla.xul+xml'],
278
+ ['.cil', 'application/vnd.ms-artgalry'],
279
+ ['.cab', 'application/vnd.ms-cab-compressed'],
280
+ ['.xls', 'application/vnd.ms-excel'],
281
+ ['.xlm', 'application/vnd.ms-excel'],
282
+ ['.xla', 'application/vnd.ms-excel'],
283
+ ['.xlc', 'application/vnd.ms-excel'],
284
+ ['.xlt', 'application/vnd.ms-excel'],
285
+ ['.xlw', 'application/vnd.ms-excel'],
286
+ ['.xlam', 'application/vnd.ms-excel.addin.macroenabled.12'],
287
+ ['.xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12'],
288
+ ['.xlsm', 'application/vnd.ms-excel.sheet.macroenabled.12'],
289
+ ['.xltm', 'application/vnd.ms-excel.template.macroenabled.12'],
290
+ ['.eot', 'application/vnd.ms-fontobject'],
291
+ ['.chm', 'application/vnd.ms-htmlhelp'],
292
+ ['.ims', 'application/vnd.ms-ims'],
293
+ ['.lrm', 'application/vnd.ms-lrm'],
294
+ ['.cat', 'application/vnd.ms-pki.seccat'],
295
+ ['.stl', 'application/vnd.ms-pki.stl'],
296
+ ['.pot', 'application/vnd.ms-powerpoint'],
297
+ ['.pps', 'application/vnd.ms-powerpoint'],
298
+ ['.ppt', 'application/vnd.ms-powerpoint'],
299
+ ['.ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12'],
300
+ ['.pptm', 'application/vnd.ms-powerpoint.presentation.macroenabled.12'],
301
+ ['.sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],
302
+ ['.ppsm', 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'],
303
+ ['.potm', 'application/vnd.ms-powerpoint.template.macroenabled.12'],
304
+ ['.mpp', 'application/vnd.ms-project'],
305
+ ['.mpt', 'application/vnd.ms-project'],
306
+ ['.docm', 'application/vnd.ms-word.document.macroenabled.12'],
307
+ ['.dotm', 'application/vnd.ms-word.template.macroenabled.12'],
308
+ ['.wdb', 'application/vnd.ms-works'],
309
+ ['.wcm', 'application/vnd.ms-works'],
310
+ ['.wks', 'application/vnd.ms-works'],
311
+ ['.wps', 'application/vnd.ms-works'],
312
+ ['.wpl', 'application/vnd.ms-wpl'],
313
+ ['.xps', 'application/vnd.ms-xpsdocument'],
314
+ ['.mseq', 'application/vnd.mseq'],
315
+ ['.mus', 'application/vnd.musician'],
316
+ ['.msty', 'application/vnd.muvee.style'],
317
+ ['.nlu', 'application/vnd.neurolanguage.nlu'],
318
+ ['.nnd', 'application/vnd.noblenet-directory'],
319
+ ['.nns', 'application/vnd.noblenet-sealer'],
320
+ ['.nnw', 'application/vnd.noblenet-web'],
321
+ ['.ngdat', 'application/vnd.nokia.n-gage.data'],
322
+ ['.n-gage', 'application/vnd.nokia.n-gage.symbian.install'],
323
+ ['.rpst', 'application/vnd.nokia.radio-preset'],
324
+ ['.rpss', 'application/vnd.nokia.radio-presets'],
325
+ ['.edm', 'application/vnd.novadigm.edm'],
326
+ ['.edx', 'application/vnd.novadigm.edx'],
327
+ ['.ext', 'application/vnd.novadigm.ext'],
328
+ ['.odc', 'application/vnd.oasis.opendocument.chart'],
329
+ ['.otc', 'application/vnd.oasis.opendocument.chart-template'],
330
+ ['.odb', 'application/vnd.oasis.opendocument.database'],
331
+ ['.odf', 'application/vnd.oasis.opendocument.formula'],
332
+ ['.odft', 'application/vnd.oasis.opendocument.formula-template'],
333
+ ['.odg', 'application/vnd.oasis.opendocument.graphics'],
334
+ ['.otg', 'application/vnd.oasis.opendocument.graphics-template'],
335
+ ['.odi', 'application/vnd.oasis.opendocument.image'],
336
+ ['.oti', 'application/vnd.oasis.opendocument.image-template'],
337
+ ['.odp', 'application/vnd.oasis.opendocument.presentation'],
338
+ ['.ods', 'application/vnd.oasis.opendocument.spreadsheet'],
339
+ ['.ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],
340
+ ['.odt', 'application/vnd.oasis.opendocument.text'],
341
+ ['.otm', 'application/vnd.oasis.opendocument.text-master'],
342
+ ['.ott', 'application/vnd.oasis.opendocument.text-template'],
343
+ ['.oth', 'application/vnd.oasis.opendocument.text-web'],
344
+ ['.xo', 'application/vnd.olpc-sugar'],
345
+ ['.dd2', 'application/vnd.oma.dd2+xml'],
346
+ ['.oxt', 'application/vnd.openofficeorg.extension'],
347
+ [
348
+ '.pptx',
349
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
350
+ ],
351
+ [
352
+ '.sldx',
353
+ 'application/vnd.openxmlformats-officedocument.presentationml.slide',
354
+ ],
355
+ [
356
+ '.ppsx',
357
+ 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
358
+ ],
359
+ [
360
+ '.potx',
361
+ 'application/vnd.openxmlformats-officedocument.presentationml.template',
362
+ ],
363
+ [
364
+ '.xlsx',
365
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
366
+ ],
367
+ [
368
+ '.xltx',
369
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
370
+ ],
371
+ [
372
+ '.docx',
373
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
374
+ ],
375
+ [
376
+ '.dotx',
377
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
378
+ ],
379
+ ['.dp', 'application/vnd.osgi.dp'],
380
+ ['.oprc', 'application/vnd.palm'],
381
+ ['.pqa', 'application/vnd.palm'],
382
+ ['.pdb', 'application/vnd.palm'],
383
+ ['.str', 'application/vnd.pg.format'],
384
+ ['.ei6', 'application/vnd.pg.osasli'],
385
+ ['.efif', 'application/vnd.picsel'],
386
+ ['.plf', 'application/vnd.pocketlearn'],
387
+ ['.pbd', 'application/vnd.powerbuilder6'],
388
+ ['.box', 'application/vnd.previewsystems.box'],
389
+ ['.mgz', 'application/vnd.proteus.magazine'],
390
+ ['.qps', 'application/vnd.publishare-delta-tree'],
391
+ ['.ptid', 'application/vnd.pvi.ptid1'],
392
+ ['.qxd', 'application/vnd.quark.quarkxpress'],
393
+ ['.qxt', 'application/vnd.quark.quarkxpress'],
394
+ ['.qwd', 'application/vnd.quark.quarkxpress'],
395
+ ['.qwt', 'application/vnd.quark.quarkxpress'],
396
+ ['.qxl', 'application/vnd.quark.quarkxpress'],
397
+ ['.qxb', 'application/vnd.quark.quarkxpress'],
398
+ ['.mxl', 'application/vnd.recordare.musicxml'],
399
+ ['.musicxml', 'application/vnd.recordare.musicxml+xml'],
400
+ ['.cod', 'application/vnd.rim.cod'],
401
+ ['.rm', 'application/vnd.rn-realmedia'],
402
+ ['.link66', 'application/vnd.route66.link66+xml'],
403
+ ['.see', 'application/vnd.seemail'],
404
+ ['.sema', 'application/vnd.sema'],
405
+ ['.semd', 'application/vnd.semd'],
406
+ ['.semf', 'application/vnd.semf'],
407
+ ['.ifm', 'application/vnd.shana.informed.formdata'],
408
+ ['.itp', 'application/vnd.shana.informed.formtemplate'],
409
+ ['.iif', 'application/vnd.shana.informed.interchange'],
410
+ ['.ipk', 'application/vnd.shana.informed.package'],
411
+ ['.twds', 'application/vnd.simtech-mindmapper'],
412
+ ['.twd', 'application/vnd.simtech-mindmapper'],
413
+ ['.mmf', 'application/vnd.smaf'],
414
+ ['.teacher', 'application/vnd.smart.teacher'],
415
+ ['.sdkm', 'application/vnd.solent.sdkm+xml'],
416
+ ['.sdkd', 'application/vnd.solent.sdkm+xml'],
417
+ ['.dxp', 'application/vnd.spotfire.dxp'],
418
+ ['.sfs', 'application/vnd.spotfire.sfs'],
419
+ ['.sdc', 'application/vnd.stardivision.calc'],
420
+ ['.sda', 'application/vnd.stardivision.draw'],
421
+ ['.sdd', 'application/vnd.stardivision.impress'],
422
+ ['.smf', 'application/vnd.stardivision.math'],
423
+ ['.sdw', 'application/vnd.stardivision.writer'],
424
+ ['.vor', 'application/vnd.stardivision.writer'],
425
+ ['.sgl', 'application/vnd.stardivision.writer-global'],
426
+ ['.sxc', 'application/vnd.sun.xml.calc'],
427
+ ['.stc', 'application/vnd.sun.xml.calc.template'],
428
+ ['.sxd', 'application/vnd.sun.xml.draw'],
429
+ ['.std', 'application/vnd.sun.xml.draw.template'],
430
+ ['.sxi', 'application/vnd.sun.xml.impress'],
431
+ ['.sti', 'application/vnd.sun.xml.impress.template'],
432
+ ['.sxm', 'application/vnd.sun.xml.math'],
433
+ ['.sxw', 'application/vnd.sun.xml.writer'],
434
+ ['.sxg', 'application/vnd.sun.xml.writer.global'],
435
+ ['.stw', 'application/vnd.sun.xml.writer.template'],
436
+ ['.susp', 'application/vnd.sus-calendar'],
437
+ ['.sus', 'application/vnd.sus-calendar'],
438
+ ['.svd', 'application/vnd.svd'],
439
+ ['.sis', 'application/vnd.symbian.install'],
440
+ ['.sisx', 'application/vnd.symbian.install'],
441
+ ['.xsm', 'application/vnd.syncml+xml'],
442
+ ['.bdm', 'application/vnd.syncml.dm+wbxml'],
443
+ ['.xdm', 'application/vnd.syncml.dm+xml'],
444
+ ['.tao', 'application/vnd.tao.intent-module-archive'],
445
+ ['.tmo', 'application/vnd.tmobile-livetv'],
446
+ ['.tpt', 'application/vnd.trid.tpt'],
447
+ ['.mxs', 'application/vnd.triscape.mxs'],
448
+ ['.tra', 'application/vnd.trueapp'],
449
+ ['.ufdl', 'application/vnd.ufdl'],
450
+ ['.ufd', 'application/vnd.ufdl'],
451
+ ['.utz', 'application/vnd.uiq.theme'],
452
+ ['.umj', 'application/vnd.umajin'],
453
+ ['.unityweb', 'application/vnd.unity'],
454
+ ['.uoml', 'application/vnd.uoml+xml'],
455
+ ['.vcx', 'application/vnd.vcx'],
456
+ ['.vsw', 'application/vnd.visio'],
457
+ ['.vss', 'application/vnd.visio'],
458
+ ['.vst', 'application/vnd.visio'],
459
+ ['.vsd', 'application/vnd.visio'],
460
+ ['.vis', 'application/vnd.visionary'],
461
+ ['.vsf', 'application/vnd.vsf'],
462
+ ['.wbxml', 'application/vnd.wap.wbxml'],
463
+ ['.wmlc', 'application/vnd.wap.wmlc'],
464
+ ['.wmlsc', 'application/vnd.wap.wmlscriptc'],
465
+ ['.wtb', 'application/vnd.webturbo'],
466
+ ['.wpd', 'application/vnd.wordperfect'],
467
+ ['.wqd', 'application/vnd.wqd'],
468
+ ['.stf', 'application/vnd.wt.stf'],
469
+ ['.xar', 'application/vnd.xara'],
470
+ ['.xfdl', 'application/vnd.xfdl'],
471
+ ['.hvd', 'application/vnd.yamaha.hv-dic'],
472
+ ['.hvs', 'application/vnd.yamaha.hv-script'],
473
+ ['.hvp', 'application/vnd.yamaha.hv-voice'],
474
+ ['.osf', 'application/vnd.yamaha.openscoreformat'],
475
+ ['.osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],
476
+ ['.saf', 'application/vnd.yamaha.smaf-audio'],
477
+ ['.spf', 'application/vnd.yamaha.smaf-phrase'],
478
+ ['.cmp', 'application/vnd.yellowriver-custom-menu'],
479
+ ['.zir', 'application/vnd.zul'],
480
+ ['.zirz', 'application/vnd.zul'],
481
+ ['.zaz', 'application/vnd.zzazz.deck+xml'],
482
+ ['.vxml', 'application/voicexml+xml'],
483
+ ['.hlp', 'application/winhlp'],
484
+ ['.wsdl', 'application/wsdl+xml'],
485
+ ['.wspolicy', 'application/wspolicy+xml'],
486
+ ['.abw', 'application/x-abiword'],
487
+ ['.ace', 'application/x-ace-compressed'],
488
+ ['.aab', 'application/x-authorware-bin'],
489
+ ['.x32', 'application/x-authorware-bin'],
490
+ ['.u32', 'application/x-authorware-bin'],
491
+ ['.vox', 'application/x-authorware-bin'],
492
+ ['.aam', 'application/x-authorware-map'],
493
+ ['.aas', 'application/x-authorware-seg'],
494
+ ['.bcpio', 'application/x-bcpio'],
495
+ ['.torrent', 'application/x-bittorrent'],
496
+ ['.bz', 'application/x-bzip'],
497
+ ['.bz2', 'application/x-bzip2'],
498
+ ['.boz', 'application/x-bzip2'],
499
+ ['.vcd', 'application/x-cdlink'],
500
+ ['.chat', 'application/x-chat'],
501
+ ['.pgn', 'application/x-chess-pgn'],
502
+ ['.cpio', 'application/x-cpio'],
503
+ ['.csh', 'application/x-csh'],
504
+ ['.deb', 'application/x-debian-package'],
505
+ ['.udeb', 'application/x-debian-package'],
506
+ ['.swa', 'application/x-director'],
507
+ ['.w3d', 'application/x-director'],
508
+ ['.fgd', 'application/x-director'],
509
+ ['.cxt', 'application/x-director'],
510
+ ['.cct', 'application/x-director'],
511
+ ['.cst', 'application/x-director'],
512
+ ['.dxr', 'application/x-director'],
513
+ ['.dcr', 'application/x-director'],
514
+ ['.dir', 'application/x-director'],
515
+ ['.wad', 'application/x-doom'],
516
+ ['.ncx', 'application/x-dtbncx+xml'],
517
+ ['.dtb', 'application/x-dtbook+xml'],
518
+ ['.res', 'application/x-dtbresource+xml'],
519
+ ['.dvi', 'application/x-dvi'],
520
+ ['.bdf', 'application/x-font-bdf'],
521
+ ['.gsf', 'application/x-font-ghostscript'],
522
+ ['.psf', 'application/x-font-linux-psf'],
523
+ ['.otf', 'application/x-font-otf'],
524
+ ['.pcf', 'application/x-font-pcf'],
525
+ ['.snf', 'application/x-font-snf'],
526
+ ['.ttf', 'application/x-font-ttf'],
527
+ ['.ttc', 'application/x-font-ttf'],
528
+ ['.woff', 'application/font-woff'],
529
+ ['.pfa', 'application/x-font-type1'],
530
+ ['.pfb', 'application/x-font-type1'],
531
+ ['.pfm', 'application/x-font-type1'],
532
+ ['.afm', 'application/x-font-type1'],
533
+ ['.spl', 'application/x-futuresplash'],
534
+ ['.gnumeric', 'application/x-gnumeric'],
535
+ ['.gtar', 'application/x-gtar'],
536
+ ['.hdf', 'application/x-hdf'],
537
+ ['.jnlp', 'application/x-java-jnlp-file'],
538
+ ['.latex', 'application/x-latex'],
539
+ ['.prc', 'application/x-mobipocket-ebook'],
540
+ ['.mobi', 'application/x-mobipocket-ebook'],
541
+ ['.application', 'application/x-ms-application'],
542
+ ['.wmd', 'application/x-ms-wmd'],
543
+ ['.wmz', 'application/x-ms-wmz'],
544
+ ['.xbap', 'application/x-ms-xbap'],
545
+ ['.mdb', 'application/x-msaccess'],
546
+ ['.obd', 'application/x-msbinder'],
547
+ ['.crd', 'application/x-mscardfile'],
548
+ ['.clp', 'application/x-msclip'],
549
+ ['.msi', 'application/x-msdownload'],
550
+ ['.bat', 'application/x-msdownload'],
551
+ ['.com', 'application/x-msdownload'],
552
+ ['.dll', 'application/x-msdownload'],
553
+ ['.exe', 'application/x-msdownload'],
554
+ ['.mvb', 'application/x-msmediaview'],
555
+ ['.m13', 'application/x-msmediaview'],
556
+ ['.m14', 'application/x-msmediaview'],
557
+ ['.wmf', 'application/x-msmetafile'],
558
+ ['.mny', 'application/x-msmoney'],
559
+ ['.pub', 'application/x-mspublisher'],
560
+ ['.scd', 'application/x-msschedule'],
561
+ ['.trm', 'application/x-msterminal'],
562
+ ['.wri', 'application/x-mswrite'],
563
+ ['.nc', 'application/x-netcdf'],
564
+ ['.cdf', 'application/x-netcdf'],
565
+ ['.p12', 'application/x-pkcs12'],
566
+ ['.pfx', 'application/x-pkcs12'],
567
+ ['.p7b', 'application/x-pkcs7-certificates'],
568
+ ['.spc', 'application/x-pkcs7-certificates'],
569
+ ['.p7r', 'application/x-pkcs7-certreqresp'],
570
+ ['.rar', 'application/x-rar-compressed'],
571
+ ['.sh', 'application/x-sh'],
572
+ ['.shar', 'application/x-shar'],
573
+ ['.swf', 'application/x-shockwave-flash'],
574
+ ['.xap', 'application/x-silverlight-app'],
575
+ ['.sit', 'application/x-stuffit'],
576
+ ['.sitx', 'application/x-stuffitx'],
577
+ ['.sv4cpio', 'application/x-sv4cpio'],
578
+ ['.sv4crc', 'application/x-sv4crc'],
579
+ ['.tar', 'application/x-tar'],
580
+ ['.tcl', 'application/x-tcl'],
581
+ ['.tex', 'application/x-tex'],
582
+ ['.tfm', 'application/x-tex-tfm'],
583
+ ['.texinfo', 'application/x-texinfo'],
584
+ ['.texi', 'application/x-texinfo'],
585
+ ['.ustar', 'application/x-ustar'],
586
+ ['.src', 'application/x-wais-source'],
587
+ ['.der', 'application/x-x509-ca-cert'],
588
+ ['.crt', 'application/x-x509-ca-cert'],
589
+ ['.fig', 'application/x-xfig'],
590
+ ['.xpi', 'application/x-xpinstall'],
591
+ ['.xenc', 'application/xenc+xml'],
592
+ ['.xhtml', 'application/xhtml+xml'],
593
+ ['.xht', 'application/xhtml+xml'],
594
+ ['.xsl', 'application/xml'],
595
+ ['.xml', 'application/xml'],
596
+ ['.dtd', 'application/xml-dtd'],
597
+ ['.xop', 'application/xop+xml'],
598
+ ['.xslt', 'application/xslt+xml'],
599
+ ['.xspf', 'application/xspf+xml'],
600
+ ['.xvm', 'application/xv+xml'],
601
+ ['.xvml', 'application/xv+xml'],
602
+ ['.xhvml', 'application/xv+xml'],
603
+ ['.mxml', 'application/xv+xml'],
604
+ ['.zip', 'application/zip'],
605
+ ['.adp', 'audio/adpcm'],
606
+ ['.au', 'audio/basic'],
607
+ ['.snd', 'audio/basic'],
608
+ ['.mid', 'audio/midi'],
609
+ ['.midi', 'audio/midi'],
610
+ ['.kar', 'audio/midi'],
611
+ ['.rmi', 'audio/midi'],
612
+ ['.mp4a', 'audio/mp4'],
613
+ ['.m4a', 'audio/mp4a-latm'],
614
+ ['.m4p', 'audio/mp4a-latm'],
615
+ ['.m3a', 'audio/mpeg'],
616
+ ['.m2a', 'audio/mpeg'],
617
+ ['.mp3', 'audio/mpeg'],
618
+ ['.mp2a', 'audio/mpeg'],
619
+ ['.mp2', 'audio/mpeg'],
620
+ ['.mpga', 'audio/mpeg'],
621
+ ['.spx', 'audio/ogg'],
622
+ ['.ogg', 'audio/ogg'],
623
+ ['.oga', 'audio/ogg'],
624
+ ['.eol', 'audio/vnd.digital-winds'],
625
+ ['.dts', 'audio/vnd.dts'],
626
+ ['.dtshd', 'audio/vnd.dts.hd'],
627
+ ['.lvp', 'audio/vnd.lucent.voice'],
628
+ ['.pya', 'audio/vnd.ms-playready.media.pya'],
629
+ ['.ecelp4800', 'audio/vnd.nuera.ecelp4800'],
630
+ ['.ecelp7470', 'audio/vnd.nuera.ecelp7470'],
631
+ ['.ecelp9600', 'audio/vnd.nuera.ecelp9600'],
632
+ ['.aac', 'audio/x-aac'],
633
+ ['.aif', 'audio/x-aiff'],
634
+ ['.aiff', 'audio/x-aiff'],
635
+ ['.aif', 'audio/x-aiff'],
636
+ ['.m3u', 'audio/x-mpegurl'],
637
+ ['.wax', 'audio/x-ms-wax'],
638
+ ['.wma', 'audio/x-ms-wma'],
639
+ ['.ram', 'audio/x-pn-realaudio'],
640
+ ['.ra', 'audio/x-pn-realaudio'],
641
+ ['.rmp', 'audio/x-pn-realaudio-plugin'],
642
+ ['.wav', 'audio/x-wav'],
643
+ ['.cdx', 'chemical/x-cdx'],
644
+ ['.cif', 'chemical/x-cif'],
645
+ ['.cmdf', 'chemical/x-cmdf'],
646
+ ['.cml', 'chemical/x-cml'],
647
+ ['.csml', 'chemical/x-csml'],
648
+ ['.xyz', 'chemical/x-xyz'],
649
+ ['.bmp', 'image/bmp'],
650
+ ['.cgm', 'image/cgm'],
651
+ ['.g3', 'image/g3fax'],
652
+ ['.gif', 'image/gif'],
653
+ ['.ief', 'image/ief'],
654
+ ['.jp2', 'image/jp2'],
655
+ ['.jpeg', 'image/jpeg'],
656
+ ['.jpg', 'image/jpeg'],
657
+ ['.jpe', 'image/jpeg'],
658
+ ['.pict', 'image/pict'],
659
+ ['.pic', 'image/pict'],
660
+ ['.pct', 'image/pict'],
661
+ ['.png', 'image/png'],
662
+ ['.btif', 'image/prs.btif'],
663
+ ['.svg', 'image/svg+xml'],
664
+ ['.svgz', 'image/svg+xml'],
665
+ ['.tiff', 'image/tiff'],
666
+ ['.tif', 'image/tiff'],
667
+ ['.psd', 'image/vnd.adobe.photoshop'],
668
+ ['.djvu', 'image/vnd.djvu'],
669
+ ['.djv', 'image/vnd.djvu'],
670
+ ['.dwg', 'image/vnd.dwg'],
671
+ ['.dxf', 'image/vnd.dxf'],
672
+ ['.fbs', 'image/vnd.fastbidsheet'],
673
+ ['.fpx', 'image/vnd.fpx'],
674
+ ['.fst', 'image/vnd.fst'],
675
+ ['.mmr', 'image/vnd.fujixerox.edmics-mmr'],
676
+ ['.rlc', 'image/vnd.fujixerox.edmics-rlc'],
677
+ ['.mdi', 'image/vnd.ms-modi'],
678
+ ['.npx', 'image/vnd.net-fpx'],
679
+ ['.wbmp', 'image/vnd.wap.wbmp'],
680
+ ['.xif', 'image/vnd.xiff'],
681
+ ['.ras', 'image/x-cmu-raster'],
682
+ ['.cmx', 'image/x-cmx'],
683
+ ['.fh', 'image/x-freehand'],
684
+ ['.fhc', 'image/x-freehand'],
685
+ ['.fh4', 'image/x-freehand'],
686
+ ['.fh5', 'image/x-freehand'],
687
+ ['.fh7', 'image/x-freehand'],
688
+ ['.ico', 'image/x-icon'],
689
+ ['.pntg', 'image/x-macpaint'],
690
+ ['.pnt', 'image/x-macpaint'],
691
+ ['.mac', 'image/x-macpaint'],
692
+ ['.pcx', 'image/x-pcx'],
693
+ ['.pic', 'image/x-pict'],
694
+ ['.pct', 'image/x-pict'],
695
+ ['.pnm', 'image/x-portable-anymap'],
696
+ ['.pbm', 'image/x-portable-bitmap'],
697
+ ['.pgm', 'image/x-portable-graymap'],
698
+ ['.ppm', 'image/x-portable-pixmap'],
699
+ ['.qtif', 'image/x-quicktime'],
700
+ ['.qti', 'image/x-quicktime'],
701
+ ['.rgb', 'image/x-rgb'],
702
+ ['.xbm', 'image/x-xbitmap'],
703
+ ['.xpm', 'image/x-xpixmap'],
704
+ ['.xwd', 'image/x-xwindowdump'],
705
+ ['.eml', 'message/rfc822'],
706
+ ['.mime', 'message/rfc822'],
707
+ ['.igs', 'model/iges'],
708
+ ['.iges', 'model/iges'],
709
+ ['.msh', 'model/mesh'],
710
+ ['.mesh', 'model/mesh'],
711
+ ['.silo', 'model/mesh'],
712
+ ['.dwf', 'model/vnd.dwf'],
713
+ ['.gdl', 'model/vnd.gdl'],
714
+ ['.gtw', 'model/vnd.gtw'],
715
+ ['.mts', 'model/vnd.mts'],
716
+ ['.vtu', 'model/vnd.vtu'],
717
+ ['.wrl', 'model/vrml'],
718
+ ['.vrml', 'model/vrml'],
719
+ ['.ics', 'text/calendar'],
720
+ ['.ifb', 'text/calendar'],
721
+ ['.css', 'text/css'],
722
+ ['.csv', 'text/csv'],
723
+ ['.html', 'text/html'],
724
+ ['.htm', 'text/html'],
725
+ ['.txt', 'text/plain'],
726
+ ['.text', 'text/plain'],
727
+ ['.conf', 'text/plain'],
728
+ ['.def', 'text/plain'],
729
+ ['.list', 'text/plain'],
730
+ ['.log', 'text/plain'],
731
+ ['.in', 'text/plain'],
732
+ ['.dsc', 'text/prs.lines.tag'],
733
+ ['.rtx', 'text/richtext'],
734
+ ['.sgml', 'text/sgml'],
735
+ ['.sgm', 'text/sgml'],
736
+ ['.tsv', 'text/tab-separated-values'],
737
+ ['.t', 'text/troff'],
738
+ ['.tr', 'text/troff'],
739
+ ['.roff', 'text/troff'],
740
+ ['.man', 'text/troff'],
741
+ ['.me', 'text/troff'],
742
+ ['.ms', 'text/troff'],
743
+ ['.uri', 'text/uri-list'],
744
+ ['.uris', 'text/uri-list'],
745
+ ['.urls', 'text/uri-list'],
746
+ ['.curl', 'text/vnd.curl'],
747
+ ['.dcurl', 'text/vnd.curl.dcurl'],
748
+ ['.scurl', 'text/vnd.curl.scurl'],
749
+ ['.mcurl', 'text/vnd.curl.mcurl'],
750
+ ['.fly', 'text/vnd.fly'],
751
+ ['.flx', 'text/vnd.fmi.flexstor'],
752
+ ['.gv', 'text/vnd.graphviz'],
753
+ ['.3dml', 'text/vnd.in3d.3dml'],
754
+ ['.spot', 'text/vnd.in3d.spot'],
755
+ ['.jad', 'text/vnd.sun.j2me.app-descriptor'],
756
+ ['.wml', 'text/vnd.wap.wml'],
757
+ ['.wmls', 'text/vnd.wap.wmlscript'],
758
+ ['.s', 'text/x-asm'],
759
+ ['.asm', 'text/x-asm'],
760
+ ['.c', 'text/x-c'],
761
+ ['.cc', 'text/x-c'],
762
+ ['.cxx', 'text/x-c'],
763
+ ['.cpp', 'text/x-c'],
764
+ ['.h', 'text/x-c'],
765
+ ['.hh', 'text/x-c'],
766
+ ['.dic', 'text/x-c'],
767
+ ['.f', 'text/x-fortran'],
768
+ ['.for', 'text/x-fortran'],
769
+ ['.f77', 'text/x-fortran'],
770
+ ['.f90', 'text/x-fortran'],
771
+ ['.p', 'text/x-pascal'],
772
+ ['.pas', 'text/x-pascal'],
773
+ ['.java', 'text/x-java-source'],
774
+ ['.etx', 'text/x-setext'],
775
+ ['.uu', 'text/x-uuencode'],
776
+ ['.vcs', 'text/x-vcalendar'],
777
+ ['.vcf', 'text/x-vcard'],
778
+ ['.3gp', 'video/3gpp'],
779
+ ['.3g2', 'video/3gpp2'],
780
+ ['.h261', 'video/h261'],
781
+ ['.h263', 'video/h263'],
782
+ ['.h264', 'video/h264'],
783
+ ['.jpgv', 'video/jpeg'],
784
+ ['.jpm', 'video/jpm'],
785
+ ['.jpgm', 'video/jpm'],
786
+ ['.mj2', 'video/mj2'],
787
+ ['.mjp2', 'video/mj2'],
788
+ ['.mp4', 'video/mp4'],
789
+ ['.mp4v', 'video/mp4'],
790
+ ['.mpg4', 'video/mp4'],
791
+ ['.m4v', 'video/mp4'],
792
+ ['.mkv', 'video/x-matroska'],
793
+ ['.mk3d', 'video/x-matroska'],
794
+ ['.mka', 'video/x-matroska'],
795
+ ['.mks', 'video/x-matroska'],
796
+ ['.webm', 'video/webm'],
797
+ ['.mpeg', 'video/mpeg'],
798
+ ['.mpg', 'video/mpeg'],
799
+ ['.mpe', 'video/mpeg'],
800
+ ['.m1v', 'video/mpeg'],
801
+ ['.m2v', 'video/mpeg'],
802
+ ['.ogv', 'video/ogg'],
803
+ ['.qt', 'video/quicktime'],
804
+ ['.mov', 'video/quicktime'],
805
+ ['.fvt', 'video/vnd.fvt'],
806
+ ['.mxu', 'video/vnd.mpegurl'],
807
+ ['.m4u', 'video/vnd.mpegurl'],
808
+ ['.pyv', 'video/vnd.ms-playready.media.pyv'],
809
+ ['.viv', 'video/vnd.vivo'],
810
+ ['.dv', 'video/x-dv'],
811
+ ['.dif', 'video/x-dv'],
812
+ ['.f4v', 'video/x-f4v'],
813
+ ['.fli', 'video/x-fli'],
814
+ ['.flv', 'video/x-flv'],
815
+ ['.m4v', 'video/x-m4v'],
816
+ ['.asf', 'video/x-ms-asf'],
817
+ ['.asx', 'video/x-ms-asf'],
818
+ ['.wm', 'video/x-ms-wm'],
819
+ ['.wmv', 'video/x-ms-wmv'],
820
+ ['.wmx', 'video/x-ms-wmx'],
821
+ ['.wvx', 'video/x-ms-wvx'],
822
+ ['.avi', 'video/x-msvideo'],
823
+ ['.movie', 'video/x-sgi-movie'],
824
+ ['.ice', 'x-conference/x-cooltalk'],
825
+ ['.indd', 'application/x-indesign'],
826
+ ['.dat', 'application/octet-stream'],
827
+ ['.gz', 'application/x-gzip'],
828
+ ['.tgz', 'application/x-tar'],
829
+ ['.tar', 'application/x-tar'],
830
+ ['.epub', 'application/epub+zip'],
831
+ ['.mobi', 'application/x-mobipocket-ebook'],
832
+ ['README', 'text/plain'],
833
+ ['LICENSE', 'text/plain'],
834
+ ['COPYING', 'text/plain'],
835
+ ['TODO', 'text/plain'],
836
+ ['ABOUT', 'text/plain'],
837
+ ['AUTHORS', 'text/plain'],
838
+ ['CONTRIBUTORS', 'text/plain'],
839
+ ['manifest', 'text/cache-manifest'],
840
+ ['.manifest', 'text/cache-manifest'],
841
+ ['.mf', 'text/cache-manifest'],
842
+ ['.appcache', 'text/cache-manifest'],
843
+ ])
844
+
845
+ export const setMime = (
846
+ ext: string,
847
+ mimeType: string,
848
+ ): Map<string, string> => {
849
+ MimeType.set(ext, mimeType)
850
+ return MimeType
851
+ }
852
+
853
+ export function queryMime(ext: string): string | undefined {
854
+ const tmp = ('' + ext).trim().toLowerCase()
855
+ let idx = tmp.lastIndexOf('.')
856
+ const suffix = !~idx ? tmp : tmp.substring(++idx)
857
+ return MimeType.get(`.${suffix}`) || MimeType.get(suffix)
858
+ }