diff --git a/node_modules/is-absolute/LICENSE b/node_modules/is-absolute/LICENSE
new file mode 100644
index 0000000..44cf43b
--- /dev/null
+++ b/node_modules/is-absolute/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2017, Jon Schlinkert.
+Copyright (c) 2009-2014, TJ Holowaychuk
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/is-absolute/README.md b/node_modules/is-absolute/README.md
new file mode 100644
index 0000000..edc1ceb
--- /dev/null
+++ b/node_modules/is-absolute/README.md
@@ -0,0 +1,114 @@
+# is-absolute [![NPM version](https://img.shields.io/npm/v/is-absolute.svg?style=flat)](https://www.npmjs.com/package/is-absolute) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-absolute.svg?style=flat)](https://npmjs.org/package/is-absolute) [![NPM total downloads](https://img.shields.io/npm/dt/is-absolute.svg?style=flat)](https://npmjs.org/package/is-absolute) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-absolute.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-absolute)
+
+> Returns true if a file path is absolute. Does not rely on the path module and can be used as a polyfill for node.js native `path.isAbolute`.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save is-absolute
+```
+
+Originally based on the `isAbsolute` utility method in [express](https://github.com/visionmedia/express).
+
+## Usage
+
+```js
+var isAbsolute = require('is-absolute');
+
+isAbsolute('a/b/c.js');
+//=> 'false'
+isAbsolute('/a/b/c.js');
+//=> 'true'
+```
+
+**Explicitly test windows paths**
+
+```js
+isAbsolute.posix('/foo/bar');
+isAbsolute.posix('/user/docs/Letter.txt');
+//=> true
+
+isAbsolute.posix('foo/bar');
+//=> false
+```
+
+**Explicitly test windows paths**
+
+```js
+var isAbsolute = require('is-absolute');
+
+isAbsolute.win32('c:\\');
+isAbsolute.win32('//C://user\\docs\\Letter.txt');
+isAbsolute.win32('\\\\unc\\share');
+isAbsolute.win32('\\\\unc\\share\\foo');
+isAbsolute.win32('\\\\unc\\share\\foo\\');
+isAbsolute.win32('\\\\unc\\share\\foo\\bar');
+isAbsolute.win32('\\\\unc\\share\\foo\\bar\\');
+isAbsolute.win32('\\\\unc\\share\\foo\\bar\\baz');
+//=> true
+
+isAbsolute.win32('a:foo/a/b/c/d');
+isAbsolute.win32(':\\');
+isAbsolute.win32('foo\\bar\\baz');
+isAbsolute.win32('foo\\bar\\baz\\');
+//=> false
+```
+
+## About
+
+### Related projects
+
+* [is-dotfile](https://www.npmjs.com/package/is-dotfile): Return true if a file path is (or has) a dotfile. Returns false if the… [more](https://github.com/jonschlinkert/is-dotfile) | [homepage](https://github.com/jonschlinkert/is-dotfile "Return true if a file path is (or has) a dotfile. Returns false if the path is a dot directory.")
+* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet")
+* [is-relative](https://www.npmjs.com/package/is-relative): Returns `true` if the path appears to be relative. | [homepage](https://github.com/jonschlinkert/is-relative "Returns `true` if the path appears to be relative.")
+* [is-unc-path](https://www.npmjs.com/package/is-unc-path): Returns true if a filepath is a windows UNC file path. | [homepage](https://github.com/jonschlinkert/is-unc-path "Returns true if a filepath is a windows UNC file path.")
+* [is-valid-glob](https://www.npmjs.com/package/is-valid-glob): Return true if a value is a valid glob pattern or patterns. | [homepage](https://github.com/jonschlinkert/is-valid-glob "Return true if a value is a valid glob pattern or patterns.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor** | 
+| --- | --- |
+| 35 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 1 | [es128](https://github.com/es128) |
+| 1 | [shinnn](https://github.com/shinnn) |
+| 1 | [Sobak](https://github.com/Sobak) |
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 13, 2017._
\ No newline at end of file
diff --git a/node_modules/is-absolute/index.js b/node_modules/is-absolute/index.js
new file mode 100644
index 0000000..06d6731
--- /dev/null
+++ b/node_modules/is-absolute/index.js
@@ -0,0 +1,47 @@
+'use strict';
+
+var isRelative = require('is-relative');
+var isWindows = require('is-windows');
+
+/**
+ * Expose `isAbsolute`
+ */
+
+module.exports = isAbsolute;
+
+/**
+ * Returns true if a file path is absolute.
+ *
+ * @param  {String} `fp`
+ * @return {Boolean}
+ */
+
+function isAbsolute(fp) {
+  if (typeof fp !== 'string') {
+    throw new TypeError('isAbsolute expects a string.');
+  }
+  return isWindows() ? isAbsolute.win32(fp) : isAbsolute.posix(fp);
+}
+
+/**
+ * Test posix paths.
+ */
+
+isAbsolute.posix = function posixPath(fp) {
+  return fp.charAt(0) === '/';
+};
+
+/**
+ * Test windows paths.
+ */
+
+isAbsolute.win32 = function win32(fp) {
+  if (/[a-z]/i.test(fp.charAt(0)) && fp.charAt(1) === ':' && fp.charAt(2) === '\\') {
+    return true;
+  }
+  // Microsoft Azure absolute filepath
+  if (fp.slice(0, 2) === '\\\\') {
+    return true;
+  }
+  return !isRelative(fp);
+};
diff --git a/node_modules/is-absolute/package.json b/node_modules/is-absolute/package.json
new file mode 100644
index 0000000..ac68cbd
--- /dev/null
+++ b/node_modules/is-absolute/package.json
@@ -0,0 +1,134 @@
+{
+  "_from": "is-absolute@^1.0.0",
+  "_id": "is-absolute@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+  "_location": "/is-absolute",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "is-absolute@^1.0.0",
+    "name": "is-absolute",
+    "escapedName": "is-absolute",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/parse-filepath",
+    "/to-absolute-glob"
+  ],
+  "_resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+  "_shasum": "395e1ae84b11f26ad1795e73c17378e48a301576",
+  "_spec": "is-absolute@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\parse-filepath",
+  "author": {
+    "name": "Jon Schlinkert",
+    "url": "https://github.com/jonschlinkert"
+  },
+  "bugs": {
+    "url": "https://github.com/jonschlinkert/is-absolute/issues"
+  },
+  "bundleDependencies": false,
+  "contributors": [
+    {
+      "name": "Elan Shanker",
+      "url": "https://github.com/es128"
+    },
+    {
+      "name": "Jon Schlinkert",
+      "url": "http://twitter.com/jonschlinkert"
+    },
+    {
+      "name": "Shinnosuke Watanabe",
+      "url": "https://shinnn.github.io"
+    },
+    {
+      "url": "http://sobak.pl"
+    }
+  ],
+  "dependencies": {
+    "is-relative": "^1.0.0",
+    "is-windows": "^1.0.1"
+  },
+  "deprecated": false,
+  "description": "Returns true if a file path is absolute. Does not rely on the path module and can be used as a polyfill for node.js native `path.isAbolute`.",
+  "devDependencies": {
+    "gulp-format-md": "^1.0.0",
+    "mocha": "^3.4.2"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/jonschlinkert/is-absolute",
+  "keywords": [
+    "absolute",
+    "built",
+    "built-in",
+    "check",
+    "core",
+    "detect",
+    "dir",
+    "file",
+    "filepath",
+    "is",
+    "is-absolute",
+    "isabsolute",
+    "normalize",
+    "path",
+    "path-absolute",
+    "path-is-absolute",
+    "paths",
+    "polyfill",
+    "relative",
+    "resolve",
+    "shim",
+    "slash",
+    "slashes",
+    "uri",
+    "url",
+    "util",
+    "utils"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "is-absolute",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jonschlinkert/is-absolute.git"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "verb": {
+    "run": true,
+    "toc": false,
+    "layout": "default",
+    "tasks": [
+      "readme"
+    ],
+    "plugins": [
+      "gulp-format-md"
+    ],
+    "related": {
+      "list": [
+        "is-dotfile",
+        "is-glob",
+        "is-relative",
+        "is-unc-path",
+        "is-valid-glob"
+      ]
+    },
+    "reflinks": [
+      "verb"
+    ],
+    "lint": {
+      "reflinks": true
+    }
+  },
+  "version": "1.0.0"
+}
