diff --git a/node_modules/is-gif/index.js b/node_modules/is-gif/index.js
new file mode 100644
index 0000000..962ce8b
--- /dev/null
+++ b/node_modules/is-gif/index.js
@@ -0,0 +1,12 @@
+'use strict';
+const fileType = require('file-type');
+
+module.exports = input => {
+	const match = fileType(input);
+
+	if (!match) {
+		return false;
+	}
+
+	return match.ext === 'gif';
+};
diff --git a/node_modules/is-gif/license b/node_modules/is-gif/license
new file mode 100644
index 0000000..e7af2f7
--- /dev/null
+++ b/node_modules/is-gif/license
@@ -0,0 +1,9 @@
+MIT License
+
+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/is-gif/package.json b/node_modules/is-gif/package.json
new file mode 100644
index 0000000..6d0e297
--- /dev/null
+++ b/node_modules/is-gif/package.json
@@ -0,0 +1,77 @@
+{
+  "_from": "is-gif@^3.0.0",
+  "_id": "is-gif@3.0.0",
+  "_inBundle": false,
+  "_integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==",
+  "_location": "/is-gif",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "is-gif@^3.0.0",
+    "name": "is-gif",
+    "escapedName": "is-gif",
+    "rawSpec": "^3.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^3.0.0"
+  },
+  "_requiredBy": [
+    "/imagemin-gifsicle"
+  ],
+  "_resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz",
+  "_shasum": "c4be60b26a301d695bb833b20d9b5d66c6cf83b1",
+  "_spec": "is-gif@^3.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\imagemin-gifsicle",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/is-gif/issues"
+  },
+  "bundleDependencies": false,
+  "dependencies": {
+    "file-type": "^10.4.0"
+  },
+  "deprecated": false,
+  "description": "Check if a Buffer/Uint8Array is a GIF image",
+  "devDependencies": {
+    "ava": "^0.25.0",
+    "xo": "^0.23.0"
+  },
+  "engines": {
+    "node": ">=6"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/is-gif#readme",
+  "keywords": [
+    "gif",
+    "graphics",
+    "image",
+    "img",
+    "pic",
+    "picture",
+    "photo",
+    "type",
+    "detect",
+    "check",
+    "is",
+    "exif",
+    "binary",
+    "buffer",
+    "uint8array"
+  ],
+  "license": "MIT",
+  "name": "is-gif",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/is-gif.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "3.0.0"
+}
diff --git a/node_modules/is-gif/readme.md b/node_modules/is-gif/readme.md
new file mode 100644
index 0000000..bd548b8
--- /dev/null
+++ b/node_modules/is-gif/readme.md
@@ -0,0 +1,44 @@
+# is-gif [![Build Status](https://travis-ci.com/sindresorhus/is-gif.svg?branch=master)](https://travis-ci.com/sindresorhus/is-gif)
+
+> Check if a Buffer/Uint8Array is a [GIF](https://en.wikipedia.org/wiki/Graphics_Interchange_Format) image
+
+
+## Install
+
+```
+$ npm install is-gif
+```
+
+
+## Usage
+
+```js
+const readChunk = require('read-chunk');
+const isGif = require('is-gif');
+
+const buffer = readChunk.sync('unicorn.gif', 0, 3);
+
+isGif(buffer);
+//=> true
+```
+
+
+## API
+
+### isGif(input)
+
+#### input
+
+Type: `Buffer` `Uint8Array`
+
+It only needs the first 3 bytes.
+
+
+## Related
+
+- [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer/Uint8Array
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
