Index: trip-planner-front/node_modules/loglevel/README.md
===================================================================
--- trip-planner-front/node_modules/loglevel/README.md	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/README.md	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -164,4 +164,8 @@
   The `level` argument takes is the same values that you might pass to `setLevel()`. Levels set using `setDefaultLevel()` never persist to subsequent page loads.
 
+* A `log.resetLevel()` method.
+
+  This resets the current log level to the default level (or `warn` if no explicit default was set) and clears the persisted level if one was previously persisted.
+
 * `log.enableAll()` and `log.disableAll()` methods.
 
@@ -251,5 +255,5 @@
 Including that would increase the size and complexity of the library, but more importantly would remove stacktrace information. Currently log methods are either disabled, or enabled with directly bound versions of the console.log methods (where possible). This means your browser shows the log message as coming from your code at the call to `log.info("message!")` not from within loglevel, since it really calls the bound console method directly, without indirection. The indirection required to dynamically format, further filter, or redirect log messages would stop this.
 
-There's clearly enough enthusiasm for this even at that cost though that loglevel now includes a plugin API. To use it, redefine log.methodFactory(methodName, logLevel, loggerName) with a function of your own. This will be called for each enabled method each time the level is set (including initially), and should return a function to be used for the given log method, at the given level, for a logger with the given name. If you'd like to retain all the reliability and features of loglevel, it's recommended that this wraps the initially provided value of `log.methodFactory`
+There's clearly enough enthusiasm for this even at that cost though that loglevel now includes a plugin API. To use it, redefine `log.methodFactory(methodName, logLevel, loggerName)` with a function of your own. This will be called for each enabled method each time the level is set (including initially), and should return a function to be used for the given log method `methodName`, at the given *configured* (not actual) level `logLevel`, for a logger with the given name `loggerName`. If you'd like to retain all the reliability and features of loglevel, it's recommended that this wraps the initially provided value of `log.methodFactory`.
 
 For example, a plugin to prefix all log messages with "Newsflash: " would look like:
@@ -267,5 +271,5 @@
 ```
 
-*(The above supports only a single log.warn("") argument for clarity, but it's easy to extend to a [fuller variadic version](http://jsbin.com/xehoye/edit?html,console))*
+*(The above supports only a single string `log.warn("...")` argument for clarity, but it's easy to extend to a [fuller variadic version](http://jsbin.com/xehoye/edit?html,console).)*
 
 If you develop and release a plugin, please get in contact! I'd be happy to reference it here for future users. Some consistency is helpful; naming your plugin 'loglevel-PLUGINNAME' (e.g. loglevel-newsflash) is preferred, as is giving it the 'loglevel-plugin' keyword in your package.json
@@ -344,4 +348,6 @@
 v1.7.1 - Update TypeScript types to support Symbol-named loggers.
 
+v1.8.0 - Add resetLevel() method to clear persisted levels & reset to defaults
+
 ## `loglevel` for enterprise
 
Index: trip-planner-front/node_modules/loglevel/bower.json
===================================================================
--- trip-planner-front/node_modules/loglevel/bower.json	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/bower.json	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -1,5 +1,5 @@
 {
   "name": "loglevel",
-  "version": "1.7.1",
+  "version": "1.8.0",
   "main": "dist/loglevel.min.js",
   "dependencies": {},
Index: trip-planner-front/node_modules/loglevel/dist/loglevel.js
===================================================================
--- trip-planner-front/node_modules/loglevel/dist/loglevel.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/dist/loglevel.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -1,3 +1,3 @@
-/*! loglevel - v1.7.1 - https://github.com/pimterry/loglevel - (c) 2020 Tim Perry - licensed MIT */
+/*! loglevel - v1.8.0 - https://github.com/pimterry/loglevel - (c) 2021 Tim Perry - licensed MIT */
 (function (root, definition) {
     "use strict";
@@ -114,4 +114,5 @@
       var self = this;
       var currentLevel;
+      defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
 
       var storageKey = "loglevel";
@@ -167,4 +168,20 @@
 
           return storedLevel;
+      }
+
+      function clearPersistedLevel() {
+          if (typeof window === undefinedType || !storageKey) return;
+
+          // Use localStorage if available
+          try {
+              window.localStorage.removeItem(storageKey);
+              return;
+          } catch (ignore) {}
+
+          // Use session cookie as fallback
+          try {
+              window.document.cookie =
+                encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
+          } catch (ignore) {}
       }
 
@@ -205,7 +222,13 @@
 
       self.setDefaultLevel = function (level) {
+          defaultLevel = level;
           if (!getPersistedLevel()) {
               self.setLevel(level, false);
           }
+      };
+
+      self.resetLevel = function () {
+          self.setLevel(defaultLevel, false);
+          clearPersistedLevel();
       };
 
@@ -221,5 +244,5 @@
       var initialLevel = getPersistedLevel();
       if (initialLevel == null) {
-          initialLevel = defaultLevel == null ? "WARN" : defaultLevel;
+          initialLevel = defaultLevel;
       }
       self.setLevel(initialLevel, false);
Index: trip-planner-front/node_modules/loglevel/dist/loglevel.min.js
===================================================================
--- trip-planner-front/node_modules/loglevel/dist/loglevel.min.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/dist/loglevel.min.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -1,2 +1,2 @@
-/*! loglevel - v1.7.1 - https://github.com/pimterry/loglevel - (c) 2020 Tim Perry - licensed MIT */
-!function(a,b){"use strict";"function"==typeof define&&define.amd?define(b):"object"==typeof module&&module.exports?module.exports=b():a.log=b()}(this,function(){"use strict";function a(a,b){var c=a[b];if("function"==typeof c.bind)return c.bind(a);try{return Function.prototype.bind.call(c,a)}catch(b){return function(){return Function.prototype.apply.apply(c,[a,arguments])}}}function b(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(c){return"debug"===c&&(c="log"),typeof console!==i&&("trace"===c&&j?b:void 0!==console[c]?a(console,c):void 0!==console.log?a(console,"log"):h)}function d(a,b){for(var c=0;c<k.length;c++){var d=k[c];this[d]=c<a?h:this.methodFactory(d,a,b)}this.log=this.debug}function e(a,b,c){return function(){typeof console!==i&&(d.call(this,b,c),this[a].apply(this,arguments))}}function f(a,b,d){return c(a)||e.apply(this,arguments)}function g(a,b,c){function e(a){var b=(k[a]||"silent").toUpperCase();if(typeof window!==i&&l){try{return void(window.localStorage[l]=b)}catch(a){}try{window.document.cookie=encodeURIComponent(l)+"="+b+";"}catch(a){}}}function g(){var a;if(typeof window!==i&&l){try{a=window.localStorage[l]}catch(a){}if(typeof a===i)try{var b=window.document.cookie,c=b.indexOf(encodeURIComponent(l)+"=");-1!==c&&(a=/^([^;]+)/.exec(b.slice(c))[1])}catch(a){}return void 0===j.levels[a]&&(a=void 0),a}}var h,j=this,l="loglevel";"string"==typeof a?l+=":"+a:"symbol"==typeof a&&(l=void 0),j.name=a,j.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},j.methodFactory=c||f,j.getLevel=function(){return h},j.setLevel=function(b,c){if("string"==typeof b&&void 0!==j.levels[b.toUpperCase()]&&(b=j.levels[b.toUpperCase()]),!("number"==typeof b&&b>=0&&b<=j.levels.SILENT))throw"log.setLevel() called with invalid level: "+b;if(h=b,!1!==c&&e(b),d.call(j,b,a),typeof console===i&&b<j.levels.SILENT)return"No console available for logging"},j.setDefaultLevel=function(a){g()||j.setLevel(a,!1)},j.enableAll=function(a){j.setLevel(j.levels.TRACE,a)},j.disableAll=function(a){j.setLevel(j.levels.SILENT,a)};var m=g();null==m&&(m=null==b?"WARN":b),j.setLevel(m,!1)}var h=function(){},i="undefined",j=typeof window!==i&&typeof window.navigator!==i&&/Trident\/|MSIE /.test(window.navigator.userAgent),k=["trace","debug","info","warn","error"],l=new g,m={};l.getLogger=function(a){if("symbol"!=typeof a&&"string"!=typeof a||""===a)throw new TypeError("You must supply a name when creating a logger.");var b=m[a];return b||(b=m[a]=new g(a,l.getLevel(),l.methodFactory)),b};var n=typeof window!==i?window.log:void 0;return l.noConflict=function(){return typeof window!==i&&window.log===l&&(window.log=n),l},l.getLoggers=function(){return m},l.default=l,l});
+/*! loglevel - v1.8.0 - https://github.com/pimterry/loglevel - (c) 2021 Tim Perry - licensed MIT */
+!function(a,b){"use strict";"function"==typeof define&&define.amd?define(b):"object"==typeof module&&module.exports?module.exports=b():a.log=b()}(this,function(){"use strict";function a(a,b){var c=a[b];if("function"==typeof c.bind)return c.bind(a);try{return Function.prototype.bind.call(c,a)}catch(b){return function(){return Function.prototype.apply.apply(c,[a,arguments])}}}function b(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(c){return"debug"===c&&(c="log"),typeof console!==i&&("trace"===c&&j?b:void 0!==console[c]?a(console,c):void 0!==console.log?a(console,"log"):h)}function d(a,b){for(var c=0;c<k.length;c++){var d=k[c];this[d]=c<a?h:this.methodFactory(d,a,b)}this.log=this.debug}function e(a,b,c){return function(){typeof console!==i&&(d.call(this,b,c),this[a].apply(this,arguments))}}function f(a,b,d){return c(a)||e.apply(this,arguments)}function g(a,b,c){function e(a){var b=(k[a]||"silent").toUpperCase();if(typeof window!==i&&m){try{return void(window.localStorage[m]=b)}catch(a){}try{window.document.cookie=encodeURIComponent(m)+"="+b+";"}catch(a){}}}function g(){var a;if(typeof window!==i&&m){try{a=window.localStorage[m]}catch(a){}if(typeof a===i)try{var b=window.document.cookie,c=b.indexOf(encodeURIComponent(m)+"=");-1!==c&&(a=/^([^;]+)/.exec(b.slice(c))[1])}catch(a){}return void 0===l.levels[a]&&(a=void 0),a}}function h(){if(typeof window!==i&&m){try{return void window.localStorage.removeItem(m)}catch(a){}try{window.document.cookie=encodeURIComponent(m)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(a){}}}var j,l=this;b=null==b?"WARN":b;var m="loglevel";"string"==typeof a?m+=":"+a:"symbol"==typeof a&&(m=void 0),l.name=a,l.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},l.methodFactory=c||f,l.getLevel=function(){return j},l.setLevel=function(b,c){if("string"==typeof b&&void 0!==l.levels[b.toUpperCase()]&&(b=l.levels[b.toUpperCase()]),!("number"==typeof b&&b>=0&&b<=l.levels.SILENT))throw"log.setLevel() called with invalid level: "+b;if(j=b,!1!==c&&e(b),d.call(l,b,a),typeof console===i&&b<l.levels.SILENT)return"No console available for logging"},l.setDefaultLevel=function(a){b=a,g()||l.setLevel(a,!1)},l.resetLevel=function(){l.setLevel(b,!1),h()},l.enableAll=function(a){l.setLevel(l.levels.TRACE,a)},l.disableAll=function(a){l.setLevel(l.levels.SILENT,a)};var n=g();null==n&&(n=b),l.setLevel(n,!1)}var h=function(){},i="undefined",j=typeof window!==i&&typeof window.navigator!==i&&/Trident\/|MSIE /.test(window.navigator.userAgent),k=["trace","debug","info","warn","error"],l=new g,m={};l.getLogger=function(a){if("symbol"!=typeof a&&"string"!=typeof a||""===a)throw new TypeError("You must supply a name when creating a logger.");var b=m[a];return b||(b=m[a]=new g(a,l.getLevel(),l.methodFactory)),b};var n=typeof window!==i?window.log:void 0;return l.noConflict=function(){return typeof window!==i&&window.log===l&&(window.log=n),l},l.getLoggers=function(){return m},l.default=l,l});
Index: trip-planner-front/node_modules/loglevel/index.d.ts
===================================================================
--- trip-planner-front/node_modules/loglevel/index.d.ts	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/index.d.ts	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -169,4 +169,10 @@
 
         /**
+         * This resets the current log level to the default level (or `warn` if no explicit default was set) and clears
+         * the persisted level if one was previously persisted.
+         */
+        resetLevel(): void;
+
+        /**
          * This enables all log messages, and is equivalent to log.setLevel("trace").
          *
Index: trip-planner-front/node_modules/loglevel/lib/loglevel.js
===================================================================
--- trip-planner-front/node_modules/loglevel/lib/loglevel.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/lib/loglevel.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -119,4 +119,5 @@
       var self = this;
       var currentLevel;
+      defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
 
       var storageKey = "loglevel";
@@ -172,4 +173,20 @@
 
           return storedLevel;
+      }
+
+      function clearPersistedLevel() {
+          if (typeof window === undefinedType || !storageKey) return;
+
+          // Use localStorage if available
+          try {
+              window.localStorage.removeItem(storageKey);
+              return;
+          } catch (ignore) {}
+
+          // Use session cookie as fallback
+          try {
+              window.document.cookie =
+                encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
+          } catch (ignore) {}
       }
 
@@ -210,7 +227,13 @@
 
       self.setDefaultLevel = function (level) {
+          defaultLevel = level;
           if (!getPersistedLevel()) {
               self.setLevel(level, false);
           }
+      };
+
+      self.resetLevel = function () {
+          self.setLevel(defaultLevel, false);
+          clearPersistedLevel();
       };
 
@@ -226,5 +249,5 @@
       var initialLevel = getPersistedLevel();
       if (initialLevel == null) {
-          initialLevel = defaultLevel == null ? "WARN" : defaultLevel;
+          initialLevel = defaultLevel;
       }
       self.setLevel(initialLevel, false);
Index: trip-planner-front/node_modules/loglevel/package.json
===================================================================
--- trip-planner-front/node_modules/loglevel/package.json	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/package.json	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -1,32 +1,26 @@
 {
-  "_args": [
-    [
-      "loglevel@1.7.1",
-      "C:\\Users\\DELL\\Desktop\\bachelor-thesis\\trip-planner-front"
-    ]
-  ],
-  "_development": true,
-  "_from": "loglevel@1.7.1",
-  "_id": "loglevel@1.7.1",
+  "_from": "loglevel@^1.6.8",
+  "_id": "loglevel@1.8.0",
   "_inBundle": false,
-  "_integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
+  "_integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
   "_location": "/loglevel",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "loglevel@1.7.1",
+    "raw": "loglevel@^1.6.8",
     "name": "loglevel",
     "escapedName": "loglevel",
-    "rawSpec": "1.7.1",
+    "rawSpec": "^1.6.8",
     "saveSpec": null,
-    "fetchSpec": "1.7.1"
+    "fetchSpec": "^1.6.8"
   },
   "_requiredBy": [
     "/webpack-dev-server"
   ],
-  "_resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz",
-  "_spec": "1.7.1",
-  "_where": "C:\\Users\\DELL\\Desktop\\bachelor-thesis\\trip-planner-front",
+  "_resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
+  "_shasum": "e7ec73a57e1e7b419cb6c6ac06bf050b67356114",
+  "_spec": "loglevel@^1.6.8",
+  "_where": "C:\\Users\\DELL\\Desktop\\bachelor-thesis\\trip-planner-front\\node_modules\\webpack-dev-server",
   "author": {
     "name": "Tim Perry",
@@ -37,5 +31,7 @@
     "url": "https://github.com/pimterry/loglevel/issues"
   },
+  "bundleDependencies": false,
   "dependencies": {},
+  "deprecated": false,
   "description": "Minimal lightweight logging for JavaScript, adding reliable log level methods to any available console.log methods",
   "devDependencies": {
@@ -90,4 +86,4 @@
   },
   "types": "./index.d.ts",
-  "version": "1.7.1"
+  "version": "1.8.0"
 }
Index: trip-planner-front/node_modules/loglevel/test/default-level-test.js
===================================================================
--- trip-planner-front/node_modules/loglevel/test/default-level-test.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/test/default-level-test.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -57,4 +57,21 @@
             });
         });
+
+        describe("log.resetLevel() resets the log", function() {
+            it("to warn if no explicit default is set", function(log) {
+                log.setLevel("debug");
+                log.resetLevel();
+
+                expect(log).toBeAtLevel("warn");
+            });
+
+            it("to info if default is set to info", function(log) {
+                log.setDefaultLevel("info");
+                log.setLevel("debug");
+                log.resetLevel();
+
+                expect(log).toBeAtLevel("info");
+            });
+        });
     });
 });
Index: trip-planner-front/node_modules/loglevel/test/local-storage-test.js
===================================================================
--- trip-planner-front/node_modules/loglevel/test/local-storage-test.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/test/local-storage-test.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -97,4 +97,11 @@
                 expect("error").not.toBeTheStoredLevel();
             });
+
+            it("log.resetLevel() clears the saved level", function(log) {
+                log.resetLevel();
+
+                expect(undefined).toBeTheStoredLevel();
+                expect("info").not.toBeTheStoredLevel();
+            });
         });
 
Index: trip-planner-front/node_modules/loglevel/test/test-helpers.js
===================================================================
--- trip-planner-front/node_modules/loglevel/test/test-helpers.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/loglevel/test/test-helpers.js	(revision 84d0fbb56bfbe319ba63e3327f1777ac5d841f83)
@@ -68,8 +68,10 @@
 
     self.toBeTheLevelStoredByCookie = function toBeTheLevelStoredByCookie(name) {
-        var level = this.actual.toUpperCase();
+        var level = this.actual === undefined ? undefined : this.actual.toUpperCase();
         var storageKey = encodeURIComponent(getStorageKey(name));
 
-        if (window.document.cookie.indexOf(storageKey + "=" + level) !== -1) {
+        if(level === undefined) {
+            return window.document.cookie.indexOf(storageKey + "=") === -1;
+        } else if (window.document.cookie.indexOf(storageKey + "=" + level) !== -1) {
             return true;
         } else {
@@ -79,5 +81,5 @@
 
     self.toBeTheLevelStoredByLocalStorage = function toBeTheLevelStoredByLocalStorage(name) {
-        var level = this.actual.toUpperCase();
+        var level = this.actual === undefined ? undefined : this.actual.toUpperCase();
 
         if (window.localStorage[getStorageKey(name)] === level) {
