diff --git a/node_modules/tempfile/index.js b/node_modules/tempfile/index.js
new file mode 100644
index 0000000..5a44ea6
--- /dev/null
+++ b/node_modules/tempfile/index.js
@@ -0,0 +1,6 @@
+'use strict';
+const path = require('path');
+const uuid = require('uuid');
+const tempDir = require('temp-dir');
+
+module.exports = ext => path.join(tempDir, uuid.v4() + (ext || ''));
diff --git a/node_modules/tempfile/license b/node_modules/tempfile/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/tempfile/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+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/tempfile/package.json b/node_modules/tempfile/package.json
new file mode 100644
index 0000000..6951477
--- /dev/null
+++ b/node_modules/tempfile/package.json
@@ -0,0 +1,73 @@
+{
+  "_from": "tempfile@^2.0.0",
+  "_id": "tempfile@2.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+  "_location": "/tempfile",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "tempfile@^2.0.0",
+    "name": "tempfile",
+    "escapedName": "tempfile",
+    "rawSpec": "^2.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^2.0.0"
+  },
+  "_requiredBy": [
+    "/bin-build",
+    "/exec-buffer"
+  ],
+  "_resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz",
+  "_shasum": "6b0446856a9b1114d1856ffcbe509cccb0977265",
+  "_spec": "tempfile@^2.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\exec-buffer",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/tempfile/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {
+    "temp-dir": "^1.0.0",
+    "uuid": "^3.0.1"
+  },
+  "deprecated": false,
+  "description": "Get a random temporary file path",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=4"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/tempfile#readme",
+  "keywords": [
+    "tmp",
+    "temp",
+    "temporary",
+    "tempfile",
+    "file",
+    "path",
+    "random",
+    "rand",
+    "uuid"
+  ],
+  "license": "MIT",
+  "name": "tempfile",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/tempfile.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "2.0.0"
+}
diff --git a/node_modules/tempfile/readme.md b/node_modules/tempfile/readme.md
new file mode 100644
index 0000000..211ba91
--- /dev/null
+++ b/node_modules/tempfile/readme.md
@@ -0,0 +1,47 @@
+# tempfile [![Build Status](https://travis-ci.org/sindresorhus/tempfile.svg?branch=master)](https://travis-ci.org/sindresorhus/tempfile)
+
+> Get a random temporary file path
+
+**Checkout out [`tempy`](https://github.com/sindresorhus/tempy) which is better take on this module.**
+
+
+## Install
+
+```
+$ npm install --save tempfile
+```
+
+
+## Usage
+
+```js
+const tempfile = require('tempfile');
+
+tempfile('.png');
+//=> '/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/4049f192-43e7-43b2-98d9-094e6760861b.png'
+
+tempfile();
+//=> '/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/6271e235-13b9-4138-8b9b-ee2f26c09ce3'
+```
+
+
+## API
+
+### tempfile([extension])
+
+#### extension
+
+Type: `string`
+
+Extension to append to the path.
+
+
+## Related
+
+- [tempy](https://github.com/sindresorhus/tempy) - Get a random temporary file or directory path
+- [temp-write](https://github.com/sindresorhus/temp-write) - Write string/buffer/stream to a random temp file
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
