1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424: 425: 426: 427: 428: 429: 430: 431: 432: 433: 434: 435: 436: 437: 438: 439: 440: 441: 442: 443: 444: 445: 446: 447: 448: 449: 450: 451: 452: 453: 454: 455: 456: 457: 458: 459: 460: 461: 462: 463: 464: 465: 466: 467: 468: 469: 470: 471: 472: 473: 474: 475: 476: 477: 478: 479: 480: 481: 482: 483: 484: 485: 486: 487: 488: 489: 490: 491: 492: 493: 494: 495: 496: 497: 498: 499: 500: 501: 502: 503: 504: 505: 506: 507: 508: 509: 510: 511: 512: 513: 514: 515: 516: 517: 518: 519: 520: 521: 522: 523: 524: 525: 526: 527: 528: 529: 530: 531: 532: 533: 534: 535: 536: 537: 538: 539: 540: 541: 542: 543: 544: 545: 546: 547: 548: 549: 550: 551: 552: 553: 554: 555: 556: 557: 558: 559: 560: 561: 562: 563: 564: 565: 566: 567: 568: 569: 570: 571: 572: 573: 574: 575: 576: 577: 578: 579: 580: 581: 582: 583: 584: 585: 586: 587: 588: 589: 590: 591: 592: 593: 594: 595: 596: 597: 598: 599: 600: 601: 602: 603: 604: 605: 606: 607: 608: 609: 610: 611: 612: 613: 614: 615: 616: 617: 618: 619: 620: 621: 622: 623: 624: 625: 626: 627: 628: 629: 630: 631: 632: 633: 634: 635: 636: 637: 638: 639: 640: 641: 642: 643: 644: 645: 646: 647: 648: 649: 650: 651: 652: 653: 654: 655: 656: 657: 658: 659: 660: 661: 662: 663: 664: 665: 666: 667: 668: 669: 670: 671: 672: 673: 674: 675: 676: 677: 678: 679: 680: 681: 682: 683: 684: 685: 686: 687: 688: 689: 690: 691: 692: 693: 694: 695: 696: 697: 698: 699: 700: 701: 702: 703: 704: 705: 706: 707: 708: 709: 710: 711: 712: 713: 714: 715: 716: 717: 718: 719: 720: 721: 722: 723: 724: 725: 726: 727: 728: 729: 730: 731: 732: 733: 734: 735: 736: 737: 738: 739: 740: 741: 742: 743: 744: 745: 746: 747: 748: 749: 750: 751: 752: 753: 754: 755: 756: 757: 758: 759: 760: 761: 762: 763: 764: 765: 766: 767: 768: 769: 770: 771: 772: 773: 774: 775: 776: 777: 778: 779: 780: 781: 782: 783: 784: 785: 786: 787: 788: 789: 790: 791: 792: 793: 794: 795: 796: 797: 798: 799: 800: 801: 802: 803: 804: 805: 806: 807: 808: 809: 810: 811: 812: 813: 814: 815: 816: 817: 818: 819: 820: 821: 822: 823: 824: 825: 826: 827: 828: 829: 830: 831: 832: 833: 834: 835: 836: 837: 838: 839: 840: 841: 842: 843: 844: 845: 846: 847: 848: 849: 850: 851: 852: 853: 854: 855: 856: 857: 858: 859: 860: 861: 862: 863: 864: 865: 866: 867: 868: 869: 870: 871: 872: 873: 874: 875: 876: 877: 878: 879: 880: 881: 882: 883: 884: 885: 886: 887: 888: 889: 890: 891: 892: 893: 894: 895: 896: 897: 898: 899: 900: 901: 902: 903: 904: 905: 906: 907: 908: 909: 910: 911: 912: 913: 914: 915: 916: 917: 918: 919: 920: 921: 922: 923: 924: 925: 926: 927: 928: 929: 930: 931: 932: 933: 934: 935: 936: 937: 938: 939: 940: 941: 942: 943: 944: 945: 946: 947: 948: 949: 950: 951: 952: 953: 954: 955: 956: 957: 958: 959: 960: 961: 962: 963: 964: 965: 966: 967: 968: 969: 970: 971: 972: 973: 974: 975: 976: 977: 978: 979: 980: 981: 982: 983: 984: 985: 986: 987: 988: 989: 990: 991: 992: 993: 994: 995: 996: 997: 998: 999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 1154: 1155: 1156: 1157: 1158: 1159: 1160: 1161: 1162: 1163: 1164: 1165: 1166: 1167: 1168: 1169: 1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177: 1178: 1179: 1180: 1181: 1182: 1183: 1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191: 1192: 1193: 1194: 1195: 1196: 1197: 1198: 1199: 1200: 1201: 1202: 1203: 1204: 1205: 1206: 1207: 1208: 1209: 1210: 1211: 1212: 1213: 1214: 1215: 1216: 1217: 1218: 1219: 1220: 1221: 1222: 1223: 1224: 1225: 1226: 1227: 1228: 1229: 1230: 1231: 1232: 1233: 1234: 1235: 1236: 1237: 1238: 1239: 1240: 1241: 1242: 1243: 1244: 1245: 1246: 1247: 1248: 1249: 1250: 1251: 1252: 1253: 1254: 1255: 1256: 1257: 1258: 1259: 1260: 1261: 1262: 1263: 1264: 1265: 1266: 1267: 1268: 1269: 1270: 1271: 1272: 1273: 1274: 1275: 1276: 1277: 1278: 1279: 1280: 1281: 1282: 1283: 1284: 1285: 1286: 1287: 1288: 1289: 1290: 1291: 1292: 1293: 1294: 1295: 1296: 1297: 1298: 1299: 1300: 1301: 1302: 1303: 1304: 1305: 1306: 1307: 1308: 1309: 1310: 1311: 1312: 1313: 1314: 1315: 1316: 1317: 1318: 1319: 1320: 1321: 1322: 1323: 1324: 1325: 1326: 1327: 1328: 1329: 1330: 1331: 1332: 1333: 1334: 1335: 1336: 1337: 1338: 1339: 1340: 1341: 1342: 1343: 1344: 1345: 1346: 1347: 1348: 1349: 1350: 1351: 1352: 1353: 1354: 1355: 1356: 1357: 1358: 1359: 1360: 1361: 1362: 1363: 1364: 1365: 1366: 1367: 1368: 1369: 1370: 1371: 1372: 1373: 1374: 1375: 1376: 1377: 1378: 1379: 1380: 1381: 1382: 1383: 1384: 1385: 1386: 1387: 1388: 1389: 1390: 1391: 1392: 1393: 1394: 1395: 1396: 1397: 1398: 1399: 1400: 1401: 1402: 1403: 1404: 1405: 1406: 1407: 1408: 1409: 1410: 1411: 1412: 1413: 1414: 1415: 1416: 1417: 1418: 1419: 1420: 1421: 1422: 1423: 1424: 1425: 1426: 1427: 1428: 1429: 1430: 1431: 1432: 1433: 1434: 1435: 1436: 1437: 1438: 1439: 1440: 1441: 1442: 1443: 1444: 1445: 1446: 1447: 1448: 1449: 1450: 1451: 1452: 1453: 1454: 1455: 1456: 1457: 1458: 1459: 1460: 1461: 1462: 1463: 1464: 1465: 1466: 1467: 1468: 1469: 1470: 1471: 1472: 1473: 1474: 1475: 1476: 1477: 1478: 1479: 1480: 1481: 1482: 1483: 1484: 1485: 1486: 1487: 1488: 1489: 1490: 1491: 1492: 1493: 1494: 1495: 1496: 1497: 1498: 1499: 1500: 1501: 1502: 1503: 1504: 1505: 1506: 1507: 1508: 1509: 1510: 1511: 1512: 1513: 1514: 1515: 1516: 1517: 1518: 1519: 1520: 1521: 1522: 1523: 1524: 1525: 1526: 1527: 1528: 1529: 1530: 1531: 1532: 1533: 1534: 1535: 1536: 1537: 1538: 1539: 1540: 1541: 1542: 1543: 1544: 1545: 1546: 1547: 1548: 1549: 1550: 1551: 1552: 1553: 1554: 1555: 1556: 1557: 1558: 1559: 1560: 1561: 1562: 1563: 1564: 1565: 1566: 1567: 1568: 1569: 1570: 1571: 1572: 1573: 1574: 1575: 1576: 1577: 1578: 1579: 1580: 1581: 1582: 1583: 1584: 1585: 1586: 1587: 1588: 1589: 1590: 1591: 1592: 1593: 1594: 1595: 1596: 1597: 1598: 1599: 1600: 1601: 1602: 1603: 1604: 1605: 1606: 1607: 1608: 1609: 1610: 1611: 1612: 1613: 1614: 1615: 1616: 1617: 1618: 1619: 1620: 1621: 1622: 1623: 1624: 1625: 1626: 1627: 1628: 1629: 1630: 1631: 1632: 1633: 1634: 1635: 1636: 1637: 1638: 1639: 1640: 1641: 1642: 1643: 1644: 1645: 1646: 1647: 1648: 1649: 1650: 1651: 1652: 1653: 1654: 1655: 1656: 1657: 1658: 1659: 1660: 1661: 1662: 1663: 1664: 1665: 1666: 1667: 1668: 1669: 1670: 1671: 1672: 1673: 1674: 1675: 1676: 1677: 1678: 1679: 1680: 1681: 1682: 1683: 1684: 1685: 1686: 1687: 1688: 1689: 1690: 1691: 1692: 1693: 1694: 1695: 1696: 1697: 1698: 1699: 1700: 1701: 1702: 1703: 1704: 1705: 1706: 1707: 1708: 1709: 1710: 1711: 1712: 1713: 1714: 1715: 1716: 1717: 1718: 1719: 1720: 1721: 1722: 1723: 1724: 1725: 1726: 1727: 1728: 1729: 1730: 1731: 1732: 1733: 1734: 1735: 1736: 1737: 1738: 1739: 1740: 1741: 1742: 1743: 1744: 1745: 1746: 1747: 1748: 1749: 1750: 1751: 1752: 1753: 1754: 1755: 1756: 1757: 1758: 1759: 1760: 1761: 1762: 1763: 1764: 1765: 1766: 1767: 1768: 1769: 1770: 1771: 1772: 1773: 1774: 1775: 1776: 1777: 1778: 1779: 1780: 1781: 1782: 1783: 1784: 1785: 1786: 1787: 1788: 1789: 1790: 1791: 1792: 1793: 1794: 1795: 1796: 1797: 1798: 1799: 1800: 1801: 1802: 1803: 1804: 1805: 1806: 1807: 1808: 1809: 1810: 1811: 1812: 1813: 1814: 1815: 1816: 1817: 1818: 1819: 1820: 1821: 1822: 1823: 1824: 1825: 1826: 1827: 1828: 1829: 1830: 1831: 1832: 1833: 1834: 1835: 1836: 1837: 1838: 1839: 1840: 1841: 1842: 1843: 1844: 1845: 1846: 1847: 1848: 1849: 1850: 1851: 1852: 1853: 1854: 1855: 1856: 1857: 1858: 1859: 1860: 1861: 1862: 1863: 1864: 1865: 1866: 1867: 1868: 1869: 1870: 1871: 1872: 1873: 1874: 1875: 1876: 1877: 1878: 1879: 1880: 1881: 1882: 1883: 1884: 1885: 1886: 1887: 1888: 1889: 1890: 1891: 1892: 1893: 1894: 1895: 1896: 1897: 1898: 1899: 1900: 1901: 1902: 1903: 1904: 1905: 1906: 1907: 1908: 1909: 1910: 1911: 1912: 1913: 1914: 1915: 1916: 1917: 1918: 1919: 1920: 1921: 1922: 1923: 1924: 1925: 1926: 1927: 1928: 1929: 1930: 1931: 1932: 1933: 1934: 1935: 1936: 1937: 1938: 1939: 1940: 1941: 1942: 1943: 1944: 1945: 1946: 1947: 1948: 1949: 1950: 1951: 1952: 1953: 1954: 1955: 1956: 1957: 1958: 1959: 1960: 1961: 1962: 1963: 1964: 1965: 1966: 1967: 1968: 1969: 1970: 1971: 1972: 1973: 1974: 1975: 1976: 1977: 1978: 1979: 1980: 1981: 1982: 1983: 1984: 1985: 1986: 1987: 1988: 1989: 1990: 1991: 1992: 1993: 1994: 1995: 1996: 1997: 1998: 1999: 2000: 2001: 2002: 2003: 2004: 2005: 2006: 2007: 2008: 2009: 2010: 2011: 2012: 2013: 2014: 2015: 2016: 2017: 2018: 2019: 2020: 2021: 2022: 2023: 2024: 2025: 2026: 2027: 2028: 2029: 2030: 2031: 2032: 2033: 2034: 2035: 2036: 2037: 2038: 2039: 2040: 2041: 2042: 2043: 2044: 2045: 2046: 2047: 2048: 2049: 2050: 2051: 2052: 2053: 2054: 2055: 2056: 2057: 2058: 2059: 2060: 2061: 2062: 2063: 2064: 2065: 2066: 2067: 2068: 2069: 2070: 2071: 2072: 2073: 2074: 2075: 2076: 2077: 2078: 2079: 2080: 2081: 2082: 2083: 2084: 2085: 2086: 2087: 2088: 2089: 2090: 2091: 2092: 2093: 2094: 2095: 2096: 2097: 2098: 2099: 2100: 2101: 2102: 2103: 2104: 2105: 2106: 2107: 2108: 2109: 2110: 2111: 2112: 2113: 2114: 2115: 2116: 2117: 2118: 2119: 2120: 2121: 2122: 2123: 2124: 2125: 2126: 2127: 2128: 2129: 2130: 2131: 2132: 2133: 2134: 2135: 2136: 2137: 2138: 2139: 2140: 2141: 2142: 2143: 2144: 2145: 2146: 2147: 2148: 2149: 2150: 2151: 2152: 2153: 2154: 2155: 2156: 2157: 2158: 2159: 2160: 2161: 2162: 2163: 2164: 2165: 2166: 2167: 2168: 2169: 2170: 2171: 2172: 2173: 2174: 2175: 2176: 2177: 2178: 2179: 2180: 2181: 2182: 2183: 2184: 2185: 2186: 2187: 2188: 2189: 2190: 2191: 2192: 2193: 2194: 2195: 2196: 2197: 2198: 2199: 2200: 2201: 2202: 2203: 2204: 2205: 2206: 2207: 2208: 2209: 2210: 2211: 2212: 2213: 2214: 2215: 2216: 2217: 2218: 2219: 2220: 2221: 2222: 2223: 2224: 2225: 2226: 2227: 2228: 2229: 2230: 2231: 2232: 2233: 2234: 2235: 2236: 2237: 2238: 2239: 2240: 2241: 2242: 2243: 2244: 2245: 2246: 2247: 2248: 2249: 2250: 2251: 2252: 2253: 2254: 2255: 2256: 2257: 2258: 2259: 2260: 2261: 2262: 2263: 2264: 2265: 2266: 2267: 2268: 2269: 2270: 2271: 2272: 2273: 2274: 2275: 2276: 2277: 2278: 2279: 2280: 2281: 2282: 2283: 2284: 2285: 2286: 2287: 2288: 2289: 2290: 2291: 2292: 2293: 2294: 2295: 2296: 2297: 2298: 2299: 2300: 2301: 2302: 2303: 2304: 2305: 2306: 2307: 2308: 2309: 2310: 2311: 2312: 2313: 2314: 2315: 2316: 2317: 2318: 2319: 2320: 2321: 2322: 2323: 2324: 2325: 2326: 2327: 2328: 2329: 2330: 2331: 2332: 2333: 2334: 2335: 2336: 2337: 2338: 2339: 2340: 2341: 2342: 2343: 2344: 2345: 2346: 2347: 2348: 2349: 2350: 2351: 2352: 2353: 2354: 2355: 2356: 2357: 2358: 2359: 2360: 2361: 2362: 2363: 2364: 2365: 2366: 2367: 2368: 2369: 2370: 2371: 2372: 2373: 2374: 2375: 2376: 2377: 2378: 2379: 2380: 2381: 2382: 2383: 2384: 2385: 2386: 2387: 2388: 2389: 2390: 2391: 2392: 2393: 2394: 2395: 2396: 2397: 2398: 2399: 2400: 2401: 2402: 2403: 2404: 2405: 2406: 2407: 2408: 2409: 2410: 2411: 2412: 2413: 2414: 2415: 2416: 2417: 2418: 2419: 2420: 2421: 2422: 2423: 2424: 2425: 2426: 2427: 2428: 2429: 2430: 2431: 2432: 2433: 2434: 2435: 2436: 2437: 2438: 2439: 2440: 2441: 2442: 2443: 2444: 2445: 2446: 2447: 2448: 2449: 2450: 2451: 2452: 2453: 2454: 2455: 2456: 2457: 2458: 2459: 2460: 2461: 2462: 2463: 2464: 2465: 2466: 2467: 2468: 2469: 2470: 2471: 2472: 2473: 2474: 2475: 2476: 2477: 2478: 2479: 2480: 2481: 2482: 2483: 2484: 2485: 2486: 2487: 2488: 2489: 2490: 2491: 2492: 2493: 2494: 2495: 2496: 2497: 2498: 2499: 2500: 2501: 2502: 2503: 2504: 2505: 2506: 2507: 2508: 2509: 2510: 2511: 2512: 2513: 2514: 2515: 2516: 2517: 2518: 2519: 2520: 2521: 2522: 2523: 2524: 2525: 2526: 2527: 2528: 2529: 2530: 2531: 2532: 2533: 2534: 2535: 2536: 2537: 2538: 2539: 2540: 2541: 2542: 2543: 2544: 2545: 2546: 2547: 2548: 2549: 2550: 2551: 2552: 2553: 2554: 2555: 2556: 2557: 2558: 2559: 2560: 2561: 2562: 2563: 2564: 2565: 2566: 2567: 2568: 2569: 2570: 2571: 2572: 2573: 2574: 2575: 2576: 2577: 2578: 2579: 2580: 2581: 2582: 2583: 2584: 2585: 2586: 2587: 2588: 2589: 2590: 2591: 2592: 2593: 2594: 2595: 2596: 2597: 2598: 2599: 2600: 2601: 2602: 2603: 2604: 2605: 2606: 2607: 2608: 2609: 2610: 2611: 2612: 2613: 2614: 2615: 2616: 2617: 2618: 2619: 2620: 2621: 2622:
<?php
/**
* MvcCore
*
* This source file is subject to the BSD 3 License
* For the full copyright and license information, please view
* the LICENSE.md file that are distributed with this source code.
*
* @copyright Copyright (c) 2016 Tom Flidr (https://github.com/mvccore)
* @license https://mvccore.github.io/docs/mvccore/5.0.0/LICENCE.md
*/
namespace MvcCore\Ext\Tools;
/**
* Responsibility - return extension(s) by mimetype or mimetype(s) by extension.
*
*
* DO NOT EDIT THIS FILE DIRECTLY AND USE BUILD SCRIPTS INSTEAD:
* - FOR WINDOWS:
* - TO DOWNLOAD DATA AND BUILD: `/scripts/build.bat`
* - TO REBUILD ONLY: `/scripts/rebuild_php_only.bat`
* - FOR UNIX/IOS:
* - TO DOWNLOAD DATA AND BUILD: `/scripts/build.sh`
* - TO REBUILD ONLY: `/scripts/rebuild_php_only.sh`
*
*
*/
class MimeTypesExtensions {
/**
* MvcCore - version:
* Comparison by PHP function `version_compare();`.
* @see http://php.net/manual/en/function.version-compare.php
*/
const VERSION = '5.0.0';
/**
* Array with mime types and their extensions.
* Key is mimetype string and value is
* array with string extensions.
* @var array
*/
protected static $mimesExts = [
'application/acad' => ['dwg'],
'application/andrew-inset' => ['ez'],
'application/applixware' => ['aw'],
'application/arj' => ['arj'],
'application/atom+xml' => ['atom'],
'application/atomcat+xml' => ['atomcat'],
'application/atomdeleted+xml' => ['atomdeleted'],
'application/atomsvc+xml' => ['atomsvc'],
'application/atsc-dwd+xml' => ['dwd'],
'application/atsc-held+xml' => ['held'],
'application/atsc-rsat+xml' => ['rsat'],
'application/base64' => ['mm','mme'],
'application/bdoc' => ['bdoc'],
'application/binhex' => ['hqx'],
'application/binhex4' => ['hqx'],
'application/book' => ['boo','book'],
'application/calendar+xml' => ['xcs'],
'application/ccxml+xml' => ['ccxml'],
'application/cdf' => ['cdf'],
'application/cdfx+xml' => ['cdfx'],
'application/cdmi-capability' => ['cdmia'],
'application/cdmi-container' => ['cdmic'],
'application/cdmi-domain' => ['cdmid'],
'application/cdmi-object' => ['cdmio'],
'application/cdmi-queue' => ['cdmiq'],
'application/clariscad' => ['ccad'],
'application/commonground' => ['dp'],
'application/cu-seeme' => ['cu'],
'application/dash+xml' => ['mpd'],
'application/davmount+xml' => ['davmount'],
'application/docbook+xml' => ['dbk'],
'application/drafting' => ['drw'],
'application/dsptype' => ['tsp'],
'application/dssc+der' => ['dssc'],
'application/dssc+xml' => ['xdssc'],
'application/dxf' => ['dxf'],
'application/ecmascript' => ['ecma','es','js'],
'application/emma+xml' => ['emma'],
'application/emotionml+xml' => ['emotionml'],
'application/envoy' => ['evy'],
'application/epub+zip' => ['epub'],
'application/excel' => ['xl','xla','xlb','xlc','xld','xlk','xll','xlm','xls','xlt','xlv','xlw'],
'application/exi' => ['exi'],
'application/fdt+xml' => ['fdt'],
'application/font-tdpfr' => ['pfr'],
'application/fractals' => ['fif'],
'application/freeloader' => ['frl'],
'application/futuresplash' => ['spl'],
'application/geo+json' => ['geojson'],
'application/gml+xml' => ['gml'],
'application/gnutar' => ['tgz'],
'application/gpx+xml' => ['gpx'],
'application/groupwise' => ['vew'],
'application/gxf' => ['gxf'],
'application/gzip' => ['gz'],
'application/hjson' => ['hjson'],
'application/hlp' => ['hlp'],
'application/hta' => ['hta'],
'application/hyperstudio' => ['stk'],
'application/i-deas' => ['unv'],
'application/iges' => ['iges','igs'],
'application/inf' => ['inf'],
'application/inkml+xml' => ['ink','inkml'],
'application/ipfix' => ['ipfix'],
'application/its+xml' => ['its'],
'application/java' => ['class'],
'application/java-archive' => ['jar','war','ear'],
'application/java-byte-code' => ['class'],
'application/java-serialized-object' => ['ser'],
'application/java-vm' => ['class'],
'application/javascript' => ['js','mjs'],
'application/json' => ['json','map'],
'application/json5' => ['json5'],
'application/jsonml+json' => ['jsonml'],
'application/ld+json' => ['jsonld'],
'application/lgr+xml' => ['lgr'],
'application/lha' => ['lha'],
'application/lost+xml' => ['lostxml'],
'application/lzx' => ['lzx'],
'application/mac-binary' => ['bin'],
'application/mac-binhex' => ['hqx'],
'application/mac-binhex40' => ['hqx'],
'application/mac-compactpro' => ['cpt'],
'application/macbinary' => ['bin'],
'application/mads+xml' => ['mads'],
'application/manifest+json' => ['webmanifest'],
'application/marc' => ['mrc'],
'application/marcxml+xml' => ['mrcx'],
'application/mathematica' => ['ma','nb','mb'],
'application/mathml+xml' => ['mathml'],
'application/mbedlet' => ['mbd'],
'application/mbox' => ['mbox'],
'application/mcad' => ['mcd'],
'application/mediaservercontrol+xml' => ['mscml'],
'application/metalink+xml' => ['metalink'],
'application/metalink4+xml' => ['meta4'],
'application/mets+xml' => ['mets'],
'application/mime' => ['aps'],
'application/mmt-aei+xml' => ['maei'],
'application/mmt-usd+xml' => ['musd'],
'application/mods+xml' => ['mods'],
'application/mp21' => ['m21','mp21'],
'application/mp4' => ['mp4s','m4p'],
'application/mrb-consumer+xml' => ['xdf'],
'application/mrb-publish+xml' => ['xdf'],
'application/mspowerpoint' => ['pot','pps','ppt','ppz'],
'application/msword' => ['doc','dot','w6w','wiz','word'],
'application/mswrite' => ['wri'],
'application/mxf' => ['mxf'],
'application/n-quads' => ['nq'],
'application/n-triples' => ['nt'],
'application/netmc' => ['mcp'],
'application/node' => ['cjs'],
'application/octet-stream' => ['bin','dms','lrf','mar','so','dist','distz','pkg','bpk','dump','elc','deploy','exe','dll','deb','dmg','iso','img','msi','msp','msm','buffer','a','arc','arj','com','lha','lhx','lzh','lzx','o','psd','saveme','uu','zoo'],
'application/oda' => ['oda'],
'application/oebps-package+xml' => ['opf'],
'application/ogg' => ['ogx'],
'application/omdoc+xml' => ['omdoc'],
'application/onenote' => ['onetoc','onetoc2','onetmp','onepkg'],
'application/oxps' => ['oxps'],
'application/p2p-overlay+xml' => ['relo'],
'application/patch-ops-error+xml' => ['xer'],
'application/pdf' => ['pdf'],
'application/pgp-encrypted' => ['pgp'],
'application/pgp-signature' => ['asc','sig'],
'application/pics-rules' => ['prf'],
'application/pkcs-12' => ['p12'],
'application/pkcs-crl' => ['crl'],
'application/pkcs10' => ['p10'],
'application/pkcs7-mime' => ['p7m','p7c'],
'application/pkcs7-signature' => ['p7s'],
'application/pkcs8' => ['p8'],
'application/pkix-attr-cert' => ['ac'],
'application/pkix-cert' => ['cer','crt'],
'application/pkix-crl' => ['crl'],
'application/pkix-pkipath' => ['pkipath'],
'application/pkixcmp' => ['pki'],
'application/plain' => ['text'],
'application/pls+xml' => ['pls'],
'application/postscript' => ['ai','eps','ps'],
'application/powerpoint' => ['ppt'],
'application/pro_eng' => ['part','prt'],
'application/provenance+xml' => ['provx'],
'application/prs.cww' => ['cww'],
'application/pskc+xml' => ['pskcxml'],
'application/raml+yaml' => ['raml'],
'application/rdf+xml' => ['rdf','owl'],
'application/reginfo+xml' => ['rif'],
'application/relax-ng-compact-syntax' => ['rnc'],
'application/resource-lists+xml' => ['rl'],
'application/resource-lists-diff+xml' => ['rld'],
'application/ringing-tones' => ['rng'],
'application/rls-services+xml' => ['rs'],
'application/route-apd+xml' => ['rapd'],
'application/route-s-tsid+xml' => ['sls'],
'application/route-usd+xml' => ['rusd'],
'application/rpki-ghostbusters' => ['gbr'],
'application/rpki-manifest' => ['mft'],
'application/rpki-roa' => ['roa'],
'application/rsd+xml' => ['rsd'],
'application/rss+xml' => ['rss'],
'application/rtf' => ['rtf','rtx'],
'application/sbml+xml' => ['sbml'],
'application/scvp-cv-request' => ['scq'],
'application/scvp-cv-response' => ['scs'],
'application/scvp-vp-request' => ['spq'],
'application/scvp-vp-response' => ['spp'],
'application/sdp' => ['sdp'],
'application/sea' => ['sea'],
'application/senml+xml' => ['senmlx'],
'application/sensml+xml' => ['sensmlx'],
'application/set' => ['set'],
'application/set-payment-initiation' => ['setpay'],
'application/set-registration-initiation' => ['setreg'],
'application/shf+xml' => ['shf'],
'application/sieve' => ['siv','sieve'],
'application/sla' => ['stl'],
'application/smil' => ['smi','smil'],
'application/smil+xml' => ['smi','smil'],
'application/solids' => ['sol'],
'application/sounder' => ['sdr'],
'application/sparql-query' => ['rq'],
'application/sparql-results+xml' => ['srx'],
'application/srgs' => ['gram'],
'application/srgs+xml' => ['grxml'],
'application/sru+xml' => ['sru'],
'application/ssdl+xml' => ['ssdl'],
'application/ssml+xml' => ['ssml'],
'application/step' => ['step','stp'],
'application/streamingmedia' => ['ssm'],
'application/swid+xml' => ['swidtag'],
'application/tei+xml' => ['tei','teicorpus'],
'application/thraud+xml' => ['tfi'],
'application/timestamped-data' => ['tsd'],
'application/toml' => ['toml'],
'application/toolbook' => ['tbk'],
'application/ttml+xml' => ['ttml'],
'application/urc-ressheet+xml' => ['rsheet'],
'application/vda' => ['vda'],
'application/vnd.1000minds.decision-model+xml' => ['1km'],
'application/vnd.3gpp.pic-bw-large' => ['plb'],
'application/vnd.3gpp.pic-bw-small' => ['psb'],
'application/vnd.3gpp.pic-bw-var' => ['pvb'],
'application/vnd.3gpp2.tcap' => ['tcap'],
'application/vnd.3m.post-it-notes' => ['pwn'],
'application/vnd.accpac.simply.aso' => ['aso'],
'application/vnd.accpac.simply.imp' => ['imp'],
'application/vnd.acucobol' => ['acu'],
'application/vnd.acucorp' => ['atc','acutc'],
'application/vnd.adobe.air-application-installer-package+zip' => ['air'],
'application/vnd.adobe.formscentral.fcdt' => ['fcdt'],
'application/vnd.adobe.fxp' => ['fxp','fxpl'],
'application/vnd.adobe.xdp+xml' => ['xdp'],
'application/vnd.adobe.xfdf' => ['xfdf'],
'application/vnd.ahead.space' => ['ahead'],
'application/vnd.airzip.filesecure.azf' => ['azf'],
'application/vnd.airzip.filesecure.azs' => ['azs'],
'application/vnd.amazon.ebook' => ['azw'],
'application/vnd.americandynamics.acc' => ['acc'],
'application/vnd.amiga.ami' => ['ami'],
'application/vnd.android.package-archive' => ['apk'],
'application/vnd.anser-web-certificate-issue-initiation' => ['cii'],
'application/vnd.anser-web-funds-transfer-initiation' => ['fti'],
'application/vnd.antix.game-component' => ['atx'],
'application/vnd.apple.installer+xml' => ['mpkg'],
'application/vnd.apple.keynote' => ['key'],
'application/vnd.apple.mpegurl' => ['m3u8'],
'application/vnd.apple.numbers' => ['numbers'],
'application/vnd.apple.pages' => ['pages'],
'application/vnd.apple.pkpass' => ['pkpass'],
'application/vnd.aristanetworks.swi' => ['swi'],
'application/vnd.astraea-software.iota' => ['iota'],
'application/vnd.audiograph' => ['aep'],
'application/vnd.balsamiq.bmml+xml' => ['bmml'],
'application/vnd.blueice.multipass' => ['mpm'],
'application/vnd.bmi' => ['bmi'],
'application/vnd.businessobjects' => ['rep'],
'application/vnd.chemdraw+xml' => ['cdxml'],
'application/vnd.chipnuts.karaoke-mmd' => ['mmd'],
'application/vnd.cinderella' => ['cdy'],
'application/vnd.citationstyles.style+xml' => ['csl'],
'application/vnd.claymore' => ['cla'],
'application/vnd.cloanto.rp9' => ['rp9'],
'application/vnd.clonk.c4group' => ['c4g','c4d','c4f','c4p','c4u'],
'application/vnd.cluetrust.cartomobile-config' => ['c11amc'],
'application/vnd.cluetrust.cartomobile-config-pkg' => ['c11amz'],
'application/vnd.commonspace' => ['csp'],
'application/vnd.contact.cmsg' => ['cdbcmsg'],
'application/vnd.cosmocaller' => ['cmc'],
'application/vnd.crick.clicker' => ['clkx'],
'application/vnd.crick.clicker.keyboard' => ['clkk'],
'application/vnd.crick.clicker.palette' => ['clkp'],
'application/vnd.crick.clicker.template' => ['clkt'],
'application/vnd.crick.clicker.wordbank' => ['clkw'],
'application/vnd.criticaltools.wbs+xml' => ['wbs'],
'application/vnd.ctc-posml' => ['pml'],
'application/vnd.cups-ppd' => ['ppd'],
'application/vnd.curl.car' => ['car'],
'application/vnd.curl.pcurl' => ['pcurl'],
'application/vnd.dart' => ['dart'],
'application/vnd.data-vision.rdz' => ['rdz'],
'application/vnd.dece.data' => ['uvf','uvvf','uvd','uvvd'],
'application/vnd.dece.ttml+xml' => ['uvt','uvvt'],
'application/vnd.dece.unspecified' => ['uvx','uvvx'],
'application/vnd.dece.zip' => ['uvz','uvvz'],
'application/vnd.denovo.fcselayout-link' => ['fe_launch'],
'application/vnd.dna' => ['dna'],
'application/vnd.dolby.mlp' => ['mlp'],
'application/vnd.dpgraph' => ['dpg'],
'application/vnd.dreamfactory' => ['dfac'],
'application/vnd.ds-keypoint' => ['kpxx'],
'application/vnd.dvb.ait' => ['ait'],
'application/vnd.dvb.service' => ['svc'],
'application/vnd.dynageo' => ['geo'],
'application/vnd.ecowin.chart' => ['mag'],
'application/vnd.enliven' => ['nml'],
'application/vnd.epson.esf' => ['esf'],
'application/vnd.epson.msf' => ['msf'],
'application/vnd.epson.quickanime' => ['qam'],
'application/vnd.epson.salt' => ['slt'],
'application/vnd.epson.ssf' => ['ssf'],
'application/vnd.eszigno3+xml' => ['es3','et3'],
'application/vnd.ezpix-album' => ['ez2'],
'application/vnd.ezpix-package' => ['ez3'],
'application/vnd.fdf' => ['fdf'],
'application/vnd.fdsn.mseed' => ['mseed'],
'application/vnd.fdsn.seed' => ['seed','dataless'],
'application/vnd.flographit' => ['gph'],
'application/vnd.fluxtime.clip' => ['ftc'],
'application/vnd.framemaker' => ['fm','frame','maker','book'],
'application/vnd.frogans.fnc' => ['fnc'],
'application/vnd.frogans.ltf' => ['ltf'],
'application/vnd.fsc.weblaunch' => ['fsc'],
'application/vnd.fujitsu.oasys' => ['oas'],
'application/vnd.fujitsu.oasys2' => ['oa2'],
'application/vnd.fujitsu.oasys3' => ['oa3'],
'application/vnd.fujitsu.oasysgp' => ['fg5'],
'application/vnd.fujitsu.oasysprs' => ['bh2'],
'application/vnd.fujixerox.ddd' => ['ddd'],
'application/vnd.fujixerox.docuworks' => ['xdw'],
'application/vnd.fujixerox.docuworks.binder' => ['xbd'],
'application/vnd.fuzzysheet' => ['fzs'],
'application/vnd.genomatix.tuxedo' => ['txd'],
'application/vnd.geogebra.file' => ['ggb'],
'application/vnd.geogebra.tool' => ['ggt'],
'application/vnd.geometry-explorer' => ['gex','gre'],
'application/vnd.geonext' => ['gxt'],
'application/vnd.geoplan' => ['g2w'],
'application/vnd.geospace' => ['g3w'],
'application/vnd.gmx' => ['gmx'],
'application/vnd.google-apps.document' => ['gdoc'],
'application/vnd.google-apps.presentation' => ['gslides'],
'application/vnd.google-apps.spreadsheet' => ['gsheet'],
'application/vnd.google-earth.kml+xml' => ['kml'],
'application/vnd.google-earth.kmz' => ['kmz'],
'application/vnd.grafeq' => ['gqf','gqs'],
'application/vnd.groove-account' => ['gac'],
'application/vnd.groove-help' => ['ghf'],
'application/vnd.groove-identity-message' => ['gim'],
'application/vnd.groove-injector' => ['grv'],
'application/vnd.groove-tool-message' => ['gtm'],
'application/vnd.groove-tool-template' => ['tpl'],
'application/vnd.groove-vcard' => ['vcg'],
'application/vnd.hal+xml' => ['hal'],
'application/vnd.handheld-entertainment+xml' => ['zmm'],
'application/vnd.hbci' => ['hbci'],
'application/vnd.hhe.lesson-player' => ['les'],
'application/vnd.hp-hpgl' => ['hpgl','hgl','hpg'],
'application/vnd.hp-hpid' => ['hpid'],
'application/vnd.hp-hps' => ['hps'],
'application/vnd.hp-jlyt' => ['jlt'],
'application/vnd.hp-pcl' => ['pcl'],
'application/vnd.hp-pclxl' => ['pclxl'],
'application/vnd.hydrostatix.sof-data' => ['sfd-hdstx'],
'application/vnd.ibm.minipay' => ['mpy'],
'application/vnd.ibm.modcap' => ['afp','listafp','list3820'],
'application/vnd.ibm.rights-management' => ['irm'],
'application/vnd.ibm.secure-container' => ['sc'],
'application/vnd.iccprofile' => ['icc','icm'],
'application/vnd.igloader' => ['igl'],
'application/vnd.immervision-ivp' => ['ivp'],
'application/vnd.immervision-ivu' => ['ivu'],
'application/vnd.insors.igm' => ['igm'],
'application/vnd.intercon.formnet' => ['xpw','xpx'],
'application/vnd.intergeo' => ['i2g'],
'application/vnd.intu.qbo' => ['qbo'],
'application/vnd.intu.qfx' => ['qfx'],
'application/vnd.ipunplugged.rcprofile' => ['rcprofile'],
'application/vnd.irepository.package+xml' => ['irp'],
'application/vnd.is-xpr' => ['xpr'],
'application/vnd.isac.fcs' => ['fcs'],
'application/vnd.jam' => ['jam'],
'application/vnd.jcp.javame.midlet-rms' => ['rms'],
'application/vnd.jisp' => ['jisp'],
'application/vnd.joost.joda-archive' => ['joda'],
'application/vnd.kahootz' => ['ktz','ktr'],
'application/vnd.kde.karbon' => ['karbon'],
'application/vnd.kde.kchart' => ['chrt'],
'application/vnd.kde.kformula' => ['kfo'],
'application/vnd.kde.kivio' => ['flw'],
'application/vnd.kde.kontour' => ['kon'],
'application/vnd.kde.kpresenter' => ['kpr','kpt'],
'application/vnd.kde.kspread' => ['ksp'],
'application/vnd.kde.kword' => ['kwd','kwt'],
'application/vnd.kenameaapp' => ['htke'],
'application/vnd.kidspiration' => ['kia'],
'application/vnd.kinar' => ['kne','knp'],
'application/vnd.koan' => ['skp','skd','skt','skm'],
'application/vnd.kodak-descriptor' => ['sse'],
'application/vnd.las.las+xml' => ['lasxml'],
'application/vnd.llamagraphics.life-balance.desktop' => ['lbd'],
'application/vnd.llamagraphics.life-balance.exchange+xml' => ['lbe'],
'application/vnd.lotus-1-2-3' => ['123'],
'application/vnd.lotus-approach' => ['apr'],
'application/vnd.lotus-freelance' => ['pre'],
'application/vnd.lotus-notes' => ['nsf'],
'application/vnd.lotus-organizer' => ['org'],
'application/vnd.lotus-screencam' => ['scm'],
'application/vnd.lotus-wordpro' => ['lwp'],
'application/vnd.macports.portpkg' => ['portpkg'],
'application/vnd.mcd' => ['mcd'],
'application/vnd.medcalcdata' => ['mc1'],
'application/vnd.mediastation.cdkey' => ['cdkey'],
'application/vnd.mfer' => ['mwf'],
'application/vnd.mfmp' => ['mfm'],
'application/vnd.micrografx.flo' => ['flo'],
'application/vnd.micrografx.igx' => ['igx'],
'application/vnd.mif' => ['mif'],
'application/vnd.mobius.daf' => ['daf'],
'application/vnd.mobius.dis' => ['dis'],
'application/vnd.mobius.mbk' => ['mbk'],
'application/vnd.mobius.mqy' => ['mqy'],
'application/vnd.mobius.msl' => ['msl'],
'application/vnd.mobius.plc' => ['plc'],
'application/vnd.mobius.txf' => ['txf'],
'application/vnd.mophun.application' => ['mpn'],
'application/vnd.mophun.certificate' => ['mpc'],
'application/vnd.mozilla.xul+xml' => ['xul'],
'application/vnd.ms-artgalry' => ['cil'],
'application/vnd.ms-cab-compressed' => ['cab'],
'application/vnd.ms-excel' => ['xls','xlm','xla','xlc','xlt','xlw','xlb','xll'],
'application/vnd.ms-excel.addin.macroenabled.12' => ['xlam'],
'application/vnd.ms-excel.sheet.binary.macroenabled.12' => ['xlsb'],
'application/vnd.ms-excel.sheet.macroenabled.12' => ['xlsm'],
'application/vnd.ms-excel.template.macroenabled.12' => ['xltm'],
'application/vnd.ms-fontobject' => ['eot'],
'application/vnd.ms-htmlhelp' => ['chm'],
'application/vnd.ms-ims' => ['ims'],
'application/vnd.ms-lrm' => ['lrm'],
'application/vnd.ms-officetheme' => ['thmx'],
'application/vnd.ms-outlook' => ['msg'],
'application/vnd.ms-pki.certstore' => ['sst'],
'application/vnd.ms-pki.pko' => ['pko'],
'application/vnd.ms-pki.seccat' => ['cat'],
'application/vnd.ms-pki.stl' => ['stl'],
'application/vnd.ms-powerpoint' => ['ppt','pps','pot','ppa','pwz'],
'application/vnd.ms-powerpoint.addin.macroenabled.12' => ['ppam'],
'application/vnd.ms-powerpoint.presentation.macroenabled.12' => ['pptm'],
'application/vnd.ms-powerpoint.slide.macroenabled.12' => ['sldm'],
'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => ['ppsm'],
'application/vnd.ms-powerpoint.template.macroenabled.12' => ['potm'],
'application/vnd.ms-project' => ['mpp','mpt'],
'application/vnd.ms-word.document.macroenabled.12' => ['docm'],
'application/vnd.ms-word.template.macroenabled.12' => ['dotm'],
'application/vnd.ms-works' => ['wps','wks','wcm','wdb'],
'application/vnd.ms-wpl' => ['wpl'],
'application/vnd.ms-xpsdocument' => ['xps'],
'application/vnd.mseq' => ['mseq'],
'application/vnd.musician' => ['mus'],
'application/vnd.muvee.style' => ['msty'],
'application/vnd.mynfc' => ['taglet'],
'application/vnd.neurolanguage.nlu' => ['nlu'],
'application/vnd.nitf' => ['ntf','nitf'],
'application/vnd.noblenet-directory' => ['nnd'],
'application/vnd.noblenet-sealer' => ['nns'],
'application/vnd.noblenet-web' => ['nnw'],
'application/vnd.nokia.configuration-message' => ['ncm'],
'application/vnd.nokia.n-gage.ac+xml' => ['ac'],
'application/vnd.nokia.n-gage.data' => ['ngdat'],
'application/vnd.nokia.n-gage.symbian.install' => ['n-gage'],
'application/vnd.nokia.radio-preset' => ['rpst'],
'application/vnd.nokia.radio-presets' => ['rpss'],
'application/vnd.nokia.ringing-tone' => ['rng'],
'application/vnd.novadigm.edm' => ['edm'],
'application/vnd.novadigm.edx' => ['edx'],
'application/vnd.novadigm.ext' => ['ext'],
'application/vnd.oasis.opendocument.chart' => ['odc'],
'application/vnd.oasis.opendocument.chart-template' => ['otc'],
'application/vnd.oasis.opendocument.database' => ['odb'],
'application/vnd.oasis.opendocument.formula' => ['odf'],
'application/vnd.oasis.opendocument.formula-template' => ['odft'],
'application/vnd.oasis.opendocument.graphics' => ['odg'],
'application/vnd.oasis.opendocument.graphics-template' => ['otg'],
'application/vnd.oasis.opendocument.image' => ['odi'],
'application/vnd.oasis.opendocument.image-template' => ['oti'],
'application/vnd.oasis.opendocument.presentation' => ['odp'],
'application/vnd.oasis.opendocument.presentation-template' => ['otp'],
'application/vnd.oasis.opendocument.spreadsheet' => ['ods'],
'application/vnd.oasis.opendocument.spreadsheet-template' => ['ots'],
'application/vnd.oasis.opendocument.text' => ['odt'],
'application/vnd.oasis.opendocument.text-master' => ['odm'],
'application/vnd.oasis.opendocument.text-template' => ['ott'],
'application/vnd.oasis.opendocument.text-web' => ['oth'],
'application/vnd.olpc-sugar' => ['xo'],
'application/vnd.oma.dd2+xml' => ['dd2'],
'application/vnd.openblox.game+xml' => ['obgx'],
'application/vnd.openofficeorg.extension' => ['oxt'],
'application/vnd.openstreetmap.data+xml' => ['osm'],
'application/vnd.openxmlformats-officedocument.presentationml.presentation' => ['pptx'],
'application/vnd.openxmlformats-officedocument.presentationml.slide' => ['sldx'],
'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => ['ppsx'],
'application/vnd.openxmlformats-officedocument.presentationml.template' => ['potx'],
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => ['xlsx'],
'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => ['xltx'],
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => ['docx'],
'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => ['dotx'],
'application/vnd.osgeo.mapguide.package' => ['mgp'],
'application/vnd.osgi.dp' => ['dp'],
'application/vnd.osgi.subsystem' => ['esa'],
'application/vnd.palm' => ['pdb','pqa','oprc'],
'application/vnd.pawaafile' => ['paw'],
'application/vnd.pg.format' => ['str'],
'application/vnd.pg.osasli' => ['ei6'],
'application/vnd.picsel' => ['efif'],
'application/vnd.pmi.widget' => ['wg'],
'application/vnd.pocketlearn' => ['plf'],
'application/vnd.powerbuilder6' => ['pbd'],
'application/vnd.previewsystems.box' => ['box'],
'application/vnd.proteus.magazine' => ['mgz'],
'application/vnd.publishare-delta-tree' => ['qps'],
'application/vnd.pvi.ptid1' => ['ptid'],
'application/vnd.quark.quarkxpress' => ['qxd','qxt','qwd','qwt','qxl','qxb'],
'application/vnd.realvnc.bed' => ['bed'],
'application/vnd.recordare.musicxml' => ['mxl'],
'application/vnd.recordare.musicxml+xml' => ['musicxml'],
'application/vnd.rig.cryptonote' => ['cryptonote'],
'application/vnd.rim.cod' => ['cod'],
'application/vnd.rn-realmedia' => ['rm'],
'application/vnd.rn-realmedia-vbr' => ['rmvb'],
'application/vnd.rn-realplayer' => ['rnx'],
'application/vnd.route66.link66+xml' => ['link66'],
'application/vnd.sailingtracker.track' => ['st'],
'application/vnd.seemail' => ['see'],
'application/vnd.sema' => ['sema'],
'application/vnd.semd' => ['semd'],
'application/vnd.semf' => ['semf'],
'application/vnd.shana.informed.formdata' => ['ifm'],
'application/vnd.shana.informed.formtemplate' => ['itp'],
'application/vnd.shana.informed.interchange' => ['iif'],
'application/vnd.shana.informed.package' => ['ipk'],
'application/vnd.simtech-mindmapper' => ['twd','twds'],
'application/vnd.smaf' => ['mmf'],
'application/vnd.smart.teacher' => ['teacher'],
'application/vnd.software602.filler.form+xml' => ['fo'],
'application/vnd.solent.sdkm+xml' => ['sdkm','sdkd'],
'application/vnd.spotfire.dxp' => ['dxp'],
'application/vnd.spotfire.sfs' => ['sfs'],
'application/vnd.stardivision.calc' => ['sdc'],
'application/vnd.stardivision.draw' => ['sda'],
'application/vnd.stardivision.impress' => ['sdd'],
'application/vnd.stardivision.math' => ['smf'],
'application/vnd.stardivision.writer' => ['sdw','vor'],
'application/vnd.stardivision.writer-global' => ['sgl'],
'application/vnd.stepmania.package' => ['smzip'],
'application/vnd.stepmania.stepchart' => ['sm'],
'application/vnd.sun.wadl+xml' => ['wadl'],
'application/vnd.sun.xml.calc' => ['sxc'],
'application/vnd.sun.xml.calc.template' => ['stc'],
'application/vnd.sun.xml.draw' => ['sxd'],
'application/vnd.sun.xml.draw.template' => ['std'],
'application/vnd.sun.xml.impress' => ['sxi'],
'application/vnd.sun.xml.impress.template' => ['sti'],
'application/vnd.sun.xml.math' => ['sxm'],
'application/vnd.sun.xml.writer' => ['sxw'],
'application/vnd.sun.xml.writer.global' => ['sxg'],
'application/vnd.sun.xml.writer.template' => ['stw'],
'application/vnd.sus-calendar' => ['sus','susp'],
'application/vnd.svd' => ['svd'],
'application/vnd.symbian.install' => ['sis','sisx'],
'application/vnd.syncml+xml' => ['xsm'],
'application/vnd.syncml.dm+wbxml' => ['bdm'],
'application/vnd.syncml.dm+xml' => ['xdm'],
'application/vnd.syncml.dmddf+xml' => ['ddf'],
'application/vnd.tao.intent-module-archive' => ['tao'],
'application/vnd.tcpdump.pcap' => ['pcap','cap','dmp'],
'application/vnd.tmobile-livetv' => ['tmo'],
'application/vnd.trid.tpt' => ['tpt'],
'application/vnd.triscape.mxs' => ['mxs'],
'application/vnd.trueapp' => ['tra'],
'application/vnd.ufdl' => ['ufd','ufdl'],
'application/vnd.uiq.theme' => ['utz'],
'application/vnd.umajin' => ['umj'],
'application/vnd.unity' => ['unityweb'],
'application/vnd.uoml+xml' => ['uoml'],
'application/vnd.vcx' => ['vcx'],
'application/vnd.visio' => ['vsd','vst','vss','vsw'],
'application/vnd.visionary' => ['vis'],
'application/vnd.vsf' => ['vsf'],
'application/vnd.wap.wbxml' => ['wbxml'],
'application/vnd.wap.wmlc' => ['wmlc'],
'application/vnd.wap.wmlscriptc' => ['wmlsc'],
'application/vnd.webturbo' => ['wtb'],
'application/vnd.wolfram.player' => ['nbp'],
'application/vnd.wordperfect' => ['wpd'],
'application/vnd.wqd' => ['wqd'],
'application/vnd.wt.stf' => ['stf'],
'application/vnd.xara' => ['xar','web'],
'application/vnd.xfdl' => ['xfdl'],
'application/vnd.yamaha.hv-dic' => ['hvd'],
'application/vnd.yamaha.hv-script' => ['hvs'],
'application/vnd.yamaha.hv-voice' => ['hvp'],
'application/vnd.yamaha.openscoreformat' => ['osf'],
'application/vnd.yamaha.openscoreformat.osfpvg+xml' => ['osfpvg'],
'application/vnd.yamaha.smaf-audio' => ['saf'],
'application/vnd.yamaha.smaf-phrase' => ['spf'],
'application/vnd.yellowriver-custom-menu' => ['cmp'],
'application/vnd.zul' => ['zir','zirz'],
'application/vnd.zzazz.deck+xml' => ['zaz'],
'application/vocaltec-media-desc' => ['vmd'],
'application/vocaltec-media-file' => ['vmf'],
'application/voicexml+xml' => ['vxml'],
'application/wasm' => ['wasm'],
'application/widget' => ['wgt'],
'application/winhlp' => ['hlp'],
'application/wordperfect' => ['wp','wp5','wp6','wpd'],
'application/wordperfect6.0' => ['w60','wp5'],
'application/wordperfect6.1' => ['w61'],
'application/wsdl+xml' => ['wsdl'],
'application/wspolicy+xml' => ['wspolicy'],
'application/x-123' => ['wk1'],
'application/x-7z-compressed' => ['7z'],
'application/x-abiword' => ['abw'],
'application/x-ace-compressed' => ['ace'],
'application/x-aim' => ['aim'],
'application/x-apple-diskimage' => ['dmg'],
'application/x-arj' => ['arj'],
'application/x-authorware-bin' => ['aab','x32','u32','vox'],
'application/x-authorware-map' => ['aam'],
'application/x-authorware-seg' => ['aas'],
'application/x-bcpio' => ['bcpio'],
'application/x-bdoc' => ['bdoc'],
'application/x-binary' => ['bin'],
'application/x-binhex40' => ['hqx'],
'application/x-bittorrent' => ['torrent'],
'application/x-blorb' => ['blb','blorb'],
'application/x-bsh' => ['bsh','sh','shar'],
'application/x-bytecode.elisp' => ['elc'],
'application/x-bytecode.python' => ['pyc'],
'application/x-bzip' => ['bz'],
'application/x-bzip2' => ['bz2','boz'],
'application/x-cbr' => ['cbr','cba','cbt','cbz','cb7'],
'application/x-cdf' => ['cdf'],
'application/x-cdlink' => ['vcd'],
'application/x-cfs-compressed' => ['cfs'],
'application/x-chat' => ['chat','cha'],
'application/x-chess-pgn' => ['pgn'],
'application/x-chrome-extension' => ['crx'],
'application/x-cmu-raster' => ['ras'],
'application/x-cocoa' => ['cco'],
'application/x-compactpro' => ['cpt'],
'application/x-compress' => ['z'],
'application/x-compressed' => ['gz','tgz','z','zip'],
'application/x-conference' => ['nsc'],
'application/x-cpio' => ['cpio'],
'application/x-cpt' => ['cpt'],
'application/x-csh' => ['csh'],
'application/x-debian-package' => ['deb','udeb'],
'application/x-deepv' => ['deepv'],
'application/x-dgc-compressed' => ['dgc'],
'application/x-director' => ['dir','dcr','dxr','cst','cct','cxt','w3d','fgd','swa'],
'application/x-doom' => ['wad'],
'application/x-dtbncx+xml' => ['ncx'],
'application/x-dtbook+xml' => ['dtb'],
'application/x-dtbresource+xml' => ['res'],
'application/x-dvi' => ['dvi'],
'application/x-elc' => ['elc'],
'application/x-envoy' => ['evy','env'],
'application/x-esrehber' => ['es'],
'application/x-eva' => ['eva'],
'application/x-excel' => ['xla','xlb','xlc','xld','xlk','xll','xlm','xls','xlt','xlv','xlw'],
'application/x-font-bdf' => ['bdf'],
'application/x-font-ghostscript' => ['gsf'],
'application/x-font-linux-psf' => ['psf'],
'application/x-font-pcf' => ['pcf'],
'application/x-font-snf' => ['snf'],
'application/x-font-type1' => ['pfa','pfb','pfm','afm'],
'application/x-frame' => ['mif'],
'application/x-freearc' => ['arc'],
'application/x-freelance' => ['pre'],
'application/x-futuresplash' => ['spl'],
'application/x-gca-compressed' => ['gca'],
'application/x-glulx' => ['ulx'],
'application/x-gnumeric' => ['gnumeric'],
'application/x-gramps-xml' => ['gramps'],
'application/x-gsp' => ['gsp'],
'application/x-gss' => ['gss'],
'application/x-gtar' => ['gtar'],
'application/x-gzip' => ['gz','gzip'],
'application/x-hdf' => ['hdf'],
'application/x-helpfile' => ['help','hlp'],
'application/x-httpd-imap' => ['imap'],
'application/x-httpd-php' => ['php','pht','phpt','phar','php2','php3','php4','php5','php7','php8','phtml'],
'application/x-ima' => ['ima'],
'application/x-install-instructions' => ['install'],
'application/x-internett-signup' => ['ins'],
'application/x-inventor' => ['iv'],
'application/x-ip2' => ['ip'],
'application/x-iso9660-image' => ['iso'],
'application/x-java-archive-diff' => ['jardiff'],
'application/x-java-class' => ['class'],
'application/x-java-commerce' => ['jcm'],
'application/x-java-jnlp-file' => ['jnlp'],
'application/x-javascript' => ['js'],
'application/x-keepass2' => ['kdbx'],
'application/x-koan' => ['skd','skm','skp','skt'],
'application/x-ksh' => ['ksh'],
'application/x-latex' => ['latex','ltx'],
'application/x-lha' => ['lha'],
'application/x-lisp' => ['lsp'],
'application/x-livescreen' => ['ivy'],
'application/x-lotus' => ['wq1'],
'application/x-lotusscreencam' => ['scm'],
'application/x-lua-bytecode' => ['luac'],
'application/x-lzh' => ['lzh'],
'application/x-lzh-compressed' => ['lzh','lha'],
'application/x-lzx' => ['lzx'],
'application/x-mac-binhex40' => ['hqx'],
'application/x-macbinary' => ['bin'],
'application/x-magic-cap-package-1.0' => ['mc$'],
'application/x-makeself' => ['run'],
'application/x-mathcad' => ['mcd'],
'application/x-meme' => ['mm'],
'application/x-midi' => ['mid','midi'],
'application/x-mie' => ['mie'],
'application/x-mif' => ['mif'],
'application/x-mix-transfer' => ['nix'],
'application/x-mobipocket-ebook' => ['prc','mobi'],
'application/x-mplayer2' => ['asx'],
'application/x-ms-application' => ['application'],
'application/x-ms-shortcut' => ['lnk'],
'application/x-ms-wmd' => ['wmd'],
'application/x-ms-wmz' => ['wmz'],
'application/x-ms-xbap' => ['xbap'],
'application/x-msaccess' => ['mdb'],
'application/x-msbinder' => ['obd'],
'application/x-mscardfile' => ['crd'],
'application/x-msclip' => ['clp'],
'application/x-msdos-program' => ['exe'],
'application/x-msdownload' => ['exe','dll','com','bat','msi'],
'application/x-msexcel' => ['xla','xls','xlw'],
'application/x-msmediaview' => ['mvb','m13','m14'],
'application/x-msmetafile' => ['wmf','wmz','emf','emz'],
'application/x-msmoney' => ['mny'],
'application/x-mspowerpoint' => ['ppt'],
'application/x-mspublisher' => ['pub'],
'application/x-msschedule' => ['scd'],
'application/x-msterminal' => ['trm'],
'application/x-mswrite' => ['wri'],
'application/x-navi-animation' => ['ani'],
'application/x-navidoc' => ['nvd'],
'application/x-navimap' => ['map'],
'application/x-navistyle' => ['stl'],
'application/x-netcdf' => ['nc','cdf'],
'application/x-newton-compatible-pkg' => ['pkg'],
'application/x-nokia-9000-communicator-add-on-software' => ['aos'],
'application/x-ns-proxy-autoconfig' => ['pac'],
'application/x-nzb' => ['nzb'],
'application/x-omc' => ['omc'],
'application/x-omcdatamaker' => ['omcd'],
'application/x-omcregerator' => ['omcr'],
'application/x-pagemaker' => ['pm4','pm5'],
'application/x-pcl' => ['pcl'],
'application/x-perl' => ['pl','pm'],
'application/x-pilot' => ['prc','pdb'],
'application/x-pixclscript' => ['plx'],
'application/x-pkcs10' => ['p10'],
'application/x-pkcs12' => ['p12','pfx'],
'application/x-pkcs7-certificates' => ['p7b','spc'],
'application/x-pkcs7-certreqresp' => ['p7r'],
'application/x-pkcs7-mime' => ['p7c','p7m'],
'application/x-pkcs7-signature' => ['p7a'],
'application/x-pointplus' => ['css'],
'application/x-portable-anymap' => ['pnm'],
'application/x-project' => ['mpc','mpt','mpv','mpx'],
'application/x-qpro' => ['wb1'],
'application/x-rar-compressed' => ['rar'],
'application/x-redhat-package-manager' => ['rpm'],
'application/x-research-info-systems' => ['ris'],
'application/x-rtf' => ['rtf'],
'application/x-sdp' => ['sdp'],
'application/x-sea' => ['sea'],
'application/x-seelogo' => ['sl'],
'application/x-sh' => ['sh'],
'application/x-shar' => ['shar','sh'],
'application/x-shockwave-flash' => ['swf'],
'application/x-silverlight-app' => ['xap'],
'application/x-sit' => ['sit'],
'application/x-sprite' => ['spr','sprite'],
'application/x-sql' => ['sql'],
'application/x-stuffit' => ['sit'],
'application/x-stuffitx' => ['sitx'],
'application/x-subrip' => ['srt'],
'application/x-sv4cpio' => ['sv4cpio'],
'application/x-sv4crc' => ['sv4crc'],
'application/x-t3vm-image' => ['t3'],
'application/x-tads' => ['gam'],
'application/x-tar' => ['tar'],
'application/x-tbook' => ['sbk','tbk'],
'application/x-tcl' => ['tcl','tk'],
'application/x-tex' => ['tex'],
'application/x-tex-tfm' => ['tfm'],
'application/x-texinfo' => ['texinfo','texi'],
'application/x-tgif' => ['obj'],
'application/x-troff' => ['roff','t','tr'],
'application/x-troff-man' => ['man'],
'application/x-troff-me' => ['me'],
'application/x-troff-ms' => ['ms'],
'application/x-troff-msvideo' => ['avi'],
'application/x-ustar' => ['ustar'],
'application/x-virtualbox-hdd' => ['hdd'],
'application/x-virtualbox-ova' => ['ova'],
'application/x-virtualbox-ovf' => ['ovf'],
'application/x-virtualbox-vbox' => ['vbox'],
'application/x-virtualbox-vbox-extpack' => ['vbox-extpack'],
'application/x-virtualbox-vdi' => ['vdi'],
'application/x-virtualbox-vhd' => ['vhd'],
'application/x-virtualbox-vmdk' => ['vmdk'],
'application/x-visio' => ['vsd','vst','vsw'],
'application/x-vnd.audioexplosion.mzz' => ['mzz'],
'application/x-vnd.ls-xpix' => ['xpix'],
'application/x-vrml' => ['vrml'],
'application/x-wais-source' => ['src','wsrc'],
'application/x-web-app-manifest+json' => ['webapp'],
'application/x-winhelp' => ['hlp'],
'application/x-wintalk' => ['wtk'],
'application/x-world' => ['svr','wrl'],
'application/x-wpwin' => ['wpd'],
'application/x-wri' => ['wri'],
'application/x-x509-ca-cert' => ['der','crt','pem','cer'],
'application/x-x509-user-cert' => ['crt'],
'application/x-xfig' => ['fig'],
'application/x-xliff+xml' => ['xlf'],
'application/x-xpinstall' => ['xpi'],
'application/x-xz' => ['xz'],
'application/x-zip-compressed' => ['zip'],
'application/x-zmachine' => ['z1','z2','z3','z4','z5','z6','z7','z8'],
'application/xaml+xml' => ['xaml'],
'application/xcap-att+xml' => ['xav'],
'application/xcap-caps+xml' => ['xca'],
'application/xcap-diff+xml' => ['xdf'],
'application/xcap-el+xml' => ['xel'],
'application/xcap-error+xml' => ['xer'],
'application/xcap-ns+xml' => ['xns'],
'application/xenc+xml' => ['xenc'],
'application/xhtml+xml' => ['xhtml','xht','vml','pgml'],
'application/xliff+xml' => ['xlf'],
'application/xml' => ['xml','xsl','xsd','rng'],
'application/xml-dtd' => ['dtd'],
'application/xop+xml' => ['xop'],
'application/xproc+xml' => ['xpl'],
'application/xslt+xml' => ['xslt'],
'application/xspf+xml' => ['xspf'],
'application/xv+xml' => ['mxml','xhvml','xvml','xvm'],
'application/yang' => ['yang'],
'application/yin+xml' => ['yin'],
'application/zip' => ['zip'],
'audio/3gpp' => ['3gpp'],
'audio/adpcm' => ['adp'],
'audio/aiff' => ['aif','aifc','aiff'],
'audio/basic' => ['au','snd'],
'audio/it' => ['it'],
'audio/make' => ['funk','my','pfunk'],
'audio/make.my.funk' => ['pfunk'],
'audio/mid' => ['rmi'],
'audio/midi' => ['mid','midi','kar','rmi'],
'audio/mobile-xmf' => ['mxmf'],
'audio/mod' => ['mod'],
'audio/mp3' => ['mp3'],
'audio/mp4' => ['m4a','mp4a'],
'audio/mpeg' => ['mpga','mp2','mp2a','mp3','m2a','m3a','mpa','mpg'],
'audio/mpeg3' => ['mp3'],
'audio/nspaudio' => ['la','lma'],
'audio/ogg' => ['oga','ogg','spx'],
'audio/s3m' => ['s3m'],
'audio/silk' => ['sil'],
'audio/tsp-audio' => ['tsi'],
'audio/tsplayer' => ['tsp'],
'audio/vnd.dece.audio' => ['uva','uvva'],
'audio/vnd.digital-winds' => ['eol'],
'audio/vnd.dra' => ['dra'],
'audio/vnd.dts' => ['dts'],
'audio/vnd.dts.hd' => ['dtshd'],
'audio/vnd.lucent.voice' => ['lvp'],
'audio/vnd.ms-playready.media.pya' => ['pya'],
'audio/vnd.nuera.ecelp4800' => ['ecelp4800'],
'audio/vnd.nuera.ecelp7470' => ['ecelp7470'],
'audio/vnd.nuera.ecelp9600' => ['ecelp9600'],
'audio/vnd.qcelp' => ['qcp'],
'audio/vnd.rip' => ['rip'],
'audio/voc' => ['voc'],
'audio/voxware' => ['vox'],
'audio/wav' => ['wav'],
'audio/wave' => ['wav'],
'audio/webm' => ['weba'],
'audio/x-aac' => ['aac'],
'audio/x-adpcm' => ['snd'],
'audio/x-aiff' => ['aif','aiff','aifc'],
'audio/x-au' => ['au'],
'audio/x-caf' => ['caf'],
'audio/x-flac' => ['flac'],
'audio/x-gsm' => ['gsd','gsm'],
'audio/x-jam' => ['jam'],
'audio/x-liveaudio' => ['lam'],
'audio/x-m4a' => ['m4a'],
'audio/x-matroska' => ['mka'],
'audio/x-mid' => ['mid','midi'],
'audio/x-midi' => ['mid','midi'],
'audio/x-mod' => ['mod'],
'audio/x-mpeg' => ['mp2'],
'audio/x-mpeg-3' => ['mp3'],
'audio/x-mpegurl' => ['m3u'],
'audio/x-mpequrl' => ['m3u'],
'audio/x-ms-wax' => ['wax'],
'audio/x-ms-wma' => ['wma'],
'audio/x-nspaudio' => ['la','lma'],
'audio/x-pn-realaudio' => ['ram','ra','rm','rmm','rmp'],
'audio/x-pn-realaudio-plugin' => ['rmp','ra','rpm'],
'audio/x-psid' => ['sid'],
'audio/x-realaudio' => ['ra'],
'audio/x-twinvq' => ['vqf'],
'audio/x-twinvq-plugin' => ['vqe','vql'],
'audio/x-vnd.audioexplosion.mjuicemediafile' => ['mjf'],
'audio/x-voc' => ['voc'],
'audio/x-wav' => ['wav'],
'audio/xm' => ['xm'],
'chemical/x-cdx' => ['cdx'],
'chemical/x-cif' => ['cif'],
'chemical/x-cmdf' => ['cmdf'],
'chemical/x-cml' => ['cml'],
'chemical/x-csml' => ['csml'],
'chemical/x-pdb' => ['pdb','xyz'],
'chemical/x-xyz' => ['xyz'],
'drawing/x-dwf' => ['dwf'],
'font/collection' => ['ttc'],
'font/otf' => ['otf'],
'font/ttf' => ['ttf'],
'font/woff' => ['woff'],
'font/woff2' => ['woff2'],
'i-world/i-vrml' => ['ivr'],
'image/aces' => ['exr'],
'image/apng' => ['apng'],
'image/bmp' => ['bmp','bm'],
'image/cgm' => ['cgm'],
'image/cmu-raster' => ['ras','rast'],
'image/dicom-rle' => ['drle'],
'image/emf' => ['emf'],
'image/fif' => ['fif'],
'image/fits' => ['fits'],
'image/florian' => ['flo','turbot'],
'image/g3fax' => ['g3'],
'image/gif' => ['gif'],
'image/heic' => ['heic'],
'image/heic-sequence' => ['heics'],
'image/heif' => ['heif'],
'image/heif-sequence' => ['heifs'],
'image/hej2k' => ['hej2'],
'image/hsj2' => ['hsj2'],
'image/ief' => ['ief','iefs'],
'image/jls' => ['jls'],
'image/jp2' => ['jp2','jpg2'],
'image/jpeg' => ['jpeg','jpg','jpe','jfif','jfif-tbnl'],
'image/jph' => ['jph'],
'image/jphc' => ['jhc'],
'image/jpm' => ['jpm'],
'image/jpx' => ['jpx','jpf'],
'image/jutvision' => ['jut'],
'image/jxr' => ['jxr'],
'image/jxra' => ['jxra'],
'image/jxrs' => ['jxrs'],
'image/jxs' => ['jxs'],
'image/jxsc' => ['jxsc'],
'image/jxsi' => ['jxsi'],
'image/jxss' => ['jxss'],
'image/ktx' => ['ktx'],
'image/naplps' => ['nap','naplps'],
'image/pict' => ['pic','pict'],
'image/pjpeg' => ['jfif','jpe','jpeg','jpg'],
'image/png' => ['png','x-png'],
'image/prs.btif' => ['btif'],
'image/prs.pti' => ['pti'],
'image/sgi' => ['sgi'],
'image/svg+xml' => ['svg','svgz'],
'image/t38' => ['t38'],
'image/tiff' => ['tif','tiff'],
'image/tiff-fx' => ['tfx'],
'image/vasa' => ['mcf'],
'image/vnd.adobe.photoshop' => ['psd'],
'image/vnd.airzip.accelerator.azv' => ['azv'],
'image/vnd.dece.graphic' => ['uvi','uvvi','uvg','uvvg'],
'image/vnd.djvu' => ['djvu','djv'],
'image/vnd.dvb.subtitle' => ['sub'],
'image/vnd.dwg' => ['dwg','dxf','svf'],
'image/vnd.dxf' => ['dxf'],
'image/vnd.fastbidsheet' => ['fbs'],
'image/vnd.fpx' => ['fpx'],
'image/vnd.fst' => ['fst'],
'image/vnd.fujixerox.edmics-mmr' => ['mmr'],
'image/vnd.fujixerox.edmics-rlc' => ['rlc'],
'image/vnd.microsoft.icon' => ['ico'],
'image/vnd.ms-dds' => ['dds'],
'image/vnd.ms-modi' => ['mdi'],
'image/vnd.ms-photo' => ['wdp'],
'image/vnd.net-fpx' => ['npx','fpx'],
'image/vnd.rn-realflash' => ['rf'],
'image/vnd.rn-realpix' => ['rp'],
'image/vnd.tencent.tap' => ['tap'],
'image/vnd.valve.source.texture' => ['vtf'],
'image/vnd.wap.wbmp' => ['wbmp'],
'image/vnd.xiff' => ['xif'],
'image/vnd.zbrush.pcx' => ['pcx'],
'image/webp' => ['webp'],
'image/wmf' => ['wmf'],
'image/x-3ds' => ['3ds'],
'image/x-cmu-raster' => ['ras'],
'image/x-cmx' => ['cmx'],
'image/x-dwg' => ['dwg','dxf','svf'],
'image/x-freehand' => ['fh','fhc','fh4','fh5','fh7'],
'image/x-icon' => ['ico'],
'image/x-jg' => ['art'],
'image/x-jng' => ['jng'],
'image/x-jps' => ['jps'],
'image/x-mrsid-image' => ['sid'],
'image/x-ms-bmp' => ['bmp'],
'image/x-niff' => ['nif','niff'],
'image/x-pcx' => ['pcx'],
'image/x-pict' => ['pic','pct'],
'image/x-portable-anymap' => ['pnm'],
'image/x-portable-bitmap' => ['pbm'],
'image/x-portable-graymap' => ['pgm'],
'image/x-portable-greymap' => ['pgm'],
'image/x-portable-pixmap' => ['ppm'],
'image/x-quicktime' => ['qif','qti','qtif'],
'image/x-rgb' => ['rgb'],
'image/x-tga' => ['tga'],
'image/x-tiff' => ['tif','tiff'],
'image/x-windows-bmp' => ['bmp'],
'image/x-xbitmap' => ['xbm'],
'image/x-xbm' => ['xbm'],
'image/x-xpixmap' => ['xpm','pm'],
'image/x-xwd' => ['xwd'],
'image/x-xwindowdump' => ['xwd'],
'image/xbm' => ['xbm'],
'image/xpm' => ['xpm'],
'message/disposition-notification' => ['disposition-notification'],
'message/global' => ['u8msg'],
'message/global-delivery-status' => ['u8dsn'],
'message/global-disposition-notification' => ['u8mdn'],
'message/global-headers' => ['u8hdr'],
'message/rfc822' => ['eml','mime','mht','mhtml'],
'message/vnd.wfa.wsc' => ['wsc'],
'model/3mf' => ['3mf'],
'model/gltf+json' => ['gltf'],
'model/gltf-binary' => ['glb'],
'model/iges' => ['igs','iges'],
'model/mesh' => ['msh','mesh','silo'],
'model/mtl' => ['mtl'],
'model/obj' => ['obj'],
'model/stl' => ['stl'],
'model/vnd.collada+xml' => ['dae'],
'model/vnd.dwf' => ['dwf'],
'model/vnd.gdl' => ['gdl'],
'model/vnd.gtw' => ['gtw'],
'model/vnd.mts' => ['mts'],
'model/vnd.opengex' => ['ogex'],
'model/vnd.parasolid.transmit.binary' => ['x_b'],
'model/vnd.parasolid.transmit.text' => ['x_t'],
'model/vnd.usdz+zip' => ['usdz'],
'model/vnd.valve.source.compiled-map' => ['bsp'],
'model/vnd.vtu' => ['vtu'],
'model/vrml' => ['wrl','vrml','wrz'],
'model/x-pov' => ['pov'],
'model/x3d+binary' => ['x3db','x3dbz'],
'model/x3d+fastinfoset' => ['x3db'],
'model/x3d+vrml' => ['x3dv','x3dvz'],
'model/x3d+xml' => ['x3d','x3dz'],
'model/x3d-vrml' => ['x3dv'],
'multipart/x-gzip' => ['gzip'],
'multipart/x-ustar' => ['ustar'],
'multipart/x-zip' => ['zip'],
'music/crescendo' => ['mid','midi'],
'music/x-karaoke' => ['kar'],
'paleovu/x-pv' => ['pvu'],
'text/asp' => ['asp'],
'text/cache-manifest' => ['appcache','manifest'],
'text/calendar' => ['ics','ifb'],
'text/coffeescript' => ['coffee','litcoffee'],
'text/css' => ['css'],
'text/csv' => ['csv'],
'text/ecmascript' => ['js'],
'text/html' => ['html','htm','shtml','acgi','htmls','htx'],
'text/jade' => ['jade'],
'text/javascript' => ['js'],
'text/jsp' => ['jsp'],
'text/jsx' => ['jsx'],
'text/less' => ['less'],
'text/markdown' => ['markdown','md'],
'text/mathml' => ['mml'],
'text/mcf' => ['mcf'],
'text/mdx' => ['mdx'],
'text/n3' => ['n3'],
'text/pascal' => ['pas'],
'text/plain' => ['txt','text','conf','def','list','log','in','ini','c','c++','cpp','cc','com','cxx','f','f90','for','g','h','hh','idc','jav','java','lst','m','mar','pl','sdml'],
'text/prs.lines.tag' => ['dsc'],
'text/richtext' => ['rtx','rt','rtf'],
'text/rtf' => ['rtf'],
'text/scriplet' => ['wsc'],
'text/sgml' => ['sgml','sgm'],
'text/shex' => ['shex'],
'text/slim' => ['slim','slm'],
'text/spdx' => ['spdx'],
'text/stylus' => ['stylus','styl'],
'text/tab-separated-values' => ['tsv'],
'text/troff' => ['t','tr','roff','man','me','ms'],
'text/turtle' => ['ttl'],
'text/uri-list' => ['uri','uris','urls','uni','unis'],
'text/vcard' => ['vcard'],
'text/vnd.abc' => ['abc'],
'text/vnd.curl' => ['curl'],
'text/vnd.curl.dcurl' => ['dcurl'],
'text/vnd.curl.mcurl' => ['mcurl'],
'text/vnd.curl.scurl' => ['scurl'],
'text/vnd.dvb.subtitle' => ['sub'],
'text/vnd.fly' => ['fly'],
'text/vnd.fmi.flexstor' => ['flx'],
'text/vnd.graphviz' => ['gv'],
'text/vnd.in3d.3dml' => ['3dml'],
'text/vnd.in3d.spot' => ['spot'],
'text/vnd.rn-realtext' => ['rt'],
'text/vnd.sun.j2me.app-descriptor' => ['jad'],
'text/vnd.wap.wml' => ['wml'],
'text/vnd.wap.wmlscript' => ['wmls'],
'text/vtt' => ['vtt'],
'text/webviewhtml' => ['htt'],
'text/x-asm' => ['s','asm'],
'text/x-audiosoft-intra' => ['aip'],
'text/x-c' => ['c','cc','cxx','cpp','h','hh','dic'],
'text/x-component' => ['htc'],
'text/x-fortran' => ['f','for','f77','f90'],
'text/x-h' => ['h','hh'],
'text/x-handlebars-template' => ['hbs'],
'text/x-java-source' => ['java','jav'],
'text/x-la-asf' => ['lsx'],
'text/x-lua' => ['lua'],
'text/x-m' => ['m'],
'text/x-markdown' => ['mkd'],
'text/x-nfo' => ['nfo'],
'text/x-opml' => ['opml'],
'text/x-org' => ['org'],
'text/x-pascal' => ['p','pas'],
'text/x-processing' => ['pde'],
'text/x-sass' => ['sass'],
'text/x-script' => ['hlb'],
'text/x-script.csh' => ['csh'],
'text/x-script.elisp' => ['el'],
'text/x-script.guile' => ['scm'],
'text/x-script.ksh' => ['ksh'],
'text/x-script.lisp' => ['lsp'],
'text/x-script.perl' => ['pl'],
'text/x-script.perl-module' => ['pm'],
'text/x-script.phyton' => ['py'],
'text/x-script.rexx' => ['rexx'],
'text/x-script.scheme' => ['scm'],
'text/x-script.sh' => ['sh'],
'text/x-script.tcl' => ['tcl'],
'text/x-script.tcsh' => ['tcsh'],
'text/x-script.zsh' => ['zsh'],
'text/x-scss' => ['scss'],
'text/x-server-parsed-html' => ['shtml','ssi'],
'text/x-setext' => ['etx'],
'text/x-sfv' => ['sfv'],
'text/x-sgml' => ['sgm','sgml'],
'text/x-speech' => ['spc','talk'],
'text/x-suse-ymp' => ['ymp'],
'text/x-uil' => ['uil'],
'text/x-uuencode' => ['uu','uue'],
'text/x-vcalendar' => ['vcs'],
'text/x-vcard' => ['vcf'],
'text/xml' => ['xml'],
'text/yaml' => ['yaml','yml'],
'video/3gpp' => ['3gp','3gpp'],
'video/3gpp2' => ['3g2'],
'video/animaflex' => ['afl'],
'video/avi' => ['avi'],
'video/avs-video' => ['avs'],
'video/dl' => ['dl'],
'video/fli' => ['fli'],
'video/gl' => ['gl'],
'video/h261' => ['h261'],
'video/h263' => ['h263'],
'video/h264' => ['h264'],
'video/jpeg' => ['jpgv'],
'video/jpm' => ['jpm','jpgm'],
'video/mj2' => ['mj2','mjp2'],
'video/mp2t' => ['ts'],
'video/mp4' => ['mp4','mp4v','mpg4'],
'video/mpeg' => ['mpeg','mpg','mpe','m1v','m2v','mp2','mp3','mpa'],
'video/msvideo' => ['avi'],
'video/ogg' => ['ogv'],
'video/quicktime' => ['qt','mov','moov'],
'video/vdo' => ['vdo'],
'video/vivo' => ['viv','vivo'],
'video/vnd.dece.hd' => ['uvh','uvvh'],
'video/vnd.dece.mobile' => ['uvm','uvvm'],
'video/vnd.dece.pd' => ['uvp','uvvp'],
'video/vnd.dece.sd' => ['uvs','uvvs'],
'video/vnd.dece.video' => ['uvv','uvvv'],
'video/vnd.dvb.file' => ['dvb'],
'video/vnd.fvt' => ['fvt'],
'video/vnd.mpegurl' => ['mxu','m4u'],
'video/vnd.ms-playready.media.pyv' => ['pyv'],
'video/vnd.rn-realvideo' => ['rv'],
'video/vnd.uvvu.mp4' => ['uvu','uvvu'],
'video/vnd.vivo' => ['viv','vivo'],
'video/vosaic' => ['vos'],
'video/webm' => ['webm'],
'video/x-amt-demorun' => ['xdr'],
'video/x-amt-showrun' => ['xsr'],
'video/x-atomic3d-feature' => ['fmf'],
'video/x-dl' => ['dl'],
'video/x-dv' => ['dif','dv'],
'video/x-f4v' => ['f4v'],
'video/x-fli' => ['fli'],
'video/x-flv' => ['flv'],
'video/x-gl' => ['gl'],
'video/x-isvideo' => ['isu'],
'video/x-m4v' => ['m4v'],
'video/x-matroska' => ['mkv','mk3d','mks'],
'video/x-mng' => ['mng'],
'video/x-motion-jpeg' => ['mjpg'],
'video/x-mpeg' => ['mp2','mp3'],
'video/x-mpeq2a' => ['mp2'],
'video/x-ms-asf' => ['asf','asx'],
'video/x-ms-asf-plugin' => ['asx'],
'video/x-ms-vob' => ['vob'],
'video/x-ms-wm' => ['wm'],
'video/x-ms-wmv' => ['wmv'],
'video/x-ms-wmx' => ['wmx'],
'video/x-ms-wvx' => ['wvx'],
'video/x-msvideo' => ['avi'],
'video/x-qtc' => ['qtc'],
'video/x-scm' => ['scm'],
'video/x-sgi-movie' => ['movie','mv'],
'video/x-smv' => ['smv'],
'windows/metafile' => ['wmf'],
'www/mime' => ['mime'],
'x-conference/x-cooltalk' => ['ice'],
'x-music/x-midi' => ['mid','midi'],
'x-world/x-3dmf' => ['3dm','3dmf','qd3','qd3d'],
'x-world/x-svr' => ['svr'],
'x-world/x-vrml' => ['vrml','wrl','wrz'],
'x-world/x-vrt' => ['vrt'],
'xgl/drawing' => ['xgz'],
'xgl/movie' => ['xmz'],
];
/**
* Array with extensions and their mimetypes.
* Key is extension and value is array with mimetypes.
* Keys in this subarray is mimetype string and value
* is number describing how many extensions are in
* array `self::$mimesExts` for this mimetype.
* This array is completed on demand from `self::$mimesExts`;
* @var array|NULL
*/
protected static $extsMimes = NULL;
/**
* Array with mimetypes without extensions.
* Key is mimetype string, value is dummy number `1`.
* @var array
*/
protected static $noExts = [
'application/1d-interleaved-parityfec' => 1,
'application/3gpdash-qoe-report+xml' => 1,
'application/3gpp-ims+xml' => 1,
'application/a2l' => 1,
'application/activemessage' => 1,
'application/activity+json' => 1,
'application/alto-costmap+json' => 1,
'application/alto-costmapfilter+json' => 1,
'application/alto-directory+json' => 1,
'application/alto-endpointcost+json' => 1,
'application/alto-endpointcostparams+json' => 1,
'application/alto-endpointprop+json' => 1,
'application/alto-endpointpropparams+json' => 1,
'application/alto-error+json' => 1,
'application/alto-networkmap+json' => 1,
'application/alto-networkmapfilter+json' => 1,
'application/alto-updatestreamcontrol+json' => 1,
'application/alto-updatestreamparams+json' => 1,
'application/aml' => 1,
'application/applefile' => 1,
'application/atf' => 1,
'application/atfx' => 1,
'application/atomicmail' => 1,
'application/atsc-dynamic-event-message' => 1,
'application/atsc-rdt+json' => 1,
'application/atxml' => 1,
'application/auth-policy+xml' => 1,
'application/bacnet-xdd+zip' => 1,
'application/batch-smtp' => 1,
'application/beep+xml' => 1,
'application/calendar+json' => 1,
'application/call-completion' => 1,
'application/cals-1840' => 1,
'application/cap+xml' => 1,
'application/cbor' => 1,
'application/cbor-seq' => 1,
'application/cccex' => 1,
'application/ccmp+xml' => 1,
'application/cdni' => 1,
'application/cea' => 1,
'application/cea-2018+xml' => 1,
'application/cellml+xml' => 1,
'application/cfw' => 1,
'application/clue+xml' => 1,
'application/clue_info+xml' => 1,
'application/cms' => 1,
'application/cnrp+xml' => 1,
'application/coap-group+json' => 1,
'application/coap-payload' => 1,
'application/commonground' => 1,
'application/conference-info+xml' => 1,
'application/cose' => 1,
'application/cose-key' => 1,
'application/cose-key-set' => 1,
'application/cpl+xml' => 1,
'application/csrattrs' => 1,
'application/csta+xml' => 1,
'application/cstadata+xml' => 1,
'application/csvm+json' => 1,
'application/cwt' => 1,
'application/cybercash' => 1,
'application/dart' => 1,
'application/dashdelta' => 1,
'application/dca-rft' => 1,
'application/dcd' => 1,
'application/dec-dx' => 1,
'application/dialog-info+xml' => 1,
'application/dicom' => 1,
'application/dicom+json' => 1,
'application/dicom+xml' => 1,
'application/dii' => 1,
'application/dit' => 1,
'application/dns' => 1,
'application/dns+json' => 1,
'application/dns-message' => 1,
'application/dots+cbor' => 1,
'application/dskpp+xml' => 1,
'application/dvcs' => 1,
'application/edi-consent' => 1,
'application/edi-x12' => 1,
'application/edifact' => 1,
'application/efi' => 1,
'application/emergencycalldata.comment+xml' => 1,
'application/emergencycalldata.control+xml' => 1,
'application/emergencycalldata.deviceinfo+xml' => 1,
'application/emergencycalldata.ecall.msd' => 1,
'application/emergencycalldata.providerinfo+xml' => 1,
'application/emergencycalldata.serviceinfo+xml' => 1,
'application/emergencycalldata.subscriberinfo+xml' => 1,
'application/emergencycalldata.veds+xml' => 1,
'application/encaprtp' => 1,
'application/epp+xml' => 1,
'application/eshop' => 1,
'application/expect-ct-report+json' => 1,
'application/fastinfoset' => 1,
'application/fastsoap' => 1,
'application/fhir+json' => 1,
'application/fhir+xml' => 1,
'application/fido.trusted-apps+json' => 1,
'application/fits' => 1,
'application/flexfec' => 1,
'application/font-sfnt' => 1,
'application/font-woff' => 1,
'application/framework-attributes+xml' => 1,
'application/geo+json-seq' => 1,
'application/geopackage+sqlite3' => 1,
'application/geoxacml+xml' => 1,
'application/gltf-buffer' => 1,
'application/h224' => 1,
'application/held+xml' => 1,
'application/http' => 1,
'application/ibe-key-request+xml' => 1,
'application/ibe-pkg-reply+xml' => 1,
'application/ibe-pp-data' => 1,
'application/iges' => 1,
'application/im-iscomposing+xml' => 1,
'application/index' => 1,
'application/index.cmd' => 1,
'application/index.obj' => 1,
'application/index.response' => 1,
'application/index.vnd' => 1,
'application/iotp' => 1,
'application/ipp' => 1,
'application/isup' => 1,
'application/jf2feed+json' => 1,
'application/jose' => 1,
'application/jose+json' => 1,
'application/jrd+json' => 1,
'application/json-patch+json' => 1,
'application/json-seq' => 1,
'application/jwk+json' => 1,
'application/jwk-set+json' => 1,
'application/jwt' => 1,
'application/kpml-request+xml' => 1,
'application/kpml-response+xml' => 1,
'application/link-format' => 1,
'application/load-control+xml' => 1,
'application/lostsync+xml' => 1,
'application/lpf+zip' => 1,
'application/lxf' => 1,
'application/macwriteii' => 1,
'application/mathml-content+xml' => 1,
'application/mathml-presentation+xml' => 1,
'application/mbms-associated-procedure-description+xml' => 1,
'application/mbms-deregister+xml' => 1,
'application/mbms-envelope+xml' => 1,
'application/mbms-msk+xml' => 1,
'application/mbms-msk-response+xml' => 1,
'application/mbms-protection-description+xml' => 1,
'application/mbms-reception-report+xml' => 1,
'application/mbms-register+xml' => 1,
'application/mbms-register-response+xml' => 1,
'application/mbms-schedule+xml' => 1,
'application/mbms-user-service-description+xml' => 1,
'application/media-policy-dataset+xml' => 1,
'application/media_control+xml' => 1,
'application/merge-patch+json' => 1,
'application/mf4' => 1,
'application/mikey' => 1,
'application/mipc' => 1,
'application/moss-keys' => 1,
'application/moss-signature' => 1,
'application/mosskey-data' => 1,
'application/mosskey-request' => 1,
'application/mpeg4-generic' => 1,
'application/mpeg4-iod' => 1,
'application/mpeg4-iod-xmt' => 1,
'application/msc-ivr+xml' => 1,
'application/msc-mixer+xml' => 1,
'application/mud+json' => 1,
'application/multipart-core' => 1,
'application/nasdata' => 1,
'application/news-checkgroups' => 1,
'application/news-groupinfo' => 1,
'application/news-transmission' => 1,
'application/nlsml+xml' => 1,
'application/nss' => 1,
'application/ocsp-request' => 1,
'application/ocsp-response' => 1,
'application/odm+xml' => 1,
'application/odx' => 1,
'application/oscore' => 1,
'application/parityfec' => 1,
'application/passport' => 1,
'application/pdx' => 1,
'application/pem-certificate-chain' => 1,
'application/pgp-keys' => 1,
'application/pidf+xml' => 1,
'application/pidf-diff+xml' => 1,
'application/pkcs12' => 1,
'application/pkcs8-encrypted' => 1,
'application/poc-settings+xml' => 1,
'application/ppsp-tracker+json' => 1,
'application/problem+json' => 1,
'application/problem+xml' => 1,
'application/prs.alvestrand.titrax-sheet' => 1,
'application/prs.hpub+zip' => 1,
'application/prs.nprend' => 1,
'application/prs.plucker' => 1,
'application/prs.rdf-xml-crypt' => 1,
'application/prs.xsf+xml' => 1,
'application/pvd+json' => 1,
'application/qsig' => 1,
'application/raptorfec' => 1,
'application/rdap+json' => 1,
'application/remote-printing' => 1,
'application/reputon+json' => 1,
'application/rfc+xml' => 1,
'application/riscos' => 1,
'application/rlmi+xml' => 1,
'application/rpki-publication' => 1,
'application/rpki-updown' => 1,
'application/rtploopback' => 1,
'application/rtx' => 1,
'application/samlassertion+xml' => 1,
'application/samlmetadata+xml' => 1,
'application/sbe' => 1,
'application/scaip+xml' => 1,
'application/scim+json' => 1,
'application/secevent+jwt' => 1,
'application/senml+cbor' => 1,
'application/senml+json' => 1,
'application/senml-etch+cbor' => 1,
'application/senml-etch+json' => 1,
'application/senml-exi' => 1,
'application/sensml+cbor' => 1,
'application/sensml+json' => 1,
'application/sensml-exi' => 1,
'application/sep+xml' => 1,
'application/sep-exi' => 1,
'application/session-info' => 1,
'application/set-payment' => 1,
'application/set-registration' => 1,
'application/sgml' => 1,
'application/sgml-open-catalog' => 1,
'application/simple-filter+xml' => 1,
'application/simple-message-summary' => 1,
'application/simplesymbolcontainer' => 1,
'application/sipc' => 1,
'application/slate' => 1,
'application/smil' => 1,
'application/smpte336m' => 1,
'application/soap+fastinfoset' => 1,
'application/soap+xml' => 1,
'application/spirits-event+xml' => 1,
'application/sql' => 1,
'application/stix+json' => 1,
'application/tamp-apex-update' => 1,
'application/tamp-apex-update-confirm' => 1,
'application/tamp-community-update' => 1,
'application/tamp-community-update-confirm' => 1,
'application/tamp-error' => 1,
'application/tamp-sequence-adjust' => 1,
'application/tamp-sequence-adjust-confirm' => 1,
'application/tamp-status-query' => 1,
'application/tamp-status-response' => 1,
'application/tamp-update' => 1,
'application/tamp-update-confirm' => 1,
'application/tar' => 1,
'application/taxii+json' => 1,
'application/td+json' => 1,
'application/tetra_isi' => 1,
'application/timestamp-query' => 1,
'application/timestamp-reply' => 1,
'application/tlsrpt+gzip' => 1,
'application/tlsrpt+json' => 1,
'application/tnauthlist' => 1,
'application/trickle-ice-sdpfrag' => 1,
'application/trig' => 1,
'application/tve-trigger' => 1,
'application/tzif' => 1,
'application/tzif-leap' => 1,
'application/ulpfec' => 1,
'application/urc-grpsheet+xml' => 1,
'application/urc-targetdesc+xml' => 1,
'application/urc-uisocketdesc+xml' => 1,
'application/vcard+json' => 1,
'application/vcard+xml' => 1,
'application/vemmi' => 1,
'application/vividence.scriptfile' => 1,
'application/vnd.3gpp-prose+xml' => 1,
'application/vnd.3gpp-prose-pc3ch+xml' => 1,
'application/vnd.3gpp-v2x-local-service-information' => 1,
'application/vnd.3gpp.access-transfer-events+xml' => 1,
'application/vnd.3gpp.bsf+xml' => 1,
'application/vnd.3gpp.gmop+xml' => 1,
'application/vnd.3gpp.mc-signalling-ear' => 1,
'application/vnd.3gpp.mcdata-affiliation-command+xml' => 1,
'application/vnd.3gpp.mcdata-info+xml' => 1,
'application/vnd.3gpp.mcdata-payload' => 1,
'application/vnd.3gpp.mcdata-service-config+xml' => 1,
'application/vnd.3gpp.mcdata-signalling' => 1,
'application/vnd.3gpp.mcdata-ue-config+xml' => 1,
'application/vnd.3gpp.mcdata-user-profile+xml' => 1,
'application/vnd.3gpp.mcptt-affiliation-command+xml' => 1,
'application/vnd.3gpp.mcptt-floor-request+xml' => 1,
'application/vnd.3gpp.mcptt-info+xml' => 1,
'application/vnd.3gpp.mcptt-location-info+xml' => 1,
'application/vnd.3gpp.mcptt-mbms-usage-info+xml' => 1,
'application/vnd.3gpp.mcptt-service-config+xml' => 1,
'application/vnd.3gpp.mcptt-signed+xml' => 1,
'application/vnd.3gpp.mcptt-ue-config+xml' => 1,
'application/vnd.3gpp.mcptt-ue-init-config+xml' => 1,
'application/vnd.3gpp.mcptt-user-profile+xml' => 1,
'application/vnd.3gpp.mcvideo-affiliation-command+xml' => 1,
'application/vnd.3gpp.mcvideo-affiliation-info+xml' => 1,
'application/vnd.3gpp.mcvideo-info+xml' => 1,
'application/vnd.3gpp.mcvideo-location-info+xml' => 1,
'application/vnd.3gpp.mcvideo-mbms-usage-info+xml' => 1,
'application/vnd.3gpp.mcvideo-service-config+xml' => 1,
'application/vnd.3gpp.mcvideo-transmission-request+xml' => 1,
'application/vnd.3gpp.mcvideo-ue-config+xml' => 1,
'application/vnd.3gpp.mcvideo-user-profile+xml' => 1,
'application/vnd.3gpp.mid-call+xml' => 1,
'application/vnd.3gpp.sms' => 1,
'application/vnd.3gpp.sms+xml' => 1,
'application/vnd.3gpp.srvcc-ext+xml' => 1,
'application/vnd.3gpp.srvcc-info+xml' => 1,
'application/vnd.3gpp.state-and-event-info+xml' => 1,
'application/vnd.3gpp.ussd+xml' => 1,
'application/vnd.3gpp2.bcmcsinfo+xml' => 1,
'application/vnd.3gpp2.sms' => 1,
'application/vnd.3lightssoftware.imagescal' => 1,
'application/vnd.adobe.flash.movie' => 1,
'application/vnd.adobe.partial-upload' => 1,
'application/vnd.aether.imp' => 1,
'application/vnd.afpc.afplinedata' => 1,
'application/vnd.afpc.afplinedata-pagedef' => 1,
'application/vnd.afpc.foca-charset' => 1,
'application/vnd.afpc.foca-codedfont' => 1,
'application/vnd.afpc.foca-codepage' => 1,
'application/vnd.afpc.modca' => 1,
'application/vnd.afpc.modca-formdef' => 1,
'application/vnd.afpc.modca-mediummap' => 1,
'application/vnd.afpc.modca-objectcontainer' => 1,
'application/vnd.afpc.modca-overlay' => 1,
'application/vnd.afpc.modca-pagesegment' => 1,
'application/vnd.ah-barcode' => 1,
'application/vnd.amadeus+json' => 1,
'application/vnd.amazon.mobi8-ebook' => 1,
'application/vnd.amundsen.maze+xml' => 1,
'application/vnd.android.ota' => 1,
'application/vnd.anki' => 1,
'application/vnd.apache.thrift.binary' => 1,
'application/vnd.apache.thrift.compact' => 1,
'application/vnd.apache.thrift.json' => 1,
'application/vnd.api+json' => 1,
'application/vnd.aplextor.warrp+json' => 1,
'application/vnd.apothekende.reservation+json' => 1,
'application/vnd.arastra.swi' => 1,
'application/vnd.artisan+json' => 1,
'application/vnd.artsquare' => 1,
'application/vnd.autopackage' => 1,
'application/vnd.avalon+json' => 1,
'application/vnd.avistar+xml' => 1,
'application/vnd.balsamiq.bmpr' => 1,
'application/vnd.banana-accounting' => 1,
'application/vnd.bbf.usp.error' => 1,
'application/vnd.bbf.usp.msg' => 1,
'application/vnd.bbf.usp.msg+json' => 1,
'application/vnd.bekitzur-stech+json' => 1,
'application/vnd.bint.med-content' => 1,
'application/vnd.biopax.rdf+xml' => 1,
'application/vnd.blink-idb-value-wrapper' => 1,
'application/vnd.bluetooth.ep.oob' => 1,
'application/vnd.bluetooth.le.oob' => 1,
'application/vnd.bpf' => 1,
'application/vnd.bpf3' => 1,
'application/vnd.byu.uapi+json' => 1,
'application/vnd.cab-jscript' => 1,
'application/vnd.canon-cpdl' => 1,
'application/vnd.canon-lips' => 1,
'application/vnd.capasystems-pg+json' => 1,
'application/vnd.cendio.thinlinc.clientconf' => 1,
'application/vnd.century-systems.tcp_stream' => 1,
'application/vnd.chess-pgn' => 1,
'application/vnd.ciedi' => 1,
'application/vnd.cirpack.isdn-ext' => 1,
'application/vnd.coffeescript' => 1,
'application/vnd.collabio.xodocuments.document' => 1,
'application/vnd.collabio.xodocuments.document-template' => 1,
'application/vnd.collabio.xodocuments.presentation' => 1,
'application/vnd.collabio.xodocuments.presentation-template' => 1,
'application/vnd.collabio.xodocuments.spreadsheet' => 1,
'application/vnd.collabio.xodocuments.spreadsheet-template' => 1,
'application/vnd.collection+json' => 1,
'application/vnd.collection.doc+json' => 1,
'application/vnd.collection.next+json' => 1,
'application/vnd.comicbook+zip' => 1,
'application/vnd.comicbook-rar' => 1,
'application/vnd.commerce-battelle' => 1,
'application/vnd.coreos.ignition+json' => 1,
'application/vnd.cryptii.pipe+json' => 1,
'application/vnd.crypto-shade-file' => 1,
'application/vnd.ctct.ws+xml' => 1,
'application/vnd.cups-pdf' => 1,
'application/vnd.cups-postscript' => 1,
'application/vnd.cups-raster' => 1,
'application/vnd.cups-raw' => 1,
'application/vnd.curl' => 1,
'application/vnd.cyan.dean.root+xml' => 1,
'application/vnd.cybank' => 1,
'application/vnd.d2l.coursepackage1p0+zip' => 1,
'application/vnd.datapackage+json' => 1,
'application/vnd.dataresource+json' => 1,
'application/vnd.dbf' => 1,
'application/vnd.debian.binary-package' => 1,
'application/vnd.desmume.movie' => 1,
'application/vnd.dir-bi.plate-dl-nosuffix' => 1,
'application/vnd.dm.delegation+xml' => 1,
'application/vnd.document+json' => 1,
'application/vnd.dolby.mobile.1' => 1,
'application/vnd.dolby.mobile.2' => 1,
'application/vnd.doremir.scorecloud-binary-document' => 1,
'application/vnd.drive+json' => 1,
'application/vnd.dtg.local' => 1,
'application/vnd.dtg.local.flash' => 1,
'application/vnd.dtg.local.html' => 1,
'application/vnd.dvb.dvbisl+xml' => 1,
'application/vnd.dvb.dvbj' => 1,
'application/vnd.dvb.esgcontainer' => 1,
'application/vnd.dvb.ipdcdftnotifaccess' => 1,
'application/vnd.dvb.ipdcesgaccess' => 1,
'application/vnd.dvb.ipdcesgaccess2' => 1,
'application/vnd.dvb.ipdcesgpdd' => 1,
'application/vnd.dvb.ipdcroaming' => 1,
'application/vnd.dvb.iptv.alfec-base' => 1,
'application/vnd.dvb.iptv.alfec-enhancement' => 1,
'application/vnd.dvb.notif-aggregate-root+xml' => 1,
'application/vnd.dvb.notif-container+xml' => 1,
'application/vnd.dvb.notif-generic+xml' => 1,
'application/vnd.dvb.notif-ia-msglist+xml' => 1,
'application/vnd.dvb.notif-ia-registration-request+xml' => 1,
'application/vnd.dvb.notif-ia-registration-response+xml' => 1,
'application/vnd.dvb.notif-init+xml' => 1,
'application/vnd.dvb.pfr' => 1,
'application/vnd.dxr' => 1,
'application/vnd.dzr' => 1,
'application/vnd.easykaraoke.cdgdownload' => 1,
'application/vnd.ecdis-update' => 1,
'application/vnd.ecip.rlp' => 1,
'application/vnd.ecowin.filerequest' => 1,
'application/vnd.ecowin.fileupdate' => 1,
'application/vnd.ecowin.series' => 1,
'application/vnd.ecowin.seriesrequest' => 1,
'application/vnd.ecowin.seriesupdate' => 1,
'application/vnd.efi.img' => 1,
'application/vnd.efi.iso' => 1,
'application/vnd.emclient.accessrequest+xml' => 1,
'application/vnd.enphase.envoy' => 1,
'application/vnd.eprints.data+xml' => 1,
'application/vnd.ericsson.quickcall' => 1,
'application/vnd.espass-espass+zip' => 1,
'application/vnd.etsi.aoc+xml' => 1,
'application/vnd.etsi.asic-e+zip' => 1,
'application/vnd.etsi.asic-s+zip' => 1,
'application/vnd.etsi.cug+xml' => 1,
'application/vnd.etsi.iptvcommand+xml' => 1,
'application/vnd.etsi.iptvdiscovery+xml' => 1,
'application/vnd.etsi.iptvprofile+xml' => 1,
'application/vnd.etsi.iptvsad-bc+xml' => 1,
'application/vnd.etsi.iptvsad-cod+xml' => 1,
'application/vnd.etsi.iptvsad-npvr+xml' => 1,
'application/vnd.etsi.iptvservice+xml' => 1,
'application/vnd.etsi.iptvsync+xml' => 1,
'application/vnd.etsi.iptvueprofile+xml' => 1,
'application/vnd.etsi.mcid+xml' => 1,
'application/vnd.etsi.mheg5' => 1,
'application/vnd.etsi.overload-control-policy-dataset+xml' => 1,
'application/vnd.etsi.pstn+xml' => 1,
'application/vnd.etsi.sci+xml' => 1,
'application/vnd.etsi.simservs+xml' => 1,
'application/vnd.etsi.timestamp-token' => 1,
'application/vnd.etsi.tsl+xml' => 1,
'application/vnd.etsi.tsl.der' => 1,
'application/vnd.eudora.data' => 1,
'application/vnd.evolv.ecig.profile' => 1,
'application/vnd.evolv.ecig.settings' => 1,
'application/vnd.evolv.ecig.theme' => 1,
'application/vnd.exstream-empower+zip' => 1,
'application/vnd.exstream-package' => 1,
'application/vnd.f-secure.mobile' => 1,
'application/vnd.fastcopy-disk-image' => 1,
'application/vnd.ffsns' => 1,
'application/vnd.ficlab.flb+zip' => 1,
'application/vnd.filmit.zfc' => 1,
'application/vnd.fints' => 1,
'application/vnd.firemonkeys.cloudcell' => 1,
'application/vnd.font-fontforge-sfd' => 1,
'application/vnd.fujixerox.art-ex' => 1,
'application/vnd.fujixerox.art4' => 1,
'application/vnd.fujixerox.docuworks.container' => 1,
'application/vnd.fujixerox.hbpl' => 1,
'application/vnd.fut-misnet' => 1,
'application/vnd.futoin+cbor' => 1,
'application/vnd.futoin+json' => 1,
'application/vnd.gentics.grd+json' => 1,
'application/vnd.geo+json' => 1,
'application/vnd.geocube+xml' => 1,
'application/vnd.gerber' => 1,
'application/vnd.globalplatform.card-content-mgt' => 1,
'application/vnd.globalplatform.card-content-mgt-response' => 1,
'application/vnd.gov.sk.e-form+xml' => 1,
'application/vnd.gov.sk.e-form+zip' => 1,
'application/vnd.gov.sk.xmldatacontainer+xml' => 1,
'application/vnd.gridmp' => 1,
'application/vnd.hal+json' => 1,
'application/vnd.hc+json' => 1,
'application/vnd.hcl-bireports' => 1,
'application/vnd.hdt' => 1,
'application/vnd.heroku+json' => 1,
'application/vnd.httphone' => 1,
'application/vnd.hyper+json' => 1,
'application/vnd.hyper-item+json' => 1,
'application/vnd.hyperdrive+json' => 1,
'application/vnd.hzn-3d-crossword' => 1,
'application/vnd.ibm.afplinedata' => 1,
'application/vnd.ibm.electronic-media' => 1,
'application/vnd.ieee.1905' => 1,
'application/vnd.imagemeter.folder+zip' => 1,
'application/vnd.imagemeter.image+zip' => 1,
'application/vnd.ims.imsccv1p1' => 1,
'application/vnd.ims.imsccv1p2' => 1,
'application/vnd.ims.imsccv1p3' => 1,
'application/vnd.ims.lis.v2.result+json' => 1,
'application/vnd.ims.lti.v2.toolconsumerprofile+json' => 1,
'application/vnd.ims.lti.v2.toolproxy+json' => 1,
'application/vnd.ims.lti.v2.toolproxy.id+json' => 1,
'application/vnd.ims.lti.v2.toolsettings+json' => 1,
'application/vnd.ims.lti.v2.toolsettings.simple+json' => 1,
'application/vnd.informedcontrol.rms+xml' => 1,
'application/vnd.informix-visionary' => 1,
'application/vnd.infotech.project' => 1,
'application/vnd.infotech.project+xml' => 1,
'application/vnd.innopath.wamp.notification' => 1,
'application/vnd.intertrust.digibox' => 1,
'application/vnd.intertrust.nncp' => 1,
'application/vnd.iptc.g2.catalogitem+xml' => 1,
'application/vnd.iptc.g2.conceptitem+xml' => 1,
'application/vnd.iptc.g2.knowledgeitem+xml' => 1,
'application/vnd.iptc.g2.newsitem+xml' => 1,
'application/vnd.iptc.g2.newsmessage+xml' => 1,
'application/vnd.iptc.g2.packageitem+xml' => 1,
'application/vnd.iptc.g2.planningitem+xml' => 1,
'application/vnd.iso11783-10+zip' => 1,
'application/vnd.japannet-directory-service' => 1,
'application/vnd.japannet-jpnstore-wakeup' => 1,
'application/vnd.japannet-payment-wakeup' => 1,
'application/vnd.japannet-registration' => 1,
'application/vnd.japannet-registration-wakeup' => 1,
'application/vnd.japannet-setstore-wakeup' => 1,
'application/vnd.japannet-verification' => 1,
'application/vnd.japannet-verification-wakeup' => 1,
'application/vnd.jsk.isdn-ngn' => 1,
'application/vnd.las' => 1,
'application/vnd.las.las+json' => 1,
'application/vnd.laszip' => 1,
'application/vnd.leap+json' => 1,
'application/vnd.liberty-request+xml' => 1,
'application/vnd.logipipe.circuit+zip' => 1,
'application/vnd.loom' => 1,
'application/vnd.mapbox-vector-tile' => 1,
'application/vnd.marlin.drm.actiontoken+xml' => 1,
'application/vnd.marlin.drm.conftoken+xml' => 1,
'application/vnd.marlin.drm.license+xml' => 1,
'application/vnd.marlin.drm.mdcf' => 1,
'application/vnd.mason+json' => 1,
'application/vnd.maxmind.maxmind-db' => 1,
'application/vnd.meridian-slingshot' => 1,
'application/vnd.micro+json' => 1,
'application/vnd.microsoft.portable-executable' => 1,
'application/vnd.microsoft.windows.thumbnail-cache' => 1,
'application/vnd.miele+json' => 1,
'application/vnd.minisoft-hp3000-save' => 1,
'application/vnd.mitsubishi.misty-guard.trustweb' => 1,
'application/vnd.motorola.flexsuite' => 1,
'application/vnd.motorola.flexsuite.adsi' => 1,
'application/vnd.motorola.flexsuite.fis' => 1,
'application/vnd.motorola.flexsuite.gotap' => 1,
'application/vnd.motorola.flexsuite.kmr' => 1,
'application/vnd.motorola.flexsuite.ttc' => 1,
'application/vnd.motorola.flexsuite.wem' => 1,
'application/vnd.motorola.iprm' => 1,
'application/vnd.ms-3mfdocument' => 1,
'application/vnd.ms-asf' => 1,
'application/vnd.ms-color.iccprofile' => 1,
'application/vnd.ms-office.activex+xml' => 1,
'application/vnd.ms-opentype' => 1,
'application/vnd.ms-package.obfuscated-opentype' => 1,
'application/vnd.ms-playready.initiator+xml' => 1,
'application/vnd.ms-printdevicecapabilities+xml' => 1,
'application/vnd.ms-printing.printticket+xml' => 1,
'application/vnd.ms-printschematicket+xml' => 1,
'application/vnd.ms-tnef' => 1,
'application/vnd.ms-windows.devicepairing' => 1,
'application/vnd.ms-windows.nwprinting.oob' => 1,
'application/vnd.ms-windows.printerpairing' => 1,
'application/vnd.ms-windows.wsd.oob' => 1,
'application/vnd.ms-wmdrm.lic-chlg-req' => 1,
'application/vnd.ms-wmdrm.lic-resp' => 1,
'application/vnd.ms-wmdrm.meter-chlg-req' => 1,
'application/vnd.ms-wmdrm.meter-resp' => 1,
'application/vnd.msa-disk-image' => 1,
'application/vnd.msign' => 1,
'application/vnd.multiad.creator' => 1,
'application/vnd.multiad.creator.cif' => 1,
'application/vnd.music-niff' => 1,
'application/vnd.ncd.control' => 1,
'application/vnd.ncd.reference' => 1,
'application/vnd.nearst.inv+json' => 1,
'application/vnd.nervana' => 1,
'application/vnd.netfpx' => 1,
'application/vnd.nimn' => 1,
'application/vnd.nintendo.nitro.rom' => 1,
'application/vnd.nintendo.snes.rom' => 1,
'application/vnd.nokia.catalogs' => 1,
'application/vnd.nokia.conml+wbxml' => 1,
'application/vnd.nokia.conml+xml' => 1,
'application/vnd.nokia.iptv.config+xml' => 1,
'application/vnd.nokia.isds-radio-presets' => 1,
'application/vnd.nokia.landmark+wbxml' => 1,
'application/vnd.nokia.landmark+xml' => 1,
'application/vnd.nokia.landmarkcollection+xml' => 1,
'application/vnd.nokia.ncd' => 1,
'application/vnd.nokia.pcd+wbxml' => 1,
'application/vnd.nokia.pcd+xml' => 1,
'application/vnd.ntt-local.content-share' => 1,
'application/vnd.ntt-local.file-transfer' => 1,
'application/vnd.ntt-local.ogw_remote-access' => 1,
'application/vnd.ntt-local.sip-ta_remote' => 1,
'application/vnd.ntt-local.sip-ta_tcp_stream' => 1,
'application/vnd.obn' => 1,
'application/vnd.ocf+cbor' => 1,
'application/vnd.oci.image.manifest.v1+json' => 1,
'application/vnd.oftn.l10n+json' => 1,
'application/vnd.oipf.contentaccessdownload+xml' => 1,
'application/vnd.oipf.contentaccessstreaming+xml' => 1,
'application/vnd.oipf.cspg-hexbinary' => 1,
'application/vnd.oipf.dae.svg+xml' => 1,
'application/vnd.oipf.dae.xhtml+xml' => 1,
'application/vnd.oipf.mippvcontrolmessage+xml' => 1,
'application/vnd.oipf.pae.gem' => 1,
'application/vnd.oipf.spdiscovery+xml' => 1,
'application/vnd.oipf.spdlist+xml' => 1,
'application/vnd.oipf.ueprofile+xml' => 1,
'application/vnd.oipf.userprofile+xml' => 1,
'application/vnd.oma-scws-config' => 1,
'application/vnd.oma-scws-http-request' => 1,
'application/vnd.oma-scws-http-response' => 1,
'application/vnd.oma.bcast.associated-procedure-parameter+xml' => 1,
'application/vnd.oma.bcast.drm-trigger+xml' => 1,
'application/vnd.oma.bcast.imd+xml' => 1,
'application/vnd.oma.bcast.ltkm' => 1,
'application/vnd.oma.bcast.notification+xml' => 1,
'application/vnd.oma.bcast.provisioningtrigger' => 1,
'application/vnd.oma.bcast.sgboot' => 1,
'application/vnd.oma.bcast.sgdd+xml' => 1,
'application/vnd.oma.bcast.sgdu' => 1,
'application/vnd.oma.bcast.simple-symbol-container' => 1,
'application/vnd.oma.bcast.smartcard-trigger+xml' => 1,
'application/vnd.oma.bcast.sprov+xml' => 1,
'application/vnd.oma.bcast.stkm' => 1,
'application/vnd.oma.cab-address-book+xml' => 1,
'application/vnd.oma.cab-feature-handler+xml' => 1,
'application/vnd.oma.cab-pcc+xml' => 1,
'application/vnd.oma.cab-subs-invite+xml' => 1,
'application/vnd.oma.cab-user-prefs+xml' => 1,
'application/vnd.oma.dcd' => 1,
'application/vnd.oma.dcdc' => 1,
'application/vnd.oma.drm.risd+xml' => 1,
'application/vnd.oma.group-usage-list+xml' => 1,
'application/vnd.oma.lwm2m+json' => 1,
'application/vnd.oma.lwm2m+tlv' => 1,
'application/vnd.oma.pal+xml' => 1,
'application/vnd.oma.poc.detailed-progress-report+xml' => 1,
'application/vnd.oma.poc.final-report+xml' => 1,
'application/vnd.oma.poc.groups+xml' => 1,
'application/vnd.oma.poc.invocation-descriptor+xml' => 1,
'application/vnd.oma.poc.optimized-progress-report+xml' => 1,
'application/vnd.oma.push' => 1,
'application/vnd.oma.scidm.messages+xml' => 1,
'application/vnd.oma.xcap-directory+xml' => 1,
'application/vnd.omads-email+xml' => 1,
'application/vnd.omads-file+xml' => 1,
'application/vnd.omads-folder+xml' => 1,
'application/vnd.omaloc-supl-init' => 1,
'application/vnd.onepager' => 1,
'application/vnd.onepagertamp' => 1,
'application/vnd.onepagertamx' => 1,
'application/vnd.onepagertat' => 1,
'application/vnd.onepagertatp' => 1,
'application/vnd.onepagertatx' => 1,
'application/vnd.openblox.game-binary' => 1,
'application/vnd.openeye.oeb' => 1,
'application/vnd.openxmlformats-officedocument.custom-properties+xml' => 1,
'application/vnd.openxmlformats-officedocument.customxmlproperties+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawing+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.chart+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml' => 1,
'application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml' => 1,
'application/vnd.openxmlformats-officedocument.extended-properties+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.comments+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.presprops+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.slide+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.tags+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.template.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml' => 1,
'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' => 1,
'application/vnd.openxmlformats-officedocument.theme+xml' => 1,
'application/vnd.openxmlformats-officedocument.themeoverride+xml' => 1,
'application/vnd.openxmlformats-officedocument.vmldrawing' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml' => 1,
'application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml' => 1,
'application/vnd.openxmlformats-package.core-properties+xml' => 1,
'application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml' => 1,
'application/vnd.openxmlformats-package.relationships+xml' => 1,
'application/vnd.oracle.resource+json' => 1,
'application/vnd.orange.indata' => 1,
'application/vnd.osa.netdeploy' => 1,
'application/vnd.osgi.bundle' => 1,
'application/vnd.otps.ct-kip+xml' => 1,
'application/vnd.oxli.countgraph' => 1,
'application/vnd.pagerduty+json' => 1,
'application/vnd.panoply' => 1,
'application/vnd.paos.xml' => 1,
'application/vnd.patentdive' => 1,
'application/vnd.patientecommsdoc' => 1,
'application/vnd.pcos' => 1,
'application/vnd.piaccess.application-licence' => 1,
'application/vnd.poc.group-advertisement+xml' => 1,
'application/vnd.powerbuilder6-s' => 1,
'application/vnd.powerbuilder7' => 1,
'application/vnd.powerbuilder7-s' => 1,
'application/vnd.powerbuilder75' => 1,
'application/vnd.powerbuilder75-s' => 1,
'application/vnd.preminet' => 1,
'application/vnd.psfs' => 1,
'application/vnd.pwg-multiplexed' => 1,
'application/vnd.pwg-xhtml-print+xml' => 1,
'application/vnd.qualcomm.brew-app-res' => 1,
'application/vnd.quarantainenet' => 1,
'application/vnd.quobject-quoxdocument' => 1,
'application/vnd.radisys.moml+xml' => 1,
'application/vnd.radisys.msml+xml' => 1,
'application/vnd.radisys.msml-audit+xml' => 1,
'application/vnd.radisys.msml-audit-conf+xml' => 1,
'application/vnd.radisys.msml-audit-conn+xml' => 1,
'application/vnd.radisys.msml-audit-dialog+xml' => 1,
'application/vnd.radisys.msml-audit-stream+xml' => 1,
'application/vnd.radisys.msml-conf+xml' => 1,
'application/vnd.radisys.msml-dialog+xml' => 1,
'application/vnd.radisys.msml-dialog-base+xml' => 1,
'application/vnd.radisys.msml-dialog-fax-detect+xml' => 1,
'application/vnd.radisys.msml-dialog-fax-sendrecv+xml' => 1,
'application/vnd.radisys.msml-dialog-group+xml' => 1,
'application/vnd.radisys.msml-dialog-speech+xml' => 1,
'application/vnd.radisys.msml-dialog-transform+xml' => 1,
'application/vnd.rainstor.data' => 1,
'application/vnd.rapid' => 1,
'application/vnd.rar' => 1,
'application/vnd.renlearn.rlprint' => 1,
'application/vnd.restful+json' => 1,
'application/vnd.rs-274x' => 1,
'application/vnd.ruckus.download' => 1,
'application/vnd.s3sms' => 1,
'application/vnd.sar' => 1,
'application/vnd.sbm.cid' => 1,
'application/vnd.sbm.mid2' => 1,
'application/vnd.scribus' => 1,
'application/vnd.sealed.3df' => 1,
'application/vnd.sealed.csf' => 1,
'application/vnd.sealed.doc' => 1,
'application/vnd.sealed.eml' => 1,
'application/vnd.sealed.mht' => 1,
'application/vnd.sealed.net' => 1,
'application/vnd.sealed.ppt' => 1,
'application/vnd.sealed.tiff' => 1,
'application/vnd.sealed.xls' => 1,
'application/vnd.sealedmedia.softseal.html' => 1,
'application/vnd.sealedmedia.softseal.pdf' => 1,
'application/vnd.shade-save-file' => 1,
'application/vnd.shootproof+json' => 1,
'application/vnd.shopkick+json' => 1,
'application/vnd.shp' => 1,
'application/vnd.shx' => 1,
'application/vnd.sigrok.session' => 1,
'application/vnd.siren+json' => 1,
'application/vnd.smart.notebook' => 1,
'application/vnd.snesdev-page-table' => 1,
'application/vnd.software602.filler.form-xml-zip' => 1,
'application/vnd.sqlite3' => 1,
'application/vnd.sss-cod' => 1,
'application/vnd.sss-dtf' => 1,
'application/vnd.sss-ntf' => 1,
'application/vnd.street-stream' => 1,
'application/vnd.swiftview-ics' => 1,
'application/vnd.syncml.dm.notification' => 1,
'application/vnd.syncml.dmddf+wbxml' => 1,
'application/vnd.syncml.dmtnds+wbxml' => 1,
'application/vnd.syncml.dmtnds+xml' => 1,
'application/vnd.syncml.ds.notification' => 1,
'application/vnd.tableschema+json' => 1,
'application/vnd.think-cell.ppttc+json' => 1,
'application/vnd.tmd.mediaflex.api+xml' => 1,
'application/vnd.tml' => 1,
'application/vnd.tri.onesource' => 1,
'application/vnd.truedoc' => 1,
'application/vnd.ubisoft.webplayer' => 1,
'application/vnd.uplanet.alert' => 1,
'application/vnd.uplanet.alert-wbxml' => 1,
'application/vnd.uplanet.bearer-choice' => 1,
'application/vnd.uplanet.bearer-choice-wbxml' => 1,
'application/vnd.uplanet.cacheop' => 1,
'application/vnd.uplanet.cacheop-wbxml' => 1,
'application/vnd.uplanet.channel' => 1,
'application/vnd.uplanet.channel-wbxml' => 1,
'application/vnd.uplanet.list' => 1,
'application/vnd.uplanet.list-wbxml' => 1,
'application/vnd.uplanet.listcmd' => 1,
'application/vnd.uplanet.listcmd-wbxml' => 1,
'application/vnd.uplanet.signal' => 1,
'application/vnd.uri-map' => 1,
'application/vnd.valve.source.material' => 1,
'application/vnd.vd-study' => 1,
'application/vnd.vectorworks' => 1,
'application/vnd.vel+json' => 1,
'application/vnd.verimatrix.vcas' => 1,
'application/vnd.veryant.thin' => 1,
'application/vnd.ves.encrypted' => 1,
'application/vnd.vidsoft.vidconference' => 1,
'application/vnd.vividence.scriptfile' => 1,
'application/vnd.wap.sic' => 1,
'application/vnd.wap.slc' => 1,
'application/vnd.wfa.p2p' => 1,
'application/vnd.wfa.wsc' => 1,
'application/vnd.windows.devicepairing' => 1,
'application/vnd.wmc' => 1,
'application/vnd.wmf.bootstrap' => 1,
'application/vnd.wolfram.mathematica' => 1,
'application/vnd.wolfram.mathematica.package' => 1,
'application/vnd.wrq-hp3000-labelled' => 1,
'application/vnd.wv.csp+wbxml' => 1,
'application/vnd.wv.csp+xml' => 1,
'application/vnd.wv.ssp+xml' => 1,
'application/vnd.xacml+json' => 1,
'application/vnd.xfdl.webform' => 1,
'application/vnd.xmi+xml' => 1,
'application/vnd.xmpie.cpkg' => 1,
'application/vnd.xmpie.dpkg' => 1,
'application/vnd.xmpie.plan' => 1,
'application/vnd.xmpie.ppkg' => 1,
'application/vnd.xmpie.xlim' => 1,
'application/vnd.yamaha.remote-setup' => 1,
'application/vnd.yamaha.through-ngn' => 1,
'application/vnd.yamaha.tunnel-udpencap' => 1,
'application/vnd.yaoweme' => 1,
'application/vnd.youtube.yt' => 1,
'application/voucher-cms+json' => 1,
'application/vq-rtcpxr' => 1,
'application/watcherinfo+xml' => 1,
'application/webpush-options+json' => 1,
'application/whoispp-query' => 1,
'application/whoispp-response' => 1,
'application/wita' => 1,
'application/wordperfect5.1' => 1,
'application/x-amf' => 1,
'application/x-compress' => 1,
'application/x-deb' => 1,
'application/x-font-dos' => 1,
'application/x-font-framemaker' => 1,
'application/x-font-libgrx' => 1,
'application/x-font-speedo' => 1,
'application/x-font-sunos-news' => 1,
'application/x-font-vfont' => 1,
'application/x-gzip' => 1,
'application/x-javascript' => 1,
'application/x-mpegurl' => 1,
'application/x-pki-message' => 1,
'application/x-www-form-urlencoded' => 1,
'application/x-x509-ca-ra-cert' => 1,
'application/x-x509-next-ca-cert' => 1,
'application/x400-bp' => 1,
'application/xacml+xml' => 1,
'application/xcon-conference-info+xml' => 1,
'application/xcon-conference-info-diff+xml' => 1,
'application/xhtml-voice+xml' => 1,
'application/xml-external-parsed-entity' => 1,
'application/xml-patch+xml' => 1,
'application/xmpp+xml' => 1,
'application/yang-data+json' => 1,
'application/yang-data+xml' => 1,
'application/yang-patch+json' => 1,
'application/yang-patch+xml' => 1,
'application/zlib' => 1,
'application/zstd' => 1,
'audio/1d-interleaved-parityfec' => 1,
'audio/32kadpcm' => 1,
'audio/3gpp2' => 1,
'audio/aac' => 1,
'audio/ac3' => 1,
'audio/amr' => 1,
'audio/amr-wb' => 1,
'audio/amr-wb+' => 1,
'audio/aptx' => 1,
'audio/asc' => 1,
'audio/atrac-advanced-lossless' => 1,
'audio/atrac-x' => 1,
'audio/atrac3' => 1,
'audio/bv16' => 1,
'audio/bv32' => 1,
'audio/clearmode' => 1,
'audio/cn' => 1,
'audio/dat12' => 1,
'audio/dls' => 1,
'audio/dsr-es201108' => 1,
'audio/dsr-es202050' => 1,
'audio/dsr-es202211' => 1,
'audio/dsr-es202212' => 1,
'audio/dv' => 1,
'audio/dvi4' => 1,
'audio/eac3' => 1,
'audio/encaprtp' => 1,
'audio/evrc' => 1,
'audio/evrc-qcp' => 1,
'audio/evrc0' => 1,
'audio/evrc1' => 1,
'audio/evrcb' => 1,
'audio/evrcb0' => 1,
'audio/evrcb1' => 1,
'audio/evrcnw' => 1,
'audio/evrcnw0' => 1,
'audio/evrcnw1' => 1,
'audio/evrcwb' => 1,
'audio/evrcwb0' => 1,
'audio/evrcwb1' => 1,
'audio/evs' => 1,
'audio/flexfec' => 1,
'audio/fwdred' => 1,
'audio/g711-0' => 1,
'audio/g719' => 1,
'audio/g722' => 1,
'audio/g7221' => 1,
'audio/g723' => 1,
'audio/g726-16' => 1,
'audio/g726-24' => 1,
'audio/g726-32' => 1,
'audio/g726-40' => 1,
'audio/g728' => 1,
'audio/g729' => 1,
'audio/g7291' => 1,
'audio/g729d' => 1,
'audio/g729e' => 1,
'audio/gsm' => 1,
'audio/gsm-efr' => 1,
'audio/gsm-hr-08' => 1,
'audio/ilbc' => 1,
'audio/ip-mr_v2.5' => 1,
'audio/isac' => 1,
'audio/l16' => 1,
'audio/l20' => 1,
'audio/l24' => 1,
'audio/l8' => 1,
'audio/lpc' => 1,
'audio/melp' => 1,
'audio/melp1200' => 1,
'audio/melp2400' => 1,
'audio/melp600' => 1,
'audio/mhas' => 1,
'audio/mp4a-latm' => 1,
'audio/mpa' => 1,
'audio/mpa-robust' => 1,
'audio/mpeg4-generic' => 1,
'audio/musepack' => 1,
'audio/opus' => 1,
'audio/parityfec' => 1,
'audio/pcma' => 1,
'audio/pcma-wb' => 1,
'audio/pcmu' => 1,
'audio/pcmu-wb' => 1,
'audio/prs.sid' => 1,
'audio/qcelp' => 1,
'audio/raptorfec' => 1,
'audio/red' => 1,
'audio/rtp-enc-aescm128' => 1,
'audio/rtp-midi' => 1,
'audio/rtploopback' => 1,
'audio/rtx' => 1,
'audio/smv' => 1,
'audio/smv-qcp' => 1,
'audio/smv0' => 1,
'audio/sp-midi' => 1,
'audio/speex' => 1,
'audio/t140c' => 1,
'audio/t38' => 1,
'audio/telephone-event' => 1,
'audio/tetra_acelp' => 1,
'audio/tetra_acelp_bb' => 1,
'audio/tone' => 1,
'audio/uemclip' => 1,
'audio/ulpfec' => 1,
'audio/usac' => 1,
'audio/vdvi' => 1,
'audio/vmr-wb' => 1,
'audio/vnd.3gpp.iufp' => 1,
'audio/vnd.4sb' => 1,
'audio/vnd.audiokoz' => 1,
'audio/vnd.celp' => 1,
'audio/vnd.cisco.nse' => 1,
'audio/vnd.cmles.radio-events' => 1,
'audio/vnd.cns.anp1' => 1,
'audio/vnd.cns.inf1' => 1,
'audio/vnd.dlna.adts' => 1,
'audio/vnd.dolby.heaac.1' => 1,
'audio/vnd.dolby.heaac.2' => 1,
'audio/vnd.dolby.mlp' => 1,
'audio/vnd.dolby.mps' => 1,
'audio/vnd.dolby.pl2' => 1,
'audio/vnd.dolby.pl2x' => 1,
'audio/vnd.dolby.pl2z' => 1,
'audio/vnd.dolby.pulse.1' => 1,
'audio/vnd.dts.uhd' => 1,
'audio/vnd.dvb.file' => 1,
'audio/vnd.everad.plj' => 1,
'audio/vnd.hns.audio' => 1,
'audio/vnd.nokia.mobile-xmf' => 1,
'audio/vnd.nortel.vbk' => 1,
'audio/vnd.octel.sbc' => 1,
'audio/vnd.presonus.multitrack' => 1,
'audio/vnd.qcelp' => 1,
'audio/vnd.rhetorex.32kadpcm' => 1,
'audio/vnd.rn-realaudio' => 1,
'audio/vnd.sealedmedia.softseal.mpeg' => 1,
'audio/vnd.vmx.cvsd' => 1,
'audio/vnd.wave' => 1,
'audio/vorbis' => 1,
'audio/vorbis-config' => 1,
'audio/x-tta' => 1,
'chemical/x-pdb' => 1,
'font/sfnt' => 1,
'image/avci' => 1,
'image/avcs' => 1,
'image/naplps' => 1,
'image/pjpeg' => 1,
'image/pwg-raster' => 1,
'image/vnd.cns.inf2' => 1,
'image/vnd.globalgraphics.pgb' => 1,
'image/vnd.mix' => 1,
'image/vnd.mozilla.apng' => 1,
'image/vnd.radiance' => 1,
'image/vnd.sealed.png' => 1,
'image/vnd.sealedmedia.softseal.gif' => 1,
'image/vnd.sealedmedia.softseal.jpg' => 1,
'image/vnd.svf' => 1,
'image/x-xcf' => 1,
'message/cpim' => 1,
'message/delivery-status' => 1,
'message/external-body' => 1,
'message/feedback-report' => 1,
'message/http' => 1,
'message/imdn+xml' => 1,
'message/news' => 1,
'message/partial' => 1,
'message/s-http' => 1,
'message/sip' => 1,
'message/sipfrag' => 1,
'message/tracking-status' => 1,
'message/vnd.si.simp' => 1,
'model/vnd.flatland.3dml' => 1,
'model/vnd.gs-gdl' => 1,
'model/vnd.gs.gdl' => 1,
'model/vnd.moml+xml' => 1,
'model/vnd.rosette.annotated-data-model' => 1,
'multipart/alternative' => 1,
'multipart/appledouble' => 1,
'multipart/byteranges' => 1,
'multipart/digest' => 1,
'multipart/encrypted' => 1,
'multipart/form-data' => 1,
'multipart/header-set' => 1,
'multipart/mixed' => 1,
'multipart/multilingual' => 1,
'multipart/parallel' => 1,
'multipart/related' => 1,
'multipart/report' => 1,
'multipart/signed' => 1,
'multipart/vnd.bint.med-plus' => 1,
'multipart/voice-message' => 1,
'multipart/x-mixed-replace' => 1,
'text/1d-interleaved-parityfec' => 1,
'text/calender' => 1,
'text/cmd' => 1,
'text/csv-schema' => 1,
'text/directory' => 1,
'text/dns' => 1,
'text/ecmascript' => 1,
'text/encaprtp' => 1,
'text/enriched' => 1,
'text/flexfec' => 1,
'text/fwdred' => 1,
'text/grammar-ref-list' => 1,
'text/javascript' => 1,
'text/jcr-cnd' => 1,
'text/mizar' => 1,
'text/parameters' => 1,
'text/parityfec' => 1,
'text/provenance-notation' => 1,
'text/prs.fallenstein.rst' => 1,
'text/prs.prop.logic' => 1,
'text/raptorfec' => 1,
'text/red' => 1,
'text/rfc822-headers' => 1,
'text/rtp-enc-aescm128' => 1,
'text/rtploopback' => 1,
'text/rtx' => 1,
'text/strings' => 1,
'text/t140' => 1,
'text/ulpfec' => 1,
'text/vnd.a' => 1,
'text/vnd.abc' => 1,
'text/vnd.ascii-art' => 1,
'text/vnd.debian.copyright' => 1,
'text/vnd.dmclientscript' => 1,
'text/vnd.esmertec.theme-descriptor' => 1,
'text/vnd.ficlab.flt' => 1,
'text/vnd.gml' => 1,
'text/vnd.hgl' => 1,
'text/vnd.iptc.newsml' => 1,
'text/vnd.iptc.nitf' => 1,
'text/vnd.latex-z' => 1,
'text/vnd.motorola.reflex' => 1,
'text/vnd.ms-mediapackage' => 1,
'text/vnd.net2phone.commcenter.command' => 1,
'text/vnd.radisys.msml-basic-layout' => 1,
'text/vnd.senx.warpscript' => 1,
'text/vnd.si.uricatalogue' => 1,
'text/vnd.sosi' => 1,
'text/vnd.trolltech.linguist' => 1,
'text/vnd.wap.si' => 1,
'text/vnd.wap.sl' => 1,
'text/x-gwt-rpc' => 1,
'text/x-jquery-tmpl' => 1,
'text/xml-external-parsed-entity' => 1,
'video/1d-interleaved-parityfec' => 1,
'video/3gpp-tt' => 1,
'video/bmpeg' => 1,
'video/bt656' => 1,
'video/celb' => 1,
'video/dv' => 1,
'video/encaprtp' => 1,
'video/flexfec' => 1,
'video/h263-1998' => 1,
'video/h263-2000' => 1,
'video/h264-rcdo' => 1,
'video/h264-svc' => 1,
'video/h265' => 1,
'video/iso.segment' => 1,
'video/jpeg2000' => 1,
'video/mp1s' => 1,
'video/mp2p' => 1,
'video/mp4v-es' => 1,
'video/mpeg4-generic' => 1,
'video/mpv' => 1,
'video/nv' => 1,
'video/parityfec' => 1,
'video/pointer' => 1,
'video/raptorfec' => 1,
'video/raw' => 1,
'video/rtp-enc-aescm128' => 1,
'video/rtploopback' => 1,
'video/rtx' => 1,
'video/smpte291' => 1,
'video/smpte292m' => 1,
'video/ulpfec' => 1,
'video/vc1' => 1,
'video/vc2' => 1,
'video/vnd.cctv' => 1,
'video/vnd.dece.mp4' => 1,
'video/vnd.directv.mpeg' => 1,
'video/vnd.directv.mpeg-tts' => 1,
'video/vnd.dlna.mpeg-tts' => 1,
'video/vnd.hns.video' => 1,
'video/vnd.iptvforum.1dparityfec-1010' => 1,
'video/vnd.iptvforum.1dparityfec-2005' => 1,
'video/vnd.iptvforum.2dparityfec-1010' => 1,
'video/vnd.iptvforum.2dparityfec-2005' => 1,
'video/vnd.iptvforum.ttsavc' => 1,
'video/vnd.iptvforum.ttsmpeg2' => 1,
'video/vnd.motorola.video' => 1,
'video/vnd.motorola.videop' => 1,
'video/vnd.nokia.interleaved-multimedia' => 1,
'video/vnd.nokia.mp4vr' => 1,
'video/vnd.nokia.videovoip' => 1,
'video/vnd.objectvideo' => 1,
'video/vnd.radgamettools.bink' => 1,
'video/vnd.radgamettools.smacker' => 1,
'video/vnd.sealed.mpeg1' => 1,
'video/vnd.sealed.mpeg4' => 1,
'video/vnd.sealed.swf' => 1,
'video/vnd.sealedmedia.softseal.mov' => 1,
'video/vnd.youtube.yt' => 1,
'video/vp8' => 1,
'x-shader/x-fragment' => 1,
'x-shader/x-vertex' => 1,
];
/**
* Return array of strings, extensions by given mimetype.
* If mimetype has defined file type with no extension, return
* array with one record - the empty string. If there is
* no data for given mimetype, return `NULL`.
* @param string $mimeType Mime type in format like:
* `image/jpeg` | `image/*`
* @return \string[]|NULL
*/
public static function GetExtensionsByMimeType ($mimeType) {
$result = NULL;
$mimeTypeStr = (string) $mimeType;
$starPos = mb_strpos($mimeTypeStr, '*');
if ($starPos !== FALSE) {
$mimeTypeFirstChar = mb_substr($mimeTypeStr, 0, 1);
$mimeTypeBeforeStar = mb_substr($mimeTypeStr, 0, $starPos);
$mimeTypeSlashed = addcslashes(trim($mimeType), "-.+");
$mimeTypeRegExp = '#^' . str_replace('*', '(.*)', $mimeTypeSlashed) . '$#';
$result = [];
foreach (static::$mimesExts as $mimeTypeStr => $extensions) {
if (
mb_substr($mimeTypeStr, 0, 1) !== $mimeTypeFirstChar ||
mb_strpos($mimeTypeStr, $mimeTypeBeforeStar) !== 0 ||
!preg_match($mimeTypeRegExp, $mimeTypeStr)
) continue;
$result = array_merge($result, $extensions);
}
if (count($result) === 0) {
$result = NULL;
} else {
$result = array_unique($result);
}
} else {
if (isset(static::$mimesExts[$mimeTypeStr])) {
$result = static::$mimesExts[$mimeTypeStr];
} else if (isset(static::$noExts[$mimeTypeStr])) {
$result = [''];
}
}
return $result;
}
/**
* Return array of strings, mimetypes by given extension.
* Returned mime types are sorted by extensions count in
* `self::$mimesExts` array under returned mimetypes.
* If there is no data for given extension, return `NULL`.
* @param string $extension Extension in lower case
* without dot, like `png` | `jpg`.
* @return \string[]|NULL
*/
public static function GetMimeTypesByExtension ($extension) {
$extensionStr = (string) $extension;
if (static::$extsMimes === NULL)
static::setUpExtsMimes();
if (isset(static::$extsMimes[$extensionStr])) {
$mimes = static::$extsMimes[$extensionStr];
ksort($mimes);
asort($mimes);
return array_keys($mimes);
} else {
return NULL;
}
}
/**
* Initialize once `self::$extsMimes` array by `self::$mimesExts`.
* @return void
*/
protected static function setUpExtsMimes () {
$extsMimes = [];
foreach (static::$mimesExts as $mime => & $exts) {
$extsCnt = count($exts);
foreach ($exts as $ext) {
if (isset($extsMimes[$ext])) {
$extsMimes[$ext][$mime] = $extsCnt;
} else {
$rec = [];
$rec[$mime] = $extsCnt;
$extsMimes[$ext] = $rec;
}
}
}
static::$extsMimes = & $extsMimes;
}
}