Index: imaps-frontend/node_modules/jsesc/README.md
===================================================================
--- imaps-frontend/node_modules/jsesc/README.md	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/jsesc/README.md	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,3 +1,3 @@
-# jsesc
+# jsesc [![Build status](https://travis-ci.org/mathiasbynens/jsesc.svg?branch=master)](https://travis-ci.org/mathiasbynens/jsesc) [![Code coverage status](https://coveralls.io/repos/mathiasbynens/jsesc/badge.svg)](https://coveralls.io/r/mathiasbynens/jsesc) [![Dependency status](https://gemnasium.com/mathiasbynens/jsesc.svg)](https://gemnasium.com/mathiasbynens/jsesc)
 
 Given some data, _jsesc_ returns a stringified representation of that data. jsesc is similar to `JSON.stringify()` except:
@@ -203,5 +203,4 @@
 * U+2029 `\u2029`
 * whatever symbol is being used for wrapping string literals (based on [the `quotes` option](#quotes))
-* [lone surrogates](https://esdiscuss.org/topic/code-points-vs-unicode-scalar-values#content-14)
 
 Note: with this option enabled, jsesc output is no longer guaranteed to be ASCII-safe.
@@ -250,5 +249,5 @@
 #### `indent`
 
-The `indent` option takes a string value, and defaults to `'\t'`. When the `compact` setting is disabled (`false`), the value of the `indent` option is used to format the output for arrays and objects.
+The `indent` option takes a string value, and defaults to `'\t'`. When the `compact` setting is enabled (`true`), the value of the `indent` option is used to format the output for arrays and objects.
 
 ```js
@@ -408,5 +407,5 @@
 ## Support
 
-As of v3.0.0, jsesc supports Node.js v6+ only.
+As of v2.0.0, jsesc supports Node.js v4+ only.
 
 Older versions (up to jsesc v1.3.0) support Chrome 27, Firefox 3, Safari 4, Opera 10, IE 6, Node.js v6.0.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, and Rhino 1.7RC4. **Note:** Using the `json` option on objects or arrays that contain non-string values relies on `JSON.parse()`. For legacy environments like IE ≤ 7, use [a `JSON` polyfill](https://bestiejs.github.io/json3/).
Index: imaps-frontend/node_modules/jsesc/jsesc.js
===================================================================
--- imaps-frontend/node_modules/jsesc/jsesc.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/jsesc/jsesc.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -29,19 +29,7 @@
 };
 
-const fourHexEscape = (hex) => {
-	return '\\u' + ('0000' + hex).slice(-4);
-}
-
-const hexadecimal = (code, lowercase) => {
-	let hexadecimal = code.toString(16);
-	if (lowercase) return hexadecimal;
-	return hexadecimal.toUpperCase();
-};
-
 const toString = object.toString;
 const isArray = Array.isArray;
-const isBuffer = (value) => {
-	return typeof Buffer === 'function' && Buffer.isBuffer(value);
-};
+const isBuffer = Buffer.isBuffer;
 const isObject = (value) => {
 	// This is a very simple check, but it’s good enough for what we need.
@@ -56,7 +44,4 @@
 		toString.call(value) == '[object Number]';
 };
-const isBigInt = (value) => {
-  return typeof value == 'bigint';
-};
 const isFunction = (value) => {
 	return typeof value == 'function';
@@ -73,4 +58,6 @@
 // https://mathiasbynens.be/notes/javascript-escapes#single
 const singleEscapes = {
+	'"': '\\"',
+	'\'': '\\\'',
 	'\\': '\\\\',
 	'\b': '\\b',
@@ -82,11 +69,8 @@
 	// '\v': '\\x0B'
 };
-const regexSingleEscape = /[\\\b\f\n\r\t]/;
+const regexSingleEscape = /["'\\\b\f\n\r\t]/;
 
 const regexDigit = /[0-9]/;
-const regexWhitespace = /[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;
-
-const escapeEverythingRegex = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g;
-const escapeNonAsciiRegex = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g;
+const regexWhitelist = /[ !#-&\(-\[\]-_a-~]/;
 
 const jsesc = (argument, options) => {
@@ -201,42 +185,26 @@
 			return '[' + newLine + result.join(',' + newLine) + newLine +
 				(compact ? '' : oldIndent) + ']';
-		} else if (isNumber(argument) || isBigInt(argument)) {
+		} else if (isNumber(argument)) {
 			if (json) {
 				// Some number values (e.g. `Infinity`) cannot be represented in JSON.
-				// `BigInt` values less than `-Number.MAX_VALUE` or greater than
-        // `Number.MAX_VALUE` cannot be represented in JSON so they will become
-        // `-Infinity` or `Infinity`, respectively, and then become `null` when
-        // stringified.
-				return JSON.stringify(Number(argument));
-			}
-
-      let result;
+				return JSON.stringify(argument);
+			}
 			if (useDecNumbers) {
-				result = String(argument);
-			} else if (useHexNumbers) {
+				return String(argument);
+			}
+			if (useHexNumbers) {
 				let hexadecimal = argument.toString(16);
 				if (!lowercaseHex) {
 					hexadecimal = hexadecimal.toUpperCase();
 				}
-				result = '0x' + hexadecimal;
-			} else if (useBinNumbers) {
-				result = '0b' + argument.toString(2);
-			} else if (useOctNumbers) {
-				result = '0o' + argument.toString(8);
-			}
-
-      if (isBigInt(argument)) {
-        return result + 'n';
-      }
-      return result;
-		} else if (isBigInt(argument)) {
-			if (json) {
-				// `BigInt` values less than `-Number.MAX_VALUE` or greater than
-        // `Number.MAX_VALUE` will become `-Infinity` or `Infinity`,
-        // respectively, and cannot be represented in JSON.
-				return JSON.stringify(Number(argument));
-			}
-      return argument + 'n';
-    } else if (!isObject(argument)) {
+				return '0x' + hexadecimal;
+			}
+			if (useBinNumbers) {
+				return '0b' + argument.toString(2);
+			}
+			if (useOctNumbers) {
+				return '0o' + argument.toString(8);
+			}
+		} else if (!isObject(argument)) {
 			if (json) {
 				// For some values (e.g. `undefined`, `function` objects),
@@ -267,71 +235,95 @@
 	}
 
-	const regex = options.escapeEverything ? escapeEverythingRegex : escapeNonAsciiRegex;
-	result = argument.replace(regex, (char, pair, lone, quoteChar, index, string) => {
-		if (pair) {
-			if (options.minimal) return pair;
-			const first = pair.charCodeAt(0);
-			const second = pair.charCodeAt(1);
-			if (options.es6) {
-				// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
-				const codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
-				const hex = hexadecimal(codePoint, lowercaseHex);
-				return '\\u{' + hex + '}';
-			}
-			return fourHexEscape(hexadecimal(first, lowercaseHex)) + fourHexEscape(hexadecimal(second, lowercaseHex));
-		}
-
-		if (lone) {
-			return fourHexEscape(hexadecimal(lone.charCodeAt(0), lowercaseHex));
-		}
-
+	const string = argument;
+	// Loop over each code unit in the string and escape it
+	let index = -1;
+	const length = string.length;
+	result = '';
+	while (++index < length) {
+		const character = string.charAt(index);
+		if (options.es6) {
+			const first = string.charCodeAt(index);
+			if ( // check if it’s the start of a surrogate pair
+				first >= 0xD800 && first <= 0xDBFF && // high surrogate
+				length > index + 1 // there is a next code unit
+			) {
+				const second = string.charCodeAt(index + 1);
+				if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate
+					// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+					const codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
+					let hexadecimal = codePoint.toString(16);
+					if (!lowercaseHex) {
+						hexadecimal = hexadecimal.toUpperCase();
+					}
+					result += '\\u{' + hexadecimal + '}';
+					++index;
+					continue;
+				}
+			}
+		}
+		if (!options.escapeEverything) {
+			if (regexWhitelist.test(character)) {
+				// It’s a printable ASCII character that is not `"`, `'` or `\`,
+				// so don’t escape it.
+				result += character;
+				continue;
+			}
+			if (character == '"') {
+				result += quote == character ? '\\"' : character;
+				continue;
+			}
+			if (character == '`') {
+				result += quote == character ? '\\`' : character;
+				continue;
+			}
+			if (character == '\'') {
+				result += quote == character ? '\\\'' : character;
+				continue;
+			}
+		}
 		if (
-			char == '\0' &&
+			character == '\0' &&
 			!json &&
 			!regexDigit.test(string.charAt(index + 1))
 		) {
-			return '\\0';
-		}
-
-		if (quoteChar) {
-			if (quoteChar == quote || options.escapeEverything) {
-				return '\\' + quoteChar;
-			}
-			return quoteChar;
-		}
-
-		if (regexSingleEscape.test(char)) {
+			result += '\\0';
+			continue;
+		}
+		if (regexSingleEscape.test(character)) {
 			// no need for a `hasOwnProperty` check here
-			return singleEscapes[char];
-		}
-
-		if (options.minimal && !regexWhitespace.test(char)) {
-			return char;
-		}
-
-		const hex = hexadecimal(char.charCodeAt(0), lowercaseHex);
-		if (json || hex.length > 2) {
-			return fourHexEscape(hex);
-		}
-
-		return '\\x' + ('00' + hex).slice(-2);
-	});
-
+			result += singleEscapes[character];
+			continue;
+		}
+		const charCode = character.charCodeAt(0);
+		if (options.minimal && charCode != 0x2028 && charCode != 0x2029) {
+			result += character;
+			continue;
+		}
+		let hexadecimal = charCode.toString(16);
+		if (!lowercaseHex) {
+			hexadecimal = hexadecimal.toUpperCase();
+		}
+		const longhand = hexadecimal.length > 2 || json;
+		const escaped = '\\' + (longhand ? 'u' : 'x') +
+			('0000' + hexadecimal).slice(longhand ? -4 : -2);
+		result += escaped;
+		continue;
+	}
+	if (options.wrap) {
+		result = quote + result + quote;
+	}
 	if (quote == '`') {
-		result = result.replace(/\$\{/g, '\\${');
+		result = result.replace(/\$\{/g, '\\\$\{');
 	}
 	if (options.isScriptContext) {
 		// https://mathiasbynens.be/notes/etago
-		result = result
+		return result
 			.replace(/<\/(script|style)/gi, '<\\/$1')
 			.replace(/<!--/g, json ? '\\u003C!--' : '\\x3C!--');
 	}
-	if (options.wrap) {
-		result = quote + result + quote;
-	}
 	return result;
 };
 
-jsesc.version = '3.0.2';
+jsesc.version = '2.5.2';
 
 module.exports = jsesc;
Index: imaps-frontend/node_modules/jsesc/package.json
===================================================================
--- imaps-frontend/node_modules/jsesc/package.json	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/jsesc/package.json	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,60 +1,13 @@
 {
-  "_from": "jsesc@^3.0.2",
-  "_id": "jsesc@3.1.0",
-  "_inBundle": false,
-  "_integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
-  "_location": "/jsesc",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "jsesc@^3.0.2",
-    "name": "jsesc",
-    "escapedName": "jsesc",
-    "rawSpec": "^3.0.2",
-    "saveSpec": null,
-    "fetchSpec": "^3.0.2"
+  "name": "jsesc",
+  "version": "2.5.2",
+  "description": "Given some data, jsesc returns the shortest possible stringified & ASCII-safe representation of that data.",
+  "homepage": "https://mths.be/jsesc",
+  "engines": {
+    "node": ">=4"
   },
-  "_requiredBy": [
-    "/@babel/generator"
-  ],
-  "_resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
-  "_shasum": "74d335a234f67ed19907fdadfac7ccf9d409825d",
-  "_spec": "jsesc@^3.0.2",
-  "_where": "/home/stevetosak/Proekt/IMaps/imaps-frontend/node_modules/@babel/generator",
-  "author": {
-    "name": "Mathias Bynens",
-    "url": "https://mathiasbynens.be/"
-  },
-  "bin": {
-    "jsesc": "bin/jsesc"
-  },
-  "bugs": {
-    "url": "https://github.com/mathiasbynens/jsesc/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "Given some data, jsesc returns the shortest possible stringified & ASCII-safe representation of that data.",
-  "devDependencies": {
-    "coveralls": "^2.11.6",
-    "grunt": "^0.4.5",
-    "grunt-cli": "^1.3.2",
-    "grunt-template": "^0.2.3",
-    "istanbul": "^0.4.2",
-    "mocha": "^5.2.0",
-    "regenerate": "^1.3.0",
-    "requirejs": "^2.1.22",
-    "unicode-13.0.0": "0.8.0"
-  },
-  "engines": {
-    "node": ">=6"
-  },
-  "files": [
-    "LICENSE-MIT.txt",
-    "jsesc.js",
-    "bin/",
-    "man/"
-  ],
-  "homepage": "https://mths.be/jsesc",
+  "main": "jsesc.js",
+  "bin": "bin/jsesc",
+  "man": "man/jsesc.1",
   "keywords": [
     "buffer",
@@ -69,19 +22,33 @@
   ],
   "license": "MIT",
-  "main": "jsesc.js",
-  "man": [
-    "man/jsesc.1"
-  ],
-  "name": "jsesc",
+  "author": {
+    "name": "Mathias Bynens",
+    "url": "https://mathiasbynens.be/"
+  },
   "repository": {
     "type": "git",
-    "url": "git+https://github.com/mathiasbynens/jsesc.git"
+    "url": "https://github.com/mathiasbynens/jsesc.git"
   },
+  "bugs": "https://github.com/mathiasbynens/jsesc/issues",
+  "files": [
+    "LICENSE-MIT.txt",
+    "jsesc.js",
+    "bin/",
+    "man/"
+  ],
   "scripts": {
     "build": "grunt template",
+    "coveralls": "istanbul cover --verbose --dir 'coverage' 'tests/tests.js' && coveralls < coverage/lcov.info'",
     "cover": "istanbul cover --report 'html' --verbose --dir 'coverage' 'tests/tests.js'",
-    "coveralls": "istanbul cover --verbose --dir 'coverage' 'tests/tests.js' && coveralls < coverage/lcov.info'",
     "test": "mocha tests"
   },
-  "version": "3.1.0"
+  "devDependencies": {
+    "coveralls": "^2.11.6",
+    "grunt": "^0.4.5",
+    "grunt-template": "^0.2.3",
+    "istanbul": "^0.4.2",
+    "mocha": "*",
+    "regenerate": "^1.3.0",
+    "requirejs": "^2.1.22"
+  }
 }
