MIME_TYPES = {'.gz': 'application/gzip', '.mjs': 'application/javascript', '.json': 'application/json', '.doc': 'application/msword', '.exe': 'application/octet-stream', '.pdf': 'application/pdf', '.rtf': 'application/rtf', '.apk': 'application/vnd.android.package-archive', '.deb': 'application/vnd.debian.binary-package', '.kml': 'application/vnd.google-earth.kml+xml', '.kmz': 'application/vnd.google-earth.kmz', '.xul': 'application/vnd.mozilla.xul+xml', '.xls': 'application/vnd.ms-excel', '.eot': 'application/vnd.ms-fontobject', '.ppt': 'application/vnd.ms-powerpoint', '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '.rar': 'application/vnd.rar', '.wasm': 'application/wasm', '.swf': 'application/x-7z-compressed', '.dmg': 'application/x-apple-diskimage', '.bz': 'application/x-bzip', '.bz2': 'application/x-bzip2', '.csh': 'application/x-csh', '.php': 'application/x-httpd-php', '.iso': 'application/x-iso9660-image', '.jar': 'application/x-java-archive', '.pl': 'application/x-perl', '.pfx': 'application/x-pkcs12', '.spc': 'application/x-pkcs7-certificates', '.p7r': 'application/x-pkcs7-certreqresp', '.p7m': 'application/x-pkcs7-mime', '.p7s': 'application/x-pkcs7-signature', '.py': 'application/x-python-code', '.rpm': 'application/x-rpm', '.rb': 'application/x-ruby', '.sh': 'application/x-sh', '.tar': 'application/x-tar', '.tcl': 'application/x-tcl', '.tex': 'application/x-tex', '.texinfo': 'application/x-texinfo', '.xwwwfurle': 'application/x-www-form-urlencoded', '.pem': 'application/x-x509-ca-cert', '.xpi': 'application/x-xpinstall', '.yml': 'application/x-yaml', '.xhtml': 'application/xhtml+xml', '.xml': 'application/xml', '.xslt': 'application/xslt+xml', '.xspf': 'application/xspf+xml', '.zip': 'application/zip', '.js': 'application/javascript', '.aac': 'audio/aac', '.flac': 'audio/flac', '.midi': 'audio/midi', '.mp3': 'audio/mpeg', '.ogg': 'audio/ogg', '.opus': 'audio/opus', '.wav': 'audio/wav', '.otf': 'font/otf', '.ttf': 'font/ttf', '.woff': 'font/woff', '.woff2': 'font/woff2', '.bmp': 'image/bmp', '.gif': 'image/gif', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.png': 'image/png', '.svg': 'image/svg+xml', '.tiff': 'image/tiff', '.webp': 'image/webp', '.ico': 'image/x-icon', '.fd': 'multipart/form-data', '.aspx': 'text/asp', '.css': 'text/css', '.csv': 'text/csv', '.html': 'text/html', '.jsp': 'text/jsp', '.md': 'text/markdown', '.txt': 'text/plain', '': 'text/plain', '.java': 'text/x-java-source', '.3gp': 'video/3gpp', '.3g2': 'video/3gpp2', '.mp4': 'video/mp4', '.qt': 'video/quicktime', '.webm': 'video/webm', '.flv': 'video/x-flv', '.m4v': 'video/x-m4v', '.mkv': 'video/x-matroska', '.avi': 'video/x-msvideo', '.mov': 'video/quicktime', '.msi': 'application/x-msi' };