@heyform-inc/utils 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +7 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +17 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -18
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/helper.ts","../src/type.ts","../src/bytes.ts","../src/clone.ts","../src/color.ts","../src/conv.ts","../src/second.ts","../src/date.ts","../src/mime-db.json","../src/mime.ts","../src/nanoid.ts","../src/object.ts","../src/random.ts","../src/slugify.ts","../src/uuid.ts"],"names":["default","type","red","green","blue","alpha","RandomType"],"mappings":"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AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,IAAM;AAAA,EACN,KAAO;AAAA,EACP,IAAM;AAAA,EACN,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,OAAS;AAAA,EACT,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,IAAM;AAAA,EACN,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,MAAQ;AAAA,EACR,MAAQ;AAAA,EACR,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;AAAA,EACP,KAAO;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","sourcesContent":["export * from 'deep-object-diff'\nexport { default as qs } from 'qs'\nexport * from './bytes'\nexport * from './clone'\nexport * from './color'\nexport * from './conv'\nexport * from './date'\nexport { default as helper } from './helper'\nexport * from './second'\nexport * from './mime'\nexport * from './nanoid'\nexport * from './object'\nexport * from './random'\nexport * from './slugify'\nexport * from './type'\nexport * from './uuid'\n","import _isUUID from 'validator/lib/isUUID'\nimport _isFQDN from 'validator/lib/isFQDN'\nimport {\n default as _isNumeric,\n IsNumericOptions\n} from 'validator/lib/isNumeric'\nimport { default as _isEmail, IsEmailOptions } from 'validator/lib/isEmail'\nimport { default as _isURL, IsURLOptions } from 'validator/lib/isURL'\n\nimport { type } from './type'\n\n/* @ts-ignore */\nconst whiteSpaceRegx =\n /^[\\s\\f\\n\\r\\t\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0]+$/\n\nexport const isUUID = _isUUID\nexport const isFQDN = _isFQDN\n\nexport function isBoolean(arg: any): boolean {\n return type(arg) === 'boolean'\n}\n\nexport function isString(arg: any): boolean {\n return type(arg) === 'string'\n}\n\nexport function isNumber(arg: any): boolean {\n return type(arg) === 'number'\n}\n\nexport const isArray = Array.isArray\n\nexport function isValidArray(arg: any): boolean {\n return isArray(arg) && arg.length > 0\n}\n\nexport function isNan(arg: any): boolean {\n return isNumber(arg) && Number.isNaN(arg)\n}\n\nexport function isSet(arg: any): boolean {\n return type(arg) === 'set'\n}\n\nexport function isWeakSet(arg: any): boolean {\n return type(arg) === 'weakset'\n}\n\nexport function isMap(arg: any): boolean {\n return type(arg) === 'map'\n}\n\nexport function isWeakMap(arg: any): boolean {\n return type(arg) === 'weakmap'\n}\n\nexport function isSymbol(arg: any): boolean {\n return type(arg) === 'symbol'\n}\n\nexport function isObject(arg: any): boolean {\n return type(arg) === 'object'\n}\n\nexport function isDate(arg: any): boolean {\n return type(arg) === 'date'\n}\n\nexport function isRegExp(arg: any): boolean {\n return type(arg) === 'regexp'\n}\n\nexport function isError(arg: any): boolean {\n return type(arg) === 'error'\n}\n\nexport function isFunction(arg: any): boolean {\n return type(arg) === 'function'\n}\n\nexport function isNull(arg: any): boolean {\n return type(arg) === 'null'\n}\n\nexport function isUndefined(arg: any): boolean {\n return type(arg) === 'undefined'\n}\n\nexport function isNil(arg: any): boolean {\n return isNull(arg) || isUndefined(arg)\n}\n\nexport function isPlainObject(arg: any): boolean {\n if (!isObject(arg)) return false\n\n const ctor = arg.constructor\n if (typeof ctor !== 'function') return false\n\n const proto = ctor.prototype\n if (!isObject(proto)) return false\n\n return proto.hasOwnProperty('isPrototypeOf')\n}\n\nexport function isEmpty(arg: any): boolean {\n if (isNil(arg)) return true\n\n if (isBoolean(arg)) return false\n\n if (isNumber(arg)) return false\n\n if (isString(arg)) {\n return arg.length === 0 || whiteSpaceRegx.test(arg)\n }\n\n if (isFunction(arg) || isArray(arg)) {\n return arg.length === 0\n }\n\n switch (type(arg)) {\n case 'file':\n case 'map':\n case 'weakmap':\n case 'set':\n case 'weakset': {\n return arg.size === 0\n }\n\n case 'object': {\n for (const key in arg) {\n if (Object.hasOwnProperty.call(arg, key)) return false\n }\n return true\n }\n\n default:\n break\n }\n\n return false\n}\n\nexport function isValid(arg: any): boolean {\n return !isEmpty(arg)\n}\n\nexport function isEqual(arg1: any, arg2: any): boolean {\n return String(arg1) === String(arg2)\n}\n\nexport function isTrue(arg1: any): boolean {\n return arg1 === true || arg1 === 'true' || isEqual(arg1, '1')\n}\n\nexport function isFalse(arg1: any): boolean {\n return arg1 === false || arg1 === 'false' || isEqual(arg1, '0')\n}\n\nexport function isBool(arg: any): boolean {\n return isTrue(arg) || isFalse(arg)\n}\n\nexport function isFormData(arg: any): boolean {\n return type(arg) === 'formdata'\n}\n\nexport function uniqueArray(arg: any): any[] {\n if (!isValidArray(arg)) {\n return []\n }\n return Array.from(new Set(arg))\n}\n\nexport function isNumeric(arg: any, options?: IsNumericOptions): boolean {\n return isNumber(arg) || (isString(arg) && _isNumeric(arg, options))\n}\n\nexport function isURL(arg: any, options?: IsURLOptions): boolean {\n return isValid(arg) && isString(arg) && _isURL(arg, options)\n}\n\nexport function isEmail(arg: any, options?: IsEmailOptions): boolean {\n return isValid(arg) && isString(arg) && _isEmail(arg, options)\n}\n\nexport default {\n isUUID,\n isFQDN,\n isBoolean,\n isString,\n isNumber,\n isNumeric,\n isArray,\n isValidArray,\n isNan,\n isSet,\n isMap,\n isWeakSet,\n isWeakMap,\n isSymbol,\n isObject,\n isDate,\n isRegExp,\n isError,\n isFunction,\n isNull,\n isUndefined,\n isNil,\n isPlainObject,\n isEmpty,\n isValid,\n isEqual,\n isTrue,\n isFalse,\n isBool,\n isURL,\n isEmail,\n isFormData,\n uniqueArray\n}\n","const toString = Object.prototype.toString\n\nexport function type(obj: any): string {\n if (obj === null) {\n return 'null'\n }\n\n let type: string = typeof obj\n\n if (type !== 'object') {\n return type\n }\n\n type = toString.call(obj).slice(8, -1)\n\n const typeLower = type.toLowerCase()\n\n if (typeLower !== 'object') {\n if (\n typeLower === 'number' ||\n typeLower === 'boolean' ||\n typeLower === 'string'\n ) {\n return type\n }\n return typeLower\n }\n\n return typeLower\n}\n","import { isEmpty } from './helper'\n\nconst BYTE = 1\nconst KB = BYTE * 1024\nconst MB = KB * 1024\nconst GB = MB * 1024\nconst TB = GB * 1024\nconst PB = TB * 1024\nconst regx = /^(-?(?:\\d+)?\\.?\\d+)(b|kb|mb|gb|tb|pb)$/i\n\nexport function parseBytes(value: string | number): number | undefined {\n const str = String(value)\n\n if (isEmpty(value) || str.length > 100) {\n return\n }\n\n const matches = str.match(regx)\n\n if (!matches) {\n return\n }\n\n const num = parseFloat(matches[1])\n const type = matches[2].toLowerCase()\n\n switch (type) {\n case 'pb':\n return num * PB\n\n case 'tb':\n return num * TB\n\n case 'gb':\n return num * GB\n\n case 'mb':\n return num * MB\n\n case 'kb':\n return num * KB\n\n case 'b':\n return num * BYTE\n }\n}\n\nexport function bytes(size: string): number | undefined {\n return parseBytes(size)\n}\n\nexport function formatBytes(value: string | number): string {\n const mag = Math.abs(Number(value))\n let unit: string\n let size: number | string\n\n if (mag >= PB) {\n unit = 'PB'\n size = mag / PB\n } else if (mag >= TB) {\n unit = 'TB'\n size = mag / TB\n } else if (mag >= GB) {\n unit = 'GB'\n size = mag / GB\n } else if (mag >= MB) {\n unit = 'MB'\n size = mag / MB\n } else if (mag >= KB) {\n unit = 'KB'\n size = mag / KB\n } else {\n unit = 'B'\n size = mag / BYTE\n }\n\n if (String(size).includes('.')) {\n size = size.toFixed(1)\n }\n\n return size + unit\n}\n","import _clone from 'clone'\n\nexport function clone<T>(obj: T): T {\n return _clone(obj)\n}\n","import { isEmpty } from './helper'\n\nconst HEX_REGEX = /^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i\nconst RGBA_REGEX =\n /rgba\\((\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d*(?:\\.\\d+)?)\\)/i\nconst RGB_REGEX = /rgb\\((\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d{1,3}%?)\\)/i\n\nexport function isHexColor(color: string): boolean {\n return HEX_REGEX.test(color)\n}\n\nexport function isRgba(color: string): boolean {\n return RGBA_REGEX.test(color)\n}\n\nexport function isRgb(color: string): boolean {\n return RGB_REGEX.test(color)\n}\n\nexport function hexToRgb(hex: string): number[] {\n if (isEmpty(hex)) {\n return []\n }\n\n if (isRgba(hex)) {\n // @ts-ignore\n const [, red, green, blue, alpha] = RGBA_REGEX.exec(hex)\n return [Number(red), Number(green), Number(blue), Number(alpha)]\n }\n\n if (isRgb(hex)) {\n // @ts-ignore\n const [, red, green, blue] = RGB_REGEX.exec(hex)\n return [Number(red), Number(green), Number(blue), 1]\n }\n\n if (!isHexColor(hex)) {\n return []\n }\n\n hex = hex.replace(/^#/, '')\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]\n }\n\n let alpha = 1\n if (hex.length === 8) {\n alpha = hexToFloatAlpha(hex.slice(6, 8))\n hex = hex.slice(0, 6)\n }\n\n const number = Number.parseInt(hex, 16)\n const red = number >> 16\n const green = (number >> 8) & 255\n const blue = number & 255\n\n return [red, green, blue, alpha]\n}\n\nexport function isDarkColor(hex: string): boolean {\n if (!isHexColor(hex)) {\n return true\n }\n return colorBrightness(hex) < 170\n}\n\nexport function isLightColor(hex: string): boolean {\n return !isDarkColor(hex)\n}\n\nexport function colorBrightness(hex: string): number {\n const [red, green, blue, alpha] = hexToRgb(hex)\n return (alpha * (red * 299 + green * 587 + blue * 114)) / 1000\n}\n\nexport function rgbToHex([r, g, b]: number[]): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\nexport function alpha(hex: string, alpha: number): string {\n const [red, green, blue] = hexToRgb(hex)\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`\n}\n\nexport function lighten(hex: string, alpha: number): string {\n return rgbToHex(alphaHexToRgb(hex, 1 - alpha, '#fff'))\n}\n\nexport function darken(hex: string, alpha: number): string {\n return rgbToHex(alphaHexToRgb(hex, 1 - alpha, '#010101'))\n}\n\nexport function invert(hex: string): string {\n const [red, green, blue] = hexToRgb(hex)\n return rgbToHex([255 - red, 255 - green, 255 - blue])\n}\n\n/**\n * Convert rgba to a transparency-adjusted-hex\n * https://stackoverflow.com/a/15898886\n */\nexport function alphaHexToRgb(\n hex: string,\n alpha: number,\n backgroundHex: string\n): number[] {\n const hexRgb = hexToRgb(hex)\n const backgroundRgb = hexToRgb(backgroundHex)\n\n return hexRgb.map((color, index) => {\n return colorRange(\n Math.floor(\n colorRange(color) * alpha +\n colorRange(backgroundRgb[index]) * (1 - alpha)\n )\n )\n })\n}\n\nfunction colorRange(color: number): number {\n return color < 1 ? 1 : color >= 255 ? 255 : color\n}\n\nfunction hexToFloatAlpha(arg: string) {\n const num = parseInt(arg, 16)\n const max = parseInt('0xff', 16)\n return Number((num / max).toFixed(2))\n}\n","import { IParseOptions, IStringifyOptions, parse, stringify } from 'qs'\r\nimport { convert } from 'html-to-text'\r\n\r\nimport {\r\n isEmpty,\r\n isBoolean,\r\n isTrue,\r\n isNumber,\r\n isValid,\r\n isString\r\n} from './helper'\r\n\r\nexport function toBool(value: unknown, defaults?: boolean): boolean {\r\n if (isEmpty(value)) {\r\n return defaults || false\r\n }\r\n\r\n if (isBoolean(value)) {\r\n return value as boolean\r\n }\r\n\r\n return isTrue(value)\r\n}\r\n\r\nexport const parseBool = toBool\r\n\r\nexport function toInteger(\r\n value: unknown,\r\n defaults?: number,\r\n maxValue?: number\r\n): number | undefined {\r\n let val: number\r\n\r\n if (isNumber(value)) {\r\n val = Number(value)\r\n } else {\r\n val = parseInt(value as string, 10)\r\n }\r\n\r\n if (!isFinite(val)) {\r\n return defaults\r\n }\r\n\r\n return maxValue ? Math.min(maxValue, val) : val\r\n}\r\n\r\nexport const parseNumber = toInteger\r\nexport const toInt = toInteger\r\n\r\nexport function toFloat(\r\n value: unknown,\r\n defaults?: number,\r\n maxValue?: number\r\n): number | undefined {\r\n let val: number\r\n\r\n if (isNumber(value)) {\r\n val = Number(value)\r\n } else {\r\n val = parseFloat(value as string)\r\n }\r\n\r\n if (!isFinite(val)) {\r\n return defaults\r\n }\r\n\r\n return maxValue ? Math.min(maxValue, val) : val\r\n}\r\n\r\nexport function toFixed(value: number, precision = 2) {\r\n if (isNumber(value)) {\r\n return value.toFixed(precision).replace(/(\\.\\d*?)0+$/, '$1').replace(/\\.$/, '')\r\n }\r\n}\r\n\r\nexport function toJSON<T extends object>(\r\n str: unknown,\r\n defaults?: T\r\n): T | undefined {\r\n let value: T | undefined\r\n\r\n if (isValid(str) && isString(str)) {\r\n try {\r\n value = JSON.parse(str as string)\r\n } catch (e) {\r\n // eslint-disable-line\r\n }\r\n }\r\n\r\n if (!!defaults && !value) {\r\n value = defaults\r\n }\r\n\r\n return value\r\n}\r\n\r\nexport const parseJson = toJSON\r\n\r\nconst THOUSAND = 1_000\r\nconst HUNDRED_THOUSAND = 100_000\r\nconst MILLION = 1_000_000\r\nconst HUNDRED_MILLION = 100_000_000\r\nconst BILLION = 1_000_000_000\r\nconst HUNDRED_BILLION = 100_000_000_000\r\nconst TRILLION = 1_000_000_000_000\r\n\r\nexport function toIntlNumber(value: number) {\r\n if (value >= THOUSAND && value < MILLION) {\r\n const thousands = value / THOUSAND\r\n\r\n if (thousands === Math.floor(thousands) || value >= HUNDRED_THOUSAND) {\r\n return Math.floor(thousands) + 'K'\r\n } else {\r\n return Math.floor(thousands * 10) / 10 + 'K'\r\n }\r\n } else if (value >= MILLION && value < BILLION) {\r\n const millions = value / MILLION\r\n\r\n if (millions === Math.floor(millions) || value >= HUNDRED_MILLION) {\r\n return Math.floor(millions) + 'M'\r\n } else {\r\n return Math.floor(millions * 10) / 10 + 'M'\r\n }\r\n } else if (value >= BILLION && value < TRILLION) {\r\n const billions = value / BILLION\r\n\r\n if (billions === Math.floor(billions) || value >= HUNDRED_BILLION) {\r\n return Math.floor(billions) + 'B'\r\n } else {\r\n return Math.floor(billions * 10) / 10 + 'B'\r\n }\r\n } else {\r\n return `${value}`\r\n }\r\n}\r\n\r\ninterface ToDurationOptions {\r\n hideOnZeroValue?: boolean\r\n padNumber?: boolean\r\n hourUnit?: string\r\n minuteUnit?: string\r\n secondUnit?: string\r\n}\r\n\r\nfunction durationPad(num: number, size: number) {\r\n return ('000' + num).slice(size * -1)\r\n}\r\n\r\nfunction getDuration(num: number, unit: string, options?: ToDurationOptions) {\r\n if (options?.hideOnZeroValue && num === 0) {\r\n return\r\n }\r\n\r\n if (options?.padNumber) {\r\n return durationPad(num, 2) + unit\r\n }\r\n\r\n return num + unit\r\n}\r\n\r\nexport function toDuration(value: number, options?: ToDurationOptions) {\r\n const hours = Math.floor(value / 60 / 60)\r\n const minutes = Math.floor(value / 60) % 60\r\n const seconds = Math.floor(value - minutes * 60 - hours * 60 * 60)\r\n\r\n return [\r\n hours > 0 ? { num: hours, unit: options?.hourUnit || 'h' } : null,\r\n minutes > 0 ? { num: minutes, unit: options?.minuteUnit || 'm' } : null,\r\n { num: seconds, unit: options?.secondUnit || 's' }\r\n ]\r\n .filter(Boolean)\r\n .map((d, i) =>\r\n getDuration(d!.num, d!.unit, {\r\n ...options,\r\n hideOnZeroValue: i === 0 ? false : options?.hideOnZeroValue\r\n })\r\n )\r\n .filter(Boolean)\r\n .join(' ')\r\n}\r\n\r\nexport function toURLParams<T extends object>(\r\n value: string,\r\n options?: IParseOptions\r\n) {\r\n return parse(value, options) as T\r\n}\r\n\r\nexport function toURLQuery(\r\n value: Record<string | number, any>,\r\n baseUri?: string,\r\n options?: IStringifyOptions\r\n) {\r\n const query = stringify(value, options)\r\n\r\n if (baseUri) {\r\n return baseUri + (baseUri.includes('?') ? '&' : '?') + query\r\n }\r\n\r\n return query\r\n}\r\n\r\nexport function htmlToText(html: string, limit = 100) {\r\n const value = convert(html, {\r\n selectors: [\r\n { selector: 'a', options: { ignoreHref: true } },\r\n { selector: 'img', format: 'skip' },\r\n { selector: 'picture', format: 'skip' },\r\n { selector: 'video', format: 'skip' },\r\n { selector: 'audio', format: 'skip' },\r\n { selector: 'iframe', format: 'skip' }\r\n ],\r\n }).replace(/\\n/g, ' ')\r\n\r\n if (limit > 0 && value.length > limit) {\r\n return value.slice(0, limit)\r\n }\r\n\r\n return value\r\n}\r\n","import _ms from 'ms'\n\nexport function hs(arg: string): number | undefined {\n const value = ms(arg)\n\n if (value) {\n return Math.round(value / 1_000)\n }\n}\n\nexport function ms(arg: string): number | undefined {\n return _ms(arg)\n}\n\nexport const toSecond = hs\nexport const toMillisecond = ms\n","import { hs } from './second'\nimport { OpUnitType, QUnitType } from 'dayjs'\nimport _dayjs from 'dayjs'\n\nexport function timestamp(): number {\n return Math.floor(Date.now() / 1e3)\n}\n\nexport const dayjs = _dayjs\nexport const date = dayjs\n\nexport function unixDate(t: number) {\n return date.unix(t)\n}\n\nexport function isDateExpired(\n start: number,\n end: number,\n expire: string\n): boolean {\n return end - start > hs(expire)!\n}\n\nexport function unixDiff(\n start: number,\n end: number,\n unit: QUnitType | OpUnitType = 'day'\n): number {\n if (start > end || start < 0 || end < 0) {\n return 0\n }\n return unixDate(end).diff(unixDate(start), unit)\n}\n\nexport function datePeriod(\n start: number,\n value = 1,\n unit: OpUnitType = 'month'\n): number {\n return unixDate(start)\n .add(value, unit as unknown as any)\n .unix()\n}\n","{\r\n \"123\": \"application/vnd.lotus-1-2-3\",\r\n \"ez\": \"application/andrew-inset\",\r\n \"aw\": \"application/applixware\",\r\n \"atom\": \"application/atom+xml\",\r\n \"atomcat\": \"application/atomcat+xml\",\r\n \"atomdeleted\": \"application/atomdeleted+xml\",\r\n \"atomsvc\": \"application/atomsvc+xml\",\r\n \"dwd\": \"application/atsc-dwd+xml\",\r\n \"held\": \"application/atsc-held+xml\",\r\n \"rsat\": \"application/atsc-rsat+xml\",\r\n \"bdoc\": \"application/bdoc\",\r\n \"xcs\": \"application/calendar+xml\",\r\n \"ccxml\": \"application/ccxml+xml\",\r\n \"cdfx\": \"application/cdfx+xml\",\r\n \"cdmia\": \"application/cdmi-capability\",\r\n \"cdmic\": \"application/cdmi-container\",\r\n \"cdmid\": \"application/cdmi-domain\",\r\n \"cdmio\": \"application/cdmi-object\",\r\n \"cdmiq\": \"application/cdmi-queue\",\r\n \"cpl\": \"application/cpl+xml\",\r\n \"cu\": \"application/cu-seeme\",\r\n \"mpd\": \"application/dash+xml\",\r\n \"mpp\": \"application/dash-patch+xml\",\r\n \"davmount\": \"application/davmount+xml\",\r\n \"dbk\": \"application/docbook+xml\",\r\n \"dssc\": \"application/dssc+der\",\r\n \"xdssc\": \"application/dssc+xml\",\r\n \"es\": \"application/ecmascript\",\r\n \"ecma\": \"application/ecmascript\",\r\n \"emma\": \"application/emma+xml\",\r\n \"emotionml\": \"application/emotionml+xml\",\r\n \"epub\": \"application/epub+zip\",\r\n \"exi\": \"application/exi\",\r\n \"exp\": \"application/express\",\r\n \"fdt\": \"application/fdt+xml\",\r\n \"pfr\": \"application/font-tdpfr\",\r\n \"geojson\": \"application/geo+json\",\r\n \"gml\": \"application/gml+xml\",\r\n \"gpx\": \"application/gpx+xml\",\r\n \"gxf\": \"application/gxf\",\r\n \"gz\": \"application/gzip\",\r\n \"hjson\": \"application/hjson\",\r\n \"stk\": \"application/hyperstudio\",\r\n \"ink\": \"application/inkml+xml\",\r\n \"inkml\": \"application/inkml+xml\",\r\n \"ipfix\": \"application/ipfix\",\r\n \"its\": \"application/its+xml\",\r\n \"jar\": \"application/java-archive\",\r\n \"war\": \"application/java-archive\",\r\n \"ear\": \"application/java-archive\",\r\n \"ser\": \"application/java-serialized-object\",\r\n \"class\": \"application/java-vm\",\r\n \"js\": \"application/javascript\",\r\n \"mjs\": \"application/javascript\",\r\n \"json\": \"application/json\",\r\n \"map\": \"application/json\",\r\n \"json5\": \"application/json5\",\r\n \"jsonml\": \"application/jsonml+json\",\r\n \"jsonld\": \"application/ld+json\",\r\n \"lgr\": \"application/lgr+xml\",\r\n \"lostxml\": \"application/lost+xml\",\r\n \"hqx\": \"application/mac-binhex40\",\r\n \"cpt\": \"application/mac-compactpro\",\r\n \"mads\": \"application/mads+xml\",\r\n \"webmanifest\": \"application/manifest+json\",\r\n \"mrc\": \"application/marc\",\r\n \"mrcx\": \"application/marcxml+xml\",\r\n \"ma\": \"application/mathematica\",\r\n \"nb\": \"application/mathematica\",\r\n \"mb\": \"application/mathematica\",\r\n \"mathml\": \"application/mathml+xml\",\r\n \"mbox\": \"application/mbox\",\r\n \"mpf\": \"application/media-policy-dataset+xml\",\r\n \"mscml\": \"application/mediaservercontrol+xml\",\r\n \"metalink\": \"application/metalink+xml\",\r\n \"meta4\": \"application/metalink4+xml\",\r\n \"mets\": \"application/mets+xml\",\r\n \"maei\": \"application/mmt-aei+xml\",\r\n \"musd\": \"application/mmt-usd+xml\",\r\n \"mods\": \"application/mods+xml\",\r\n \"m21\": \"application/mp21\",\r\n \"mp21\": \"application/mp21\",\r\n \"mp4s\": \"application/mp4\",\r\n \"m4p\": \"application/mp4\",\r\n \"doc\": \"application/msword\",\r\n \"dot\": \"application/msword\",\r\n \"mxf\": \"application/mxf\",\r\n \"nq\": \"application/n-quads\",\r\n \"nt\": \"application/n-triples\",\r\n \"cjs\": \"application/node\",\r\n \"bin\": \"application/octet-stream\",\r\n \"dms\": \"application/octet-stream\",\r\n \"lrf\": \"application/octet-stream\",\r\n \"mar\": \"application/octet-stream\",\r\n \"so\": \"application/octet-stream\",\r\n \"dist\": \"application/octet-stream\",\r\n \"distz\": \"application/octet-stream\",\r\n \"pkg\": \"application/octet-stream\",\r\n \"bpk\": \"application/octet-stream\",\r\n \"dump\": \"application/octet-stream\",\r\n \"elc\": \"application/octet-stream\",\r\n \"deploy\": \"application/octet-stream\",\r\n \"exe\": \"application/x-msdos-program\",\r\n \"dll\": \"application/x-msdownload\",\r\n \"deb\": \"application/x-debian-package\",\r\n \"dmg\": \"application/x-apple-diskimage\",\r\n \"iso\": \"application/x-iso9660-image\",\r\n \"img\": \"application/octet-stream\",\r\n \"msi\": \"application/x-msdownload\",\r\n \"msp\": \"application/octet-stream\",\r\n \"msm\": \"application/octet-stream\",\r\n \"buffer\": \"application/octet-stream\",\r\n \"oda\": \"application/oda\",\r\n \"opf\": \"application/oebps-package+xml\",\r\n \"ogx\": \"application/ogg\",\r\n \"omdoc\": \"application/omdoc+xml\",\r\n \"onetoc\": \"application/onenote\",\r\n \"onetoc2\": \"application/onenote\",\r\n \"onetmp\": \"application/onenote\",\r\n \"onepkg\": \"application/onenote\",\r\n \"oxps\": \"application/oxps\",\r\n \"relo\": \"application/p2p-overlay+xml\",\r\n \"xer\": \"application/patch-ops-error+xml\",\r\n \"pdf\": \"application/pdf\",\r\n \"pgp\": \"application/pgp-encrypted\",\r\n \"asc\": \"application/pgp-keys\",\r\n \"sig\": \"application/pgp-signature\",\r\n \"prf\": \"application/pics-rules\",\r\n \"p10\": \"application/pkcs10\",\r\n \"p7m\": \"application/pkcs7-mime\",\r\n \"p7c\": \"application/pkcs7-mime\",\r\n \"p7s\": \"application/pkcs7-signature\",\r\n \"p8\": \"application/pkcs8\",\r\n \"ac\": \"application/pkix-attr-cert\",\r\n \"cer\": \"application/pkix-cert\",\r\n \"crl\": \"application/pkix-crl\",\r\n \"pkipath\": \"application/pkix-pkipath\",\r\n \"pki\": \"application/pkixcmp\",\r\n \"pls\": \"application/pls+xml\",\r\n \"ai\": \"application/postscript\",\r\n \"eps\": \"application/postscript\",\r\n \"ps\": \"application/postscript\",\r\n \"provx\": \"application/provenance+xml\",\r\n \"cww\": \"application/prs.cww\",\r\n \"pskcxml\": \"application/pskc+xml\",\r\n \"raml\": \"application/raml+yaml\",\r\n \"rdf\": \"application/rdf+xml\",\r\n \"owl\": \"application/rdf+xml\",\r\n \"rif\": \"application/reginfo+xml\",\r\n \"rnc\": \"application/relax-ng-compact-syntax\",\r\n \"rl\": \"application/resource-lists+xml\",\r\n \"rld\": \"application/resource-lists-diff+xml\",\r\n \"rs\": \"application/rls-services+xml\",\r\n \"rapd\": \"application/route-apd+xml\",\r\n \"sls\": \"application/route-s-tsid+xml\",\r\n \"rusd\": \"application/route-usd+xml\",\r\n \"gbr\": \"application/rpki-ghostbusters\",\r\n \"mft\": \"application/rpki-manifest\",\r\n \"roa\": \"application/rpki-roa\",\r\n \"rsd\": \"application/rsd+xml\",\r\n \"rss\": \"application/rss+xml\",\r\n \"rtf\": \"application/rtf\",\r\n \"sbml\": \"application/sbml+xml\",\r\n \"scq\": \"application/scvp-cv-request\",\r\n \"scs\": \"application/scvp-cv-response\",\r\n \"spq\": \"application/scvp-vp-request\",\r\n \"spp\": \"application/scvp-vp-response\",\r\n \"sdp\": \"application/sdp\",\r\n \"senmlx\": \"application/senml+xml\",\r\n \"sensmlx\": \"application/sensml+xml\",\r\n \"setpay\": \"application/set-payment-initiation\",\r\n \"setreg\": \"application/set-registration-initiation\",\r\n \"shf\": \"application/shf+xml\",\r\n \"siv\": \"application/sieve\",\r\n \"sieve\": \"application/sieve\",\r\n \"smi\": \"application/smil+xml\",\r\n \"smil\": \"application/smil+xml\",\r\n \"rq\": \"application/sparql-query\",\r\n \"srx\": \"application/sparql-results+xml\",\r\n \"gram\": \"application/srgs\",\r\n \"grxml\": \"application/srgs+xml\",\r\n \"sru\": \"application/sru+xml\",\r\n \"ssdl\": \"application/ssdl+xml\",\r\n \"ssml\": \"application/ssml+xml\",\r\n \"swidtag\": \"application/swid+xml\",\r\n \"tei\": \"application/tei+xml\",\r\n \"teicorpus\": \"application/tei+xml\",\r\n \"tfi\": \"application/thraud+xml\",\r\n \"tsd\": \"application/timestamped-data\",\r\n \"toml\": \"application/toml\",\r\n \"trig\": \"application/trig\",\r\n \"ttml\": \"application/ttml+xml\",\r\n \"ubj\": \"application/ubjson\",\r\n \"rsheet\": \"application/urc-ressheet+xml\",\r\n \"td\": \"application/urc-targetdesc+xml\",\r\n \"1km\": \"application/vnd.1000minds.decision-model+xml\",\r\n \"plb\": \"application/vnd.3gpp.pic-bw-large\",\r\n \"psb\": \"application/vnd.3gpp.pic-bw-small\",\r\n \"pvb\": \"application/vnd.3gpp.pic-bw-var\",\r\n \"tcap\": \"application/vnd.3gpp2.tcap\",\r\n \"pwn\": \"application/vnd.3m.post-it-notes\",\r\n \"aso\": \"application/vnd.accpac.simply.aso\",\r\n \"imp\": \"application/vnd.accpac.simply.imp\",\r\n \"acu\": \"application/vnd.acucobol\",\r\n \"atc\": \"application/vnd.acucorp\",\r\n \"acutc\": \"application/vnd.acucorp\",\r\n \"air\": \"application/vnd.adobe.air-application-installer-package+zip\",\r\n \"fcdt\": \"application/vnd.adobe.formscentral.fcdt\",\r\n \"fxp\": \"application/vnd.adobe.fxp\",\r\n \"fxpl\": \"application/vnd.adobe.fxp\",\r\n \"xdp\": \"application/vnd.adobe.xdp+xml\",\r\n \"xfdf\": \"application/vnd.adobe.xfdf\",\r\n \"age\": \"application/vnd.age\",\r\n \"ahead\": \"application/vnd.ahead.space\",\r\n \"azf\": \"application/vnd.airzip.filesecure.azf\",\r\n \"azs\": \"application/vnd.airzip.filesecure.azs\",\r\n \"azw\": \"application/vnd.amazon.ebook\",\r\n \"acc\": \"application/vnd.americandynamics.acc\",\r\n \"ami\": \"application/vnd.amiga.ami\",\r\n \"apk\": \"application/vnd.android.package-archive\",\r\n \"cii\": \"application/vnd.anser-web-certificate-issue-initiation\",\r\n \"fti\": \"application/vnd.anser-web-funds-transfer-initiation\",\r\n \"atx\": \"application/vnd.antix.game-component\",\r\n \"mpkg\": \"application/vnd.apple.installer+xml\",\r\n \"key\": \"application/vnd.apple.keynote\",\r\n \"m3u8\": \"application/vnd.apple.mpegurl\",\r\n \"numbers\": \"application/vnd.apple.numbers\",\r\n \"pages\": \"application/vnd.apple.pages\",\r\n \"pkpass\": \"application/vnd.apple.pkpass\",\r\n \"swi\": \"application/vnd.aristanetworks.swi\",\r\n \"iota\": \"application/vnd.astraea-software.iota\",\r\n \"aep\": \"application/vnd.audiograph\",\r\n \"bmml\": \"application/vnd.balsamiq.bmml+xml\",\r\n \"mpm\": \"application/vnd.blueice.multipass\",\r\n \"bmi\": \"application/vnd.bmi\",\r\n \"rep\": \"application/vnd.businessobjects\",\r\n \"cdxml\": \"application/vnd.chemdraw+xml\",\r\n \"mmd\": \"application/vnd.chipnuts.karaoke-mmd\",\r\n \"cdy\": \"application/vnd.cinderella\",\r\n \"csl\": \"application/vnd.citationstyles.style+xml\",\r\n \"cla\": \"application/vnd.claymore\",\r\n \"rp9\": \"application/vnd.cloanto.rp9\",\r\n \"c4g\": \"application/vnd.clonk.c4group\",\r\n \"c4d\": \"application/vnd.clonk.c4group\",\r\n \"c4f\": \"application/vnd.clonk.c4group\",\r\n \"c4p\": \"application/vnd.clonk.c4group\",\r\n \"c4u\": \"application/vnd.clonk.c4group\",\r\n \"c11amc\": \"application/vnd.cluetrust.cartomobile-config\",\r\n \"c11amz\": \"application/vnd.cluetrust.cartomobile-config-pkg\",\r\n \"csp\": \"application/vnd.commonspace\",\r\n \"cdbcmsg\": \"application/vnd.contact.cmsg\",\r\n \"cmc\": \"application/vnd.cosmocaller\",\r\n \"clkx\": \"application/vnd.crick.clicker\",\r\n \"clkk\": \"application/vnd.crick.clicker.keyboard\",\r\n \"clkp\": \"application/vnd.crick.clicker.palette\",\r\n \"clkt\": \"application/vnd.crick.clicker.template\",\r\n \"clkw\": \"application/vnd.crick.clicker.wordbank\",\r\n \"wbs\": \"application/vnd.criticaltools.wbs+xml\",\r\n \"pml\": \"application/vnd.ctc-posml\",\r\n \"ppd\": \"application/vnd.cups-ppd\",\r\n \"car\": \"application/vnd.curl.car\",\r\n \"pcurl\": \"application/vnd.curl.pcurl\",\r\n \"dart\": \"application/vnd.dart\",\r\n \"rdz\": \"application/vnd.data-vision.rdz\",\r\n \"dbf\": \"application/vnd.dbf\",\r\n \"uvf\": \"application/vnd.dece.data\",\r\n \"uvvf\": \"application/vnd.dece.data\",\r\n \"uvd\": \"application/vnd.dece.data\",\r\n \"uvvd\": \"application/vnd.dece.data\",\r\n \"uvt\": \"application/vnd.dece.ttml+xml\",\r\n \"uvvt\": \"application/vnd.dece.ttml+xml\",\r\n \"uvx\": \"application/vnd.dece.unspecified\",\r\n \"uvvx\": \"application/vnd.dece.unspecified\",\r\n \"uvz\": \"application/vnd.dece.zip\",\r\n \"uvvz\": \"application/vnd.dece.zip\",\r\n \"fe_launch\": \"application/vnd.denovo.fcselayout-link\",\r\n \"dna\": \"application/vnd.dna\",\r\n \"mlp\": \"application/vnd.dolby.mlp\",\r\n \"dpg\": \"application/vnd.dpgraph\",\r\n \"dfac\": \"application/vnd.dreamfactory\",\r\n \"kpxx\": \"application/vnd.ds-keypoint\",\r\n \"ait\": \"application/vnd.dvb.ait\",\r\n \"svc\": \"application/vnd.dvb.service\",\r\n \"geo\": \"application/vnd.dynageo\",\r\n \"mag\": \"application/vnd.ecowin.chart\",\r\n \"nml\": \"application/vnd.enliven\",\r\n \"esf\": \"application/vnd.epson.esf\",\r\n \"msf\": \"application/vnd.epson.msf\",\r\n \"qam\": \"application/vnd.epson.quickanime\",\r\n \"slt\": \"application/vnd.epson.salt\",\r\n \"ssf\": \"application/vnd.epson.ssf\",\r\n \"es3\": \"application/vnd.eszigno3+xml\",\r\n \"et3\": \"application/vnd.eszigno3+xml\",\r\n \"ez2\": \"application/vnd.ezpix-album\",\r\n \"ez3\": \"application/vnd.ezpix-package\",\r\n \"fdf\": \"application/vnd.fdf\",\r\n \"mseed\": \"application/vnd.fdsn.mseed\",\r\n \"seed\": \"application/vnd.fdsn.seed\",\r\n \"dataless\": \"application/vnd.fdsn.seed\",\r\n \"gph\": \"application/vnd.flographit\",\r\n \"ftc\": \"application/vnd.fluxtime.clip\",\r\n \"fm\": \"application/vnd.framemaker\",\r\n \"frame\": \"application/vnd.framemaker\",\r\n \"maker\": \"application/vnd.framemaker\",\r\n \"book\": \"application/vnd.framemaker\",\r\n \"fnc\": \"application/vnd.frogans.fnc\",\r\n \"ltf\": \"application/vnd.frogans.ltf\",\r\n \"fsc\": \"application/vnd.fsc.weblaunch\",\r\n \"oas\": \"application/vnd.fujitsu.oasys\",\r\n \"oa2\": \"application/vnd.fujitsu.oasys2\",\r\n \"oa3\": \"application/vnd.fujitsu.oasys3\",\r\n \"fg5\": \"application/vnd.fujitsu.oasysgp\",\r\n \"bh2\": \"application/vnd.fujitsu.oasysprs\",\r\n \"ddd\": \"application/vnd.fujixerox.ddd\",\r\n \"xdw\": \"application/vnd.fujixerox.docuworks\",\r\n \"xbd\": \"application/vnd.fujixerox.docuworks.binder\",\r\n \"fzs\": \"application/vnd.fuzzysheet\",\r\n \"txd\": \"application/vnd.genomatix.tuxedo\",\r\n \"ggb\": \"application/vnd.geogebra.file\",\r\n \"ggt\": \"application/vnd.geogebra.tool\",\r\n \"gex\": \"application/vnd.geometry-explorer\",\r\n \"gre\": \"application/vnd.geometry-explorer\",\r\n \"gxt\": \"application/vnd.geonext\",\r\n \"g2w\": \"application/vnd.geoplan\",\r\n \"g3w\": \"application/vnd.geospace\",\r\n \"gmx\": \"application/vnd.gmx\",\r\n \"gdoc\": \"application/vnd.google-apps.document\",\r\n \"gslides\": \"application/vnd.google-apps.presentation\",\r\n \"gsheet\": \"application/vnd.google-apps.spreadsheet\",\r\n \"kml\": \"application/vnd.google-earth.kml+xml\",\r\n \"kmz\": \"application/vnd.google-earth.kmz\",\r\n \"gqf\": \"application/vnd.grafeq\",\r\n \"gqs\": \"application/vnd.grafeq\",\r\n \"gac\": \"application/vnd.groove-account\",\r\n \"ghf\": \"application/vnd.groove-help\",\r\n \"gim\": \"application/vnd.groove-identity-message\",\r\n \"grv\": \"application/vnd.groove-injector\",\r\n \"gtm\": \"application/vnd.groove-tool-message\",\r\n \"tpl\": \"application/vnd.groove-tool-template\",\r\n \"vcg\": \"application/vnd.groove-vcard\",\r\n \"hal\": \"application/vnd.hal+xml\",\r\n \"zmm\": \"application/vnd.handheld-entertainment+xml\",\r\n \"hbci\": \"application/vnd.hbci\",\r\n \"les\": \"application/vnd.hhe.lesson-player\",\r\n \"hpgl\": \"application/vnd.hp-hpgl\",\r\n \"hpid\": \"application/vnd.hp-hpid\",\r\n \"hps\": \"application/vnd.hp-hps\",\r\n \"jlt\": \"application/vnd.hp-jlyt\",\r\n \"pcl\": \"application/vnd.hp-pcl\",\r\n \"pclxl\": \"application/vnd.hp-pclxl\",\r\n \"sfd-hdstx\": \"application/vnd.hydrostatix.sof-data\",\r\n \"mpy\": \"application/vnd.ibm.minipay\",\r\n \"afp\": \"application/vnd.ibm.modcap\",\r\n \"listafp\": \"application/vnd.ibm.modcap\",\r\n \"list3820\": \"application/vnd.ibm.modcap\",\r\n \"irm\": \"application/vnd.ibm.rights-management\",\r\n \"sc\": \"application/vnd.ibm.secure-container\",\r\n \"icc\": \"application/vnd.iccprofile\",\r\n \"icm\": \"application/vnd.iccprofile\",\r\n \"igl\": \"application/vnd.igloader\",\r\n \"ivp\": \"application/vnd.immervision-ivp\",\r\n \"ivu\": \"application/vnd.immervision-ivu\",\r\n \"igm\": \"application/vnd.insors.igm\",\r\n \"xpw\": \"application/vnd.intercon.formnet\",\r\n \"xpx\": \"application/vnd.intercon.formnet\",\r\n \"i2g\": \"application/vnd.intergeo\",\r\n \"qbo\": \"application/vnd.intu.qbo\",\r\n \"qfx\": \"application/vnd.intu.qfx\",\r\n \"rcprofile\": \"application/vnd.ipunplugged.rcprofile\",\r\n \"irp\": \"application/vnd.irepository.package+xml\",\r\n \"xpr\": \"application/vnd.is-xpr\",\r\n \"fcs\": \"application/vnd.isac.fcs\",\r\n \"jam\": \"application/vnd.jam\",\r\n \"rms\": \"application/vnd.jcp.javame.midlet-rms\",\r\n \"jisp\": \"application/vnd.jisp\",\r\n \"joda\": \"application/vnd.joost.joda-archive\",\r\n \"ktz\": \"application/vnd.kahootz\",\r\n \"ktr\": \"application/vnd.kahootz\",\r\n \"karbon\": \"application/vnd.kde.karbon\",\r\n \"chrt\": \"application/vnd.kde.kchart\",\r\n \"kfo\": \"application/vnd.kde.kformula\",\r\n \"flw\": \"application/vnd.kde.kivio\",\r\n \"kon\": \"application/vnd.kde.kontour\",\r\n \"kpr\": \"application/vnd.kde.kpresenter\",\r\n \"kpt\": \"application/vnd.kde.kpresenter\",\r\n \"ksp\": \"application/vnd.kde.kspread\",\r\n \"kwd\": \"application/vnd.kde.kword\",\r\n \"kwt\": \"application/vnd.kde.kword\",\r\n \"htke\": \"application/vnd.kenameaapp\",\r\n \"kia\": \"application/vnd.kidspiration\",\r\n \"kne\": \"application/vnd.kinar\",\r\n \"knp\": \"application/vnd.kinar\",\r\n \"skp\": \"application/vnd.koan\",\r\n \"skd\": \"application/vnd.koan\",\r\n \"skt\": \"application/vnd.koan\",\r\n \"skm\": \"application/vnd.koan\",\r\n \"sse\": \"application/vnd.kodak-descriptor\",\r\n \"lasxml\": \"application/vnd.las.las+xml\",\r\n \"lbd\": \"application/vnd.llamagraphics.life-balance.desktop\",\r\n \"lbe\": \"application/vnd.llamagraphics.life-balance.exchange+xml\",\r\n \"apr\": \"application/vnd.lotus-approach\",\r\n \"pre\": \"application/vnd.lotus-freelance\",\r\n \"nsf\": \"application/vnd.lotus-notes\",\r\n \"org\": \"application/vnd.lotus-organizer\",\r\n \"scm\": \"application/vnd.lotus-screencam\",\r\n \"lwp\": \"application/vnd.lotus-wordpro\",\r\n \"portpkg\": \"application/vnd.macports.portpkg\",\r\n \"mvt\": \"application/vnd.mapbox-vector-tile\",\r\n \"mcd\": \"application/vnd.mcd\",\r\n \"mc1\": \"application/vnd.medcalcdata\",\r\n \"cdkey\": \"application/vnd.mediastation.cdkey\",\r\n \"mwf\": \"application/vnd.mfer\",\r\n \"mfm\": \"application/vnd.mfmp\",\r\n \"flo\": \"application/vnd.micrografx.flo\",\r\n \"igx\": \"application/vnd.micrografx.igx\",\r\n \"mif\": \"application/vnd.mif\",\r\n \"daf\": \"application/vnd.mobius.daf\",\r\n \"dis\": \"application/vnd.mobius.dis\",\r\n \"mbk\": \"application/vnd.mobius.mbk\",\r\n \"mqy\": \"application/vnd.mobius.mqy\",\r\n \"msl\": \"application/vnd.mobius.msl\",\r\n \"plc\": \"application/vnd.mobius.plc\",\r\n \"txf\": \"application/vnd.mobius.txf\",\r\n \"mpn\": \"application/vnd.mophun.application\",\r\n \"mpc\": \"application/vnd.mophun.certificate\",\r\n \"xul\": \"application/vnd.mozilla.xul+xml\",\r\n \"cil\": \"application/vnd.ms-artgalry\",\r\n \"cab\": \"application/vnd.ms-cab-compressed\",\r\n \"xls\": \"application/vnd.ms-excel\",\r\n \"xlm\": \"application/vnd.ms-excel\",\r\n \"xla\": \"application/vnd.ms-excel\",\r\n \"xlc\": \"application/vnd.ms-excel\",\r\n \"xlt\": \"application/vnd.ms-excel\",\r\n \"xlw\": \"application/vnd.ms-excel\",\r\n \"xlam\": \"application/vnd.ms-excel.addin.macroenabled.12\",\r\n \"xlsb\": \"application/vnd.ms-excel.sheet.binary.macroenabled.12\",\r\n \"xlsm\": \"application/vnd.ms-excel.sheet.macroenabled.12\",\r\n \"xltm\": \"application/vnd.ms-excel.template.macroenabled.12\",\r\n \"eot\": \"application/vnd.ms-fontobject\",\r\n \"chm\": \"application/vnd.ms-htmlhelp\",\r\n \"ims\": \"application/vnd.ms-ims\",\r\n \"lrm\": \"application/vnd.ms-lrm\",\r\n \"thmx\": \"application/vnd.ms-officetheme\",\r\n \"msg\": \"application/vnd.ms-outlook\",\r\n \"cat\": \"application/vnd.ms-pki.seccat\",\r\n \"stl\": \"model/stl\",\r\n \"ppt\": \"application/vnd.ms-powerpoint\",\r\n \"pps\": \"application/vnd.ms-powerpoint\",\r\n \"pot\": \"application/vnd.ms-powerpoint\",\r\n \"ppam\": \"application/vnd.ms-powerpoint.addin.macroenabled.12\",\r\n \"pptm\": \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\r\n \"sldm\": \"application/vnd.ms-powerpoint.slide.macroenabled.12\",\r\n \"ppsm\": \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\r\n \"potm\": \"application/vnd.ms-powerpoint.template.macroenabled.12\",\r\n \"mpt\": \"application/vnd.ms-project\",\r\n \"docm\": \"application/vnd.ms-word.document.macroenabled.12\",\r\n \"dotm\": \"application/vnd.ms-word.template.macroenabled.12\",\r\n \"wps\": \"application/vnd.ms-works\",\r\n \"wks\": \"application/vnd.ms-works\",\r\n \"wcm\": \"application/vnd.ms-works\",\r\n \"wdb\": \"application/vnd.ms-works\",\r\n \"wpl\": \"application/vnd.ms-wpl\",\r\n \"xps\": \"application/vnd.ms-xpsdocument\",\r\n \"mseq\": \"application/vnd.mseq\",\r\n \"mus\": \"application/vnd.musician\",\r\n \"msty\": \"application/vnd.muvee.style\",\r\n \"taglet\": \"application/vnd.mynfc\",\r\n \"nlu\": \"application/vnd.neurolanguage.nlu\",\r\n \"ntf\": \"application/vnd.nitf\",\r\n \"nitf\": \"application/vnd.nitf\",\r\n \"nnd\": \"application/vnd.noblenet-directory\",\r\n \"nns\": \"application/vnd.noblenet-sealer\",\r\n \"nnw\": \"application/vnd.noblenet-web\",\r\n \"ngdat\": \"application/vnd.nokia.n-gage.data\",\r\n \"n-gage\": \"application/vnd.nokia.n-gage.symbian.install\",\r\n \"rpst\": \"application/vnd.nokia.radio-preset\",\r\n \"rpss\": \"application/vnd.nokia.radio-presets\",\r\n \"edm\": \"application/vnd.novadigm.edm\",\r\n \"edx\": \"application/vnd.novadigm.edx\",\r\n \"ext\": \"application/vnd.novadigm.ext\",\r\n \"odc\": \"application/vnd.oasis.opendocument.chart\",\r\n \"otc\": \"application/vnd.oasis.opendocument.chart-template\",\r\n \"odb\": \"application/vnd.oasis.opendocument.database\",\r\n \"odf\": \"application/vnd.oasis.opendocument.formula\",\r\n \"odft\": \"application/vnd.oasis.opendocument.formula-template\",\r\n \"odg\": \"application/vnd.oasis.opendocument.graphics\",\r\n \"otg\": \"application/vnd.oasis.opendocument.graphics-template\",\r\n \"odi\": \"application/vnd.oasis.opendocument.image\",\r\n \"oti\": \"application/vnd.oasis.opendocument.image-template\",\r\n \"odp\": \"application/vnd.oasis.opendocument.presentation\",\r\n \"otp\": \"application/vnd.oasis.opendocument.presentation-template\",\r\n \"ods\": \"application/vnd.oasis.opendocument.spreadsheet\",\r\n \"ots\": \"application/vnd.oasis.opendocument.spreadsheet-template\",\r\n \"odt\": \"application/vnd.oasis.opendocument.text\",\r\n \"odm\": \"application/vnd.oasis.opendocument.text-master\",\r\n \"ott\": \"application/vnd.oasis.opendocument.text-template\",\r\n \"oth\": \"application/vnd.oasis.opendocument.text-web\",\r\n \"xo\": \"application/vnd.olpc-sugar\",\r\n \"dd2\": \"application/vnd.oma.dd2+xml\",\r\n \"obgx\": \"application/vnd.openblox.game+xml\",\r\n \"oxt\": \"application/vnd.openofficeorg.extension\",\r\n \"osm\": \"application/vnd.openstreetmap.data+xml\",\r\n \"pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n \"sldx\": \"application/vnd.openxmlformats-officedocument.presentationml.slide\",\r\n \"ppsx\": \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\r\n \"potx\": \"application/vnd.openxmlformats-officedocument.presentationml.template\",\r\n \"xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n \"xltx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\r\n \"docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \"dotx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\r\n \"mgp\": \"application/vnd.osgeo.mapguide.package\",\r\n \"dp\": \"application/vnd.osgi.dp\",\r\n \"esa\": \"application/vnd.osgi.subsystem\",\r\n \"pdb\": \"application/vnd.palm\",\r\n \"pqa\": \"application/vnd.palm\",\r\n \"oprc\": \"application/vnd.palm\",\r\n \"paw\": \"application/vnd.pawaafile\",\r\n \"str\": \"application/vnd.pg.format\",\r\n \"ei6\": \"application/vnd.pg.osasli\",\r\n \"efif\": \"application/vnd.picsel\",\r\n \"wg\": \"application/vnd.pmi.widget\",\r\n \"plf\": \"application/vnd.pocketlearn\",\r\n \"pbd\": \"application/vnd.powerbuilder6\",\r\n \"box\": \"application/vnd.previewsystems.box\",\r\n \"mgz\": \"application/vnd.proteus.magazine\",\r\n \"qps\": \"application/vnd.publishare-delta-tree\",\r\n \"ptid\": \"application/vnd.pvi.ptid1\",\r\n \"qxd\": \"application/vnd.quark.quarkxpress\",\r\n \"qxt\": \"application/vnd.quark.quarkxpress\",\r\n \"qwd\": \"application/vnd.quark.quarkxpress\",\r\n \"qwt\": \"application/vnd.quark.quarkxpress\",\r\n \"qxl\": \"application/vnd.quark.quarkxpress\",\r\n \"qxb\": \"application/vnd.quark.quarkxpress\",\r\n \"rar\": \"application/vnd.rar\",\r\n \"bed\": \"application/vnd.realvnc.bed\",\r\n \"mxl\": \"application/vnd.recordare.musicxml\",\r\n \"musicxml\": \"application/vnd.recordare.musicxml+xml\",\r\n \"cryptonote\": \"application/vnd.rig.cryptonote\",\r\n \"cod\": \"application/vnd.rim.cod\",\r\n \"rm\": \"application/vnd.rn-realmedia\",\r\n \"rmvb\": \"application/vnd.rn-realmedia-vbr\",\r\n \"link66\": \"application/vnd.route66.link66+xml\",\r\n \"st\": \"application/vnd.sailingtracker.track\",\r\n \"see\": \"application/vnd.seemail\",\r\n \"sema\": \"application/vnd.sema\",\r\n \"semd\": \"application/vnd.semd\",\r\n \"semf\": \"application/vnd.semf\",\r\n \"ifm\": \"application/vnd.shana.informed.formdata\",\r\n \"itp\": \"application/vnd.shana.informed.formtemplate\",\r\n \"iif\": \"application/vnd.shana.informed.interchange\",\r\n \"ipk\": \"application/vnd.shana.informed.package\",\r\n \"twd\": \"application/vnd.simtech-mindmapper\",\r\n \"twds\": \"application/vnd.simtech-mindmapper\",\r\n \"mmf\": \"application/vnd.smaf\",\r\n \"teacher\": \"application/vnd.smart.teacher\",\r\n \"fo\": \"application/vnd.software602.filler.form+xml\",\r\n \"sdkm\": \"application/vnd.solent.sdkm+xml\",\r\n \"sdkd\": \"application/vnd.solent.sdkm+xml\",\r\n \"dxp\": \"application/vnd.spotfire.dxp\",\r\n \"sfs\": \"application/vnd.spotfire.sfs\",\r\n \"sdc\": \"application/vnd.stardivision.calc\",\r\n \"sda\": \"application/vnd.stardivision.draw\",\r\n \"sdd\": \"application/vnd.stardivision.impress\",\r\n \"smf\": \"application/vnd.stardivision.math\",\r\n \"sdw\": \"application/vnd.stardivision.writer\",\r\n \"vor\": \"application/vnd.stardivision.writer\",\r\n \"sgl\": \"application/vnd.stardivision.writer-global\",\r\n \"smzip\": \"application/vnd.stepmania.package\",\r\n \"sm\": \"application/vnd.stepmania.stepchart\",\r\n \"wadl\": \"application/vnd.sun.wadl+xml\",\r\n \"sxc\": \"application/vnd.sun.xml.calc\",\r\n \"stc\": \"application/vnd.sun.xml.calc.template\",\r\n \"sxd\": \"application/vnd.sun.xml.draw\",\r\n \"std\": \"application/vnd.sun.xml.draw.template\",\r\n \"sxi\": \"application/vnd.sun.xml.impress\",\r\n \"sti\": \"application/vnd.sun.xml.impress.template\",\r\n \"sxm\": \"application/vnd.sun.xml.math\",\r\n \"sxw\": \"application/vnd.sun.xml.writer\",\r\n \"sxg\": \"application/vnd.sun.xml.writer.global\",\r\n \"stw\": \"application/vnd.sun.xml.writer.template\",\r\n \"sus\": \"application/vnd.sus-calendar\",\r\n \"susp\": \"application/vnd.sus-calendar\",\r\n \"svd\": \"application/vnd.svd\",\r\n \"sis\": \"application/vnd.symbian.install\",\r\n \"sisx\": \"application/vnd.symbian.install\",\r\n \"xsm\": \"application/vnd.syncml+xml\",\r\n \"bdm\": \"application/vnd.syncml.dm+wbxml\",\r\n \"xdm\": \"application/vnd.syncml.dm+xml\",\r\n \"ddf\": \"application/vnd.syncml.dmddf+xml\",\r\n \"tao\": \"application/vnd.tao.intent-module-archive\",\r\n \"pcap\": \"application/vnd.tcpdump.pcap\",\r\n \"cap\": \"application/vnd.tcpdump.pcap\",\r\n \"dmp\": \"application/vnd.tcpdump.pcap\",\r\n \"tmo\": \"application/vnd.tmobile-livetv\",\r\n \"tpt\": \"application/vnd.trid.tpt\",\r\n \"mxs\": \"application/vnd.triscape.mxs\",\r\n \"tra\": \"application/vnd.trueapp\",\r\n \"ufd\": \"application/vnd.ufdl\",\r\n \"ufdl\": \"application/vnd.ufdl\",\r\n \"utz\": \"application/vnd.uiq.theme\",\r\n \"umj\": \"application/vnd.umajin\",\r\n \"unityweb\": \"application/vnd.unity\",\r\n \"uoml\": \"application/vnd.uoml+xml\",\r\n \"vcx\": \"application/vnd.vcx\",\r\n \"vsd\": \"application/vnd.visio\",\r\n \"vst\": \"application/vnd.visio\",\r\n \"vss\": \"application/vnd.visio\",\r\n \"vsw\": \"application/vnd.visio\",\r\n \"vis\": \"application/vnd.visionary\",\r\n \"vsf\": \"application/vnd.vsf\",\r\n \"wbxml\": \"application/vnd.wap.wbxml\",\r\n \"wmlc\": \"application/vnd.wap.wmlc\",\r\n \"wmlsc\": \"application/vnd.wap.wmlscriptc\",\r\n \"wtb\": \"application/vnd.webturbo\",\r\n \"nbp\": \"application/vnd.wolfram.player\",\r\n \"wpd\": \"application/vnd.wordperfect\",\r\n \"wqd\": \"application/vnd.wqd\",\r\n \"stf\": \"application/vnd.wt.stf\",\r\n \"xar\": \"application/vnd.xara\",\r\n \"xfdl\": \"application/vnd.xfdl\",\r\n \"hvd\": \"application/vnd.yamaha.hv-dic\",\r\n \"hvs\": \"application/vnd.yamaha.hv-script\",\r\n \"hvp\": \"application/vnd.yamaha.hv-voice\",\r\n \"osf\": \"application/vnd.yamaha.openscoreformat\",\r\n \"osfpvg\": \"application/vnd.yamaha.openscoreformat.osfpvg+xml\",\r\n \"saf\": \"application/vnd.yamaha.smaf-audio\",\r\n \"spf\": \"application/vnd.yamaha.smaf-phrase\",\r\n \"cmp\": \"application/vnd.yellowriver-custom-menu\",\r\n \"zir\": \"application/vnd.zul\",\r\n \"zirz\": \"application/vnd.zul\",\r\n \"zaz\": \"application/vnd.zzazz.deck+xml\",\r\n \"vxml\": \"application/voicexml+xml\",\r\n \"wasm\": \"application/wasm\",\r\n \"wif\": \"application/watcherinfo+xml\",\r\n \"wgt\": \"application/widget\",\r\n \"hlp\": \"application/winhlp\",\r\n \"wsdl\": \"application/wsdl+xml\",\r\n \"wspolicy\": \"application/wspolicy+xml\",\r\n \"7z\": \"application/x-7z-compressed\",\r\n \"abw\": \"application/x-abiword\",\r\n \"ace\": \"application/x-ace-compressed\",\r\n \"arj\": \"application/x-arj\",\r\n \"aab\": \"application/x-authorware-bin\",\r\n \"x32\": \"application/x-authorware-bin\",\r\n \"u32\": \"application/x-authorware-bin\",\r\n \"vox\": \"application/x-authorware-bin\",\r\n \"aam\": \"application/x-authorware-map\",\r\n \"aas\": \"application/x-authorware-seg\",\r\n \"bcpio\": \"application/x-bcpio\",\r\n \"torrent\": \"application/x-bittorrent\",\r\n \"blb\": \"application/x-blorb\",\r\n \"blorb\": \"application/x-blorb\",\r\n \"bz\": \"application/x-bzip\",\r\n \"bz2\": \"application/x-bzip2\",\r\n \"boz\": \"application/x-bzip2\",\r\n \"cbr\": \"application/x-cbr\",\r\n \"cba\": \"application/x-cbr\",\r\n \"cbt\": \"application/x-cbr\",\r\n \"cbz\": \"application/x-cbr\",\r\n \"cb7\": \"application/x-cbr\",\r\n \"vcd\": \"application/x-cdlink\",\r\n \"cfs\": \"application/x-cfs-compressed\",\r\n \"chat\": \"application/x-chat\",\r\n \"pgn\": \"application/x-chess-pgn\",\r\n \"crx\": \"application/x-chrome-extension\",\r\n \"cco\": \"application/x-cocoa\",\r\n \"nsc\": \"application/x-conference\",\r\n \"cpio\": \"application/x-cpio\",\r\n \"csh\": \"application/x-csh\",\r\n \"udeb\": \"application/x-debian-package\",\r\n \"dgc\": \"application/x-dgc-compressed\",\r\n \"dir\": \"application/x-director\",\r\n \"dcr\": \"application/x-director\",\r\n \"dxr\": \"application/x-director\",\r\n \"cst\": \"application/x-director\",\r\n \"cct\": \"application/x-director\",\r\n \"cxt\": \"application/x-director\",\r\n \"w3d\": \"application/x-director\",\r\n \"fgd\": \"application/x-director\",\r\n \"swa\": \"application/x-director\",\r\n \"wad\": \"application/x-doom\",\r\n \"ncx\": \"application/x-dtbncx+xml\",\r\n \"dtb\": \"application/x-dtbook+xml\",\r\n \"res\": \"application/x-dtbresource+xml\",\r\n \"dvi\": \"application/x-dvi\",\r\n \"evy\": \"application/x-envoy\",\r\n \"eva\": \"application/x-eva\",\r\n \"bdf\": \"application/x-font-bdf\",\r\n \"gsf\": \"application/x-font-ghostscript\",\r\n \"psf\": \"application/x-font-linux-psf\",\r\n \"pcf\": \"application/x-font-pcf\",\r\n \"snf\": \"application/x-font-snf\",\r\n \"pfa\": \"application/x-font-type1\",\r\n \"pfb\": \"application/x-font-type1\",\r\n \"pfm\": \"application/x-font-type1\",\r\n \"afm\": \"application/x-font-type1\",\r\n \"arc\": \"application/x-freearc\",\r\n \"spl\": \"application/x-futuresplash\",\r\n \"gca\": \"application/x-gca-compressed\",\r\n \"ulx\": \"application/x-glulx\",\r\n \"gnumeric\": \"application/x-gnumeric\",\r\n \"gramps\": \"application/x-gramps-xml\",\r\n \"gtar\": \"application/x-gtar\",\r\n \"hdf\": \"application/x-hdf\",\r\n \"php\": \"application/x-httpd-php\",\r\n \"install\": \"application/x-install-instructions\",\r\n \"jardiff\": \"application/x-java-archive-diff\",\r\n \"jnlp\": \"application/x-java-jnlp-file\",\r\n \"kdbx\": \"application/x-keepass2\",\r\n \"latex\": \"application/x-latex\",\r\n \"luac\": \"application/x-lua-bytecode\",\r\n \"lzh\": \"application/x-lzh-compressed\",\r\n \"lha\": \"application/x-lzh-compressed\",\r\n \"run\": \"application/x-makeself\",\r\n \"mie\": \"application/x-mie\",\r\n \"prc\": \"application/x-mobipocket-ebook\",\r\n \"mobi\": \"application/x-mobipocket-ebook\",\r\n \"application\": \"application/x-ms-application\",\r\n \"lnk\": \"application/x-ms-shortcut\",\r\n \"wmd\": \"application/x-ms-wmd\",\r\n \"wmz\": \"application/x-ms-wmz\",\r\n \"xbap\": \"application/x-ms-xbap\",\r\n \"mdb\": \"application/x-msaccess\",\r\n \"obd\": \"application/x-msbinder\",\r\n \"crd\": \"application/x-mscardfile\",\r\n \"clp\": \"application/x-msclip\",\r\n \"com\": \"application/x-msdownload\",\r\n \"bat\": \"application/x-msdownload\",\r\n \"mvb\": \"application/x-msmediaview\",\r\n \"m13\": \"application/x-msmediaview\",\r\n \"m14\": \"application/x-msmediaview\",\r\n \"wmf\": \"image/wmf\",\r\n \"emf\": \"image/emf\",\r\n \"emz\": \"application/x-msmetafile\",\r\n \"mny\": \"application/x-msmoney\",\r\n \"pub\": \"application/x-mspublisher\",\r\n \"scd\": \"application/x-msschedule\",\r\n \"trm\": \"application/x-msterminal\",\r\n \"wri\": \"application/x-mswrite\",\r\n \"nc\": \"application/x-netcdf\",\r\n \"cdf\": \"application/x-netcdf\",\r\n \"pac\": \"application/x-ns-proxy-autoconfig\",\r\n \"nzb\": \"application/x-nzb\",\r\n \"pl\": \"application/x-perl\",\r\n \"pm\": \"application/x-perl\",\r\n \"p12\": \"application/x-pkcs12\",\r\n \"pfx\": \"application/x-pkcs12\",\r\n \"p7b\": \"application/x-pkcs7-certificates\",\r\n \"spc\": \"application/x-pkcs7-certificates\",\r\n \"p7r\": \"application/x-pkcs7-certreqresp\",\r\n \"rpm\": \"application/x-redhat-package-manager\",\r\n \"ris\": \"application/x-research-info-systems\",\r\n \"sea\": \"application/x-sea\",\r\n \"sh\": \"application/x-sh\",\r\n \"shar\": \"application/x-shar\",\r\n \"swf\": \"application/x-shockwave-flash\",\r\n \"xap\": \"application/x-silverlight-app\",\r\n \"sql\": \"application/x-sql\",\r\n \"sit\": \"application/x-stuffit\",\r\n \"sitx\": \"application/x-stuffitx\",\r\n \"srt\": \"application/x-subrip\",\r\n \"sv4cpio\": \"application/x-sv4cpio\",\r\n \"sv4crc\": \"application/x-sv4crc\",\r\n \"t3\": \"application/x-t3vm-image\",\r\n \"gam\": \"application/x-tads\",\r\n \"tar\": \"application/x-tar\",\r\n \"tcl\": \"application/x-tcl\",\r\n \"tk\": \"application/x-tcl\",\r\n \"tex\": \"application/x-tex\",\r\n \"tfm\": \"application/x-tex-tfm\",\r\n \"texinfo\": \"application/x-texinfo\",\r\n \"texi\": \"application/x-texinfo\",\r\n \"obj\": \"model/obj\",\r\n \"ustar\": \"application/x-ustar\",\r\n \"hdd\": \"application/x-virtualbox-hdd\",\r\n \"ova\": \"application/x-virtualbox-ova\",\r\n \"ovf\": \"application/x-virtualbox-ovf\",\r\n \"vbox\": \"application/x-virtualbox-vbox\",\r\n \"vbox-extpack\": \"application/x-virtualbox-vbox-extpack\",\r\n \"vdi\": \"application/x-virtualbox-vdi\",\r\n \"vhd\": \"application/x-virtualbox-vhd\",\r\n \"vmdk\": \"application/x-virtualbox-vmdk\",\r\n \"src\": \"application/x-wais-source\",\r\n \"webapp\": \"application/x-web-app-manifest+json\",\r\n \"der\": \"application/x-x509-ca-cert\",\r\n \"crt\": \"application/x-x509-ca-cert\",\r\n \"pem\": \"application/x-x509-ca-cert\",\r\n \"fig\": \"application/x-xfig\",\r\n \"xlf\": \"application/xliff+xml\",\r\n \"xpi\": \"application/x-xpinstall\",\r\n \"xz\": \"application/x-xz\",\r\n \"z1\": \"application/x-zmachine\",\r\n \"z2\": \"application/x-zmachine\",\r\n \"z3\": \"application/x-zmachine\",\r\n \"z4\": \"application/x-zmachine\",\r\n \"z5\": \"application/x-zmachine\",\r\n \"z6\": \"application/x-zmachine\",\r\n \"z7\": \"application/x-zmachine\",\r\n \"z8\": \"application/x-zmachine\",\r\n \"xaml\": \"application/xaml+xml\",\r\n \"xav\": \"application/xcap-att+xml\",\r\n \"xca\": \"application/xcap-caps+xml\",\r\n \"xdf\": \"application/xcap-diff+xml\",\r\n \"xel\": \"application/xcap-el+xml\",\r\n \"xns\": \"application/xcap-ns+xml\",\r\n \"xenc\": \"application/xenc+xml\",\r\n \"xhtml\": \"application/xhtml+xml\",\r\n \"xht\": \"application/xhtml+xml\",\r\n \"xml\": \"application/xml\",\r\n \"xsl\": \"application/xml\",\r\n \"xsd\": \"application/xml\",\r\n \"rng\": \"application/xml\",\r\n \"dtd\": \"application/xml-dtd\",\r\n \"xop\": \"application/xop+xml\",\r\n \"xpl\": \"application/xproc+xml\",\r\n \"xslt\": \"application/xslt+xml\",\r\n \"xspf\": \"application/xspf+xml\",\r\n \"mxml\": \"application/xv+xml\",\r\n \"xhvml\": \"application/xv+xml\",\r\n \"xvml\": \"application/xv+xml\",\r\n \"xvm\": \"application/xv+xml\",\r\n \"yang\": \"application/yang\",\r\n \"yin\": \"application/yin+xml\",\r\n \"zip\": \"application/zip\",\r\n \"3gpp\": \"video/3gpp\",\r\n \"adp\": \"audio/adpcm\",\r\n \"amr\": \"audio/amr\",\r\n \"au\": \"audio/basic\",\r\n \"snd\": \"audio/basic\",\r\n \"mid\": \"audio/midi\",\r\n \"midi\": \"audio/midi\",\r\n \"kar\": \"audio/midi\",\r\n \"rmi\": \"audio/midi\",\r\n \"mxmf\": \"audio/mobile-xmf\",\r\n \"mp3\": \"audio/mpeg\",\r\n \"m4a\": \"audio/mp4\",\r\n \"mp4a\": \"audio/mp4\",\r\n \"mpga\": \"audio/mpeg\",\r\n \"mp2\": \"audio/mpeg\",\r\n \"mp2a\": \"audio/mpeg\",\r\n \"m2a\": \"audio/mpeg\",\r\n \"m3a\": \"audio/mpeg\",\r\n \"oga\": \"audio/ogg\",\r\n \"ogg\": \"audio/ogg\",\r\n \"spx\": \"audio/ogg\",\r\n \"opus\": \"audio/ogg\",\r\n \"s3m\": \"audio/s3m\",\r\n \"sil\": \"audio/silk\",\r\n \"uva\": \"audio/vnd.dece.audio\",\r\n \"uvva\": \"audio/vnd.dece.audio\",\r\n \"eol\": \"audio/vnd.digital-winds\",\r\n \"dra\": \"audio/vnd.dra\",\r\n \"dts\": \"audio/vnd.dts\",\r\n \"dtshd\": \"audio/vnd.dts.hd\",\r\n \"lvp\": \"audio/vnd.lucent.voice\",\r\n \"pya\": \"audio/vnd.ms-playready.media.pya\",\r\n \"ecelp4800\": \"audio/vnd.nuera.ecelp4800\",\r\n \"ecelp7470\": \"audio/vnd.nuera.ecelp7470\",\r\n \"ecelp9600\": \"audio/vnd.nuera.ecelp9600\",\r\n \"rip\": \"audio/vnd.rip\",\r\n \"wav\": \"audio/wave\",\r\n \"weba\": \"audio/webm\",\r\n \"aac\": \"audio/x-aac\",\r\n \"aif\": \"audio/x-aiff\",\r\n \"aiff\": \"audio/x-aiff\",\r\n \"aifc\": \"audio/x-aiff\",\r\n \"caf\": \"audio/x-caf\",\r\n \"flac\": \"audio/x-flac\",\r\n \"mka\": \"audio/x-matroska\",\r\n \"m3u\": \"audio/x-mpegurl\",\r\n \"wax\": \"audio/x-ms-wax\",\r\n \"wma\": \"audio/x-ms-wma\",\r\n \"ram\": \"audio/x-pn-realaudio\",\r\n \"ra\": \"audio/x-pn-realaudio\",\r\n \"rmp\": \"audio/x-pn-realaudio-plugin\",\r\n \"xm\": \"audio/xm\",\r\n \"cdx\": \"chemical/x-cdx\",\r\n \"cif\": \"chemical/x-cif\",\r\n \"cmdf\": \"chemical/x-cmdf\",\r\n \"cml\": \"chemical/x-cml\",\r\n \"csml\": \"chemical/x-csml\",\r\n \"xyz\": \"chemical/x-xyz\",\r\n \"ttc\": \"font/collection\",\r\n \"otf\": \"font/otf\",\r\n \"ttf\": \"font/ttf\",\r\n \"woff\": \"font/woff\",\r\n \"woff2\": \"font/woff2\",\r\n \"exr\": \"image/aces\",\r\n \"apng\": \"image/apng\",\r\n \"avci\": \"image/avci\",\r\n \"avcs\": \"image/avcs\",\r\n \"avif\": \"image/avif\",\r\n \"bmp\": \"image/bmp\",\r\n \"cgm\": \"image/cgm\",\r\n \"drle\": \"image/dicom-rle\",\r\n \"fits\": \"image/fits\",\r\n \"g3\": \"image/g3fax\",\r\n \"gif\": \"image/gif\",\r\n \"heic\": \"image/heic\",\r\n \"heics\": \"image/heic-sequence\",\r\n \"heif\": \"image/heif\",\r\n \"heifs\": \"image/heif-sequence\",\r\n \"hej2\": \"image/hej2k\",\r\n \"hsj2\": \"image/hsj2\",\r\n \"ief\": \"image/ief\",\r\n \"jls\": \"image/jls\",\r\n \"jp2\": \"image/jp2\",\r\n \"jpg2\": \"image/jp2\",\r\n \"jpeg\": \"image/jpeg\",\r\n \"jpg\": \"image/jpeg\",\r\n \"jpe\": \"image/jpeg\",\r\n \"jph\": \"image/jph\",\r\n \"jhc\": \"image/jphc\",\r\n \"jpm\": \"image/jpm\",\r\n \"jpx\": \"image/jpx\",\r\n \"jpf\": \"image/jpx\",\r\n \"jxr\": \"image/jxr\",\r\n \"jxra\": \"image/jxra\",\r\n \"jxrs\": \"image/jxrs\",\r\n \"jxs\": \"image/jxs\",\r\n \"jxsc\": \"image/jxsc\",\r\n \"jxsi\": \"image/jxsi\",\r\n \"jxss\": \"image/jxss\",\r\n \"ktx\": \"image/ktx\",\r\n \"ktx2\": \"image/ktx2\",\r\n \"png\": \"image/png\",\r\n \"btif\": \"image/prs.btif\",\r\n \"pti\": \"image/prs.pti\",\r\n \"sgi\": \"image/sgi\",\r\n \"svg\": \"image/svg+xml\",\r\n \"svgz\": \"image/svg+xml\",\r\n \"t38\": \"image/t38\",\r\n \"tif\": \"image/tiff\",\r\n \"tiff\": \"image/tiff\",\r\n \"tfx\": \"image/tiff-fx\",\r\n \"psd\": \"image/vnd.adobe.photoshop\",\r\n \"azv\": \"image/vnd.airzip.accelerator.azv\",\r\n \"uvi\": \"image/vnd.dece.graphic\",\r\n \"uvvi\": \"image/vnd.dece.graphic\",\r\n \"uvg\": \"image/vnd.dece.graphic\",\r\n \"uvvg\": \"image/vnd.dece.graphic\",\r\n \"djvu\": \"image/vnd.djvu\",\r\n \"djv\": \"image/vnd.djvu\",\r\n \"sub\": \"text/vnd.dvb.subtitle\",\r\n \"dwg\": \"image/vnd.dwg\",\r\n \"dxf\": \"image/vnd.dxf\",\r\n \"fbs\": \"image/vnd.fastbidsheet\",\r\n \"fpx\": \"image/vnd.fpx\",\r\n \"fst\": \"image/vnd.fst\",\r\n \"mmr\": \"image/vnd.fujixerox.edmics-mmr\",\r\n \"rlc\": \"image/vnd.fujixerox.edmics-rlc\",\r\n \"ico\": \"image/vnd.microsoft.icon\",\r\n \"dds\": \"image/vnd.ms-dds\",\r\n \"mdi\": \"image/vnd.ms-modi\",\r\n \"wdp\": \"image/vnd.ms-photo\",\r\n \"npx\": \"image/vnd.net-fpx\",\r\n \"b16\": \"image/vnd.pco.b16\",\r\n \"tap\": \"image/vnd.tencent.tap\",\r\n \"vtf\": \"image/vnd.valve.source.texture\",\r\n \"wbmp\": \"image/vnd.wap.wbmp\",\r\n \"xif\": \"image/vnd.xiff\",\r\n \"pcx\": \"image/vnd.zbrush.pcx\",\r\n \"webp\": \"image/webp\",\r\n \"3ds\": \"image/x-3ds\",\r\n \"ras\": \"image/x-cmu-raster\",\r\n \"cmx\": \"image/x-cmx\",\r\n \"fh\": \"image/x-freehand\",\r\n \"fhc\": \"image/x-freehand\",\r\n \"fh4\": \"image/x-freehand\",\r\n \"fh5\": \"image/x-freehand\",\r\n \"fh7\": \"image/x-freehand\",\r\n \"jng\": \"image/x-jng\",\r\n \"sid\": \"image/x-mrsid-image\",\r\n \"pic\": \"image/x-pict\",\r\n \"pct\": \"image/x-pict\",\r\n \"pnm\": \"image/x-portable-anymap\",\r\n \"pbm\": \"image/x-portable-bitmap\",\r\n \"pgm\": \"image/x-portable-graymap\",\r\n \"ppm\": \"image/x-portable-pixmap\",\r\n \"rgb\": \"image/x-rgb\",\r\n \"tga\": \"image/x-tga\",\r\n \"xbm\": \"image/x-xbitmap\",\r\n \"xpm\": \"image/x-xpixmap\",\r\n \"xwd\": \"image/x-xwindowdump\",\r\n \"disposition-notification\": \"message/disposition-notification\",\r\n \"u8msg\": \"message/global\",\r\n \"u8dsn\": \"message/global-delivery-status\",\r\n \"u8mdn\": \"message/global-disposition-notification\",\r\n \"u8hdr\": \"message/global-headers\",\r\n \"eml\": \"message/rfc822\",\r\n \"mime\": \"message/rfc822\",\r\n \"wsc\": \"message/vnd.wfa.wsc\",\r\n \"3mf\": \"model/3mf\",\r\n \"gltf\": \"model/gltf+json\",\r\n \"glb\": \"model/gltf-binary\",\r\n \"igs\": \"model/iges\",\r\n \"iges\": \"model/iges\",\r\n \"msh\": \"model/mesh\",\r\n \"mesh\": \"model/mesh\",\r\n \"silo\": \"model/mesh\",\r\n \"mtl\": \"model/mtl\",\r\n \"stpx\": \"model/step+xml\",\r\n \"stpz\": \"model/step+zip\",\r\n \"stpxz\": \"model/step-xml+zip\",\r\n \"dae\": \"model/vnd.collada+xml\",\r\n \"dwf\": \"model/vnd.dwf\",\r\n \"gdl\": \"model/vnd.gdl\",\r\n \"gtw\": \"model/vnd.gtw\",\r\n \"mts\": \"model/vnd.mts\",\r\n \"ogex\": \"model/vnd.opengex\",\r\n \"x_b\": \"model/vnd.parasolid.transmit.binary\",\r\n \"x_t\": \"model/vnd.parasolid.transmit.text\",\r\n \"vds\": \"model/vnd.sap.vds\",\r\n \"usdz\": \"model/vnd.usdz+zip\",\r\n \"bsp\": \"model/vnd.valve.source.compiled-map\",\r\n \"vtu\": \"model/vnd.vtu\",\r\n \"wrl\": \"model/vrml\",\r\n \"vrml\": \"model/vrml\",\r\n \"x3db\": \"model/x3d+fastinfoset\",\r\n \"x3dbz\": \"model/x3d+binary\",\r\n \"x3dv\": \"model/x3d-vrml\",\r\n \"x3dvz\": \"model/x3d+vrml\",\r\n \"x3d\": \"model/x3d+xml\",\r\n \"x3dz\": \"model/x3d+xml\",\r\n \"appcache\": \"text/cache-manifest\",\r\n \"manifest\": \"text/cache-manifest\",\r\n \"ics\": \"text/calendar\",\r\n \"ifb\": \"text/calendar\",\r\n \"coffee\": \"text/coffeescript\",\r\n \"litcoffee\": \"text/coffeescript\",\r\n \"css\": \"text/css\",\r\n \"csv\": \"text/csv\",\r\n \"html\": \"text/html\",\r\n \"htm\": \"text/html\",\r\n \"shtml\": \"text/html\",\r\n \"jade\": \"text/jade\",\r\n \"jsx\": \"text/jsx\",\r\n \"less\": \"text/less\",\r\n \"markdown\": \"text/markdown\",\r\n \"md\": \"text/markdown\",\r\n \"mml\": \"text/mathml\",\r\n \"mdx\": \"text/mdx\",\r\n \"n3\": \"text/n3\",\r\n \"txt\": \"text/plain\",\r\n \"text\": \"text/plain\",\r\n \"conf\": \"text/plain\",\r\n \"def\": \"text/plain\",\r\n \"list\": \"text/plain\",\r\n \"log\": \"text/plain\",\r\n \"in\": \"text/plain\",\r\n \"ini\": \"text/plain\",\r\n \"dsc\": \"text/prs.lines.tag\",\r\n \"rtx\": \"text/richtext\",\r\n \"sgml\": \"text/sgml\",\r\n \"sgm\": \"text/sgml\",\r\n \"shex\": \"text/shex\",\r\n \"slim\": \"text/slim\",\r\n \"slm\": \"text/slim\",\r\n \"spdx\": \"text/spdx\",\r\n \"stylus\": \"text/stylus\",\r\n \"styl\": \"text/stylus\",\r\n \"tsv\": \"text/tab-separated-values\",\r\n \"t\": \"text/troff\",\r\n \"tr\": \"text/troff\",\r\n \"roff\": \"text/troff\",\r\n \"man\": \"text/troff\",\r\n \"me\": \"text/troff\",\r\n \"ms\": \"text/troff\",\r\n \"ttl\": \"text/turtle\",\r\n \"uri\": \"text/uri-list\",\r\n \"uris\": \"text/uri-list\",\r\n \"urls\": \"text/uri-list\",\r\n \"vcard\": \"text/vcard\",\r\n \"curl\": \"text/vnd.curl\",\r\n \"dcurl\": \"text/vnd.curl.dcurl\",\r\n \"mcurl\": \"text/vnd.curl.mcurl\",\r\n \"scurl\": \"text/vnd.curl.scurl\",\r\n \"ged\": \"text/vnd.familysearch.gedcom\",\r\n \"fly\": \"text/vnd.fly\",\r\n \"flx\": \"text/vnd.fmi.flexstor\",\r\n \"gv\": \"text/vnd.graphviz\",\r\n \"3dml\": \"text/vnd.in3d.3dml\",\r\n \"spot\": \"text/vnd.in3d.spot\",\r\n \"jad\": \"text/vnd.sun.j2me.app-descriptor\",\r\n \"wml\": \"text/vnd.wap.wml\",\r\n \"wmls\": \"text/vnd.wap.wmlscript\",\r\n \"vtt\": \"text/vtt\",\r\n \"s\": \"text/x-asm\",\r\n \"asm\": \"text/x-asm\",\r\n \"c\": \"text/x-c\",\r\n \"cc\": \"text/x-c\",\r\n \"cxx\": \"text/x-c\",\r\n \"cpp\": \"text/x-c\",\r\n \"h\": \"text/x-c\",\r\n \"hh\": \"text/x-c\",\r\n \"dic\": \"text/x-c\",\r\n \"htc\": \"text/x-component\",\r\n \"f\": \"text/x-fortran\",\r\n \"for\": \"text/x-fortran\",\r\n \"f77\": \"text/x-fortran\",\r\n \"f90\": \"text/x-fortran\",\r\n \"hbs\": \"text/x-handlebars-template\",\r\n \"java\": \"text/x-java-source\",\r\n \"lua\": \"text/x-lua\",\r\n \"mkd\": \"text/x-markdown\",\r\n \"nfo\": \"text/x-nfo\",\r\n \"opml\": \"text/x-opml\",\r\n \"p\": \"text/x-pascal\",\r\n \"pas\": \"text/x-pascal\",\r\n \"pde\": \"text/x-processing\",\r\n \"sass\": \"text/x-sass\",\r\n \"scss\": \"text/x-scss\",\r\n \"etx\": \"text/x-setext\",\r\n \"sfv\": \"text/x-sfv\",\r\n \"ymp\": \"text/x-suse-ymp\",\r\n \"uu\": \"text/x-uuencode\",\r\n \"vcs\": \"text/x-vcalendar\",\r\n \"vcf\": \"text/x-vcard\",\r\n \"yaml\": \"text/yaml\",\r\n \"yml\": \"text/yaml\",\r\n \"3gp\": \"video/3gpp\",\r\n \"3g2\": \"video/3gpp2\",\r\n \"h261\": \"video/h261\",\r\n \"h263\": \"video/h263\",\r\n \"h264\": \"video/h264\",\r\n \"m4s\": \"video/iso.segment\",\r\n \"jpgv\": \"video/jpeg\",\r\n \"jpgm\": \"video/jpm\",\r\n \"mj2\": \"video/mj2\",\r\n \"mjp2\": \"video/mj2\",\r\n \"ts\": \"video/mp2t\",\r\n \"mp4\": \"video/mp4\",\r\n \"mp4v\": \"video/mp4\",\r\n \"mpg4\": \"video/mp4\",\r\n \"mpeg\": \"video/mpeg\",\r\n \"mpg\": \"video/mpeg\",\r\n \"mpe\": \"video/mpeg\",\r\n \"m1v\": \"video/mpeg\",\r\n \"m2v\": \"video/mpeg\",\r\n \"ogv\": \"video/ogg\",\r\n \"qt\": \"video/quicktime\",\r\n \"mov\": \"video/quicktime\",\r\n \"uvh\": \"video/vnd.dece.hd\",\r\n \"uvvh\": \"video/vnd.dece.hd\",\r\n \"uvm\": \"video/vnd.dece.mobile\",\r\n \"uvvm\": \"video/vnd.dece.mobile\",\r\n \"uvp\": \"video/vnd.dece.pd\",\r\n \"uvvp\": \"video/vnd.dece.pd\",\r\n \"uvs\": \"video/vnd.dece.sd\",\r\n \"uvvs\": \"video/vnd.dece.sd\",\r\n \"uvv\": \"video/vnd.dece.video\",\r\n \"uvvv\": \"video/vnd.dece.video\",\r\n \"dvb\": \"video/vnd.dvb.file\",\r\n \"fvt\": \"video/vnd.fvt\",\r\n \"mxu\": \"video/vnd.mpegurl\",\r\n \"m4u\": \"video/vnd.mpegurl\",\r\n \"pyv\": \"video/vnd.ms-playready.media.pyv\",\r\n \"uvu\": \"video/vnd.uvvu.mp4\",\r\n \"uvvu\": \"video/vnd.uvvu.mp4\",\r\n \"viv\": \"video/vnd.vivo\",\r\n \"webm\": \"video/webm\",\r\n \"f4v\": \"video/x-f4v\",\r\n \"fli\": \"video/x-fli\",\r\n \"flv\": \"video/x-flv\",\r\n \"m4v\": \"video/x-m4v\",\r\n \"mkv\": \"video/x-matroska\",\r\n \"mk3d\": \"video/x-matroska\",\r\n \"mks\": \"video/x-matroska\",\r\n \"mng\": \"video/x-mng\",\r\n \"asf\": \"video/x-ms-asf\",\r\n \"asx\": \"video/x-ms-asf\",\r\n \"vob\": \"video/x-ms-vob\",\r\n \"wm\": \"video/x-ms-wm\",\r\n \"wmv\": \"video/x-ms-wmv\",\r\n \"wmx\": \"video/x-ms-wmx\",\r\n \"wvx\": \"video/x-ms-wvx\",\r\n \"avi\": \"video/x-msvideo\",\r\n \"movie\": \"video/x-sgi-movie\",\r\n \"smv\": \"video/x-smv\",\r\n \"ice\": \"x-conference/x-cooltalk\"\r\n}","import db from './mime-db.json'\r\nimport { isEmpty, isString } from './helper'\r\n\r\nexport function mime(path: string) {\r\n if (isEmpty(path) || !isString(path) || path.length > 100) {\r\n return\r\n }\r\n\r\n // Fork from https://github.com/broofa/mime/blob/a34dac529c2aaf2a0bc5ff8be26f983795d0a5e9/src/Mime.ts#L73\r\n // Remove chars preceeding `/` or `\\`\r\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase()\r\n\r\n // Remove chars preceeding '.'\r\n const ext = last.replace(/^.*\\./, '').toLowerCase()\r\n\r\n const hasPath = last.length < path.length\r\n const hasDot = ext.length < last.length - 1\r\n\r\n // Extension-less file?\r\n if (!hasDot && hasPath) {\r\n return\r\n }\r\n\r\n return (db as Record<string, string>)[ext]\r\n}\r\n\r\nexport const commonImageMimeTypes = [\r\n mime('.jpg'),\r\n mime('.png'),\r\n mime('.bmp'),\r\n mime('.webp'),\r\n mime('.gif')\r\n] as unknown as string[]\r\n\r\nexport const commonFileMimeTypes = [\r\n ...commonImageMimeTypes,\r\n mime('.txt'),\r\n mime('.md'),\r\n mime('.doc'),\r\n mime('.docx'),\r\n mime('.xls'),\r\n mime('.xlsx'),\r\n mime('.csv'),\r\n mime('.ppt'),\r\n mime('.pptx'),\r\n mime('.pdf'),\r\n mime('.mp4'),\r\n mime('.wmv'),\r\n mime('.svg')\r\n] as unknown as string[]\r\n\r\nexport const IMAGE_MIME_TYPES = commonImageMimeTypes\r\nexport const FILE_MIME_TYPES = commonFileMimeTypes\r\n","import { customAlphabet } from 'nanoid'\n\nconst NANOID_ALPHABET =\n 'ModuleSymbhasOwnPr0123456789ABCDEFGHNRVfgctiUvzKqYTJkLxpZXIjQW'\n\nexport function nanoid(len = 21): string {\n return nanoidCustomAlphabet(NANOID_ALPHABET, len)\n}\n\nexport function nanoidCustomAlphabet(alphabet: string, len = 21): string {\n const generate = customAlphabet(alphabet, len)\n return generate()\n}\n","import { clone } from './clone'\nimport {\n isArray,\n isNan,\n isNil,\n isObject,\n isPlainObject,\n isValid\n} from './helper'\nimport * as objectPath from 'object-path'\n\nexport { deepEqual } from 'fast-equals'\n\nexport function pickObject(\n target: Record<string, any>,\n fields: Array<string | string[]>,\n excludes: Array<string> = []\n): Record<string, any> {\n if (!isObject(target)) {\n return {}\n }\n\n const copied = clone<Record<string, any>>(target)\n const targetKeys = Object.keys(copied)\n\n const fieldAlias: Record<string, any> = {}\n let picked: string[] = []\n\n if (fields.length > 0) {\n fields.forEach(item => {\n if (isArray(item)) {\n if (item.length > 0) {\n const filed = item[0]\n picked.push(filed)\n\n if (item.length > 1) {\n fieldAlias[filed] = item[1]\n }\n }\n } else {\n picked.push(item)\n }\n })\n } else {\n picked = targetKeys\n }\n\n const newObj: Record<string, any> = {}\n\n targetKeys\n .filter(key => !excludes.includes(key) && picked.includes(key))\n .forEach(key => {\n const alias = fieldAlias[key]\n\n if (alias) {\n newObj[alias] = copied[key]\n } else {\n newObj[key] = copied[key]\n }\n })\n\n return newObj\n}\n\nexport function excludeObject(\n target: Record<string, any>,\n excludes: Array<string> = []\n): Record<string, any> {\n return pickObject(target, [], excludes)\n}\n\nexport function pickValidValues<T = string | number | boolean>(\n target: Record<string, T>,\n fields: Array<string | string[]>\n): Record<string, T> {\n const dist: Record<string, T> = {}\n\n fields.forEach(field => {\n let key = String(field)\n let alias: string | undefined\n\n if (isArray(field)) {\n key = field[0]\n\n if (field.length > 1) {\n alias = field[1]\n }\n }\n\n let value = target[key]\n\n if (isValid(value)) {\n if (isPlainObject(value) || isArray(value)) {\n value = clone(value)\n }\n\n dist[alias || key] = value\n }\n })\n\n return dist\n}\n\nexport function removeObjectNil(\n target: Record<string, any>\n): Record<string, any> {\n if (!isObject(target)) {\n return {}\n }\n\n const copied = clone<Record<string, any>>(target)\n const newObj: Record<string, any> = {}\n\n for (const field of Object.keys(copied)) {\n const value = copied[field]\n\n if (isNil(value) || isNan(value)) {\n continue\n }\n\n newObj[field] = value\n }\n\n return newObj\n}\n\nexport function copyObjectValues(\n target: Record<string, any>,\n dist: Record<string, any>,\n keyMaps: Array<string | string[]>\n): void {\n if (!isObject(target) || !isObject(dist)) {\n return\n }\n\n for (const keys of keyMaps) {\n let targetKey: string\n let distKey: string\n\n if (isArray(keys)) {\n targetKey = keys[0]\n distKey = keys[1]\n } else {\n targetKey = String(keys)\n distKey = targetKey\n }\n\n let value = objectPath.get(target, targetKey)\n\n if (!isNil(value) && !isNan(value)) {\n if (isPlainObject(value) || isArray(value)) {\n value = clone(value)\n }\n objectPath.set(dist, distKey, value)\n }\n }\n}\n","const numeric = '0123456789'\nconst hexic = '0123456789abcdef'\nconst lower = 'abcdefghijklmnopqrstuvwxyz'\nconst upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\nconst length = 6\n\nexport enum RandomType {\n LOWER,\n UPPER,\n NUMERIC,\n HEXIC,\n LOWER_NUMERIC,\n UPPER_NUMERIC,\n ALPHANUMERIC\n}\n\nexport function random(\n len = length * 2,\n type = RandomType.ALPHANUMERIC\n): string {\n let alphabet: string = numeric + lower + upper\n\n switch (type) {\n case RandomType.LOWER:\n alphabet = lower\n break\n case RandomType.UPPER:\n alphabet = upper\n break\n case RandomType.HEXIC:\n alphabet = hexic\n break\n case RandomType.NUMERIC:\n alphabet = numeric\n break\n case RandomType.LOWER_NUMERIC:\n alphabet = lower + numeric\n break\n case RandomType.UPPER_NUMERIC:\n alphabet = upper + numeric\n break\n case RandomType.ALPHANUMERIC:\n alphabet = lower + upper + numeric\n break\n }\n\n let str = ''\n const alphabetLength = alphabet.length\n\n for (let i = 0; i < len; i++) {\n str += alphabet.charAt(Math.floor(Math.random() * alphabetLength))\n }\n\n return str\n}\n","import slug from 'slugify'\n\nexport interface SlugifyOptions {\n replacement?: string\n remove?: RegExp\n lower?: boolean\n strict?: boolean\n locale?: string\n trim?: boolean\n}\n\nexport function slugify(text: string, options?: SlugifyOptions): string {\n return slug(text, {\n replacement: '_',\n lower: true,\n ...options\n })\n}\n","export { v4 as uuidv4, v5 as uuidv5 } from 'uuid'\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/type.ts","../src/helper.ts","../src/bytes.ts","../src/clone.ts","../src/clsx.ts","../src/color.ts","../src/conv.ts","../src/second.ts","../src/date.ts","../src/mime-db.json","../src/mime.ts","../src/nanoid.ts","../src/object.ts","../src/random.ts","../src/slugify.ts"],"names":["type","_clsx","red","green","blue","alpha","RandomType"],"mappings":"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","file":"index.mjs","sourcesContent":["const toString = Object.prototype.toString\n\nexport function type(obj: any): string {\n if (obj === null) {\n return 'null'\n }\n\n let type: string = typeof obj\n\n if (type !== 'object') {\n return type\n }\n\n type = toString.call(obj).slice(8, -1)\n\n const typeLower = type.toLowerCase()\n\n if (typeLower !== 'object') {\n if (typeLower === 'number' || typeLower === 'boolean' || typeLower === 'string') {\n return type\n }\n return typeLower\n }\n\n return typeLower\n}\n","import { IsEmailOptions, default as _isEmail } from 'validator/lib/isEmail'\nimport _isFQDN from 'validator/lib/isFQDN'\nimport { IsNumericOptions, default as _isNumeric } from 'validator/lib/isNumeric'\nimport { IsURLOptions, default as _isURL } from 'validator/lib/isURL'\nimport _isUUID from 'validator/lib/isUUID'\n\nimport { type } from './type'\n\n/* @ts-ignore */\nconst whiteSpaceRegx =\n /^[\\s\\f\\n\\r\\t\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff\\x09\\x0a\\x0b\\x0c\\x0d\\x20\\xa0]+$/\n\nexport const isUUID = _isUUID\nexport const isFQDN = _isFQDN\n\nexport function isBoolean(arg: any): boolean {\n return type(arg) === 'boolean'\n}\n\nexport function isString(arg: any): boolean {\n return type(arg) === 'string'\n}\n\nexport function isNumber(arg: any): boolean {\n return type(arg) === 'number'\n}\n\nexport const isArray = Array.isArray\n\nexport function isValidArray(arg: any): boolean {\n return isArray(arg) && arg.length > 0\n}\n\nexport function isNan(arg: any): boolean {\n return isNumber(arg) && Number.isNaN(arg)\n}\n\nexport function isSet(arg: any): boolean {\n return type(arg) === 'set'\n}\n\nexport function isWeakSet(arg: any): boolean {\n return type(arg) === 'weakset'\n}\n\nexport function isMap(arg: any): boolean {\n return type(arg) === 'map'\n}\n\nexport function isWeakMap(arg: any): boolean {\n return type(arg) === 'weakmap'\n}\n\nexport function isSymbol(arg: any): boolean {\n return type(arg) === 'symbol'\n}\n\nexport function isObject(arg: any): boolean {\n return type(arg) === 'object'\n}\n\nexport function isDate(arg: any): boolean {\n return type(arg) === 'date'\n}\n\nexport function isRegExp(arg: any): boolean {\n return type(arg) === 'regexp'\n}\n\nexport function isError(arg: any): boolean {\n return type(arg) === 'error'\n}\n\nexport function isFunction(arg: any): boolean {\n return type(arg) === 'function'\n}\n\nexport function isNull(arg: any): boolean {\n return type(arg) === 'null'\n}\n\nexport function isUndefined(arg: any): boolean {\n return type(arg) === 'undefined'\n}\n\nexport function isNil(arg: any): boolean {\n return isNull(arg) || isUndefined(arg)\n}\n\nexport function isPlainObject(arg: any): boolean {\n if (!isObject(arg)) return false\n\n const ctor = arg.constructor\n if (typeof ctor !== 'function') return false\n\n const proto = ctor.prototype\n if (!isObject(proto)) return false\n\n return proto.hasOwnProperty('isPrototypeOf')\n}\n\nexport function isEmpty(arg: any): boolean {\n if (isNil(arg)) return true\n\n if (isBoolean(arg)) return false\n\n if (isNumber(arg)) return false\n\n if (isString(arg)) {\n return arg.length === 0 || whiteSpaceRegx.test(arg)\n }\n\n if (isFunction(arg) || isArray(arg)) {\n return arg.length === 0\n }\n\n switch (type(arg)) {\n case 'file':\n case 'map':\n case 'weakmap':\n case 'set':\n case 'weakset': {\n return arg.size === 0\n }\n\n case 'object': {\n for (const key in arg) {\n if (Object.hasOwnProperty.call(arg, key)) return false\n }\n return true\n }\n\n default:\n break\n }\n\n return false\n}\n\nexport function isValid(arg: any): boolean {\n return !isEmpty(arg)\n}\n\nexport function isEqual(arg1: any, arg2: any): boolean {\n return String(arg1) === String(arg2)\n}\n\nexport function isTrue(arg1: any): boolean {\n return arg1 === true || arg1 === 'true' || isEqual(arg1, '1')\n}\n\nexport function isFalse(arg1: any): boolean {\n return arg1 === false || arg1 === 'false' || isEqual(arg1, '0')\n}\n\nexport function isBool(arg: any): boolean {\n return isTrue(arg) || isFalse(arg)\n}\n\nexport function isFormData(arg: any): boolean {\n return type(arg) === 'formdata'\n}\n\nexport function uniqueArray(arg: any): any[] {\n if (!isValidArray(arg)) {\n return []\n }\n return Array.from(new Set(arg))\n}\n\nexport function isNumeric(arg: any, options?: IsNumericOptions): boolean {\n return isNumber(arg) || (isString(arg) && _isNumeric(arg, options))\n}\n\nexport function isURL(arg: any, options?: IsURLOptions): boolean {\n return isValid(arg) && isString(arg) && _isURL(arg, options)\n}\n\nexport function isEmail(arg: any, options?: IsEmailOptions): boolean {\n return isValid(arg) && isString(arg) && _isEmail(arg, options)\n}\n\nexport default {\n isUUID,\n isFQDN,\n isBoolean,\n isString,\n isNumber,\n isNumeric,\n isArray,\n isValidArray,\n isNan,\n isSet,\n isMap,\n isWeakSet,\n isWeakMap,\n isSymbol,\n isObject,\n isDate,\n isRegExp,\n isError,\n isFunction,\n isNull,\n isUndefined,\n isNil,\n isPlainObject,\n isEmpty,\n isValid,\n isEqual,\n isTrue,\n isFalse,\n isBool,\n isURL,\n isEmail,\n isFormData,\n uniqueArray\n}\n","import { isEmpty } from './helper'\n\nconst BYTE = 1\nconst KB = BYTE * 1024\nconst MB = KB * 1024\nconst GB = MB * 1024\nconst TB = GB * 1024\nconst PB = TB * 1024\nconst regx = /^(-?(?:\\d+)?\\.?\\d+)(b|kb|mb|gb|tb|pb)$/i\n\nexport function parseBytes(value: string | number): number | undefined {\n const str = String(value)\n\n if (isEmpty(value) || str.length > 100) {\n return\n }\n\n const matches = str.match(regx)\n\n if (!matches) {\n return\n }\n\n const num = parseFloat(matches[1])\n const type = matches[2].toLowerCase()\n\n switch (type) {\n case 'pb':\n return num * PB\n\n case 'tb':\n return num * TB\n\n case 'gb':\n return num * GB\n\n case 'mb':\n return num * MB\n\n case 'kb':\n return num * KB\n\n case 'b':\n return num * BYTE\n }\n}\n\nexport function bytes(size: string): number | undefined {\n return parseBytes(size)\n}\n\nexport function formatBytes(value: string | number): string {\n const mag = Math.abs(Number(value))\n let unit: string\n let size: number | string\n\n if (mag >= PB) {\n unit = 'PB'\n size = mag / PB\n } else if (mag >= TB) {\n unit = 'TB'\n size = mag / TB\n } else if (mag >= GB) {\n unit = 'GB'\n size = mag / GB\n } else if (mag >= MB) {\n unit = 'MB'\n size = mag / MB\n } else if (mag >= KB) {\n unit = 'KB'\n size = mag / KB\n } else {\n unit = 'B'\n size = mag / BYTE\n }\n\n if (String(size).includes('.')) {\n size = size.toFixed(1)\n }\n\n return size + unit\n}\n","import _clone from 'clone'\n\nexport function clone<T>(obj: T): T {\n return _clone(obj)\n}\n","import { type ClassValue, clsx as _clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function clsx(...inputs: ClassValue[]) {\n return twMerge(_clsx(inputs))\n}\n","import { isEmpty } from './helper'\n\nconst HEX_REGEX = /^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i\nconst RGBA_REGEX = /rgba\\((\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d*(?:\\.\\d+)?)\\)/i\nconst RGB_REGEX = /rgb\\((\\d{1,3}%?),\\s*(\\d{1,3}%?),\\s*(\\d{1,3}%?)\\)/i\n\nexport function isHexColor(color: string): boolean {\n return HEX_REGEX.test(color)\n}\n\nexport function isRgba(color: string): boolean {\n return RGBA_REGEX.test(color)\n}\n\nexport function isRgb(color: string): boolean {\n return RGB_REGEX.test(color)\n}\n\nexport function hexToRgb(hex: string): number[] {\n if (isEmpty(hex)) {\n return []\n }\n\n if (isRgba(hex)) {\n // @ts-ignore\n const [, red, green, blue, alpha] = RGBA_REGEX.exec(hex)\n return [Number(red), Number(green), Number(blue), Number(alpha)]\n }\n\n if (isRgb(hex)) {\n // @ts-ignore\n const [, red, green, blue] = RGB_REGEX.exec(hex)\n return [Number(red), Number(green), Number(blue), 1]\n }\n\n if (!isHexColor(hex)) {\n return []\n }\n\n hex = hex.replace(/^#/, '')\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]\n }\n\n let alpha = 1\n if (hex.length === 8) {\n alpha = hexToFloatAlpha(hex.slice(6, 8))\n hex = hex.slice(0, 6)\n }\n\n const number = Number.parseInt(hex, 16)\n const red = number >> 16\n const green = (number >> 8) & 255\n const blue = number & 255\n\n return [red, green, blue, alpha]\n}\n\nexport function isDarkColor(hex: string): boolean {\n if (!isHexColor(hex)) {\n return true\n }\n return colorBrightness(hex) < 170\n}\n\nexport function isLightColor(hex: string): boolean {\n return !isDarkColor(hex)\n}\n\nexport function colorBrightness(hex: string): number {\n const [red, green, blue, alpha] = hexToRgb(hex)\n return (alpha * (red * 299 + green * 587 + blue * 114)) / 1000\n}\n\nexport function rgbToHex([r, g, b]: number[]): string {\n return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}\n\nexport function alpha(hex: string, alpha: number): string {\n const [red, green, blue] = hexToRgb(hex)\n return `rgba(${red}, ${green}, ${blue}, ${alpha})`\n}\n\nexport function lighten(hex: string, alpha: number): string {\n return rgbToHex(alphaHexToRgb(hex, 1 - alpha, '#fff'))\n}\n\nexport function darken(hex: string, alpha: number): string {\n return rgbToHex(alphaHexToRgb(hex, 1 - alpha, '#010101'))\n}\n\nexport function invert(hex: string): string {\n const [red, green, blue] = hexToRgb(hex)\n return rgbToHex([255 - red, 255 - green, 255 - blue])\n}\n\n/**\n * Convert rgba to a transparency-adjusted-hex\n * https://stackoverflow.com/a/15898886\n */\nexport function alphaHexToRgb(hex: string, alpha: number, backgroundHex: string): number[] {\n const hexRgb = hexToRgb(hex)\n const backgroundRgb = hexToRgb(backgroundHex)\n\n return hexRgb.map((color, index) => {\n return colorRange(\n Math.floor(colorRange(color) * alpha + colorRange(backgroundRgb[index]) * (1 - alpha))\n )\n })\n}\n\nfunction colorRange(color: number): number {\n return color < 1 ? 1 : color >= 255 ? 255 : color\n}\n\nfunction hexToFloatAlpha(arg: string) {\n const num = parseInt(arg, 16)\n const max = parseInt('0xff', 16)\n return Number((num / max).toFixed(2))\n}\n","import { convert } from 'html-to-text'\nimport { IParseOptions, IStringifyOptions, parse, stringify } from 'qs'\n\nimport { isBoolean, isEmpty, isNumber, isString, isTrue, isValid } from './helper'\n\nexport function toBool(value: unknown, defaults?: boolean): boolean {\n if (isEmpty(value)) {\n return defaults || false\n }\n\n if (isBoolean(value)) {\n return value as boolean\n }\n\n return isTrue(value)\n}\n\nexport const parseBool = toBool\n\nexport function toInteger(\n value: unknown,\n defaults?: number,\n maxValue?: number\n): number | undefined {\n let val: number\n\n if (isNumber(value)) {\n val = Number(value)\n } else {\n val = parseInt(value as string, 10)\n }\n\n if (!isFinite(val)) {\n return defaults\n }\n\n return maxValue ? Math.min(maxValue, val) : val\n}\n\nexport const parseNumber = toInteger\nexport const toInt = toInteger\n\nexport function toFloat(value: unknown, defaults?: number, maxValue?: number): number | undefined {\n let val: number\n\n if (isNumber(value)) {\n val = Number(value)\n } else {\n val = parseFloat(value as string)\n }\n\n if (!isFinite(val)) {\n return defaults\n }\n\n return maxValue ? Math.min(maxValue, val) : val\n}\n\nexport function toFixed(value: number, precision = 2) {\n if (isNumber(value)) {\n return value\n .toFixed(precision)\n .replace(/(\\.\\d*?)0+$/, '$1')\n .replace(/\\.$/, '')\n }\n}\n\nexport function toJSON<T extends object>(str: unknown, defaults?: T): T | undefined {\n let value: T | undefined\n\n if (isValid(str) && isString(str)) {\n try {\n value = JSON.parse(str as string)\n } catch (e) {}\n }\n\n if (!!defaults && !value) {\n value = defaults\n }\n\n return value\n}\n\nexport const parseJson = toJSON\n\nconst THOUSAND = 1_000\nconst HUNDRED_THOUSAND = 100_000\nconst MILLION = 1_000_000\nconst HUNDRED_MILLION = 100_000_000\nconst BILLION = 1_000_000_000\nconst HUNDRED_BILLION = 100_000_000_000\nconst TRILLION = 1_000_000_000_000\n\nexport function toIntlNumber(value: number) {\n if (value >= THOUSAND && value < MILLION) {\n const thousands = value / THOUSAND\n\n if (thousands === Math.floor(thousands) || value >= HUNDRED_THOUSAND) {\n return Math.floor(thousands) + 'K'\n } else {\n return Math.floor(thousands * 10) / 10 + 'K'\n }\n } else if (value >= MILLION && value < BILLION) {\n const millions = value / MILLION\n\n if (millions === Math.floor(millions) || value >= HUNDRED_MILLION) {\n return Math.floor(millions) + 'M'\n } else {\n return Math.floor(millions * 10) / 10 + 'M'\n }\n } else if (value >= BILLION && value < TRILLION) {\n const billions = value / BILLION\n\n if (billions === Math.floor(billions) || value >= HUNDRED_BILLION) {\n return Math.floor(billions) + 'B'\n } else {\n return Math.floor(billions * 10) / 10 + 'B'\n }\n } else {\n return `${value}`\n }\n}\n\ninterface ToDurationOptions {\n hideOnZeroValue?: boolean\n padNumber?: boolean\n hourUnit?: string\n minuteUnit?: string\n secondUnit?: string\n}\n\nfunction durationPad(num: number, size: number) {\n return ('000' + num).slice(size * -1)\n}\n\nfunction getDuration(num: number, unit: string, options?: ToDurationOptions) {\n if (options?.hideOnZeroValue && num === 0) {\n return\n }\n\n if (options?.padNumber) {\n return durationPad(num, 2) + unit\n }\n\n return num + unit\n}\n\nexport function toDuration(value: number, options?: ToDurationOptions) {\n const hours = Math.floor(value / 60 / 60)\n const minutes = Math.floor(value / 60) % 60\n const seconds = Math.floor(value - minutes * 60 - hours * 60 * 60)\n\n return [\n hours > 0 ? { num: hours, unit: options?.hourUnit || 'h' } : null,\n minutes > 0 ? { num: minutes, unit: options?.minuteUnit || 'm' } : null,\n { num: seconds, unit: options?.secondUnit || 's' }\n ]\n .filter(Boolean)\n .map((d, i) =>\n getDuration(d!.num, d!.unit, {\n ...options,\n hideOnZeroValue: i === 0 ? false : options?.hideOnZeroValue\n })\n )\n .filter(Boolean)\n .join(' ')\n}\n\nexport function toURLParams<T extends object>(value: string, options?: IParseOptions) {\n return parse(value, options) as T\n}\n\nexport function toURLQuery(\n value: Record<string | number, any>,\n baseUri?: string,\n options?: IStringifyOptions\n) {\n const query = stringify(value, options)\n\n if (baseUri) {\n return baseUri + (baseUri.includes('?') ? '&' : '?') + query\n }\n\n return query\n}\n\nexport function htmlToText(html: string, limit = 100) {\n const value = convert(html, {\n selectors: [\n { selector: 'a', options: { ignoreHref: true } },\n { selector: 'img', format: 'skip' },\n { selector: 'picture', format: 'skip' },\n { selector: 'video', format: 'skip' },\n { selector: 'audio', format: 'skip' },\n { selector: 'iframe', format: 'skip' }\n ]\n }).replace(/\\n/g, ' ')\n\n if (limit > 0 && value.length > limit) {\n return value.slice(0, limit)\n }\n\n return value\n}\n","import _ms from 'ms'\n\nexport function hs(arg: string): number | undefined {\n const value = ms(arg)\n\n if (value) {\n return Math.round(value / 1_000)\n }\n}\n\nexport function ms(arg: string): number | undefined {\n return _ms(arg)\n}\n\nexport const toSecond = hs\nexport const toMillisecond = ms\n","import { OpUnitType, QUnitType } from 'dayjs'\nimport _dayjs from 'dayjs'\n\nimport { hs } from './second'\n\nexport function timestamp(): number {\n return Math.floor(Date.now() / 1e3)\n}\n\nexport const dayjs = _dayjs\nexport const date = dayjs\n\nexport function unixDate(t: number) {\n return dayjs.unix(t)\n}\n\nexport function isDateExpired(start: number, end: number, expire: string): boolean {\n return end - start > hs(expire)!\n}\n\nexport function unixDiff(start: number, end: number, unit: QUnitType | OpUnitType = 'day'): number {\n if (start > end || start < 0 || end < 0) {\n return 0\n }\n return unixDate(end).diff(unixDate(start), unit)\n}\n\nexport function datePeriod(start: number, value = 1, unit: OpUnitType = 'month'): number {\n return unixDate(start)\n .add(value, unit as unknown as any)\n .unix()\n}\n","{\n \"123\": \"application/vnd.lotus-1-2-3\",\n \"ez\": \"application/andrew-inset\",\n \"aw\": \"application/applixware\",\n \"atom\": \"application/atom+xml\",\n \"atomcat\": \"application/atomcat+xml\",\n \"atomdeleted\": \"application/atomdeleted+xml\",\n \"atomsvc\": \"application/atomsvc+xml\",\n \"dwd\": \"application/atsc-dwd+xml\",\n \"held\": \"application/atsc-held+xml\",\n \"rsat\": \"application/atsc-rsat+xml\",\n \"bdoc\": \"application/bdoc\",\n \"xcs\": \"application/calendar+xml\",\n \"ccxml\": \"application/ccxml+xml\",\n \"cdfx\": \"application/cdfx+xml\",\n \"cdmia\": \"application/cdmi-capability\",\n \"cdmic\": \"application/cdmi-container\",\n \"cdmid\": \"application/cdmi-domain\",\n \"cdmio\": \"application/cdmi-object\",\n \"cdmiq\": \"application/cdmi-queue\",\n \"cpl\": \"application/cpl+xml\",\n \"cu\": \"application/cu-seeme\",\n \"mpd\": \"application/dash+xml\",\n \"mpp\": \"application/dash-patch+xml\",\n \"davmount\": \"application/davmount+xml\",\n \"dbk\": \"application/docbook+xml\",\n \"dssc\": \"application/dssc+der\",\n \"xdssc\": \"application/dssc+xml\",\n \"es\": \"application/ecmascript\",\n \"ecma\": \"application/ecmascript\",\n \"emma\": \"application/emma+xml\",\n \"emotionml\": \"application/emotionml+xml\",\n \"epub\": \"application/epub+zip\",\n \"exi\": \"application/exi\",\n \"exp\": \"application/express\",\n \"fdt\": \"application/fdt+xml\",\n \"pfr\": \"application/font-tdpfr\",\n \"geojson\": \"application/geo+json\",\n \"gml\": \"application/gml+xml\",\n \"gpx\": \"application/gpx+xml\",\n \"gxf\": \"application/gxf\",\n \"gz\": \"application/gzip\",\n \"hjson\": \"application/hjson\",\n \"stk\": \"application/hyperstudio\",\n \"ink\": \"application/inkml+xml\",\n \"inkml\": \"application/inkml+xml\",\n \"ipfix\": \"application/ipfix\",\n \"its\": \"application/its+xml\",\n \"jar\": \"application/java-archive\",\n \"war\": \"application/java-archive\",\n \"ear\": \"application/java-archive\",\n \"ser\": \"application/java-serialized-object\",\n \"class\": \"application/java-vm\",\n \"js\": \"application/javascript\",\n \"mjs\": \"application/javascript\",\n \"json\": \"application/json\",\n \"map\": \"application/json\",\n \"json5\": \"application/json5\",\n \"jsonml\": \"application/jsonml+json\",\n \"jsonld\": \"application/ld+json\",\n \"lgr\": \"application/lgr+xml\",\n \"lostxml\": \"application/lost+xml\",\n \"hqx\": \"application/mac-binhex40\",\n \"cpt\": \"application/mac-compactpro\",\n \"mads\": \"application/mads+xml\",\n \"webmanifest\": \"application/manifest+json\",\n \"mrc\": \"application/marc\",\n \"mrcx\": \"application/marcxml+xml\",\n \"ma\": \"application/mathematica\",\n \"nb\": \"application/mathematica\",\n \"mb\": \"application/mathematica\",\n \"mathml\": \"application/mathml+xml\",\n \"mbox\": \"application/mbox\",\n \"mpf\": \"application/media-policy-dataset+xml\",\n \"mscml\": \"application/mediaservercontrol+xml\",\n \"metalink\": \"application/metalink+xml\",\n \"meta4\": \"application/metalink4+xml\",\n \"mets\": \"application/mets+xml\",\n \"maei\": \"application/mmt-aei+xml\",\n \"musd\": \"application/mmt-usd+xml\",\n \"mods\": \"application/mods+xml\",\n \"m21\": \"application/mp21\",\n \"mp21\": \"application/mp21\",\n \"mp4s\": \"application/mp4\",\n \"m4p\": \"application/mp4\",\n \"doc\": \"application/msword\",\n \"dot\": \"application/msword\",\n \"mxf\": \"application/mxf\",\n \"nq\": \"application/n-quads\",\n \"nt\": \"application/n-triples\",\n \"cjs\": \"application/node\",\n \"bin\": \"application/octet-stream\",\n \"dms\": \"application/octet-stream\",\n \"lrf\": \"application/octet-stream\",\n \"mar\": \"application/octet-stream\",\n \"so\": \"application/octet-stream\",\n \"dist\": \"application/octet-stream\",\n \"distz\": \"application/octet-stream\",\n \"pkg\": \"application/octet-stream\",\n \"bpk\": \"application/octet-stream\",\n \"dump\": \"application/octet-stream\",\n \"elc\": \"application/octet-stream\",\n \"deploy\": \"application/octet-stream\",\n \"exe\": \"application/x-msdos-program\",\n \"dll\": \"application/x-msdownload\",\n \"deb\": \"application/x-debian-package\",\n \"dmg\": \"application/x-apple-diskimage\",\n \"iso\": \"application/x-iso9660-image\",\n \"img\": \"application/octet-stream\",\n \"msi\": \"application/x-msdownload\",\n \"msp\": \"application/octet-stream\",\n \"msm\": \"application/octet-stream\",\n \"buffer\": \"application/octet-stream\",\n \"oda\": \"application/oda\",\n \"opf\": \"application/oebps-package+xml\",\n \"ogx\": \"application/ogg\",\n \"omdoc\": \"application/omdoc+xml\",\n \"onetoc\": \"application/onenote\",\n \"onetoc2\": \"application/onenote\",\n \"onetmp\": \"application/onenote\",\n \"onepkg\": \"application/onenote\",\n \"oxps\": \"application/oxps\",\n \"relo\": \"application/p2p-overlay+xml\",\n \"xer\": \"application/patch-ops-error+xml\",\n \"pdf\": \"application/pdf\",\n \"pgp\": \"application/pgp-encrypted\",\n \"asc\": \"application/pgp-keys\",\n \"sig\": \"application/pgp-signature\",\n \"prf\": \"application/pics-rules\",\n \"p10\": \"application/pkcs10\",\n \"p7m\": \"application/pkcs7-mime\",\n \"p7c\": \"application/pkcs7-mime\",\n \"p7s\": \"application/pkcs7-signature\",\n \"p8\": \"application/pkcs8\",\n \"ac\": \"application/pkix-attr-cert\",\n \"cer\": \"application/pkix-cert\",\n \"crl\": \"application/pkix-crl\",\n \"pkipath\": \"application/pkix-pkipath\",\n \"pki\": \"application/pkixcmp\",\n \"pls\": \"application/pls+xml\",\n \"ai\": \"application/postscript\",\n \"eps\": \"application/postscript\",\n \"ps\": \"application/postscript\",\n \"provx\": \"application/provenance+xml\",\n \"cww\": \"application/prs.cww\",\n \"pskcxml\": \"application/pskc+xml\",\n \"raml\": \"application/raml+yaml\",\n \"rdf\": \"application/rdf+xml\",\n \"owl\": \"application/rdf+xml\",\n \"rif\": \"application/reginfo+xml\",\n \"rnc\": \"application/relax-ng-compact-syntax\",\n \"rl\": \"application/resource-lists+xml\",\n \"rld\": \"application/resource-lists-diff+xml\",\n \"rs\": \"application/rls-services+xml\",\n \"rapd\": \"application/route-apd+xml\",\n \"sls\": \"application/route-s-tsid+xml\",\n \"rusd\": \"application/route-usd+xml\",\n \"gbr\": \"application/rpki-ghostbusters\",\n \"mft\": \"application/rpki-manifest\",\n \"roa\": \"application/rpki-roa\",\n \"rsd\": \"application/rsd+xml\",\n \"rss\": \"application/rss+xml\",\n \"rtf\": \"application/rtf\",\n \"sbml\": \"application/sbml+xml\",\n \"scq\": \"application/scvp-cv-request\",\n \"scs\": \"application/scvp-cv-response\",\n \"spq\": \"application/scvp-vp-request\",\n \"spp\": \"application/scvp-vp-response\",\n \"sdp\": \"application/sdp\",\n \"senmlx\": \"application/senml+xml\",\n \"sensmlx\": \"application/sensml+xml\",\n \"setpay\": \"application/set-payment-initiation\",\n \"setreg\": \"application/set-registration-initiation\",\n \"shf\": \"application/shf+xml\",\n \"siv\": \"application/sieve\",\n \"sieve\": \"application/sieve\",\n \"smi\": \"application/smil+xml\",\n \"smil\": \"application/smil+xml\",\n \"rq\": \"application/sparql-query\",\n \"srx\": \"application/sparql-results+xml\",\n \"gram\": \"application/srgs\",\n \"grxml\": \"application/srgs+xml\",\n \"sru\": \"application/sru+xml\",\n \"ssdl\": \"application/ssdl+xml\",\n \"ssml\": \"application/ssml+xml\",\n \"swidtag\": \"application/swid+xml\",\n \"tei\": \"application/tei+xml\",\n \"teicorpus\": \"application/tei+xml\",\n \"tfi\": \"application/thraud+xml\",\n \"tsd\": \"application/timestamped-data\",\n \"toml\": \"application/toml\",\n \"trig\": \"application/trig\",\n \"ttml\": \"application/ttml+xml\",\n \"ubj\": \"application/ubjson\",\n \"rsheet\": \"application/urc-ressheet+xml\",\n \"td\": \"application/urc-targetdesc+xml\",\n \"1km\": \"application/vnd.1000minds.decision-model+xml\",\n \"plb\": \"application/vnd.3gpp.pic-bw-large\",\n \"psb\": \"application/vnd.3gpp.pic-bw-small\",\n \"pvb\": \"application/vnd.3gpp.pic-bw-var\",\n \"tcap\": \"application/vnd.3gpp2.tcap\",\n \"pwn\": \"application/vnd.3m.post-it-notes\",\n \"aso\": \"application/vnd.accpac.simply.aso\",\n \"imp\": \"application/vnd.accpac.simply.imp\",\n \"acu\": \"application/vnd.acucobol\",\n \"atc\": \"application/vnd.acucorp\",\n \"acutc\": \"application/vnd.acucorp\",\n \"air\": \"application/vnd.adobe.air-application-installer-package+zip\",\n \"fcdt\": \"application/vnd.adobe.formscentral.fcdt\",\n \"fxp\": \"application/vnd.adobe.fxp\",\n \"fxpl\": \"application/vnd.adobe.fxp\",\n \"xdp\": \"application/vnd.adobe.xdp+xml\",\n \"xfdf\": \"application/vnd.adobe.xfdf\",\n \"age\": \"application/vnd.age\",\n \"ahead\": \"application/vnd.ahead.space\",\n \"azf\": \"application/vnd.airzip.filesecure.azf\",\n \"azs\": \"application/vnd.airzip.filesecure.azs\",\n \"azw\": \"application/vnd.amazon.ebook\",\n \"acc\": \"application/vnd.americandynamics.acc\",\n \"ami\": \"application/vnd.amiga.ami\",\n \"apk\": \"application/vnd.android.package-archive\",\n \"cii\": \"application/vnd.anser-web-certificate-issue-initiation\",\n \"fti\": \"application/vnd.anser-web-funds-transfer-initiation\",\n \"atx\": \"application/vnd.antix.game-component\",\n \"mpkg\": \"application/vnd.apple.installer+xml\",\n \"key\": \"application/vnd.apple.keynote\",\n \"m3u8\": \"application/vnd.apple.mpegurl\",\n \"numbers\": \"application/vnd.apple.numbers\",\n \"pages\": \"application/vnd.apple.pages\",\n \"pkpass\": \"application/vnd.apple.pkpass\",\n \"swi\": \"application/vnd.aristanetworks.swi\",\n \"iota\": \"application/vnd.astraea-software.iota\",\n \"aep\": \"application/vnd.audiograph\",\n \"bmml\": \"application/vnd.balsamiq.bmml+xml\",\n \"mpm\": \"application/vnd.blueice.multipass\",\n \"bmi\": \"application/vnd.bmi\",\n \"rep\": \"application/vnd.businessobjects\",\n \"cdxml\": \"application/vnd.chemdraw+xml\",\n \"mmd\": \"application/vnd.chipnuts.karaoke-mmd\",\n \"cdy\": \"application/vnd.cinderella\",\n \"csl\": \"application/vnd.citationstyles.style+xml\",\n \"cla\": \"application/vnd.claymore\",\n \"rp9\": \"application/vnd.cloanto.rp9\",\n \"c4g\": \"application/vnd.clonk.c4group\",\n \"c4d\": \"application/vnd.clonk.c4group\",\n \"c4f\": \"application/vnd.clonk.c4group\",\n \"c4p\": \"application/vnd.clonk.c4group\",\n \"c4u\": \"application/vnd.clonk.c4group\",\n \"c11amc\": \"application/vnd.cluetrust.cartomobile-config\",\n \"c11amz\": \"application/vnd.cluetrust.cartomobile-config-pkg\",\n \"csp\": \"application/vnd.commonspace\",\n \"cdbcmsg\": \"application/vnd.contact.cmsg\",\n \"cmc\": \"application/vnd.cosmocaller\",\n \"clkx\": \"application/vnd.crick.clicker\",\n \"clkk\": \"application/vnd.crick.clicker.keyboard\",\n \"clkp\": \"application/vnd.crick.clicker.palette\",\n \"clkt\": \"application/vnd.crick.clicker.template\",\n \"clkw\": \"application/vnd.crick.clicker.wordbank\",\n \"wbs\": \"application/vnd.criticaltools.wbs+xml\",\n \"pml\": \"application/vnd.ctc-posml\",\n \"ppd\": \"application/vnd.cups-ppd\",\n \"car\": \"application/vnd.curl.car\",\n \"pcurl\": \"application/vnd.curl.pcurl\",\n \"dart\": \"application/vnd.dart\",\n \"rdz\": \"application/vnd.data-vision.rdz\",\n \"dbf\": \"application/vnd.dbf\",\n \"uvf\": \"application/vnd.dece.data\",\n \"uvvf\": \"application/vnd.dece.data\",\n \"uvd\": \"application/vnd.dece.data\",\n \"uvvd\": \"application/vnd.dece.data\",\n \"uvt\": \"application/vnd.dece.ttml+xml\",\n \"uvvt\": \"application/vnd.dece.ttml+xml\",\n \"uvx\": \"application/vnd.dece.unspecified\",\n \"uvvx\": \"application/vnd.dece.unspecified\",\n \"uvz\": \"application/vnd.dece.zip\",\n \"uvvz\": \"application/vnd.dece.zip\",\n \"fe_launch\": \"application/vnd.denovo.fcselayout-link\",\n \"dna\": \"application/vnd.dna\",\n \"mlp\": \"application/vnd.dolby.mlp\",\n \"dpg\": \"application/vnd.dpgraph\",\n \"dfac\": \"application/vnd.dreamfactory\",\n \"kpxx\": \"application/vnd.ds-keypoint\",\n \"ait\": \"application/vnd.dvb.ait\",\n \"svc\": \"application/vnd.dvb.service\",\n \"geo\": \"application/vnd.dynageo\",\n \"mag\": \"application/vnd.ecowin.chart\",\n \"nml\": \"application/vnd.enliven\",\n \"esf\": \"application/vnd.epson.esf\",\n \"msf\": \"application/vnd.epson.msf\",\n \"qam\": \"application/vnd.epson.quickanime\",\n \"slt\": \"application/vnd.epson.salt\",\n \"ssf\": \"application/vnd.epson.ssf\",\n \"es3\": \"application/vnd.eszigno3+xml\",\n \"et3\": \"application/vnd.eszigno3+xml\",\n \"ez2\": \"application/vnd.ezpix-album\",\n \"ez3\": \"application/vnd.ezpix-package\",\n \"fdf\": \"application/vnd.fdf\",\n \"mseed\": \"application/vnd.fdsn.mseed\",\n \"seed\": \"application/vnd.fdsn.seed\",\n \"dataless\": \"application/vnd.fdsn.seed\",\n \"gph\": \"application/vnd.flographit\",\n \"ftc\": \"application/vnd.fluxtime.clip\",\n \"fm\": \"application/vnd.framemaker\",\n \"frame\": \"application/vnd.framemaker\",\n \"maker\": \"application/vnd.framemaker\",\n \"book\": \"application/vnd.framemaker\",\n \"fnc\": \"application/vnd.frogans.fnc\",\n \"ltf\": \"application/vnd.frogans.ltf\",\n \"fsc\": \"application/vnd.fsc.weblaunch\",\n \"oas\": \"application/vnd.fujitsu.oasys\",\n \"oa2\": \"application/vnd.fujitsu.oasys2\",\n \"oa3\": \"application/vnd.fujitsu.oasys3\",\n \"fg5\": \"application/vnd.fujitsu.oasysgp\",\n \"bh2\": \"application/vnd.fujitsu.oasysprs\",\n \"ddd\": \"application/vnd.fujixerox.ddd\",\n \"xdw\": \"application/vnd.fujixerox.docuworks\",\n \"xbd\": \"application/vnd.fujixerox.docuworks.binder\",\n \"fzs\": \"application/vnd.fuzzysheet\",\n \"txd\": \"application/vnd.genomatix.tuxedo\",\n \"ggb\": \"application/vnd.geogebra.file\",\n \"ggt\": \"application/vnd.geogebra.tool\",\n \"gex\": \"application/vnd.geometry-explorer\",\n \"gre\": \"application/vnd.geometry-explorer\",\n \"gxt\": \"application/vnd.geonext\",\n \"g2w\": \"application/vnd.geoplan\",\n \"g3w\": \"application/vnd.geospace\",\n \"gmx\": \"application/vnd.gmx\",\n \"gdoc\": \"application/vnd.google-apps.document\",\n \"gslides\": \"application/vnd.google-apps.presentation\",\n \"gsheet\": \"application/vnd.google-apps.spreadsheet\",\n \"kml\": \"application/vnd.google-earth.kml+xml\",\n \"kmz\": \"application/vnd.google-earth.kmz\",\n \"gqf\": \"application/vnd.grafeq\",\n \"gqs\": \"application/vnd.grafeq\",\n \"gac\": \"application/vnd.groove-account\",\n \"ghf\": \"application/vnd.groove-help\",\n \"gim\": \"application/vnd.groove-identity-message\",\n \"grv\": \"application/vnd.groove-injector\",\n \"gtm\": \"application/vnd.groove-tool-message\",\n \"tpl\": \"application/vnd.groove-tool-template\",\n \"vcg\": \"application/vnd.groove-vcard\",\n \"hal\": \"application/vnd.hal+xml\",\n \"zmm\": \"application/vnd.handheld-entertainment+xml\",\n \"hbci\": \"application/vnd.hbci\",\n \"les\": \"application/vnd.hhe.lesson-player\",\n \"hpgl\": \"application/vnd.hp-hpgl\",\n \"hpid\": \"application/vnd.hp-hpid\",\n \"hps\": \"application/vnd.hp-hps\",\n \"jlt\": \"application/vnd.hp-jlyt\",\n \"pcl\": \"application/vnd.hp-pcl\",\n \"pclxl\": \"application/vnd.hp-pclxl\",\n \"sfd-hdstx\": \"application/vnd.hydrostatix.sof-data\",\n \"mpy\": \"application/vnd.ibm.minipay\",\n \"afp\": \"application/vnd.ibm.modcap\",\n \"listafp\": \"application/vnd.ibm.modcap\",\n \"list3820\": \"application/vnd.ibm.modcap\",\n \"irm\": \"application/vnd.ibm.rights-management\",\n \"sc\": \"application/vnd.ibm.secure-container\",\n \"icc\": \"application/vnd.iccprofile\",\n \"icm\": \"application/vnd.iccprofile\",\n \"igl\": \"application/vnd.igloader\",\n \"ivp\": \"application/vnd.immervision-ivp\",\n \"ivu\": \"application/vnd.immervision-ivu\",\n \"igm\": \"application/vnd.insors.igm\",\n \"xpw\": \"application/vnd.intercon.formnet\",\n \"xpx\": \"application/vnd.intercon.formnet\",\n \"i2g\": \"application/vnd.intergeo\",\n \"qbo\": \"application/vnd.intu.qbo\",\n \"qfx\": \"application/vnd.intu.qfx\",\n \"rcprofile\": \"application/vnd.ipunplugged.rcprofile\",\n \"irp\": \"application/vnd.irepository.package+xml\",\n \"xpr\": \"application/vnd.is-xpr\",\n \"fcs\": \"application/vnd.isac.fcs\",\n \"jam\": \"application/vnd.jam\",\n \"rms\": \"application/vnd.jcp.javame.midlet-rms\",\n \"jisp\": \"application/vnd.jisp\",\n \"joda\": \"application/vnd.joost.joda-archive\",\n \"ktz\": \"application/vnd.kahootz\",\n \"ktr\": \"application/vnd.kahootz\",\n \"karbon\": \"application/vnd.kde.karbon\",\n \"chrt\": \"application/vnd.kde.kchart\",\n \"kfo\": \"application/vnd.kde.kformula\",\n \"flw\": \"application/vnd.kde.kivio\",\n \"kon\": \"application/vnd.kde.kontour\",\n \"kpr\": \"application/vnd.kde.kpresenter\",\n \"kpt\": \"application/vnd.kde.kpresenter\",\n \"ksp\": \"application/vnd.kde.kspread\",\n \"kwd\": \"application/vnd.kde.kword\",\n \"kwt\": \"application/vnd.kde.kword\",\n \"htke\": \"application/vnd.kenameaapp\",\n \"kia\": \"application/vnd.kidspiration\",\n \"kne\": \"application/vnd.kinar\",\n \"knp\": \"application/vnd.kinar\",\n \"skp\": \"application/vnd.koan\",\n \"skd\": \"application/vnd.koan\",\n \"skt\": \"application/vnd.koan\",\n \"skm\": \"application/vnd.koan\",\n \"sse\": \"application/vnd.kodak-descriptor\",\n \"lasxml\": \"application/vnd.las.las+xml\",\n \"lbd\": \"application/vnd.llamagraphics.life-balance.desktop\",\n \"lbe\": \"application/vnd.llamagraphics.life-balance.exchange+xml\",\n \"apr\": \"application/vnd.lotus-approach\",\n \"pre\": \"application/vnd.lotus-freelance\",\n \"nsf\": \"application/vnd.lotus-notes\",\n \"org\": \"application/vnd.lotus-organizer\",\n \"scm\": \"application/vnd.lotus-screencam\",\n \"lwp\": \"application/vnd.lotus-wordpro\",\n \"portpkg\": \"application/vnd.macports.portpkg\",\n \"mvt\": \"application/vnd.mapbox-vector-tile\",\n \"mcd\": \"application/vnd.mcd\",\n \"mc1\": \"application/vnd.medcalcdata\",\n \"cdkey\": \"application/vnd.mediastation.cdkey\",\n \"mwf\": \"application/vnd.mfer\",\n \"mfm\": \"application/vnd.mfmp\",\n \"flo\": \"application/vnd.micrografx.flo\",\n \"igx\": \"application/vnd.micrografx.igx\",\n \"mif\": \"application/vnd.mif\",\n \"daf\": \"application/vnd.mobius.daf\",\n \"dis\": \"application/vnd.mobius.dis\",\n \"mbk\": \"application/vnd.mobius.mbk\",\n \"mqy\": \"application/vnd.mobius.mqy\",\n \"msl\": \"application/vnd.mobius.msl\",\n \"plc\": \"application/vnd.mobius.plc\",\n \"txf\": \"application/vnd.mobius.txf\",\n \"mpn\": \"application/vnd.mophun.application\",\n \"mpc\": \"application/vnd.mophun.certificate\",\n \"xul\": \"application/vnd.mozilla.xul+xml\",\n \"cil\": \"application/vnd.ms-artgalry\",\n \"cab\": \"application/vnd.ms-cab-compressed\",\n \"xls\": \"application/vnd.ms-excel\",\n \"xlm\": \"application/vnd.ms-excel\",\n \"xla\": \"application/vnd.ms-excel\",\n \"xlc\": \"application/vnd.ms-excel\",\n \"xlt\": \"application/vnd.ms-excel\",\n \"xlw\": \"application/vnd.ms-excel\",\n \"xlam\": \"application/vnd.ms-excel.addin.macroenabled.12\",\n \"xlsb\": \"application/vnd.ms-excel.sheet.binary.macroenabled.12\",\n \"xlsm\": \"application/vnd.ms-excel.sheet.macroenabled.12\",\n \"xltm\": \"application/vnd.ms-excel.template.macroenabled.12\",\n \"eot\": \"application/vnd.ms-fontobject\",\n \"chm\": \"application/vnd.ms-htmlhelp\",\n \"ims\": \"application/vnd.ms-ims\",\n \"lrm\": \"application/vnd.ms-lrm\",\n \"thmx\": \"application/vnd.ms-officetheme\",\n \"msg\": \"application/vnd.ms-outlook\",\n \"cat\": \"application/vnd.ms-pki.seccat\",\n \"stl\": \"model/stl\",\n \"ppt\": \"application/vnd.ms-powerpoint\",\n \"pps\": \"application/vnd.ms-powerpoint\",\n \"pot\": \"application/vnd.ms-powerpoint\",\n \"ppam\": \"application/vnd.ms-powerpoint.addin.macroenabled.12\",\n \"pptm\": \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\n \"sldm\": \"application/vnd.ms-powerpoint.slide.macroenabled.12\",\n \"ppsm\": \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\n \"potm\": \"application/vnd.ms-powerpoint.template.macroenabled.12\",\n \"mpt\": \"application/vnd.ms-project\",\n \"docm\": \"application/vnd.ms-word.document.macroenabled.12\",\n \"dotm\": \"application/vnd.ms-word.template.macroenabled.12\",\n \"wps\": \"application/vnd.ms-works\",\n \"wks\": \"application/vnd.ms-works\",\n \"wcm\": \"application/vnd.ms-works\",\n \"wdb\": \"application/vnd.ms-works\",\n \"wpl\": \"application/vnd.ms-wpl\",\n \"xps\": \"application/vnd.ms-xpsdocument\",\n \"mseq\": \"application/vnd.mseq\",\n \"mus\": \"application/vnd.musician\",\n \"msty\": \"application/vnd.muvee.style\",\n \"taglet\": \"application/vnd.mynfc\",\n \"nlu\": \"application/vnd.neurolanguage.nlu\",\n \"ntf\": \"application/vnd.nitf\",\n \"nitf\": \"application/vnd.nitf\",\n \"nnd\": \"application/vnd.noblenet-directory\",\n \"nns\": \"application/vnd.noblenet-sealer\",\n \"nnw\": \"application/vnd.noblenet-web\",\n \"ngdat\": \"application/vnd.nokia.n-gage.data\",\n \"n-gage\": \"application/vnd.nokia.n-gage.symbian.install\",\n \"rpst\": \"application/vnd.nokia.radio-preset\",\n \"rpss\": \"application/vnd.nokia.radio-presets\",\n \"edm\": \"application/vnd.novadigm.edm\",\n \"edx\": \"application/vnd.novadigm.edx\",\n \"ext\": \"application/vnd.novadigm.ext\",\n \"odc\": \"application/vnd.oasis.opendocument.chart\",\n \"otc\": \"application/vnd.oasis.opendocument.chart-template\",\n \"odb\": \"application/vnd.oasis.opendocument.database\",\n \"odf\": \"application/vnd.oasis.opendocument.formula\",\n \"odft\": \"application/vnd.oasis.opendocument.formula-template\",\n \"odg\": \"application/vnd.oasis.opendocument.graphics\",\n \"otg\": \"application/vnd.oasis.opendocument.graphics-template\",\n \"odi\": \"application/vnd.oasis.opendocument.image\",\n \"oti\": \"application/vnd.oasis.opendocument.image-template\",\n \"odp\": \"application/vnd.oasis.opendocument.presentation\",\n \"otp\": \"application/vnd.oasis.opendocument.presentation-template\",\n \"ods\": \"application/vnd.oasis.opendocument.spreadsheet\",\n \"ots\": \"application/vnd.oasis.opendocument.spreadsheet-template\",\n \"odt\": \"application/vnd.oasis.opendocument.text\",\n \"odm\": \"application/vnd.oasis.opendocument.text-master\",\n \"ott\": \"application/vnd.oasis.opendocument.text-template\",\n \"oth\": \"application/vnd.oasis.opendocument.text-web\",\n \"xo\": \"application/vnd.olpc-sugar\",\n \"dd2\": \"application/vnd.oma.dd2+xml\",\n \"obgx\": \"application/vnd.openblox.game+xml\",\n \"oxt\": \"application/vnd.openofficeorg.extension\",\n \"osm\": \"application/vnd.openstreetmap.data+xml\",\n \"pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \"sldx\": \"application/vnd.openxmlformats-officedocument.presentationml.slide\",\n \"ppsx\": \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\n \"potx\": \"application/vnd.openxmlformats-officedocument.presentationml.template\",\n \"xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"xltx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\n \"docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"dotx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\n \"mgp\": \"application/vnd.osgeo.mapguide.package\",\n \"dp\": \"application/vnd.osgi.dp\",\n \"esa\": \"application/vnd.osgi.subsystem\",\n \"pdb\": \"application/vnd.palm\",\n \"pqa\": \"application/vnd.palm\",\n \"oprc\": \"application/vnd.palm\",\n \"paw\": \"application/vnd.pawaafile\",\n \"str\": \"application/vnd.pg.format\",\n \"ei6\": \"application/vnd.pg.osasli\",\n \"efif\": \"application/vnd.picsel\",\n \"wg\": \"application/vnd.pmi.widget\",\n \"plf\": \"application/vnd.pocketlearn\",\n \"pbd\": \"application/vnd.powerbuilder6\",\n \"box\": \"application/vnd.previewsystems.box\",\n \"mgz\": \"application/vnd.proteus.magazine\",\n \"qps\": \"application/vnd.publishare-delta-tree\",\n \"ptid\": \"application/vnd.pvi.ptid1\",\n \"qxd\": \"application/vnd.quark.quarkxpress\",\n \"qxt\": \"application/vnd.quark.quarkxpress\",\n \"qwd\": \"application/vnd.quark.quarkxpress\",\n \"qwt\": \"application/vnd.quark.quarkxpress\",\n \"qxl\": \"application/vnd.quark.quarkxpress\",\n \"qxb\": \"application/vnd.quark.quarkxpress\",\n \"rar\": \"application/vnd.rar\",\n \"bed\": \"application/vnd.realvnc.bed\",\n \"mxl\": \"application/vnd.recordare.musicxml\",\n \"musicxml\": \"application/vnd.recordare.musicxml+xml\",\n \"cryptonote\": \"application/vnd.rig.cryptonote\",\n \"cod\": \"application/vnd.rim.cod\",\n \"rm\": \"application/vnd.rn-realmedia\",\n \"rmvb\": \"application/vnd.rn-realmedia-vbr\",\n \"link66\": \"application/vnd.route66.link66+xml\",\n \"st\": \"application/vnd.sailingtracker.track\",\n \"see\": \"application/vnd.seemail\",\n \"sema\": \"application/vnd.sema\",\n \"semd\": \"application/vnd.semd\",\n \"semf\": \"application/vnd.semf\",\n \"ifm\": \"application/vnd.shana.informed.formdata\",\n \"itp\": \"application/vnd.shana.informed.formtemplate\",\n \"iif\": \"application/vnd.shana.informed.interchange\",\n \"ipk\": \"application/vnd.shana.informed.package\",\n \"twd\": \"application/vnd.simtech-mindmapper\",\n \"twds\": \"application/vnd.simtech-mindmapper\",\n \"mmf\": \"application/vnd.smaf\",\n \"teacher\": \"application/vnd.smart.teacher\",\n \"fo\": \"application/vnd.software602.filler.form+xml\",\n \"sdkm\": \"application/vnd.solent.sdkm+xml\",\n \"sdkd\": \"application/vnd.solent.sdkm+xml\",\n \"dxp\": \"application/vnd.spotfire.dxp\",\n \"sfs\": \"application/vnd.spotfire.sfs\",\n \"sdc\": \"application/vnd.stardivision.calc\",\n \"sda\": \"application/vnd.stardivision.draw\",\n \"sdd\": \"application/vnd.stardivision.impress\",\n \"smf\": \"application/vnd.stardivision.math\",\n \"sdw\": \"application/vnd.stardivision.writer\",\n \"vor\": \"application/vnd.stardivision.writer\",\n \"sgl\": \"application/vnd.stardivision.writer-global\",\n \"smzip\": \"application/vnd.stepmania.package\",\n \"sm\": \"application/vnd.stepmania.stepchart\",\n \"wadl\": \"application/vnd.sun.wadl+xml\",\n \"sxc\": \"application/vnd.sun.xml.calc\",\n \"stc\": \"application/vnd.sun.xml.calc.template\",\n \"sxd\": \"application/vnd.sun.xml.draw\",\n \"std\": \"application/vnd.sun.xml.draw.template\",\n \"sxi\": \"application/vnd.sun.xml.impress\",\n \"sti\": \"application/vnd.sun.xml.impress.template\",\n \"sxm\": \"application/vnd.sun.xml.math\",\n \"sxw\": \"application/vnd.sun.xml.writer\",\n \"sxg\": \"application/vnd.sun.xml.writer.global\",\n \"stw\": \"application/vnd.sun.xml.writer.template\",\n \"sus\": \"application/vnd.sus-calendar\",\n \"susp\": \"application/vnd.sus-calendar\",\n \"svd\": \"application/vnd.svd\",\n \"sis\": \"application/vnd.symbian.install\",\n \"sisx\": \"application/vnd.symbian.install\",\n \"xsm\": \"application/vnd.syncml+xml\",\n \"bdm\": \"application/vnd.syncml.dm+wbxml\",\n \"xdm\": \"application/vnd.syncml.dm+xml\",\n \"ddf\": \"application/vnd.syncml.dmddf+xml\",\n \"tao\": \"application/vnd.tao.intent-module-archive\",\n \"pcap\": \"application/vnd.tcpdump.pcap\",\n \"cap\": \"application/vnd.tcpdump.pcap\",\n \"dmp\": \"application/vnd.tcpdump.pcap\",\n \"tmo\": \"application/vnd.tmobile-livetv\",\n \"tpt\": \"application/vnd.trid.tpt\",\n \"mxs\": \"application/vnd.triscape.mxs\",\n \"tra\": \"application/vnd.trueapp\",\n \"ufd\": \"application/vnd.ufdl\",\n \"ufdl\": \"application/vnd.ufdl\",\n \"utz\": \"application/vnd.uiq.theme\",\n \"umj\": \"application/vnd.umajin\",\n \"unityweb\": \"application/vnd.unity\",\n \"uoml\": \"application/vnd.uoml+xml\",\n \"vcx\": \"application/vnd.vcx\",\n \"vsd\": \"application/vnd.visio\",\n \"vst\": \"application/vnd.visio\",\n \"vss\": \"application/vnd.visio\",\n \"vsw\": \"application/vnd.visio\",\n \"vis\": \"application/vnd.visionary\",\n \"vsf\": \"application/vnd.vsf\",\n \"wbxml\": \"application/vnd.wap.wbxml\",\n \"wmlc\": \"application/vnd.wap.wmlc\",\n \"wmlsc\": \"application/vnd.wap.wmlscriptc\",\n \"wtb\": \"application/vnd.webturbo\",\n \"nbp\": \"application/vnd.wolfram.player\",\n \"wpd\": \"application/vnd.wordperfect\",\n \"wqd\": \"application/vnd.wqd\",\n \"stf\": \"application/vnd.wt.stf\",\n \"xar\": \"application/vnd.xara\",\n \"xfdl\": \"application/vnd.xfdl\",\n \"hvd\": \"application/vnd.yamaha.hv-dic\",\n \"hvs\": \"application/vnd.yamaha.hv-script\",\n \"hvp\": \"application/vnd.yamaha.hv-voice\",\n \"osf\": \"application/vnd.yamaha.openscoreformat\",\n \"osfpvg\": \"application/vnd.yamaha.openscoreformat.osfpvg+xml\",\n \"saf\": \"application/vnd.yamaha.smaf-audio\",\n \"spf\": \"application/vnd.yamaha.smaf-phrase\",\n \"cmp\": \"application/vnd.yellowriver-custom-menu\",\n \"zir\": \"application/vnd.zul\",\n \"zirz\": \"application/vnd.zul\",\n \"zaz\": \"application/vnd.zzazz.deck+xml\",\n \"vxml\": \"application/voicexml+xml\",\n \"wasm\": \"application/wasm\",\n \"wif\": \"application/watcherinfo+xml\",\n \"wgt\": \"application/widget\",\n \"hlp\": \"application/winhlp\",\n \"wsdl\": \"application/wsdl+xml\",\n \"wspolicy\": \"application/wspolicy+xml\",\n \"7z\": \"application/x-7z-compressed\",\n \"abw\": \"application/x-abiword\",\n \"ace\": \"application/x-ace-compressed\",\n \"arj\": \"application/x-arj\",\n \"aab\": \"application/x-authorware-bin\",\n \"x32\": \"application/x-authorware-bin\",\n \"u32\": \"application/x-authorware-bin\",\n \"vox\": \"application/x-authorware-bin\",\n \"aam\": \"application/x-authorware-map\",\n \"aas\": \"application/x-authorware-seg\",\n \"bcpio\": \"application/x-bcpio\",\n \"torrent\": \"application/x-bittorrent\",\n \"blb\": \"application/x-blorb\",\n \"blorb\": \"application/x-blorb\",\n \"bz\": \"application/x-bzip\",\n \"bz2\": \"application/x-bzip2\",\n \"boz\": \"application/x-bzip2\",\n \"cbr\": \"application/x-cbr\",\n \"cba\": \"application/x-cbr\",\n \"cbt\": \"application/x-cbr\",\n \"cbz\": \"application/x-cbr\",\n \"cb7\": \"application/x-cbr\",\n \"vcd\": \"application/x-cdlink\",\n \"cfs\": \"application/x-cfs-compressed\",\n \"chat\": \"application/x-chat\",\n \"pgn\": \"application/x-chess-pgn\",\n \"crx\": \"application/x-chrome-extension\",\n \"cco\": \"application/x-cocoa\",\n \"nsc\": \"application/x-conference\",\n \"cpio\": \"application/x-cpio\",\n \"csh\": \"application/x-csh\",\n \"udeb\": \"application/x-debian-package\",\n \"dgc\": \"application/x-dgc-compressed\",\n \"dir\": \"application/x-director\",\n \"dcr\": \"application/x-director\",\n \"dxr\": \"application/x-director\",\n \"cst\": \"application/x-director\",\n \"cct\": \"application/x-director\",\n \"cxt\": \"application/x-director\",\n \"w3d\": \"application/x-director\",\n \"fgd\": \"application/x-director\",\n \"swa\": \"application/x-director\",\n \"wad\": \"application/x-doom\",\n \"ncx\": \"application/x-dtbncx+xml\",\n \"dtb\": \"application/x-dtbook+xml\",\n \"res\": \"application/x-dtbresource+xml\",\n \"dvi\": \"application/x-dvi\",\n \"evy\": \"application/x-envoy\",\n \"eva\": \"application/x-eva\",\n \"bdf\": \"application/x-font-bdf\",\n \"gsf\": \"application/x-font-ghostscript\",\n \"psf\": \"application/x-font-linux-psf\",\n \"pcf\": \"application/x-font-pcf\",\n \"snf\": \"application/x-font-snf\",\n \"pfa\": \"application/x-font-type1\",\n \"pfb\": \"application/x-font-type1\",\n \"pfm\": \"application/x-font-type1\",\n \"afm\": \"application/x-font-type1\",\n \"arc\": \"application/x-freearc\",\n \"spl\": \"application/x-futuresplash\",\n \"gca\": \"application/x-gca-compressed\",\n \"ulx\": \"application/x-glulx\",\n \"gnumeric\": \"application/x-gnumeric\",\n \"gramps\": \"application/x-gramps-xml\",\n \"gtar\": \"application/x-gtar\",\n \"hdf\": \"application/x-hdf\",\n \"php\": \"application/x-httpd-php\",\n \"install\": \"application/x-install-instructions\",\n \"jardiff\": \"application/x-java-archive-diff\",\n \"jnlp\": \"application/x-java-jnlp-file\",\n \"kdbx\": \"application/x-keepass2\",\n \"latex\": \"application/x-latex\",\n \"luac\": \"application/x-lua-bytecode\",\n \"lzh\": \"application/x-lzh-compressed\",\n \"lha\": \"application/x-lzh-compressed\",\n \"run\": \"application/x-makeself\",\n \"mie\": \"application/x-mie\",\n \"prc\": \"application/x-mobipocket-ebook\",\n \"mobi\": \"application/x-mobipocket-ebook\",\n \"application\": \"application/x-ms-application\",\n \"lnk\": \"application/x-ms-shortcut\",\n \"wmd\": \"application/x-ms-wmd\",\n \"wmz\": \"application/x-ms-wmz\",\n \"xbap\": \"application/x-ms-xbap\",\n \"mdb\": \"application/x-msaccess\",\n \"obd\": \"application/x-msbinder\",\n \"crd\": \"application/x-mscardfile\",\n \"clp\": \"application/x-msclip\",\n \"com\": \"application/x-msdownload\",\n \"bat\": \"application/x-msdownload\",\n \"mvb\": \"application/x-msmediaview\",\n \"m13\": \"application/x-msmediaview\",\n \"m14\": \"application/x-msmediaview\",\n \"wmf\": \"image/wmf\",\n \"emf\": \"image/emf\",\n \"emz\": \"application/x-msmetafile\",\n \"mny\": \"application/x-msmoney\",\n \"pub\": \"application/x-mspublisher\",\n \"scd\": \"application/x-msschedule\",\n \"trm\": \"application/x-msterminal\",\n \"wri\": \"application/x-mswrite\",\n \"nc\": \"application/x-netcdf\",\n \"cdf\": \"application/x-netcdf\",\n \"pac\": \"application/x-ns-proxy-autoconfig\",\n \"nzb\": \"application/x-nzb\",\n \"pl\": \"application/x-perl\",\n \"pm\": \"application/x-perl\",\n \"p12\": \"application/x-pkcs12\",\n \"pfx\": \"application/x-pkcs12\",\n \"p7b\": \"application/x-pkcs7-certificates\",\n \"spc\": \"application/x-pkcs7-certificates\",\n \"p7r\": \"application/x-pkcs7-certreqresp\",\n \"rpm\": \"application/x-redhat-package-manager\",\n \"ris\": \"application/x-research-info-systems\",\n \"sea\": \"application/x-sea\",\n \"sh\": \"application/x-sh\",\n \"shar\": \"application/x-shar\",\n \"swf\": \"application/x-shockwave-flash\",\n \"xap\": \"application/x-silverlight-app\",\n \"sql\": \"application/x-sql\",\n \"sit\": \"application/x-stuffit\",\n \"sitx\": \"application/x-stuffitx\",\n \"srt\": \"application/x-subrip\",\n \"sv4cpio\": \"application/x-sv4cpio\",\n \"sv4crc\": \"application/x-sv4crc\",\n \"t3\": \"application/x-t3vm-image\",\n \"gam\": \"application/x-tads\",\n \"tar\": \"application/x-tar\",\n \"tcl\": \"application/x-tcl\",\n \"tk\": \"application/x-tcl\",\n \"tex\": \"application/x-tex\",\n \"tfm\": \"application/x-tex-tfm\",\n \"texinfo\": \"application/x-texinfo\",\n \"texi\": \"application/x-texinfo\",\n \"obj\": \"model/obj\",\n \"ustar\": \"application/x-ustar\",\n \"hdd\": \"application/x-virtualbox-hdd\",\n \"ova\": \"application/x-virtualbox-ova\",\n \"ovf\": \"application/x-virtualbox-ovf\",\n \"vbox\": \"application/x-virtualbox-vbox\",\n \"vbox-extpack\": \"application/x-virtualbox-vbox-extpack\",\n \"vdi\": \"application/x-virtualbox-vdi\",\n \"vhd\": \"application/x-virtualbox-vhd\",\n \"vmdk\": \"application/x-virtualbox-vmdk\",\n \"src\": \"application/x-wais-source\",\n \"webapp\": \"application/x-web-app-manifest+json\",\n \"der\": \"application/x-x509-ca-cert\",\n \"crt\": \"application/x-x509-ca-cert\",\n \"pem\": \"application/x-x509-ca-cert\",\n \"fig\": \"application/x-xfig\",\n \"xlf\": \"application/xliff+xml\",\n \"xpi\": \"application/x-xpinstall\",\n \"xz\": \"application/x-xz\",\n \"z1\": \"application/x-zmachine\",\n \"z2\": \"application/x-zmachine\",\n \"z3\": \"application/x-zmachine\",\n \"z4\": \"application/x-zmachine\",\n \"z5\": \"application/x-zmachine\",\n \"z6\": \"application/x-zmachine\",\n \"z7\": \"application/x-zmachine\",\n \"z8\": \"application/x-zmachine\",\n \"xaml\": \"application/xaml+xml\",\n \"xav\": \"application/xcap-att+xml\",\n \"xca\": \"application/xcap-caps+xml\",\n \"xdf\": \"application/xcap-diff+xml\",\n \"xel\": \"application/xcap-el+xml\",\n \"xns\": \"application/xcap-ns+xml\",\n \"xenc\": \"application/xenc+xml\",\n \"xhtml\": \"application/xhtml+xml\",\n \"xht\": \"application/xhtml+xml\",\n \"xml\": \"application/xml\",\n \"xsl\": \"application/xml\",\n \"xsd\": \"application/xml\",\n \"rng\": \"application/xml\",\n \"dtd\": \"application/xml-dtd\",\n \"xop\": \"application/xop+xml\",\n \"xpl\": \"application/xproc+xml\",\n \"xslt\": \"application/xslt+xml\",\n \"xspf\": \"application/xspf+xml\",\n \"mxml\": \"application/xv+xml\",\n \"xhvml\": \"application/xv+xml\",\n \"xvml\": \"application/xv+xml\",\n \"xvm\": \"application/xv+xml\",\n \"yang\": \"application/yang\",\n \"yin\": \"application/yin+xml\",\n \"zip\": \"application/zip\",\n \"3gpp\": \"video/3gpp\",\n \"adp\": \"audio/adpcm\",\n \"amr\": \"audio/amr\",\n \"au\": \"audio/basic\",\n \"snd\": \"audio/basic\",\n \"mid\": \"audio/midi\",\n \"midi\": \"audio/midi\",\n \"kar\": \"audio/midi\",\n \"rmi\": \"audio/midi\",\n \"mxmf\": \"audio/mobile-xmf\",\n \"mp3\": \"audio/mpeg\",\n \"m4a\": \"audio/mp4\",\n \"mp4a\": \"audio/mp4\",\n \"mpga\": \"audio/mpeg\",\n \"mp2\": \"audio/mpeg\",\n \"mp2a\": \"audio/mpeg\",\n \"m2a\": \"audio/mpeg\",\n \"m3a\": \"audio/mpeg\",\n \"oga\": \"audio/ogg\",\n \"ogg\": \"audio/ogg\",\n \"spx\": \"audio/ogg\",\n \"opus\": \"audio/ogg\",\n \"s3m\": \"audio/s3m\",\n \"sil\": \"audio/silk\",\n \"uva\": \"audio/vnd.dece.audio\",\n \"uvva\": \"audio/vnd.dece.audio\",\n \"eol\": \"audio/vnd.digital-winds\",\n \"dra\": \"audio/vnd.dra\",\n \"dts\": \"audio/vnd.dts\",\n \"dtshd\": \"audio/vnd.dts.hd\",\n \"lvp\": \"audio/vnd.lucent.voice\",\n \"pya\": \"audio/vnd.ms-playready.media.pya\",\n \"ecelp4800\": \"audio/vnd.nuera.ecelp4800\",\n \"ecelp7470\": \"audio/vnd.nuera.ecelp7470\",\n \"ecelp9600\": \"audio/vnd.nuera.ecelp9600\",\n \"rip\": \"audio/vnd.rip\",\n \"wav\": \"audio/wave\",\n \"weba\": \"audio/webm\",\n \"aac\": \"audio/x-aac\",\n \"aif\": \"audio/x-aiff\",\n \"aiff\": \"audio/x-aiff\",\n \"aifc\": \"audio/x-aiff\",\n \"caf\": \"audio/x-caf\",\n \"flac\": \"audio/x-flac\",\n \"mka\": \"audio/x-matroska\",\n \"m3u\": \"audio/x-mpegurl\",\n \"wax\": \"audio/x-ms-wax\",\n \"wma\": \"audio/x-ms-wma\",\n \"ram\": \"audio/x-pn-realaudio\",\n \"ra\": \"audio/x-pn-realaudio\",\n \"rmp\": \"audio/x-pn-realaudio-plugin\",\n \"xm\": \"audio/xm\",\n \"cdx\": \"chemical/x-cdx\",\n \"cif\": \"chemical/x-cif\",\n \"cmdf\": \"chemical/x-cmdf\",\n \"cml\": \"chemical/x-cml\",\n \"csml\": \"chemical/x-csml\",\n \"xyz\": \"chemical/x-xyz\",\n \"ttc\": \"font/collection\",\n \"otf\": \"font/otf\",\n \"ttf\": \"font/ttf\",\n \"woff\": \"font/woff\",\n \"woff2\": \"font/woff2\",\n \"exr\": \"image/aces\",\n \"apng\": \"image/apng\",\n \"avci\": \"image/avci\",\n \"avcs\": \"image/avcs\",\n \"avif\": \"image/avif\",\n \"bmp\": \"image/bmp\",\n \"cgm\": \"image/cgm\",\n \"drle\": \"image/dicom-rle\",\n \"fits\": \"image/fits\",\n \"g3\": \"image/g3fax\",\n \"gif\": \"image/gif\",\n \"heic\": \"image/heic\",\n \"heics\": \"image/heic-sequence\",\n \"heif\": \"image/heif\",\n \"heifs\": \"image/heif-sequence\",\n \"hej2\": \"image/hej2k\",\n \"hsj2\": \"image/hsj2\",\n \"ief\": \"image/ief\",\n \"jls\": \"image/jls\",\n \"jp2\": \"image/jp2\",\n \"jpg2\": \"image/jp2\",\n \"jpeg\": \"image/jpeg\",\n \"jpg\": \"image/jpeg\",\n \"jpe\": \"image/jpeg\",\n \"jph\": \"image/jph\",\n \"jhc\": \"image/jphc\",\n \"jpm\": \"image/jpm\",\n \"jpx\": \"image/jpx\",\n \"jpf\": \"image/jpx\",\n \"jxr\": \"image/jxr\",\n \"jxra\": \"image/jxra\",\n \"jxrs\": \"image/jxrs\",\n \"jxs\": \"image/jxs\",\n \"jxsc\": \"image/jxsc\",\n \"jxsi\": \"image/jxsi\",\n \"jxss\": \"image/jxss\",\n \"ktx\": \"image/ktx\",\n \"ktx2\": \"image/ktx2\",\n \"png\": \"image/png\",\n \"btif\": \"image/prs.btif\",\n \"pti\": \"image/prs.pti\",\n \"sgi\": \"image/sgi\",\n \"svg\": \"image/svg+xml\",\n \"svgz\": \"image/svg+xml\",\n \"t38\": \"image/t38\",\n \"tif\": \"image/tiff\",\n \"tiff\": \"image/tiff\",\n \"tfx\": \"image/tiff-fx\",\n \"psd\": \"image/vnd.adobe.photoshop\",\n \"azv\": \"image/vnd.airzip.accelerator.azv\",\n \"uvi\": \"image/vnd.dece.graphic\",\n \"uvvi\": \"image/vnd.dece.graphic\",\n \"uvg\": \"image/vnd.dece.graphic\",\n \"uvvg\": \"image/vnd.dece.graphic\",\n \"djvu\": \"image/vnd.djvu\",\n \"djv\": \"image/vnd.djvu\",\n \"sub\": \"text/vnd.dvb.subtitle\",\n \"dwg\": \"image/vnd.dwg\",\n \"dxf\": \"image/vnd.dxf\",\n \"fbs\": \"image/vnd.fastbidsheet\",\n \"fpx\": \"image/vnd.fpx\",\n \"fst\": \"image/vnd.fst\",\n \"mmr\": \"image/vnd.fujixerox.edmics-mmr\",\n \"rlc\": \"image/vnd.fujixerox.edmics-rlc\",\n \"ico\": \"image/vnd.microsoft.icon\",\n \"dds\": \"image/vnd.ms-dds\",\n \"mdi\": \"image/vnd.ms-modi\",\n \"wdp\": \"image/vnd.ms-photo\",\n \"npx\": \"image/vnd.net-fpx\",\n \"b16\": \"image/vnd.pco.b16\",\n \"tap\": \"image/vnd.tencent.tap\",\n \"vtf\": \"image/vnd.valve.source.texture\",\n \"wbmp\": \"image/vnd.wap.wbmp\",\n \"xif\": \"image/vnd.xiff\",\n \"pcx\": \"image/vnd.zbrush.pcx\",\n \"webp\": \"image/webp\",\n \"3ds\": \"image/x-3ds\",\n \"ras\": \"image/x-cmu-raster\",\n \"cmx\": \"image/x-cmx\",\n \"fh\": \"image/x-freehand\",\n \"fhc\": \"image/x-freehand\",\n \"fh4\": \"image/x-freehand\",\n \"fh5\": \"image/x-freehand\",\n \"fh7\": \"image/x-freehand\",\n \"jng\": \"image/x-jng\",\n \"sid\": \"image/x-mrsid-image\",\n \"pic\": \"image/x-pict\",\n \"pct\": \"image/x-pict\",\n \"pnm\": \"image/x-portable-anymap\",\n \"pbm\": \"image/x-portable-bitmap\",\n \"pgm\": \"image/x-portable-graymap\",\n \"ppm\": \"image/x-portable-pixmap\",\n \"rgb\": \"image/x-rgb\",\n \"tga\": \"image/x-tga\",\n \"xbm\": \"image/x-xbitmap\",\n \"xpm\": \"image/x-xpixmap\",\n \"xwd\": \"image/x-xwindowdump\",\n \"disposition-notification\": \"message/disposition-notification\",\n \"u8msg\": \"message/global\",\n \"u8dsn\": \"message/global-delivery-status\",\n \"u8mdn\": \"message/global-disposition-notification\",\n \"u8hdr\": \"message/global-headers\",\n \"eml\": \"message/rfc822\",\n \"mime\": \"message/rfc822\",\n \"wsc\": \"message/vnd.wfa.wsc\",\n \"3mf\": \"model/3mf\",\n \"gltf\": \"model/gltf+json\",\n \"glb\": \"model/gltf-binary\",\n \"igs\": \"model/iges\",\n \"iges\": \"model/iges\",\n \"msh\": \"model/mesh\",\n \"mesh\": \"model/mesh\",\n \"silo\": \"model/mesh\",\n \"mtl\": \"model/mtl\",\n \"stpx\": \"model/step+xml\",\n \"stpz\": \"model/step+zip\",\n \"stpxz\": \"model/step-xml+zip\",\n \"dae\": \"model/vnd.collada+xml\",\n \"dwf\": \"model/vnd.dwf\",\n \"gdl\": \"model/vnd.gdl\",\n \"gtw\": \"model/vnd.gtw\",\n \"mts\": \"model/vnd.mts\",\n \"ogex\": \"model/vnd.opengex\",\n \"x_b\": \"model/vnd.parasolid.transmit.binary\",\n \"x_t\": \"model/vnd.parasolid.transmit.text\",\n \"vds\": \"model/vnd.sap.vds\",\n \"usdz\": \"model/vnd.usdz+zip\",\n \"bsp\": \"model/vnd.valve.source.compiled-map\",\n \"vtu\": \"model/vnd.vtu\",\n \"wrl\": \"model/vrml\",\n \"vrml\": \"model/vrml\",\n \"x3db\": \"model/x3d+fastinfoset\",\n \"x3dbz\": \"model/x3d+binary\",\n \"x3dv\": \"model/x3d-vrml\",\n \"x3dvz\": \"model/x3d+vrml\",\n \"x3d\": \"model/x3d+xml\",\n \"x3dz\": \"model/x3d+xml\",\n \"appcache\": \"text/cache-manifest\",\n \"manifest\": \"text/cache-manifest\",\n \"ics\": \"text/calendar\",\n \"ifb\": \"text/calendar\",\n \"coffee\": \"text/coffeescript\",\n \"litcoffee\": \"text/coffeescript\",\n \"css\": \"text/css\",\n \"csv\": \"text/csv\",\n \"html\": \"text/html\",\n \"htm\": \"text/html\",\n \"shtml\": \"text/html\",\n \"jade\": \"text/jade\",\n \"jsx\": \"text/jsx\",\n \"less\": \"text/less\",\n \"markdown\": \"text/markdown\",\n \"md\": \"text/markdown\",\n \"mml\": \"text/mathml\",\n \"mdx\": \"text/mdx\",\n \"n3\": \"text/n3\",\n \"txt\": \"text/plain\",\n \"text\": \"text/plain\",\n \"conf\": \"text/plain\",\n \"def\": \"text/plain\",\n \"list\": \"text/plain\",\n \"log\": \"text/plain\",\n \"in\": \"text/plain\",\n \"ini\": \"text/plain\",\n \"dsc\": \"text/prs.lines.tag\",\n \"rtx\": \"text/richtext\",\n \"sgml\": \"text/sgml\",\n \"sgm\": \"text/sgml\",\n \"shex\": \"text/shex\",\n \"slim\": \"text/slim\",\n \"slm\": \"text/slim\",\n \"spdx\": \"text/spdx\",\n \"stylus\": \"text/stylus\",\n \"styl\": \"text/stylus\",\n \"tsv\": \"text/tab-separated-values\",\n \"t\": \"text/troff\",\n \"tr\": \"text/troff\",\n \"roff\": \"text/troff\",\n \"man\": \"text/troff\",\n \"me\": \"text/troff\",\n \"ms\": \"text/troff\",\n \"ttl\": \"text/turtle\",\n \"uri\": \"text/uri-list\",\n \"uris\": \"text/uri-list\",\n \"urls\": \"text/uri-list\",\n \"vcard\": \"text/vcard\",\n \"curl\": \"text/vnd.curl\",\n \"dcurl\": \"text/vnd.curl.dcurl\",\n \"mcurl\": \"text/vnd.curl.mcurl\",\n \"scurl\": \"text/vnd.curl.scurl\",\n \"ged\": \"text/vnd.familysearch.gedcom\",\n \"fly\": \"text/vnd.fly\",\n \"flx\": \"text/vnd.fmi.flexstor\",\n \"gv\": \"text/vnd.graphviz\",\n \"3dml\": \"text/vnd.in3d.3dml\",\n \"spot\": \"text/vnd.in3d.spot\",\n \"jad\": \"text/vnd.sun.j2me.app-descriptor\",\n \"wml\": \"text/vnd.wap.wml\",\n \"wmls\": \"text/vnd.wap.wmlscript\",\n \"vtt\": \"text/vtt\",\n \"s\": \"text/x-asm\",\n \"asm\": \"text/x-asm\",\n \"c\": \"text/x-c\",\n \"cc\": \"text/x-c\",\n \"cxx\": \"text/x-c\",\n \"cpp\": \"text/x-c\",\n \"h\": \"text/x-c\",\n \"hh\": \"text/x-c\",\n \"dic\": \"text/x-c\",\n \"htc\": \"text/x-component\",\n \"f\": \"text/x-fortran\",\n \"for\": \"text/x-fortran\",\n \"f77\": \"text/x-fortran\",\n \"f90\": \"text/x-fortran\",\n \"hbs\": \"text/x-handlebars-template\",\n \"java\": \"text/x-java-source\",\n \"lua\": \"text/x-lua\",\n \"mkd\": \"text/x-markdown\",\n \"nfo\": \"text/x-nfo\",\n \"opml\": \"text/x-opml\",\n \"p\": \"text/x-pascal\",\n \"pas\": \"text/x-pascal\",\n \"pde\": \"text/x-processing\",\n \"sass\": \"text/x-sass\",\n \"scss\": \"text/x-scss\",\n \"etx\": \"text/x-setext\",\n \"sfv\": \"text/x-sfv\",\n \"ymp\": \"text/x-suse-ymp\",\n \"uu\": \"text/x-uuencode\",\n \"vcs\": \"text/x-vcalendar\",\n \"vcf\": \"text/x-vcard\",\n \"yaml\": \"text/yaml\",\n \"yml\": \"text/yaml\",\n \"3gp\": \"video/3gpp\",\n \"3g2\": \"video/3gpp2\",\n \"h261\": \"video/h261\",\n \"h263\": \"video/h263\",\n \"h264\": \"video/h264\",\n \"m4s\": \"video/iso.segment\",\n \"jpgv\": \"video/jpeg\",\n \"jpgm\": \"video/jpm\",\n \"mj2\": \"video/mj2\",\n \"mjp2\": \"video/mj2\",\n \"ts\": \"video/mp2t\",\n \"mp4\": \"video/mp4\",\n \"mp4v\": \"video/mp4\",\n \"mpg4\": \"video/mp4\",\n \"mpeg\": \"video/mpeg\",\n \"mpg\": \"video/mpeg\",\n \"mpe\": \"video/mpeg\",\n \"m1v\": \"video/mpeg\",\n \"m2v\": \"video/mpeg\",\n \"ogv\": \"video/ogg\",\n \"qt\": \"video/quicktime\",\n \"mov\": \"video/quicktime\",\n \"uvh\": \"video/vnd.dece.hd\",\n \"uvvh\": \"video/vnd.dece.hd\",\n \"uvm\": \"video/vnd.dece.mobile\",\n \"uvvm\": \"video/vnd.dece.mobile\",\n \"uvp\": \"video/vnd.dece.pd\",\n \"uvvp\": \"video/vnd.dece.pd\",\n \"uvs\": \"video/vnd.dece.sd\",\n \"uvvs\": \"video/vnd.dece.sd\",\n \"uvv\": \"video/vnd.dece.video\",\n \"uvvv\": \"video/vnd.dece.video\",\n \"dvb\": \"video/vnd.dvb.file\",\n \"fvt\": \"video/vnd.fvt\",\n \"mxu\": \"video/vnd.mpegurl\",\n \"m4u\": \"video/vnd.mpegurl\",\n \"pyv\": \"video/vnd.ms-playready.media.pyv\",\n \"uvu\": \"video/vnd.uvvu.mp4\",\n \"uvvu\": \"video/vnd.uvvu.mp4\",\n \"viv\": \"video/vnd.vivo\",\n \"webm\": \"video/webm\",\n \"f4v\": \"video/x-f4v\",\n \"fli\": \"video/x-fli\",\n \"flv\": \"video/x-flv\",\n \"m4v\": \"video/x-m4v\",\n \"mkv\": \"video/x-matroska\",\n \"mk3d\": \"video/x-matroska\",\n \"mks\": \"video/x-matroska\",\n \"mng\": \"video/x-mng\",\n \"asf\": \"video/x-ms-asf\",\n \"asx\": \"video/x-ms-asf\",\n \"vob\": \"video/x-ms-vob\",\n \"wm\": \"video/x-ms-wm\",\n \"wmv\": \"video/x-ms-wmv\",\n \"wmx\": \"video/x-ms-wmx\",\n \"wvx\": \"video/x-ms-wvx\",\n \"avi\": \"video/x-msvideo\",\n \"movie\": \"video/x-sgi-movie\",\n \"smv\": \"video/x-smv\",\n \"ice\": \"x-conference/x-cooltalk\"\n}\n","import { isEmpty, isString } from './helper'\nimport db from './mime-db.json'\n\nexport function mime(path: string) {\n if (isEmpty(path) || !isString(path) || path.length > 100) {\n return\n }\n\n // Fork from https://github.com/broofa/mime/blob/a34dac529c2aaf2a0bc5ff8be26f983795d0a5e9/src/Mime.ts#L73\n // Remove chars preceeding `/` or `\\`\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase()\n\n // Remove chars preceeding '.'\n const ext = last.replace(/^.*\\./, '').toLowerCase()\n\n const hasPath = last.length < path.length\n const hasDot = ext.length < last.length - 1\n\n // Extension-less file?\n if (!hasDot && hasPath) {\n return\n }\n\n return (db as Record<string, string>)[ext]\n}\n\nexport const commonImageMimeTypes = [\n mime('.jpg'),\n mime('.png'),\n mime('.bmp'),\n mime('.webp'),\n mime('.gif')\n] as unknown as string[]\n\nexport const commonFileMimeTypes = [\n ...commonImageMimeTypes,\n mime('.txt'),\n mime('.md'),\n mime('.doc'),\n mime('.docx'),\n mime('.xls'),\n mime('.xlsx'),\n mime('.csv'),\n mime('.ppt'),\n mime('.pptx'),\n mime('.pdf'),\n mime('.mp4'),\n mime('.wmv'),\n mime('.svg')\n] as unknown as string[]\n\nexport const IMAGE_MIME_TYPES = commonImageMimeTypes\nexport const FILE_MIME_TYPES = commonFileMimeTypes\n","import { customAlphabet } from 'nanoid'\n\nconst NANOID_ALPHABET = 'ModuleSymbhasOwnPr0123456789ABCDEFGHNRVfgctiUvzKqYTJkLxpZXIjQW'\n\nexport function nanoid(len = 21): string {\n return nanoidCustomAlphabet(NANOID_ALPHABET, len)\n}\n\nexport function nanoidCustomAlphabet(alphabet: string, len = 21): string {\n const generate = customAlphabet(alphabet, len)\n return generate()\n}\n","import * as objectPath from 'object-path'\n\nimport { clone } from './clone'\nimport { isArray, isNan, isNil, isObject, isPlainObject, isValid } from './helper'\n\nexport { deepEqual } from 'fast-equals'\n\nexport function pickObject(\n target: Record<string, any>,\n fields: Array<string | string[]>,\n excludes: Array<string> = []\n): Record<string, any> {\n if (!isObject(target)) {\n return {}\n }\n\n const copied = clone<Record<string, any>>(target)\n const targetKeys = Object.keys(copied)\n\n const fieldAlias: Record<string, any> = {}\n let picked: string[] = []\n\n if (fields.length > 0) {\n fields.forEach(item => {\n if (isArray(item)) {\n if (item.length > 0) {\n const filed = item[0]\n picked.push(filed)\n\n if (item.length > 1) {\n fieldAlias[filed] = item[1]\n }\n }\n } else {\n picked.push(item)\n }\n })\n } else {\n picked = targetKeys\n }\n\n const newObj: Record<string, any> = {}\n\n targetKeys\n .filter(key => !excludes.includes(key) && picked.includes(key))\n .forEach(key => {\n const alias = fieldAlias[key]\n\n if (alias) {\n newObj[alias] = copied[key]\n } else {\n newObj[key] = copied[key]\n }\n })\n\n return newObj\n}\n\nexport function excludeObject(\n target: Record<string, any>,\n excludes: Array<string> = []\n): Record<string, any> {\n return pickObject(target, [], excludes)\n}\n\nexport function pickValidValues<T = string | number | boolean>(\n target: Record<string, T>,\n fields: Array<string | string[]>\n): Record<string, T> {\n const dist: Record<string, T> = {}\n\n fields.forEach(field => {\n let key = String(field)\n let alias: string | undefined\n\n if (isArray(field)) {\n key = field[0]\n\n if (field.length > 1) {\n alias = field[1]\n }\n }\n\n let value = target[key]\n\n if (isValid(value)) {\n if (isPlainObject(value) || isArray(value)) {\n value = clone(value)\n }\n\n dist[alias || key] = value\n }\n })\n\n return dist\n}\n\nexport function removeObjectNil(target: Record<string, any>): Record<string, any> {\n if (!isObject(target)) {\n return {}\n }\n\n const copied = clone<Record<string, any>>(target)\n const newObj: Record<string, any> = {}\n\n for (const field of Object.keys(copied)) {\n const value = copied[field]\n\n if (isNil(value) || isNan(value)) {\n continue\n }\n\n newObj[field] = value\n }\n\n return newObj\n}\n\nexport function copyObjectValues(\n target: Record<string, any>,\n dist: Record<string, any>,\n keyMaps: Array<string | string[]>\n): void {\n if (!isObject(target) || !isObject(dist)) {\n return\n }\n\n for (const keys of keyMaps) {\n let targetKey: string\n let distKey: string\n\n if (isArray(keys)) {\n targetKey = keys[0]\n distKey = keys[1]\n } else {\n targetKey = String(keys)\n distKey = targetKey\n }\n\n let value = objectPath.get(target, targetKey)\n\n if (!isNil(value) && !isNan(value)) {\n if (isPlainObject(value) || isArray(value)) {\n value = clone(value)\n }\n objectPath.set(dist, distKey, value)\n }\n }\n}\n","const numeric = '0123456789'\nconst hexic = '0123456789abcdef'\nconst lower = 'abcdefghijklmnopqrstuvwxyz'\nconst upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\nconst length = 6\n\nexport enum RandomType {\n LOWER,\n UPPER,\n NUMERIC,\n HEXIC,\n LOWER_NUMERIC,\n UPPER_NUMERIC,\n ALPHANUMERIC\n}\n\nexport function random(len = length * 2, type = RandomType.ALPHANUMERIC): string {\n let alphabet: string = numeric + lower + upper\n\n switch (type) {\n case RandomType.LOWER:\n alphabet = lower\n break\n case RandomType.UPPER:\n alphabet = upper\n break\n case RandomType.HEXIC:\n alphabet = hexic\n break\n case RandomType.NUMERIC:\n alphabet = numeric\n break\n case RandomType.LOWER_NUMERIC:\n alphabet = lower + numeric\n break\n case RandomType.UPPER_NUMERIC:\n alphabet = upper + numeric\n break\n case RandomType.ALPHANUMERIC:\n alphabet = lower + upper + numeric\n break\n }\n\n let str = ''\n const alphabetLength = alphabet.length\n\n for (let i = 0; i < len; i++) {\n str += alphabet.charAt(Math.floor(Math.random() * alphabetLength))\n }\n\n return str\n}\n","import slug from 'slugify'\n\nexport interface SlugifyOptions {\n replacement?: string\n remove?: RegExp\n lower?: boolean\n strict?: boolean\n locale?: string\n trim?: boolean\n}\n\nexport function slugify(text: string, options?: SlugifyOptions): string {\n return slug(text, {\n replacement: '_',\n lower: true,\n ...options\n })\n}\n"]}
|