1 var REST = library.REST.REST();
  2 var myData = {};
  3 
  4 /**
  5  * Returns the MIME type for each file
  6  * @description Returns the MIME type for each file
  7  * @example 'MBurl'/wf/restapi/1/mimeType?src=["Asset ID"]
  8  * @example <a target="_blank" href='http://127.0.0.1:55555/wf/restapi/1/mimeType?src=["12345"]'>http://127.0.0.1:55555/wf/restapi/1/mimeType?src=["12345"]</a>
  9  * @class Returns the value of a desired field for the given Asset IDs.
 10  * @name mimeType
 11  * @param src Asset ID or list of asset ID's
 12  * @returns ( {'AssetID': "value",...} )
 13  */
 14 function main() {
 15   var aParamValues = REST.getParametersToIterate("src");
 16   if (myData.error != null) {
 17     return REST.formatResponse();
 18   }
 19   REST.iterateThroughParameters(aParamValues, getMimeType);
 20   return REST.formatResponse();
 21 }
 22 
 23 /**
 24  * Given an asset id we return a mime type
 25  * @param theFile
 26  * @returns {*}
 27  */
 28 function getMimeType(theID) {
 29   var aFile = fileManager.getFileObjectById(theID);
 30   if (
 31     !aFile ||
 32     !aFile.fileNameExtension ||
 33     !kMimeMap[aFile.fileNameExtension.toLowerCase()]
 34   ) {
 35     REST.submitError(
 36       theID,
 37       "Could not find mime type for file extension: " +
 38         (!!aFile ? aFile.name : theID)
 39     );
 40     return;
 41   }
 42   myData[theID] = kMimeMap[aFile.fileNameExtension.toLowerCase()];
 43 }
 44 
 45 /**
 46  * ext to mime type mapping
 47  */
 48 var kMimeMap = {
 49   x3d: "application/vnd.hzn-3d-crossword",
 50   "3gp": "video/3gpp",
 51   "3g2": "video/3gpp2",
 52   mseq: "application/vnd.mseq",
 53   pwn: "application/vnd.3m.post-it-notes",
 54   plb: "application/vnd.3gpp.pic-bw-large",
 55   psb: "application/vnd.3gpp.pic-bw-small",
 56   pvb: "application/vnd.3gpp.pic-bw-var",
 57   tcap: "application/vnd.3gpp2.tcap",
 58   "7z": "application/x-7z-compressed",
 59   abw: "application/x-abiword",
 60   ace: "application/x-ace-compressed",
 61   acc: "application/vnd.americandynamics.acc",
 62   acu: "application/vnd.acucobol",
 63   atc: "application/vnd.acucorp",
 64   adp: "audio/adpcm",
 65   aab: "application/x-authorware-bin",
 66   aam: "application/x-authorware-map",
 67   aas: "application/x-authorware-seg",
 68   air: "application/vnd.adobe.air-application-installer-package+zip",
 69   swf: "application/x-shockwave-flash",
 70   fxp: "application/vnd.adobe.fxp",
 71   pdf: "application/pdf",
 72   ppd: "application/vnd.cups-ppd",
 73   dir: "application/x-director",
 74   xdp: "application/vnd.adobe.xdp+xml",
 75   xfdf: "application/vnd.adobe.xfdf",
 76   aac: "audio/x-aac",
 77   ahead: "application/vnd.ahead.space",
 78   azf: "application/vnd.airzip.filesecure.azf",
 79   azs: "application/vnd.airzip.filesecure.azs",
 80   azw: "application/vnd.amazon.ebook",
 81   ami: "application/vnd.amiga.ami",
 82   apk: "application/vnd.android.package-archive",
 83   cii: "application/vnd.anser-web-certificate-issue-initiation",
 84   fti: "application/vnd.anser-web-funds-transfer-initiation",
 85   atx: "application/vnd.antix.game-component",
 86   dmg: "application/x-apple-diskimage",
 87   mpkg: "application/vnd.apple.installer+xml",
 88   aw: "application/applixware",
 89   les: "application/vnd.hhe.lesson-player",
 90   swi: "application/vnd.aristanetworks.swi",
 91   s: "text/x-asm",
 92   atomcat: "application/atomcat+xml",
 93   atomsvc: "application/atomsvc+xml",
 94   atom: "application/atom+xml",
 95   xml: "application/atom+xml",
 96   ac: "application/pkix-attr-cert",
 97   aif: "audio/x-aiff",
 98   avi: "video/x-msvideo",
 99   aep: "application/vnd.audiograph",
100   dxf: "image/vnd.dxf",
101   dwf: "model/vnd.dwf",
102   par: "text/plain-bas",
103   bcpio: "application/x-bcpio",
104   bin: "application/octet-stream",
105   bmp: "image/bmp",
106   torrent: "application/x-bittorrent",
107   cod: "application/vnd.rim.cod",
108   mpm: "application/vnd.blueice.multipass",
109   bmi: "application/vnd.bmi",
110   sh: "application/x-sh",
111   btif: "image/prs.btif",
112   rep: "application/vnd.businessobjects",
113   bz: "application/x-bzip",
114   bz2: "application/x-bzip2",
115   csh: "application/x-csh",
116   c: "text/x-c",
117   cdxml: "application/vnd.chemdraw+xml",
118   css: "text/css",
119   cdx: "chemical/x-cdx",
120   cml: "chemical/x-cml",
121   csml: "chemical/x-csml",
122   cdbcmsg: "application/vnd.contact.cmsg",
123   cla: "application/vnd.claymore",
124   c4g: "application/vnd.clonk.c4group",
125   sub: "image/vnd.dvb.subtitle",
126   cdmia: "application/cdmi-capability",
127   cdmic: "application/cdmi-container",
128   cdmid: "application/cdmi-domain",
129   cdmio: "application/cdmi-object",
130   cdmiq: "application/cdmi-queue",
131   c11amc: "application/vnd.cluetrust.cartomobile-config",
132   c11amz: "application/vnd.cluetrust.cartomobile-config-pkg",
133   ras: "image/x-cmu-raster",
134   dae: "model/vnd.collada+xml",
135   csv: "text/csv",
136   cpt: "application/mac-compactpro",
137   wmlc: "application/vnd.wap.wmlc",
138   cgm: "image/cgm",
139   ice: "x-conference/x-cooltalk",
140   cmx: "image/x-cmx",
141   xar: "application/vnd.xara",
142   cmc: "application/vnd.cosmocaller",
143   cpio: "application/x-cpio",
144   clkx: "application/vnd.crick.clicker",
145   clkk: "application/vnd.crick.clicker.keyboard",
146   clkp: "application/vnd.crick.clicker.palette",
147   clkt: "application/vnd.crick.clicker.template",
148   clkw: "application/vnd.crick.clicker.wordbank",
149   wbs: "application/vnd.criticaltools.wbs+xml",
150   cryptonote: "application/vnd.rig.cryptonote",
151   cif: "chemical/x-cif",
152   cmdf: "chemical/x-cmdf",
153   cu: "application/cu-seeme",
154   cww: "application/prs.cww",
155   curl: "text/vnd.curl",
156   dcurl: "text/vnd.curl.dcurl",
157   mcurl: "text/vnd.curl.mcurl",
158   scurl: "text/vnd.curl.scurl",
159   car: "application/vnd.curl.car",
160   pcurl: "application/vnd.curl.pcurl",
161   cmp: "application/vnd.yellowriver-custom-menu",
162   dssc: "application/dssc+der",
163   xdssc: "application/dssc+xml",
164   deb: "application/x-debian-package",
165   uva: "audio/vnd.dece.audio",
166   uvi: "image/vnd.dece.graphic",
167   uvh: "video/vnd.dece.hd",
168   uvm: "video/vnd.dece.mobile",
169   uvu: "video/vnd.uvvu.mp4",
170   uvp: "video/vnd.dece.pd",
171   uvs: "video/vnd.dece.sd",
172   uvv: "video/vnd.dece.video",
173   dvi: "application/x-dvi",
174   seed: "application/vnd.fdsn.seed",
175   dtb: "application/x-dtbook+xml",
176   res: "application/x-dtbresource+xml",
177   ait: "application/vnd.dvb.ait",
178   svc: "application/vnd.dvb.service",
179   eol: "audio/vnd.digital-winds",
180   djvu: "image/vnd.djvu",
181   dtd: "application/xml-dtd",
182   mlp: "application/vnd.dolby.mlp",
183   wad: "application/x-doom",
184   dpg: "application/vnd.dpgraph",
185   dra: "audio/vnd.dra",
186   dfac: "application/vnd.dreamfactory",
187   dts: "audio/vnd.dts",
188   dtshd: "audio/vnd.dts.hd",
189   dwg: "image/vnd.dwg",
190   geo: "application/vnd.dynageo",
191   es: "application/ecmascript",
192   mag: "application/vnd.ecowin.chart",
193   mmr: "image/vnd.fujixerox.edmics-mmr",
194   rlc: "image/vnd.fujixerox.edmics-rlc",
195   exi: "application/exi",
196   mgz: "application/vnd.proteus.magazine",
197   epub: "application/epub+zip",
198   eml: "message/rfc822",
199   nml: "application/vnd.enliven",
200   xpr: "application/vnd.is-xpr",
201   xif: "image/vnd.xiff",
202   xfdl: "application/vnd.xfdl",
203   emma: "application/emma+xml",
204   ez2: "application/vnd.ezpix-album",
205   ez3: "application/vnd.ezpix-package",
206   fst: "image/vnd.fst",
207   fvt: "video/vnd.fvt",
208   fbs: "image/vnd.fastbidsheet",
209   fe_launch: "application/vnd.denovo.fcselayout-link",
210   f4v: "video/x-f4v",
211   flv: "video/x-flv",
212   fpx: "image/vnd.fpx",
213   npx: "image/vnd.net-fpx",
214   flx: "text/vnd.fmi.flexstor",
215   fli: "video/x-fli",
216   ftc: "application/vnd.fluxtime.clip",
217   fdf: "application/vnd.fdf",
218   f: "text/x-fortran",
219   mif: "application/vnd.mif",
220   fm: "application/vnd.framemaker",
221   fh: "image/x-freehand",
222   fsc: "application/vnd.fsc.weblaunch",
223   fnc: "application/vnd.frogans.fnc",
224   ltf: "application/vnd.frogans.ltf",
225   ddd: "application/vnd.fujixerox.ddd",
226   xdw: "application/vnd.fujixerox.docuworks",
227   xbd: "application/vnd.fujixerox.docuworks.binder",
228   oas: "application/vnd.fujitsu.oasys",
229   oa2: "application/vnd.fujitsu.oasys2",
230   oa3: "application/vnd.fujitsu.oasys3",
231   fg5: "application/vnd.fujitsu.oasysgp",
232   bh2: "application/vnd.fujitsu.oasysprs",
233   spl: "application/x-futuresplash",
234   fzs: "application/vnd.fuzzysheet",
235   g3: "image/g3fax",
236   gmx: "application/vnd.gmx",
237   gtw: "model/vnd.gtw",
238   txd: "application/vnd.genomatix.tuxedo",
239   ggb: "application/vnd.geogebra.file",
240   ggt: "application/vnd.geogebra.tool",
241   gdl: "model/vnd.gdl",
242   gex: "application/vnd.geometry-explorer",
243   gxt: "application/vnd.geonext",
244   g2w: "application/vnd.geoplan",
245   g3w: "application/vnd.geospace",
246   gsf: "application/x-font-ghostscript",
247   bdf: "application/x-font-bdf",
248   gtar: "application/x-gtar",
249   texinfo: "application/x-texinfo",
250   gnumeric: "application/x-gnumeric",
251   kml: "application/vnd.google-earth.kml+xml",
252   kmz: "application/vnd.google-earth.kmz",
253   gqf: "application/vnd.grafeq",
254   gif: "image/gif",
255   gv: "text/vnd.graphviz",
256   gac: "application/vnd.groove-account",
257   ghf: "application/vnd.groove-help",
258   gim: "application/vnd.groove-identity-message",
259   grv: "application/vnd.groove-injector",
260   gtm: "application/vnd.groove-tool-message",
261   tpl: "application/vnd.groove-tool-template",
262   vcg: "application/vnd.groove-vcard",
263   h261: "video/h261",
264   h263: "video/h263",
265   h264: "video/h264",
266   hpid: "application/vnd.hp-hpid",
267   hps: "application/vnd.hp-hps",
268   hdf: "application/x-hdf",
269   rip: "audio/vnd.rip",
270   hbci: "application/vnd.hbci",
271   jlt: "application/vnd.hp-jlyt",
272   pcl: "application/vnd.hp-pcl",
273   hpgl: "application/vnd.hp-hpgl",
274   hvs: "application/vnd.yamaha.hv-script",
275   hvd: "application/vnd.yamaha.hv-dic",
276   hvp: "application/vnd.yamaha.hv-voice",
277   "sfd-hdstx": "application/vnd.hydrostatix.sof-data",
278   stk: "application/hyperstudio",
279   hal: "application/vnd.hal+xml",
280   html: "text/html",
281   irm: "application/vnd.ibm.rights-management",
282   sc: "application/vnd.ibm.secure-container",
283   ics: "text/calendar",
284   icc: "application/vnd.iccprofile",
285   ico: "image/x-icon",
286   icns: "image/x-icon",
287   cur: "image/x-icon",
288   igl: "application/vnd.igloader",
289   ief: "image/ief",
290   ivp: "application/vnd.immervision-ivp",
291   ivu: "application/vnd.immervision-ivu",
292   rif: "application/reginfo+xml",
293   "3dml": "text/vnd.in3d.3dml",
294   spot: "text/vnd.in3d.spot",
295   igs: "model/iges",
296   i2g: "application/vnd.intergeo",
297   cdy: "application/vnd.cinderella",
298   xpw: "application/vnd.intercon.formnet",
299   fcs: "application/vnd.isac.fcs",
300   ipfix: "application/ipfix",
301   cer: "application/pkix-cert",
302   pki: "application/pkixcmp",
303   crl: "application/pkix-crl",
304   pkipath: "application/pkix-pkipath",
305   igm: "application/vnd.insors.igm",
306   rcprofile: "application/vnd.ipunplugged.rcprofile",
307   irp: "application/vnd.irepository.package+xml",
308   jad: "text/vnd.sun.j2me.app-descriptor",
309   jar: "application/java-archive",
310   class: "application/java-vm",
311   jnlp: "application/x-java-jnlp-file",
312   ser: "application/java-serialized-object",
313   java: "text/x-java-sourcejava",
314   js: "application/javascript",
315   json: "application/json",
316   joda: "application/vnd.joost.joda-archive",
317   jpm: "video/jpm",
318   jpeg: "image/jpeg",
319   jpe: "image/jpeg",
320   jpg: "image/jpeg",
321   pjpeg: "image/pjpeg",
322   jpgv: "video/jpeg",
323   ktz: "application/vnd.kahootz",
324   mmd: "application/vnd.chipnuts.karaoke-mmd",
325   karbon: "application/vnd.kde.karbon",
326   chrt: "application/vnd.kde.kchart",
327   kfo: "application/vnd.kde.kformula",
328   flw: "application/vnd.kde.kivio",
329   kon: "application/vnd.kde.kontour",
330   kpr: "application/vnd.kde.kpresenter",
331   ksp: "application/vnd.kde.kspread",
332   kwd: "application/vnd.kde.kword",
333   htke: "application/vnd.kenameaapp",
334   kia: "application/vnd.kidspiration",
335   kne: "application/vnd.kinar",
336   sse: "application/vnd.kodak-descriptor",
337   lasxml: "application/vnd.las.las+xml",
338   latex: "application/x-latex",
339   lbd: "application/vnd.llamagraphics.life-balance.desktop",
340   lbe: "application/vnd.llamagraphics.life-balance.exchange+xml",
341   jam: "application/vnd.jam",
342   "123": "application/vnd.lotus-1-2-3",
343   apr: "application/vnd.lotus-approach",
344   pre: "application/vnd.lotus-freelance",
345   nsf: "application/vnd.lotus-notes",
346   org: "application/vnd.lotus-organizer",
347   scm: "application/vnd.lotus-screencam",
348   lwp: "application/vnd.lotus-wordpro",
349   lvp: "audio/vnd.lucent.voice",
350   m3u: "audio/x-mpegurl",
351   m4v: "video/x-m4v",
352   hqx: "application/mac-binhex40",
353   portpkg: "application/vnd.macports.portpkg",
354   mgp: "application/vnd.osgeo.mapguide.package",
355   mrc: "application/marc",
356   mrcx: "application/marcxml+xml",
357   mxf: "application/mxf",
358   nbp: "application/vnd.wolfram.player",
359   ma: "application/mathematica",
360   mathml: "application/mathml+xml",
361   mbox: "application/mbox",
362   mc1: "application/vnd.medcalcdata",
363   mscml: "application/mediaservercontrol+xml",
364   cdkey: "application/vnd.mediastation.cdkey",
365   mwf: "application/vnd.mfer",
366   mfm: "application/vnd.mfmp",
367   msh: "model/mesh",
368   mads: "application/mads+xml",
369   mets: "application/mets+xml",
370   mods: "application/mods+xml",
371   meta4: "application/metalink4+xml",
372   mcd: "application/vnd.mcd",
373   flo: "application/vnd.micrografx.flo",
374   igx: "application/vnd.micrografx.igx",
375   es3: "application/vnd.eszigno3+xml",
376   mdb: "application/x-msaccess",
377   asf: "video/x-ms-asf",
378   exe: "application/x-msdownload",
379   cil: "application/vnd.ms-artgalry",
380   cab: "application/vnd.ms-cab-compressed",
381   ims: "application/vnd.ms-ims",
382   application: "application/x-ms-application",
383   clp: "application/x-msclip",
384   mdi: "image/vnd.ms-modi",
385   eot: "application/vnd.ms-fontobject",
386   xls: "application/ms-excel",
387   xlam: "application/vnd.ms-excel.addin.macroenabled.12",
388   xlsb: "application/vnd.ms-excel.sheet.binary.macroenabled.12",
389   xltm: "application/vnd.ms-excel.template.macroenabled.12",
390   xlsm: "application/vnd.ms-excel.sheet.macroenabled.12",
391   chm: "application/vnd.ms-htmlhelp",
392   crd: "application/x-mscardfile",
393   lrm: "application/vnd.ms-lrm",
394   mvb: "application/x-msmediaview",
395   mny: "application/x-msmoney",
396   pptx:
397     "application/vnd.openxmlformats-officedocument.presentationml.presentation",
398   sldx: "application/vnd.openxmlformats-officedocument.presentationml.slide",
399   ppsx:
400     "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
401   potx: "application/vnd.openxmlformats-officedocument.presentationml.template",
402   xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
403   xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
404   docx:
405     "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
406   dotx:
407     "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
408   obd: "application/x-msbinder",
409   thmx: "application/vnd.ms-officetheme",
410   onetoc: "application/onenote",
411   pya: "audio/vnd.ms-playready.media.pya",
412   pyv: "video/vnd.ms-playready.media.pyv",
413   ppt: "application/ms-powerpoint",
414   pps: "application/ms-powerpoint",
415   ppam: "application/vnd.ms-powerpoint.addin.macroenabled.12",
416   sldm: "application/vnd.ms-powerpoint.slide.macroenabled.12",
417   pptm: "application/vnd.ms-powerpoint.presentation.macroenabled.12",
418   ppsm: "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
419   potm: "application/vnd.ms-powerpoint.template.macroenabled.12",
420   mpp: "application/vnd.ms-project",
421   pub: "application/x-mspublisher",
422   scd: "application/x-msschedule",
423   xap: "application/x-silverlight-app",
424   stl: "application/vnd.ms-pki.stl",
425   cat: "application/vnd.ms-pki.seccat",
426   vsd: "application/vnd.visio",
427   vsdx: "application/vnd.visio2013",
428   wm: "video/x-ms-wm",
429   wma: "audio/x-ms-wma",
430   wax: "audio/x-ms-wax",
431   wmx: "video/x-ms-wmx",
432   wmd: "application/x-ms-wmd",
433   wpl: "application/vnd.ms-wpl",
434   wmz: "application/x-ms-wmz",
435   wmv: "video/x-ms-wmv",
436   wvx: "video/x-ms-wvx",
437   wmf: "application/x-msmetafile",
438   trm: "application/x-msterminal",
439   doc: "application/msword",
440   docm: "application/vnd.ms-word.document.macroenabled.12",
441   dotm: "application/vnd.ms-word.template.macroenabled.12",
442   wri: "application/x-mswrite",
443   wps: "application/vnd.ms-works",
444   xbap: "application/x-ms-xbap",
445   xps: "application/vnd.ms-xpsdocument",
446   mid: "audio/midi",
447   mpy: "application/vnd.ibm.minipay",
448   afp: "application/vnd.ibm.modcap",
449   rms: "application/vnd.jcp.javame.midlet-rms",
450   tmo: "application/vnd.tmobile-livetv",
451   prc: "application/x-mobipocket-ebook",
452   mbk: "application/vnd.mobius.mbk",
453   dis: "application/vnd.mobius.dis",
454   plc: "application/vnd.mobius.plc",
455   mqy: "application/vnd.mobius.mqy",
456   msl: "application/vnd.mobius.msl",
457   txf: "application/vnd.mobius.txf",
458   daf: "application/vnd.mobius.daf",
459   fly: "text/vnd.fly",
460   mpc: "application/vnd.mophun.certificate",
461   mpn: "application/vnd.mophun.application",
462   mj2: "video/mj2",
463   mpga: "audio/mpeg",
464   mxu: "video/vnd.mpegurl",
465   mpeg: "video/mpeg",
466   mpg: "video/mpeg",
467   m21: "application/mp21",
468   mp4a: "audio/mp4",
469   mp4: "video/mp4",
470   m4a: "video/mp4",
471   m4b: "video/mp4",
472   m4r: "video/mp4",
473   m4v: "video/mp4",
474   m3u8: "application/vnd.apple.mpegurl",
475   mus: "application/vnd.musician",
476   msty: "application/vnd.muvee.style",
477   mxml: "application/xv+xml",
478   ngdat: "application/vnd.nokia.n-gage.data",
479   "n-gage": "application/vnd.nokia.n-gage.symbian.install",
480   ncx: "application/x-dtbncx+xml",
481   nc: "application/x-netcdf",
482   nlu: "application/vnd.neurolanguage.nlu",
483   dna: "application/vnd.dna",
484   nnd: "application/vnd.noblenet-directory",
485   nns: "application/vnd.noblenet-sealer",
486   nnw: "application/vnd.noblenet-web",
487   rpst: "application/vnd.nokia.radio-preset",
488   rpss: "application/vnd.nokia.radio-presets",
489   n3: "text/n3",
490   edm: "application/vnd.novadigm.edm",
491   edx: "application/vnd.novadigm.edx",
492   ext: "application/vnd.novadigm.ext",
493   gph: "application/vnd.flographit",
494   ecelp4800: "audio/vnd.nuera.ecelp4800",
495   ecelp7470: "audio/vnd.nuera.ecelp7470",
496   ecelp9600: "audio/vnd.nuera.ecelp9600",
497   oda: "application/oda",
498   ogx: "application/ogg",
499   oga: "audio/ogg",
500   ogv: "video/ogg",
501   ogg: "video/ogg",
502   dd2: "application/vnd.oma.dd2+xml",
503   oth: "application/vnd.oasis.opendocument.text-web",
504   opf: "application/oebps-package+xml",
505   qbo: "application/vnd.intu.qbo",
506   oxt: "application/vnd.openofficeorg.extension",
507   osf: "application/vnd.yamaha.openscoreformat",
508   weba: "audio/webm",
509   webm: "video/webm",
510   odc: "application/vnd.oasis.opendocument.chart",
511   otc: "application/vnd.oasis.opendocument.chart-template",
512   odb: "application/vnd.oasis.opendocument.database",
513   odf: "application/vnd.oasis.opendocument.formula",
514   odft: "application/vnd.oasis.opendocument.formula-template",
515   odg: "application/vnd.oasis.opendocument.graphics",
516   otg: "application/vnd.oasis.opendocument.graphics-template",
517   odi: "application/vnd.oasis.opendocument.image",
518   oti: "application/vnd.oasis.opendocument.image-template",
519   odp: "application/vnd.oasis.opendocument.presentation",
520   otp: "application/vnd.oasis.opendocument.presentation-template",
521   ods: "application/vnd.oasis.opendocument.spreadsheet",
522   ots: "application/vnd.oasis.opendocument.spreadsheet-template",
523   odt: "application/vnd.oasis.opendocument.text",
524   odm: "application/vnd.oasis.opendocument.text-master",
525   ott: "application/vnd.oasis.opendocument.text-template",
526   ktx: "image/ktx",
527   sxc: "application/vnd.sun.xml.calc",
528   stc: "application/vnd.sun.xml.calc.template",
529   sxd: "application/vnd.sun.xml.draw",
530   std: "application/vnd.sun.xml.draw.template",
531   sxi: "application/vnd.sun.xml.impress",
532   sti: "application/vnd.sun.xml.impress.template",
533   sxm: "application/vnd.sun.xml.math",
534   sxw: "application/vnd.sun.xml.writer",
535   sxg: "application/vnd.sun.xml.writer.global",
536   stw: "application/vnd.sun.xml.writer.template",
537   otf: "application/x-font-otf",
538   osfpvg: "application/vnd.yamaha.openscoreformat.osfpvg+xml",
539   dp: "application/vnd.osgi.dp",
540   pdb: "application/vnd.palm",
541   p: "text/x-pascal",
542   paw: "application/vnd.pawaafile",
543   pclxl: "application/vnd.hp-pclxl",
544   efif: "application/vnd.picsel",
545   pcx: "image/x-pcx",
546   psd: "image/vnd.adobe.photoshop",
547   prf: "application/pics-rules",
548   pic: "image/x-pict",
549   chat: "application/x-chat",
550   p10: "application/pkcs10",
551   p12: "application/x-pkcs12",
552   p7m: "application/pkcs7-mime",
553   p7s: "application/pkcs7-signature",
554   p7r: "application/x-pkcs7-certreqresp",
555   p7b: "application/x-pkcs7-certificates",
556   p8: "application/pkcs8",
557   plf: "application/vnd.pocketlearn",
558   pnm: "image/x-portable-anymap",
559   pbm: "image/x-portable-bitmap",
560   pcf: "application/x-font-pcf",
561   pfr: "application/font-tdpfr",
562   pgn: "application/x-chess-pgn",
563   pgm: "image/x-portable-graymap",
564   png: "image/png",
565   ppm: "image/x-portable-pixmap",
566   pskcxml: "application/pskc+xml",
567   pml: "application/vnd.ctc-posml",
568   ai: "application/postscript",
569   pfa: "application/x-font-type1",
570   pbd: "application/vnd.powerbuilder6",
571   pgp: "application/pgp-encrypted",
572   box: "application/vnd.previewsystems.box",
573   ptid: "application/vnd.pvi.ptid1",
574   pls: "application/pls+xml",
575   str: "application/vnd.pg.format",
576   ei6: "application/vnd.pg.osasli",
577   dsc: "text/prs.lines.tag",
578   psf: "application/x-font-linux-psf",
579   qps: "application/vnd.publishare-delta-tree",
580   wg: "application/vnd.pmi.widget",
581   qxd: "application/vnd.quark.quarkxpress",
582   esf: "application/vnd.epson.esf",
583   msf: "application/vnd.epson.msf",
584   ssf: "application/vnd.epson.ssf",
585   qam: "application/vnd.epson.quickanime",
586   qfx: "application/vnd.intu.qfx",
587   qt: "video/quicktime",
588   rar: "application/x-rar-compressed",
589   ram: "audio/x-pn-realaudio",
590   rmp: "audio/x-pn-realaudio-plugin",
591   rsd: "application/rsd+xml",
592   rm: "application/vnd.rn-realmedia",
593   ra: "application/vnd.rn-realmedia",
594   rv: "application/vnd.rn-realmedia",
595   bed: "application/vnd.realvnc.bed",
596   mxl: "application/vnd.recordare.musicxml",
597   musicxml: "application/vnd.recordare.musicxml+xml",
598   rnc: "application/relax-ng-compact-syntax",
599   rdz: "application/vnd.data-vision.rdz",
600   rdf: "application/rdf+xml",
601   rp9: "application/vnd.cloanto.rp9",
602   jisp: "application/vnd.jisp",
603   rtf: "application/rtf",
604   rtx: "text/richtext",
605   link66: "application/vnd.route66.link66+xml",
606   rss: "application/rss+xml",
607   shf: "application/shf+xml",
608   st: "application/vnd.sailingtracker.track",
609   svg: "image/svg+xml",
610   svgz: "image/svg+xml",
611   sus: "application/vnd.sus-calendar",
612   sru: "application/sru+xml",
613   setpay: "application/set-payment-initiation",
614   setreg: "application/set-registration-initiation",
615   sema: "application/vnd.sema",
616   semd: "application/vnd.semd",
617   semf: "application/vnd.semf",
618   see: "application/vnd.seemail",
619   snf: "application/x-font-snf",
620   spq: "application/scvp-vp-request",
621   spp: "application/scvp-vp-response",
622   scq: "application/scvp-cv-request",
623   scs: "application/scvp-cv-response",
624   sdp: "application/sdp",
625   etx: "text/x-setext",
626   movie: "video/x-sgi-movie",
627   ifm: "application/vnd.shana.informed.formdata",
628   itp: "application/vnd.shana.informed.formtemplate",
629   iif: "application/vnd.shana.informed.interchange",
630   ipk: "application/vnd.shana.informed.package",
631   tfi: "application/thraud+xml",
632   shar: "application/x-shar",
633   rgb: "image/x-rgb",
634   slt: "application/vnd.epson.salt",
635   aso: "application/vnd.accpac.simply.aso",
636   imp: "application/vnd.accpac.simply.imp",
637   twd: "application/vnd.simtech-mindmapper",
638   csp: "application/vnd.commonspace",
639   saf: "application/vnd.yamaha.smaf-audio",
640   mmf: "application/vnd.smaf",
641   spf: "application/vnd.yamaha.smaf-phrase",
642   teacher: "application/vnd.smart.teacher",
643   svd: "application/vnd.svd",
644   rq: "application/sparql-query",
645   srx: "application/sparql-results+xml",
646   gram: "application/srgs",
647   grxml: "application/srgs+xml",
648   ssml: "application/ssml+xml",
649   skp: "application/vnd.koan",
650   sgml: "text/sgml",
651   sdc: "application/vnd.stardivision.calc",
652   sda: "application/vnd.stardivision.draw",
653   sdd: "application/vnd.stardivision.impress",
654   smf: "application/vnd.stardivision.math",
655   sdw: "application/vnd.stardivision.writer",
656   sgl: "application/vnd.stardivision.writer-global",
657   sm: "application/vnd.stepmania.stepchart",
658   sit: "application/x-stuffit",
659   sitx: "application/x-stuffitx",
660   sdkm: "application/vnd.solent.sdkm+xml",
661   xo: "application/vnd.olpc-sugar",
662   au: "audio/basic",
663   wqd: "application/vnd.wqd",
664   sis: "application/vnd.symbian.install",
665   smi: "application/smil+xml",
666   xsm: "application/vnd.syncml+xml",
667   bdm: "application/vnd.syncml.dm+wbxml",
668   xdm: "application/vnd.syncml.dm+xml",
669   sv4cpio: "application/x-sv4cpio",
670   sv4crc: "application/x-sv4crc",
671   sbml: "application/sbml+xml",
672   tsv: "text/tab-separated-values",
673   tiff: "image/tiff",
674   tao: "application/vnd.tao.intent-module-archive",
675   tar: "application/x-tar",
676   tcl: "application/x-tcl",
677   tex: "application/x-tex",
678   tfm: "application/x-tex-tfm",
679   tei: "application/tei+xml",
680   txt: "text/plain",
681   dxp: "application/vnd.spotfire.dxp",
682   sfs: "application/vnd.spotfire.sfs",
683   tsd: "application/timestamped-data",
684   tpt: "application/vnd.trid.tpt",
685   mxs: "application/vnd.triscape.mxs",
686   t: "text/troff",
687   tra: "application/vnd.trueapp",
688   ttf: "application/x-font-ttf",
689   ttl: "text/turtle",
690   umj: "application/vnd.umajin",
691   uoml: "application/vnd.uoml+xml",
692   unityweb: "application/vnd.unity",
693   ufd: "application/vnd.ufdl",
694   uri: "text/uri-list",
695   utz: "application/vnd.uiq.theme",
696   ustar: "application/x-ustar",
697   uu: "text/x-uuencode",
698   vcs: "text/x-vcalendar",
699   vcf: "text/x-vcard",
700   vcd: "application/x-cdlink",
701   vsf: "application/vnd.vsf",
702   wrl: "model/vrml",
703   vcx: "application/vnd.vcx",
704   mts: "model/vnd.mts",
705   vtu: "model/vnd.vtu",
706   vis: "application/vnd.visionary",
707   viv: "video/vnd.vivo",
708   ccxml: "application/ccxml+xml",
709   vxml: "application/voicexml+xml",
710   src: "application/x-wais-source",
711   wbxml: "application/vnd.wap.wbxml",
712   wbmp: "image/vnd.wap.wbmp",
713   wav: "audio/x-wav",
714   davmount: "application/davmount+xml",
715   woff: "application/x-font-woff",
716   wspolicy: "application/wspolicy+xml",
717   webp: "image/webp",
718   wtb: "application/vnd.webturbo",
719   wgt: "application/widget",
720   hlp: "application/winhlp",
721   wml: "text/vnd.wap.wml",
722   wmls: "text/vnd.wap.wmlscript",
723   wmlsc: "application/vnd.wap.wmlscriptc",
724   wpd: "application/vnd.wordperfect",
725   stf: "application/vnd.wt.stf",
726   wsdl: "application/wsdl+xml",
727   xbm: "image/x-xbitmap",
728   xpm: "image/x-xpixmap",
729   xwd: "image/x-xwindowdump",
730   der: "application/x-x509-ca-cert",
731   fig: "application/x-xfig",
732   xhtml: "application/xhtml+xml",
733   xdf: "application/xcap-diff+xml",
734   xenc: "application/xenc+xml",
735   xer: "application/patch-ops-error+xml",
736   rl: "application/resource-lists+xml",
737   rs: "application/rls-services+xml",
738   rld: "application/resource-lists-diff+xml",
739   xslt: "application/xslt+xml",
740   xop: "application/xop+xml",
741   xpi: "application/x-xpinstall",
742   xspf: "application/xspf+xml",
743   xul: "application/vnd.mozilla.xul+xml",
744   xyz: "chemical/x-xyz",
745   yaml: "text/yaml",
746   yang: "application/yang",
747   yin: "application/yin+xml",
748   zir: "application/vnd.zul",
749   zip: "application/zip",
750   zmm: "application/vnd.handheld-entertainment+xml",
751   zaz: "application/vnd.zzazz.deck+xml",
752   xmp: "application/octet-stream",
753   mov: "video/quicktime",
754   ini: "text/plain",
755   mp3: "audio/x-mpeg",
756 };
757 
758 main();
759