From 1e701a7a3cb9be4ce1714e90a79cbdfbebe57a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=98=E7=9A=93=E7=8E=AE?= <1436619890@qq.com> Date: Mon, 31 Oct 2022 17:43:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0new=20=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .jshintrc | 19 + CONTRIBUTING.md | 33 + LICENSE.txt | 21 + README2.md | 40 + Rakefile | 11 + favicon.ico | Bin 0 -> 4286 bytes index.html | 99 + js/animframe_polyfill.js | 28 + js/application.js | 4 + js/bind_polyfill.js | 9 + js/classlist_polyfill.js | 71 + js/game_manager.js | 272 ++ js/grid.js | 117 + js/html_actuator.js | 139 + js/keyboard_input_manager.js | 144 + js/local_storage_manager.js | 63 + js/tile.js | 27 + meta/apple-touch-icon.png | Bin 0 -> 5808 bytes meta/apple-touch-startup-image-640x1096.png | Bin 0 -> 70707 bytes meta/apple-touch-startup-image-640x920.png | Bin 0 -> 42020 bytes package-lock.json | 3765 +++++++++++++++++++ package.json | 18 + preview.yml | 10 + style/fonts/ClearSans-Bold-webfont.eot | Bin 0 -> 23821 bytes style/fonts/ClearSans-Bold-webfont.svg | 640 ++++ style/fonts/ClearSans-Bold-webfont.woff | Bin 0 -> 27120 bytes style/fonts/ClearSans-Light-webfont.eot | Bin 0 -> 25570 bytes style/fonts/ClearSans-Light-webfont.svg | 670 ++++ style/fonts/ClearSans-Light-webfont.woff | Bin 0 -> 28700 bytes style/fonts/ClearSans-Regular-webfont.eot | Bin 0 -> 23490 bytes style/fonts/ClearSans-Regular-webfont.svg | 669 ++++ style/fonts/ClearSans-Regular-webfont.woff | Bin 0 -> 26764 bytes style/fonts/clear-sans.css | 30 + style/helpers.scss | 82 + style/main.css | 758 ++++ style/main.scss | 549 +++ 37 files changed, 8290 insertions(+) create mode 100644 .gitignore create mode 100644 .jshintrc create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.txt create mode 100644 README2.md create mode 100644 Rakefile create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 js/animframe_polyfill.js create mode 100644 js/application.js create mode 100644 js/bind_polyfill.js create mode 100644 js/classlist_polyfill.js create mode 100644 js/game_manager.js create mode 100644 js/grid.js create mode 100644 js/html_actuator.js create mode 100644 js/keyboard_input_manager.js create mode 100644 js/local_storage_manager.js create mode 100644 js/tile.js create mode 100644 meta/apple-touch-icon.png create mode 100644 meta/apple-touch-startup-image-640x1096.png create mode 100644 meta/apple-touch-startup-image-640x920.png create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 preview.yml create mode 100644 style/fonts/ClearSans-Bold-webfont.eot create mode 100644 style/fonts/ClearSans-Bold-webfont.svg create mode 100644 style/fonts/ClearSans-Bold-webfont.woff create mode 100644 style/fonts/ClearSans-Light-webfont.eot create mode 100644 style/fonts/ClearSans-Light-webfont.svg create mode 100644 style/fonts/ClearSans-Light-webfont.woff create mode 100644 style/fonts/ClearSans-Regular-webfont.eot create mode 100644 style/fonts/ClearSans-Regular-webfont.svg create mode 100644 style/fonts/ClearSans-Regular-webfont.woff create mode 100644 style/fonts/clear-sans.css create mode 100644 style/helpers.scss create mode 100644 style/main.css create mode 100644 style/main.scss diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75856f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.sass-cache/ +node_modules \ No newline at end of file diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..87dbf9a --- /dev/null +++ b/.jshintrc @@ -0,0 +1,19 @@ +{ + "esnext": true, + "indent": 2, + "maxlen": 80, + "freeze": true, + "camelcase": true, + "unused": true, + "eqnull": true, + "proto": true, + "supernew": true, + "noyield": true, + "evil": true, + "node": true, + "boss": true, + "expr": true, + "loopfunc": true, + "white": true, + "maxdepth": 4 +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8b269ae --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,33 @@ +# Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. + +Please follow the house rules to have a bigger chance of your contribution being merged. + +## House rules + +### How to make changes + - To make changes, create a new branch based on `master` (do not create one from `gh-pages` unless strictly necessary) and make them there, then create a Pull Request to master. + `gh-pages` is different from master in that it contains sharing features, analytics and other things that have no direct bearing with the game. `master` is the "pure" version of the game. + - If you want to modify the CSS, please edit the SCSS files present in `style/`: `main.scss` and others. Don't edit the `main.css`, because it's supposed to be generated. + In order to compile your SCSS modifications, you need to use the `sass` gem (install it by running `gem install sass` once Ruby is installed). + To run SASS, simply use the following command: + `sass --unix-newlines --watch style/main.scss` + SASS will automatically recompile your css when changed. + - `Rakefile` contains some tasks that help during development. Feel free to add useful tasks if needed. + - Please use 2-space indentation when editing the JavaScript. A `.jshintrc` file is present, which will help your code to follow the guidelines if you install and run `jshint`. + - Please test your modification thoroughly before submitting your Pull Request. + +### Changes that might not be accepted +We have to be conservative with the core game. This means that some modifications won't be merged, or will have to be evaluated carefully before being merged: + + - Undo/redo features + - Save/reload features + - Changes to how the tiles look or their contents + - Changes to the layout + - Changes to the grid size + +### Changes that are welcome + - Bug fixes + - Compatibility improvements + - "Under the hood" enhancements + - Small changes that don't have an impact on the core gameplay diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..b0dbfa4 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Gabriele Cirulli + +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/README2.md b/README2.md new file mode 100644 index 0000000..8f4bd71 --- /dev/null +++ b/README2.md @@ -0,0 +1,40 @@ +# 2048 +A small clone of [1024](https://play.google.com/store/apps/details?id=com.veewo.a1024), based on [Saming's 2048](http://saming.fr/p/2048/) (also a clone). + +Support Cloud IDE + +Made just for fun. [Play it here!](http://gabrielecirulli.github.io/2048/) + +The official app can also be found on the [Play Store](https://play.google.com/store/apps/details?id=com.gabrielecirulli.app2048) and [App Store!](https://itunes.apple.com/us/app/2048-by-gabriele-cirulli/id868076805) + +### Contributions + +[Anna Harren](https://github.com/iirelu/) and [sigod](https://github.com/sigod) are maintainers for this repository. + +Other notable contributors: + + - [TimPetricola](https://github.com/TimPetricola) added best score storage + - [chrisprice](https://github.com/chrisprice) added custom code for swipe handling on mobile + - [marcingajda](https://github.com/marcingajda) made swipes work on Windows Phone + - [mgarciaisaia](https://github.com/mgarciaisaia) added support for Android 2.3 + +Many thanks to [rayhaanj](https://github.com/rayhaanj), [Mechazawa](https://github.com/Mechazawa), [grant](https://github.com/grant), [remram44](https://github.com/remram44) and [ghoullier](https://github.com/ghoullier) for the many other good contributions. + +### Screenshot + +

+ Screenshot +

+ +That screenshot is fake, by the way. I never reached 2048 :smile: + +## Contributing +Changes and improvements are more than welcome! Feel free to fork and open a pull request. Please make your changes in a specific branch and request to pull into `master`! If you can, please make sure the game fully works before sending the PR, as that will help speed up the process. + +You can find the same information in the [contributing guide.](https://github.com/gabrielecirulli/2048/blob/master/CONTRIBUTING.md) + +## License +2048 is licensed under the [MIT license.](https://github.com/gabrielecirulli/2048/blob/master/LICENSE.txt) + +## Donations +I made this in my spare time, and it's hosted on GitHub (which means I don't have any hosting costs), but if you enjoyed the game and feel like buying me coffee, you can donate at my BTC address: `1Ec6onfsQmoP9kkL3zkpB6c5sA4PVcXU2i`. Thank you very much! diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..3e9851e --- /dev/null +++ b/Rakefile @@ -0,0 +1,11 @@ +require "date" + +namespace :appcache do + desc "update the date in the appcache file (in the gh-pages branch)" + task :update do + appcache = File.read("cache.appcache") + updated = "# Updated: #{DateTime.now}" + + File.write("cache.appcache", appcache.sub(/^# Updated:.*$/, updated)) + end +end diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..22109e04a9f44bde18ec7b7a4b7410d0246521bc GIT binary patch literal 4286 zcmeI0u}T9$5QaxAZ4|*eSlRmm7M9V@SMU{VQ>5?}d;{?n1WA#?B1H-d3kAW#!e}&! z290>`cj4E~-Q@zpx`i3p?A^})&p$J}fvjc=?ypiYKJ9qfY|YFz+;B^_ zFn$f<2q!J!u7@9~i@DVw36{n#zAi#L=w1qYr#f#FwA?@S$6_fB4AP=j)up z&-xU9K1cfvmODrDz4%vq5%c#q+Oh8+)rjYPd=HIz|I|hJ=PnrXPDE_>yDHg+*KulwNh1` literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..0da0ee0 --- /dev/null +++ b/index.html @@ -0,0 +1,99 @@ + + + + + 2048 + + + + + + + + + + + + + + +
+
+

2048

+
+
0
+
0
+
+
+ +
+

Join the numbers and get to the 2048 tile!

+ New Game +
+ +
+
+

+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ +

+ How to play: Use your arrow keys to move the tiles. When two tiles with the same number touch, they merge into one! +

+
+

+ Note: This site is the official version of 2048. You can play it on your phone via http://git.io/2048. All other apps or sites are derivatives or fakes, and should be used with caution. +

+
+

+ Created by Gabriele Cirulli. Based on 1024 by Veewo Studio and conceptually similar to Threes by Asher Vollmer. +

+
+ + + + + + + + + + + + + diff --git a/js/animframe_polyfill.js b/js/animframe_polyfill.js new file mode 100644 index 0000000..c524a99 --- /dev/null +++ b/js/animframe_polyfill.js @@ -0,0 +1,28 @@ +(function () { + var lastTime = 0; + var vendors = ['webkit', 'moz']; + for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || + window[vendors[x] + 'CancelRequestAnimationFrame']; + } + + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = function (callback) { + var currTime = new Date().getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window.setTimeout(function () { + callback(currTime + timeToCall); + }, + timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + } + + if (!window.cancelAnimationFrame) { + window.cancelAnimationFrame = function (id) { + clearTimeout(id); + }; + } +}()); diff --git a/js/application.js b/js/application.js new file mode 100644 index 0000000..2c1108e --- /dev/null +++ b/js/application.js @@ -0,0 +1,4 @@ +// Wait till the browser is ready to render the game (avoids glitches) +window.requestAnimationFrame(function () { + new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager); +}); diff --git a/js/bind_polyfill.js b/js/bind_polyfill.js new file mode 100644 index 0000000..8d9c4a4 --- /dev/null +++ b/js/bind_polyfill.js @@ -0,0 +1,9 @@ +Function.prototype.bind = Function.prototype.bind || function (target) { + var self = this; + return function (args) { + if (!(args instanceof Array)) { + args = [args]; + } + self.apply(target, args); + }; +}; diff --git a/js/classlist_polyfill.js b/js/classlist_polyfill.js new file mode 100644 index 0000000..1789ae7 --- /dev/null +++ b/js/classlist_polyfill.js @@ -0,0 +1,71 @@ +(function () { + if (typeof window.Element === "undefined" || + "classList" in document.documentElement) { + return; + } + + var prototype = Array.prototype, + push = prototype.push, + splice = prototype.splice, + join = prototype.join; + + function DOMTokenList(el) { + this.el = el; + // The className needs to be trimmed and split on whitespace + // to retrieve a list of classes. + var classes = el.className.replace(/^\s+|\s+$/g, '').split(/\s+/); + for (var i = 0; i < classes.length; i++) { + push.call(this, classes[i]); + } + } + + DOMTokenList.prototype = { + add: function (token) { + if (this.contains(token)) return; + push.call(this, token); + this.el.className = this.toString(); + }, + contains: function (token) { + return this.el.className.indexOf(token) != -1; + }, + item: function (index) { + return this[index] || null; + }, + remove: function (token) { + if (!this.contains(token)) return; + for (var i = 0; i < this.length; i++) { + if (this[i] == token) break; + } + splice.call(this, i, 1); + this.el.className = this.toString(); + }, + toString: function () { + return join.call(this, ' '); + }, + toggle: function (token) { + if (!this.contains(token)) { + this.add(token); + } else { + this.remove(token); + } + + return this.contains(token); + } + }; + + window.DOMTokenList = DOMTokenList; + + function defineElementGetter(obj, prop, getter) { + if (Object.defineProperty) { + Object.defineProperty(obj, prop, { + get: getter + }); + } else { + obj.__defineGetter__(prop, getter); + } + } + + defineElementGetter(HTMLElement.prototype, 'classList', function () { + return new DOMTokenList(this); + }); +})(); diff --git a/js/game_manager.js b/js/game_manager.js new file mode 100644 index 0000000..1c13d15 --- /dev/null +++ b/js/game_manager.js @@ -0,0 +1,272 @@ +function GameManager(size, InputManager, Actuator, StorageManager) { + this.size = size; // Size of the grid + this.inputManager = new InputManager; + this.storageManager = new StorageManager; + this.actuator = new Actuator; + + this.startTiles = 2; + + this.inputManager.on("move", this.move.bind(this)); + this.inputManager.on("restart", this.restart.bind(this)); + this.inputManager.on("keepPlaying", this.keepPlaying.bind(this)); + + this.setup(); +} + +// Restart the game +GameManager.prototype.restart = function () { + this.storageManager.clearGameState(); + this.actuator.continueGame(); // Clear the game won/lost message + this.setup(); +}; + +// Keep playing after winning (allows going over 2048) +GameManager.prototype.keepPlaying = function () { + this.keepPlaying = true; + this.actuator.continueGame(); // Clear the game won/lost message +}; + +// Return true if the game is lost, or has won and the user hasn't kept playing +GameManager.prototype.isGameTerminated = function () { + return this.over || (this.won && !this.keepPlaying); +}; + +// Set up the game +GameManager.prototype.setup = function () { + var previousState = this.storageManager.getGameState(); + + // Reload the game from a previous game if present + if (previousState) { + this.grid = new Grid(previousState.grid.size, + previousState.grid.cells); // Reload grid + this.score = previousState.score; + this.over = previousState.over; + this.won = previousState.won; + this.keepPlaying = previousState.keepPlaying; + } else { + this.grid = new Grid(this.size); + this.score = 0; + this.over = false; + this.won = false; + this.keepPlaying = false; + + // Add the initial tiles + this.addStartTiles(); + } + + // Update the actuator + this.actuate(); +}; + +// Set up the initial tiles to start the game with +GameManager.prototype.addStartTiles = function () { + for (var i = 0; i < this.startTiles; i++) { + this.addRandomTile(); + } +}; + +// Adds a tile in a random position +GameManager.prototype.addRandomTile = function () { + if (this.grid.cellsAvailable()) { + var value = Math.random() < 0.9 ? 2 : 4; + var tile = new Tile(this.grid.randomAvailableCell(), value); + + this.grid.insertTile(tile); + } +}; + +// Sends the updated grid to the actuator +GameManager.prototype.actuate = function () { + if (this.storageManager.getBestScore() < this.score) { + this.storageManager.setBestScore(this.score); + } + + // Clear the state when the game is over (game over only, not win) + if (this.over) { + this.storageManager.clearGameState(); + } else { + this.storageManager.setGameState(this.serialize()); + } + + this.actuator.actuate(this.grid, { + score: this.score, + over: this.over, + won: this.won, + bestScore: this.storageManager.getBestScore(), + terminated: this.isGameTerminated() + }); + +}; + +// Represent the current game as an object +GameManager.prototype.serialize = function () { + return { + grid: this.grid.serialize(), + score: this.score, + over: this.over, + won: this.won, + keepPlaying: this.keepPlaying + }; +}; + +// Save all tile positions and remove merger info +GameManager.prototype.prepareTiles = function () { + this.grid.eachCell(function (x, y, tile) { + if (tile) { + tile.mergedFrom = null; + tile.savePosition(); + } + }); +}; + +// Move a tile and its representation +GameManager.prototype.moveTile = function (tile, cell) { + this.grid.cells[tile.x][tile.y] = null; + this.grid.cells[cell.x][cell.y] = tile; + tile.updatePosition(cell); +}; + +// Move tiles on the grid in the specified direction +GameManager.prototype.move = function (direction) { + // 0: up, 1: right, 2: down, 3: left + var self = this; + + if (this.isGameTerminated()) return; // Don't do anything if the game's over + + var cell, tile; + + var vector = this.getVector(direction); + var traversals = this.buildTraversals(vector); + var moved = false; + + // Save the current tile positions and remove merger information + this.prepareTiles(); + + // Traverse the grid in the right direction and move tiles + traversals.x.forEach(function (x) { + traversals.y.forEach(function (y) { + cell = { x: x, y: y }; + tile = self.grid.cellContent(cell); + + if (tile) { + var positions = self.findFarthestPosition(cell, vector); + var next = self.grid.cellContent(positions.next); + + // Only one merger per row traversal? + if (next && next.value === tile.value && !next.mergedFrom) { + var merged = new Tile(positions.next, tile.value * 2); + merged.mergedFrom = [tile, next]; + + self.grid.insertTile(merged); + self.grid.removeTile(tile); + + // Converge the two tiles' positions + tile.updatePosition(positions.next); + + // Update the score + self.score += merged.value; + + // The mighty 2048 tile + if (merged.value === 2048) self.won = true; + } else { + self.moveTile(tile, positions.farthest); + } + + if (!self.positionsEqual(cell, tile)) { + moved = true; // The tile moved from its original cell! + } + } + }); + }); + + if (moved) { + this.addRandomTile(); + + if (!this.movesAvailable()) { + this.over = true; // Game over! + } + + this.actuate(); + } +}; + +// Get the vector representing the chosen direction +GameManager.prototype.getVector = function (direction) { + // Vectors representing tile movement + var map = { + 0: { x: 0, y: -1 }, // Up + 1: { x: 1, y: 0 }, // Right + 2: { x: 0, y: 1 }, // Down + 3: { x: -1, y: 0 } // Left + }; + + return map[direction]; +}; + +// Build a list of positions to traverse in the right order +GameManager.prototype.buildTraversals = function (vector) { + var traversals = { x: [], y: [] }; + + for (var pos = 0; pos < this.size; pos++) { + traversals.x.push(pos); + traversals.y.push(pos); + } + + // Always traverse from the farthest cell in the chosen direction + if (vector.x === 1) traversals.x = traversals.x.reverse(); + if (vector.y === 1) traversals.y = traversals.y.reverse(); + + return traversals; +}; + +GameManager.prototype.findFarthestPosition = function (cell, vector) { + var previous; + + // Progress towards the vector direction until an obstacle is found + do { + previous = cell; + cell = { x: previous.x + vector.x, y: previous.y + vector.y }; + } while (this.grid.withinBounds(cell) && + this.grid.cellAvailable(cell)); + + return { + farthest: previous, + next: cell // Used to check if a merge is required + }; +}; + +GameManager.prototype.movesAvailable = function () { + return this.grid.cellsAvailable() || this.tileMatchesAvailable(); +}; + +// Check for available matches between tiles (more expensive check) +GameManager.prototype.tileMatchesAvailable = function () { + var self = this; + + var tile; + + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + tile = this.grid.cellContent({ x: x, y: y }); + + if (tile) { + for (var direction = 0; direction < 4; direction++) { + var vector = self.getVector(direction); + var cell = { x: x + vector.x, y: y + vector.y }; + + var other = self.grid.cellContent(cell); + + if (other && other.value === tile.value) { + return true; // These two tiles can be merged + } + } + } + } + } + + return false; +}; + +GameManager.prototype.positionsEqual = function (first, second) { + return first.x === second.x && first.y === second.y; +}; diff --git a/js/grid.js b/js/grid.js new file mode 100644 index 0000000..29f0821 --- /dev/null +++ b/js/grid.js @@ -0,0 +1,117 @@ +function Grid(size, previousState) { + this.size = size; + this.cells = previousState ? this.fromState(previousState) : this.empty(); +} + +// Build a grid of the specified size +Grid.prototype.empty = function () { + var cells = []; + + for (var x = 0; x < this.size; x++) { + var row = cells[x] = []; + + for (var y = 0; y < this.size; y++) { + row.push(null); + } + } + + return cells; +}; + +Grid.prototype.fromState = function (state) { + var cells = []; + + for (var x = 0; x < this.size; x++) { + var row = cells[x] = []; + + for (var y = 0; y < this.size; y++) { + var tile = state[x][y]; + row.push(tile ? new Tile(tile.position, tile.value) : null); + } + } + + return cells; +}; + +// Find the first available random position +Grid.prototype.randomAvailableCell = function () { + var cells = this.availableCells(); + + if (cells.length) { + return cells[Math.floor(Math.random() * cells.length)]; + } +}; + +Grid.prototype.availableCells = function () { + var cells = []; + + this.eachCell(function (x, y, tile) { + if (!tile) { + cells.push({ x: x, y: y }); + } + }); + + return cells; +}; + +// Call callback for every cell +Grid.prototype.eachCell = function (callback) { + for (var x = 0; x < this.size; x++) { + for (var y = 0; y < this.size; y++) { + callback(x, y, this.cells[x][y]); + } + } +}; + +// Check if there are any cells available +Grid.prototype.cellsAvailable = function () { + return !!this.availableCells().length; +}; + +// Check if the specified cell is taken +Grid.prototype.cellAvailable = function (cell) { + return !this.cellOccupied(cell); +}; + +Grid.prototype.cellOccupied = function (cell) { + return !!this.cellContent(cell); +}; + +Grid.prototype.cellContent = function (cell) { + if (this.withinBounds(cell)) { + return this.cells[cell.x][cell.y]; + } else { + return null; + } +}; + +// Inserts a tile at its position +Grid.prototype.insertTile = function (tile) { + this.cells[tile.x][tile.y] = tile; +}; + +Grid.prototype.removeTile = function (tile) { + this.cells[tile.x][tile.y] = null; +}; + +Grid.prototype.withinBounds = function (position) { + return position.x >= 0 && position.x < this.size && + position.y >= 0 && position.y < this.size; +}; + +Grid.prototype.serialize = function () { + var cellState = []; + + for (var x = 0; x < this.size; x++) { + var row = cellState[x] = []; + + for (var y = 0; y < this.size; y++) { + row.push(this.cells[x][y] ? this.cells[x][y].serialize() : null); + } + } + + return { + size: this.size, + cells: cellState + }; +}; diff --git a/js/html_actuator.js b/js/html_actuator.js new file mode 100644 index 0000000..6b31f2d --- /dev/null +++ b/js/html_actuator.js @@ -0,0 +1,139 @@ +function HTMLActuator() { + this.tileContainer = document.querySelector(".tile-container"); + this.scoreContainer = document.querySelector(".score-container"); + this.bestContainer = document.querySelector(".best-container"); + this.messageContainer = document.querySelector(".game-message"); + + this.score = 0; +} + +HTMLActuator.prototype.actuate = function (grid, metadata) { + var self = this; + + window.requestAnimationFrame(function () { + self.clearContainer(self.tileContainer); + + grid.cells.forEach(function (column) { + column.forEach(function (cell) { + if (cell) { + self.addTile(cell); + } + }); + }); + + self.updateScore(metadata.score); + self.updateBestScore(metadata.bestScore); + + if (metadata.terminated) { + if (metadata.over) { + self.message(false); // You lose + } else if (metadata.won) { + self.message(true); // You win! + } + } + + }); +}; + +// Continues the game (both restart and keep playing) +HTMLActuator.prototype.continueGame = function () { + this.clearMessage(); +}; + +HTMLActuator.prototype.clearContainer = function (container) { + while (container.firstChild) { + container.removeChild(container.firstChild); + } +}; + +HTMLActuator.prototype.addTile = function (tile) { + var self = this; + + var wrapper = document.createElement("div"); + var inner = document.createElement("div"); + var position = tile.previousPosition || { x: tile.x, y: tile.y }; + var positionClass = this.positionClass(position); + + // We can't use classlist because it somehow glitches when replacing classes + var classes = ["tile", "tile-" + tile.value, positionClass]; + + if (tile.value > 2048) classes.push("tile-super"); + + this.applyClasses(wrapper, classes); + + inner.classList.add("tile-inner"); + inner.textContent = tile.value; + + if (tile.previousPosition) { + // Make sure that the tile gets rendered in the previous position first + window.requestAnimationFrame(function () { + classes[2] = self.positionClass({ x: tile.x, y: tile.y }); + self.applyClasses(wrapper, classes); // Update the position + }); + } else if (tile.mergedFrom) { + classes.push("tile-merged"); + this.applyClasses(wrapper, classes); + + // Render the tiles that merged + tile.mergedFrom.forEach(function (merged) { + self.addTile(merged); + }); + } else { + classes.push("tile-new"); + this.applyClasses(wrapper, classes); + } + + // Add the inner part of the tile to the wrapper + wrapper.appendChild(inner); + + // Put the tile on the board + this.tileContainer.appendChild(wrapper); +}; + +HTMLActuator.prototype.applyClasses = function (element, classes) { + element.setAttribute("class", classes.join(" ")); +}; + +HTMLActuator.prototype.normalizePosition = function (position) { + return { x: position.x + 1, y: position.y + 1 }; +}; + +HTMLActuator.prototype.positionClass = function (position) { + position = this.normalizePosition(position); + return "tile-position-" + position.x + "-" + position.y; +}; + +HTMLActuator.prototype.updateScore = function (score) { + this.clearContainer(this.scoreContainer); + + var difference = score - this.score; + this.score = score; + + this.scoreContainer.textContent = this.score; + + if (difference > 0) { + var addition = document.createElement("div"); + addition.classList.add("score-addition"); + addition.textContent = "+" + difference; + + this.scoreContainer.appendChild(addition); + } +}; + +HTMLActuator.prototype.updateBestScore = function (bestScore) { + this.bestContainer.textContent = bestScore; +}; + +HTMLActuator.prototype.message = function (won) { + var type = won ? "game-won" : "game-over"; + var message = won ? "You win!" : "Game over!"; + + this.messageContainer.classList.add(type); + this.messageContainer.getElementsByTagName("p")[0].textContent = message; +}; + +HTMLActuator.prototype.clearMessage = function () { + // IE only takes one value to remove at a time. + this.messageContainer.classList.remove("game-won"); + this.messageContainer.classList.remove("game-over"); +}; diff --git a/js/keyboard_input_manager.js b/js/keyboard_input_manager.js new file mode 100644 index 0000000..ca01b3c --- /dev/null +++ b/js/keyboard_input_manager.js @@ -0,0 +1,144 @@ +function KeyboardInputManager() { + this.events = {}; + + if (window.navigator.msPointerEnabled) { + //Internet Explorer 10 style + this.eventTouchstart = "MSPointerDown"; + this.eventTouchmove = "MSPointerMove"; + this.eventTouchend = "MSPointerUp"; + } else { + this.eventTouchstart = "touchstart"; + this.eventTouchmove = "touchmove"; + this.eventTouchend = "touchend"; + } + + this.listen(); +} + +KeyboardInputManager.prototype.on = function (event, callback) { + if (!this.events[event]) { + this.events[event] = []; + } + this.events[event].push(callback); +}; + +KeyboardInputManager.prototype.emit = function (event, data) { + var callbacks = this.events[event]; + if (callbacks) { + callbacks.forEach(function (callback) { + callback(data); + }); + } +}; + +KeyboardInputManager.prototype.listen = function () { + var self = this; + + var map = { + 38: 0, // Up + 39: 1, // Right + 40: 2, // Down + 37: 3, // Left + 75: 0, // Vim up + 76: 1, // Vim right + 74: 2, // Vim down + 72: 3, // Vim left + 87: 0, // W + 68: 1, // D + 83: 2, // S + 65: 3 // A + }; + + // Respond to direction keys + document.addEventListener("keydown", function (event) { + var modifiers = event.altKey || event.ctrlKey || event.metaKey || + event.shiftKey; + var mapped = map[event.which]; + + if (!modifiers) { + if (mapped !== undefined) { + event.preventDefault(); + self.emit("move", mapped); + } + } + + // R key restarts the game + if (!modifiers && event.which === 82) { + self.restart.call(self, event); + } + }); + + // Respond to button presses + this.bindButtonPress(".retry-button", this.restart); + this.bindButtonPress(".restart-button", this.restart); + this.bindButtonPress(".keep-playing-button", this.keepPlaying); + + // Respond to swipe events + var touchStartClientX, touchStartClientY; + var gameContainer = document.getElementsByClassName("game-container")[0]; + + gameContainer.addEventListener(this.eventTouchstart, function (event) { + if ((!window.navigator.msPointerEnabled && event.touches.length > 1) || + event.targetTouches.length > 1) { + return; // Ignore if touching with more than 1 finger + } + + if (window.navigator.msPointerEnabled) { + touchStartClientX = event.pageX; + touchStartClientY = event.pageY; + } else { + touchStartClientX = event.touches[0].clientX; + touchStartClientY = event.touches[0].clientY; + } + + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchmove, function (event) { + event.preventDefault(); + }); + + gameContainer.addEventListener(this.eventTouchend, function (event) { + if ((!window.navigator.msPointerEnabled && event.touches.length > 0) || + event.targetTouches.length > 0) { + return; // Ignore if still touching with one or more fingers + } + + var touchEndClientX, touchEndClientY; + + if (window.navigator.msPointerEnabled) { + touchEndClientX = event.pageX; + touchEndClientY = event.pageY; + } else { + touchEndClientX = event.changedTouches[0].clientX; + touchEndClientY = event.changedTouches[0].clientY; + } + + var dx = touchEndClientX - touchStartClientX; + var absDx = Math.abs(dx); + + var dy = touchEndClientY - touchStartClientY; + var absDy = Math.abs(dy); + + if (Math.max(absDx, absDy) > 10) { + // (right : left) : (down : up) + self.emit("move", absDx > absDy ? (dx > 0 ? 1 : 3) : (dy > 0 ? 2 : 0)); + } + }); +}; + +KeyboardInputManager.prototype.restart = function (event) { + event.preventDefault(); + this.emit("restart"); +}; + +KeyboardInputManager.prototype.keepPlaying = function (event) { + event.preventDefault(); + this.emit("keepPlaying"); +}; + +KeyboardInputManager.prototype.bindButtonPress = function (selector, fn) { + var button = document.querySelector(selector); + button.addEventListener("click", fn.bind(this)); + button.addEventListener(this.eventTouchend, fn.bind(this)); +}; diff --git a/js/local_storage_manager.js b/js/local_storage_manager.js new file mode 100644 index 0000000..2ca9cc3 --- /dev/null +++ b/js/local_storage_manager.js @@ -0,0 +1,63 @@ +window.fakeStorage = { + _data: {}, + + setItem: function (id, val) { + return this._data[id] = String(val); + }, + + getItem: function (id) { + return this._data.hasOwnProperty(id) ? this._data[id] : undefined; + }, + + removeItem: function (id) { + return delete this._data[id]; + }, + + clear: function () { + return this._data = {}; + } +}; + +function LocalStorageManager() { + this.bestScoreKey = "bestScore"; + this.gameStateKey = "gameState"; + + var supported = this.localStorageSupported(); + this.storage = supported ? window.localStorage : window.fakeStorage; +} + +LocalStorageManager.prototype.localStorageSupported = function () { + var testKey = "test"; + + try { + var storage = window.localStorage; + storage.setItem(testKey, "1"); + storage.removeItem(testKey); + return true; + } catch (error) { + return false; + } +}; + +// Best score getters/setters +LocalStorageManager.prototype.getBestScore = function () { + return this.storage.getItem(this.bestScoreKey) || 0; +}; + +LocalStorageManager.prototype.setBestScore = function (score) { + this.storage.setItem(this.bestScoreKey, score); +}; + +// Game state getters/setters and clearing +LocalStorageManager.prototype.getGameState = function () { + var stateJSON = this.storage.getItem(this.gameStateKey); + return stateJSON ? JSON.parse(stateJSON) : null; +}; + +LocalStorageManager.prototype.setGameState = function (gameState) { + this.storage.setItem(this.gameStateKey, JSON.stringify(gameState)); +}; + +LocalStorageManager.prototype.clearGameState = function () { + this.storage.removeItem(this.gameStateKey); +}; diff --git a/js/tile.js b/js/tile.js new file mode 100644 index 0000000..92a670a --- /dev/null +++ b/js/tile.js @@ -0,0 +1,27 @@ +function Tile(position, value) { + this.x = position.x; + this.y = position.y; + this.value = value || 2; + + this.previousPosition = null; + this.mergedFrom = null; // Tracks tiles that merged together +} + +Tile.prototype.savePosition = function () { + this.previousPosition = { x: this.x, y: this.y }; +}; + +Tile.prototype.updatePosition = function (position) { + this.x = position.x; + this.y = position.y; +}; + +Tile.prototype.serialize = function () { + return { + position: { + x: this.x, + y: this.y + }, + value: this.value + }; +}; diff --git a/meta/apple-touch-icon.png b/meta/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd20f6092338ef464e440ec84a34c8850fd5d33 GIT binary patch literal 5808 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 RF@%>-K}J=&TGBN5KL9ENn5qB( literal 0 HcmV?d00001 diff --git a/meta/apple-touch-startup-image-640x920.png b/meta/apple-touch-startup-image-640x920.png new file mode 100644 index 0000000000000000000000000000000000000000..17bc9d8322bd3787aee5020f61a4844aae7ca11a GIT binary patch literal 42020 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..caaf37b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3765 @@ +{ + "name": "2048", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "2048", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "live-server": "^1.2.2" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/apache-crypt": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz", + "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==", + "dependencies": { + "unix-crypt-td-js": "^1.1.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/apache-md5": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz", + "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha512-Jbx0+ejo2IOx+cRUYAGS1z6RGc6JfYUNkysZM4u4Sfk1uLlGv814F7/PIjQQAuThLdAWxb74JMGd5J8zex1VQg==", + "dependencies": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.3.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">=4.6.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/live-server": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", + "dependencies": { + "chokidar": "^2.0.4", + "colors": "1.4.0", + "connect": "^3.6.6", + "cors": "latest", + "event-stream": "3.3.4", + "faye-websocket": "0.11.x", + "http-auth": "3.1.x", + "morgan": "^1.9.1", + "object-assign": "latest", + "opn": "latest", + "proxy-middleware": "latest", + "send": "latest", + "serve-index": "^1.9.1" + }, + "bin": { + "live-server": "live-server.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==" + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", + "deprecated": "The package has been renamed to `open`", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha512-EGCG8SeoIRVMhsqHQUdDigB2i7qU7fCsWASwn54+nPutYO8n4q6EiwMzyfWlC+dzRFExP+kvcnDFdBDHoZBU7Q==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + } + }, + "dependencies": { + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "apache-crypt": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz", + "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==", + "requires": { + "unix-crypt-td-js": "^1.1.4" + } + }, + "apache-md5": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz", + "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha512-Jbx0+ejo2IOx+cRUYAGS1z6RGc6JfYUNkysZM4u4Sfk1uLlGv814F7/PIjQQAuThLdAWxb74JMGd5J8zex1VQg==", + "requires": { + "apache-crypt": "^1.1.2", + "apache-md5": "^1.0.6", + "bcryptjs": "^2.3.0", + "uuid": "^3.0.0" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "live-server": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz", + "integrity": "sha512-t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==", + "requires": { + "chokidar": "^2.0.4", + "colors": "1.4.0", + "connect": "^3.6.6", + "cors": "latest", + "event-stream": "3.3.4", + "faye-websocket": "0.11.x", + "http-auth": "3.1.x", + "morgan": "^1.9.1", + "object-assign": "latest", + "opn": "latest", + "proxy-middleware": "latest", + "send": "latest", + "serve-index": "^1.9.1" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "requires": { + "object-visit": "^1.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "opn": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz", + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "requires": { + "through": "~2.3" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha512-EGCG8SeoIRVMhsqHQUdDigB2i7qU7fCsWASwn54+nPutYO8n4q6EiwMzyfWlC+dzRFExP+kvcnDFdBDHoZBU7Q==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "requires": { + "ret": "~0.1.10" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "requires": { + "duplexer": "~0.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unix-crypt-td-js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", + "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1262925 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "2048", + "version": "1.0.0", + "description": "A small clone of [1024](https://play.google.com/store/apps/details?id=com.veewo.a1024), based on [Saming's 2048](http://saming.fr/p/2048/) (also a clone).", + "main": "index.js", + "scripts": { + "dev": "live-server" + }, + "repository": { + "type": "git", + "url": "https://gitcode.net/cloud-ide/2048.git" + }, + "author": "Aresn", + "license": "MIT", + "dependencies": { + "live-server": "^1.2.2" + } +} diff --git a/preview.yml b/preview.yml new file mode 100644 index 0000000..bd0c657 --- /dev/null +++ b/preview.yml @@ -0,0 +1,10 @@ +# preview.yml +autoOpen: false # 打开工作空间时是否自动开启所有应用的预览 +apps: + - port: 5500 # 应用的端口 + run: npm i && npm run dev # 应用的启动命 + command: # 使用此命令启动服务,且不执行run + root: ./ # 应用的启动目录 + name: 2048 # 应用名称 + description: 我的第一个 App。 # 应用描述 + autoOpen: true # 打开工作空间时是否自动开启预览(优先级高于根级 autoOpen diff --git a/style/fonts/ClearSans-Bold-webfont.eot b/style/fonts/ClearSans-Bold-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..3678ef2a44a124fea90895bfa491093a3f2a11fc GIT binary patch literal 23821 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 FVn7M1yXgP` literal 0 HcmV?d00001 diff --git a/style/fonts/ClearSans-Bold-webfont.svg b/style/fonts/ClearSans-Bold-webfont.svg new file mode 100644 index 0000000..aa985ae --- /dev/null +++ b/style/fonts/ClearSans-Bold-webfont.svg @@ -0,0 +1,640 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/style/fonts/ClearSans-Bold-webfont.woff b/style/fonts/ClearSans-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..184a945da400fdcae4bc6445ede163079087d18a GIT binary patch literal 27120 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 QFw!zZW>;c{cT+4ZZH+4t-2eap literal 0 HcmV?d00001 diff --git a/style/fonts/ClearSans-Light-webfont.svg b/style/fonts/ClearSans-Light-webfont.svg new file mode 100644 index 0000000..1d5d2ec --- /dev/null +++ b/style/fonts/ClearSans-Light-webfont.svg @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/style/fonts/ClearSans-Light-webfont.woff b/style/fonts/ClearSans-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..44555e04e957649116504d8169f37e8c0936c92a GIT binary patch literal 28700 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 dO@v4$l8d2CKWjcdI;U` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/style/fonts/ClearSans-Regular-webfont.woff b/style/fonts/ClearSans-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..9d58858d809454e026cdebc3e766154ee8727582 GIT binary patch literal 26764 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 literal 0 HcmV?d00001 diff --git a/style/fonts/clear-sans.css b/style/fonts/clear-sans.css new file mode 100644 index 0000000..de2811d --- /dev/null +++ b/style/fonts/clear-sans.css @@ -0,0 +1,30 @@ +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Light-webfont.eot"); + src: url("ClearSans-Light-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Light-webfont.svg#clear_sans_lightregular") format("svg"), + url("ClearSans-Light-webfont.woff") format("woff"); + font-weight: 200; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Regular-webfont.eot"); + src: url("ClearSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Regular-webfont.svg#clear_sansregular") format("svg"), + url("ClearSans-Regular-webfont.woff") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Clear Sans"; + src: url("ClearSans-Bold-webfont.eot"); + src: url("ClearSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), + url("ClearSans-Bold-webfont.svg#clear_sansbold") format("svg"), + url("ClearSans-Bold-webfont.woff") format("woff"); + font-weight: 700; + font-style: normal; +} + diff --git a/style/helpers.scss b/style/helpers.scss new file mode 100644 index 0000000..72693ee --- /dev/null +++ b/style/helpers.scss @@ -0,0 +1,82 @@ +// Exponent +// From: https://github.com/Team-Sass/Sassy-math/blob/master/sass/math.scss#L36 + +@function exponent($base, $exponent) { + // reset value + $value: $base; + // positive intergers get multiplied + @if $exponent > 1 { + @for $i from 2 through $exponent { + $value: $value * $base; } } + // negitive intergers get divided. A number divided by itself is 1 + @if $exponent < 1 { + @for $i from 0 through -$exponent { + $value: $value / $base; } } + // return the last value written + @return $value; +} + +@function pow($base, $exponent) { + @return exponent($base, $exponent); +} + +// Transition mixins +@mixin transition($args...) { + -webkit-transition: $args; + -moz-transition: $args; + transition: $args; +} + +@mixin transition-property($args...) { + -webkit-transition-property: $args; + -moz-transition-property: $args; + transition-property: $args; +} + +@mixin animation($args...) { + -webkit-animation: $args; + -moz-animation: $args; + animation: $args; +} + +@mixin animation-fill-mode($args...) { + -webkit-animation-fill-mode: $args; + -moz-animation-fill-mode: $args; + animation-fill-mode: $args; +} + +@mixin transform($args...) { + -webkit-transform: $args; + -moz-transform: $args; + -ms-transform: $args; + transform: $args; +} + +// Keyframe animations +@mixin keyframes($animation-name) { + @-webkit-keyframes $animation-name { + @content; + } + @-moz-keyframes $animation-name { + @content; + } + @keyframes $animation-name { + @content; + } +} + +// Media queries +@mixin smaller($width) { + @media screen and (max-width: $width) { + @content; + } +} + +// Clearfix +@mixin clearfix { + &:after { + content: ""; + display: block; + clear: both; + } +} diff --git a/style/main.css b/style/main.css new file mode 100644 index 0000000..ea3cb19 --- /dev/null +++ b/style/main.css @@ -0,0 +1,758 @@ +@import url(fonts/clear-sans.css); +html, body { + margin: 0; + padding: 0; + background: #faf8ef; + color: #776e65; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; } + +body { + margin: 80px 0; } + +.heading:after { + content: ""; + display: block; + clear: both; } + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; } + +@-webkit-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } +@-moz-keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } +@keyframes move-up { + 0% { + top: 25px; + opacity: 1; } + + 100% { + top: -50px; + opacity: 0; } } +.scores-container { + float: right; + text-align: right; } + +.score-container, .best-container { + position: relative; + display: inline-block; + background: #bbada0; + padding: 15px 25px; + font-size: 25px; + height: 25px; + line-height: 47px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; } + .score-container:after, .best-container:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: #eee4da; } + .score-container .score-addition, .best-container .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: 25px; + line-height: 25px; + font-weight: bold; + color: rgba(119, 110, 101, 0.9); + z-index: 100; + -webkit-animation: move-up 600ms ease-in; + -moz-animation: move-up 600ms ease-in; + animation: move-up 600ms ease-in; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + +.score-container:after { + content: "Score"; } + +.best-container:after { + content: "Best"; } + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; } + +a { + color: #776e65; + font-weight: bold; + text-decoration: underline; + cursor: pointer; } + +strong.important { + text-transform: uppercase; } + +hr { + border: none; + border-bottom: 1px solid #d8d4d0; + margin-top: 20px; + margin-bottom: 30px; } + +.container { + width: 500px; + margin: 0 auto; } + +@-webkit-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } +@-moz-keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } +@keyframes fade-in { + 0% { + opacity: 0; } + + 100% { + opacity: 1; } } +.game-container { + margin-top: 40px; + position: relative; + padding: 15px; + cursor: default; + -webkit-touch-callout: none; + -ms-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -ms-touch-action: none; + touch-action: none; + background: #bbada0; + border-radius: 6px; + width: 500px; + height: 500px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + +.grid-container { + position: absolute; + z-index: 1; } + +.grid-row { + margin-bottom: 15px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + +.grid-cell { + width: 106.25px; + height: 106.25px; + margin-right: 15px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + +.tile-container { + position: absolute; + z-index: 2; } + +.tile, .tile .tile-inner { + width: 107px; + height: 107px; + line-height: 107px; } +.tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + -ms-transform: translate(0px, 0px); + transform: translate(0px, 0px); } +.tile.tile-position-1-2 { + -webkit-transform: translate(0px, 121px); + -moz-transform: translate(0px, 121px); + -ms-transform: translate(0px, 121px); + transform: translate(0px, 121px); } +.tile.tile-position-1-3 { + -webkit-transform: translate(0px, 242px); + -moz-transform: translate(0px, 242px); + -ms-transform: translate(0px, 242px); + transform: translate(0px, 242px); } +.tile.tile-position-1-4 { + -webkit-transform: translate(0px, 363px); + -moz-transform: translate(0px, 363px); + -ms-transform: translate(0px, 363px); + transform: translate(0px, 363px); } +.tile.tile-position-2-1 { + -webkit-transform: translate(121px, 0px); + -moz-transform: translate(121px, 0px); + -ms-transform: translate(121px, 0px); + transform: translate(121px, 0px); } +.tile.tile-position-2-2 { + -webkit-transform: translate(121px, 121px); + -moz-transform: translate(121px, 121px); + -ms-transform: translate(121px, 121px); + transform: translate(121px, 121px); } +.tile.tile-position-2-3 { + -webkit-transform: translate(121px, 242px); + -moz-transform: translate(121px, 242px); + -ms-transform: translate(121px, 242px); + transform: translate(121px, 242px); } +.tile.tile-position-2-4 { + -webkit-transform: translate(121px, 363px); + -moz-transform: translate(121px, 363px); + -ms-transform: translate(121px, 363px); + transform: translate(121px, 363px); } +.tile.tile-position-3-1 { + -webkit-transform: translate(242px, 0px); + -moz-transform: translate(242px, 0px); + -ms-transform: translate(242px, 0px); + transform: translate(242px, 0px); } +.tile.tile-position-3-2 { + -webkit-transform: translate(242px, 121px); + -moz-transform: translate(242px, 121px); + -ms-transform: translate(242px, 121px); + transform: translate(242px, 121px); } +.tile.tile-position-3-3 { + -webkit-transform: translate(242px, 242px); + -moz-transform: translate(242px, 242px); + -ms-transform: translate(242px, 242px); + transform: translate(242px, 242px); } +.tile.tile-position-3-4 { + -webkit-transform: translate(242px, 363px); + -moz-transform: translate(242px, 363px); + -ms-transform: translate(242px, 363px); + transform: translate(242px, 363px); } +.tile.tile-position-4-1 { + -webkit-transform: translate(363px, 0px); + -moz-transform: translate(363px, 0px); + -ms-transform: translate(363px, 0px); + transform: translate(363px, 0px); } +.tile.tile-position-4-2 { + -webkit-transform: translate(363px, 121px); + -moz-transform: translate(363px, 121px); + -ms-transform: translate(363px, 121px); + transform: translate(363px, 121px); } +.tile.tile-position-4-3 { + -webkit-transform: translate(363px, 242px); + -moz-transform: translate(363px, 242px); + -ms-transform: translate(363px, 242px); + transform: translate(363px, 242px); } +.tile.tile-position-4-4 { + -webkit-transform: translate(363px, 363px); + -moz-transform: translate(363px, 363px); + -ms-transform: translate(363px, 363px); + transform: translate(363px, 363px); } + +.tile { + position: absolute; + -webkit-transition: 100ms ease-in-out; + -moz-transition: 100ms ease-in-out; + transition: 100ms ease-in-out; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; } + .tile .tile-inner { + border-radius: 3px; + background: #eee4da; + text-align: center; + font-weight: bold; + z-index: 10; + font-size: 55px; } + .tile.tile-2 .tile-inner { + background: #eee4da; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-4 .tile-inner { + background: #ede0c8; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0), inset 0 0 0 1px rgba(255, 255, 255, 0); } + .tile.tile-8 .tile-inner { + color: #f9f6f2; + background: #f2b179; } + .tile.tile-16 .tile-inner { + color: #f9f6f2; + background: #f59563; } + .tile.tile-32 .tile-inner { + color: #f9f6f2; + background: #f67c5f; } + .tile.tile-64 .tile-inner { + color: #f9f6f2; + background: #f65e3b; } + .tile.tile-128 .tile-inner { + color: #f9f6f2; + background: #edcf72; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.2381), inset 0 0 0 1px rgba(255, 255, 255, 0.14286); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-128 .tile-inner { + font-size: 25px; } } + .tile.tile-256 .tile-inner { + color: #f9f6f2; + background: #edcc61; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.31746), inset 0 0 0 1px rgba(255, 255, 255, 0.19048); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-256 .tile-inner { + font-size: 25px; } } + .tile.tile-512 .tile-inner { + color: #f9f6f2; + background: #edc850; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.39683), inset 0 0 0 1px rgba(255, 255, 255, 0.2381); + font-size: 45px; } + @media screen and (max-width: 520px) { + .tile.tile-512 .tile-inner { + font-size: 25px; } } + .tile.tile-1024 .tile-inner { + color: #f9f6f2; + background: #edc53f; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.47619), inset 0 0 0 1px rgba(255, 255, 255, 0.28571); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-1024 .tile-inner { + font-size: 15px; } } + .tile.tile-2048 .tile-inner { + color: #f9f6f2; + background: #edc22e; + box-shadow: 0 0 30px 10px rgba(243, 215, 116, 0.55556), inset 0 0 0 1px rgba(255, 255, 255, 0.33333); + font-size: 35px; } + @media screen and (max-width: 520px) { + .tile.tile-2048 .tile-inner { + font-size: 15px; } } + .tile.tile-super .tile-inner { + color: #f9f6f2; + background: #3c3a32; + font-size: 30px; } + @media screen and (max-width: 520px) { + .tile.tile-super .tile-inner { + font-size: 10px; } } + +@-webkit-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +@-moz-keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +@keyframes appear { + 0% { + opacity: 0; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +.tile-new .tile-inner { + -webkit-animation: appear 200ms ease 100ms; + -moz-animation: appear 200ms ease 100ms; + animation: appear 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +@-webkit-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +@-moz-keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +@keyframes pop { + 0% { + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); } + + 50% { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + + 100% { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); } } +.tile-merged .tile-inner { + z-index: 20; + -webkit-animation: pop 200ms ease 100ms; + -moz-animation: pop 200ms ease 100ms; + animation: pop 200ms ease 100ms; + -webkit-animation-fill-mode: backwards; + -moz-animation-fill-mode: backwards; + animation-fill-mode: backwards; } + +.above-game:after { + content: ""; + display: block; + clear: both; } + +.game-intro { + float: left; + line-height: 42px; + margin-bottom: 0; } + +.restart-button { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + display: block; + text-align: center; + float: right; } + +.game-explanation { + margin-top: 50px; } + +@media screen and (max-width: 520px) { + html, body { + font-size: 15px; } + + body { + margin: 20px 0; + padding: 0 20px; } + + h1.title { + font-size: 27px; + margin-top: 15px; } + + .container { + width: 280px; + margin: 0 auto; } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; } + + .heading { + margin-bottom: 10px; } + + .game-intro { + width: 55%; + display: block; + box-sizing: border-box; + line-height: 1.65; } + + .restart-button { + width: 42%; + padding: 0; + display: block; + box-sizing: border-box; + margin-top: 2px; } + + .game-container { + margin-top: 17px; + position: relative; + padding: 10px; + cursor: default; + -webkit-touch-callout: none; + -ms-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -ms-touch-action: none; + touch-action: none; + background: #bbada0; + border-radius: 6px; + width: 280px; + height: 280px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .game-container .game-message { + display: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(238, 228, 218, 0.5); + z-index: 100; + text-align: center; + -webkit-animation: fade-in 800ms ease 1200ms; + -moz-animation: fade-in 800ms ease 1200ms; + animation: fade-in 800ms ease 1200ms; + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + animation-fill-mode: both; } + .game-container .game-message p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; } + .game-container .game-message .lower { + display: block; + margin-top: 59px; } + .game-container .game-message a { + display: inline-block; + background: #8f7a66; + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: #f9f6f2; + height: 40px; + line-height: 42px; + margin-left: 9px; } + .game-container .game-message a.keep-playing-button { + display: none; } + .game-container .game-message.game-won { + background: rgba(237, 194, 46, 0.5); + color: #f9f6f2; } + .game-container .game-message.game-won a.keep-playing-button { + display: inline-block; } + .game-container .game-message.game-won, .game-container .game-message.game-over { + display: block; } + + .grid-container { + position: absolute; + z-index: 1; } + + .grid-row { + margin-bottom: 10px; } + .grid-row:last-child { + margin-bottom: 0; } + .grid-row:after { + content: ""; + display: block; + clear: both; } + + .grid-cell { + width: 57.5px; + height: 57.5px; + margin-right: 10px; + float: left; + border-radius: 3px; + background: rgba(238, 228, 218, 0.35); } + .grid-cell:last-child { + margin-right: 0; } + + .tile-container { + position: absolute; + z-index: 2; } + + .tile, .tile .tile-inner { + width: 58px; + height: 58px; + line-height: 58px; } + .tile.tile-position-1-1 { + -webkit-transform: translate(0px, 0px); + -moz-transform: translate(0px, 0px); + -ms-transform: translate(0px, 0px); + transform: translate(0px, 0px); } + .tile.tile-position-1-2 { + -webkit-transform: translate(0px, 67px); + -moz-transform: translate(0px, 67px); + -ms-transform: translate(0px, 67px); + transform: translate(0px, 67px); } + .tile.tile-position-1-3 { + -webkit-transform: translate(0px, 135px); + -moz-transform: translate(0px, 135px); + -ms-transform: translate(0px, 135px); + transform: translate(0px, 135px); } + .tile.tile-position-1-4 { + -webkit-transform: translate(0px, 202px); + -moz-transform: translate(0px, 202px); + -ms-transform: translate(0px, 202px); + transform: translate(0px, 202px); } + .tile.tile-position-2-1 { + -webkit-transform: translate(67px, 0px); + -moz-transform: translate(67px, 0px); + -ms-transform: translate(67px, 0px); + transform: translate(67px, 0px); } + .tile.tile-position-2-2 { + -webkit-transform: translate(67px, 67px); + -moz-transform: translate(67px, 67px); + -ms-transform: translate(67px, 67px); + transform: translate(67px, 67px); } + .tile.tile-position-2-3 { + -webkit-transform: translate(67px, 135px); + -moz-transform: translate(67px, 135px); + -ms-transform: translate(67px, 135px); + transform: translate(67px, 135px); } + .tile.tile-position-2-4 { + -webkit-transform: translate(67px, 202px); + -moz-transform: translate(67px, 202px); + -ms-transform: translate(67px, 202px); + transform: translate(67px, 202px); } + .tile.tile-position-3-1 { + -webkit-transform: translate(135px, 0px); + -moz-transform: translate(135px, 0px); + -ms-transform: translate(135px, 0px); + transform: translate(135px, 0px); } + .tile.tile-position-3-2 { + -webkit-transform: translate(135px, 67px); + -moz-transform: translate(135px, 67px); + -ms-transform: translate(135px, 67px); + transform: translate(135px, 67px); } + .tile.tile-position-3-3 { + -webkit-transform: translate(135px, 135px); + -moz-transform: translate(135px, 135px); + -ms-transform: translate(135px, 135px); + transform: translate(135px, 135px); } + .tile.tile-position-3-4 { + -webkit-transform: translate(135px, 202px); + -moz-transform: translate(135px, 202px); + -ms-transform: translate(135px, 202px); + transform: translate(135px, 202px); } + .tile.tile-position-4-1 { + -webkit-transform: translate(202px, 0px); + -moz-transform: translate(202px, 0px); + -ms-transform: translate(202px, 0px); + transform: translate(202px, 0px); } + .tile.tile-position-4-2 { + -webkit-transform: translate(202px, 67px); + -moz-transform: translate(202px, 67px); + -ms-transform: translate(202px, 67px); + transform: translate(202px, 67px); } + .tile.tile-position-4-3 { + -webkit-transform: translate(202px, 135px); + -moz-transform: translate(202px, 135px); + -ms-transform: translate(202px, 135px); + transform: translate(202px, 135px); } + .tile.tile-position-4-4 { + -webkit-transform: translate(202px, 202px); + -moz-transform: translate(202px, 202px); + -ms-transform: translate(202px, 202px); + transform: translate(202px, 202px); } + + .tile .tile-inner { + font-size: 35px; } + + .game-message p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; } + .game-message .lower { + margin-top: 30px !important; } } diff --git a/style/main.scss b/style/main.scss new file mode 100644 index 0000000..b0ec8da --- /dev/null +++ b/style/main.scss @@ -0,0 +1,549 @@ +@import "helpers"; +@import "fonts/clear-sans.css"; + +$field-width: 500px; +$grid-spacing: 15px; +$grid-row-cells: 4; +$tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; +$tile-border-radius: 3px; + +$mobile-threshold: $field-width + 20px; + +$text-color: #776E65; +$bright-text-color: #f9f6f2; + +$tile-color: #eee4da; +$tile-gold-color: #edc22e; +$tile-gold-glow-color: lighten($tile-gold-color, 15%); + +$game-container-margin-top: 40px; +$game-container-background: #bbada0; + +$transition-speed: 100ms; + +html, body { + margin: 0; + padding: 0; + + background: #faf8ef; + color: $text-color; + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; + font-size: 18px; +} + +body { + margin: 80px 0; +} + +.heading { + @include clearfix; +} + +h1.title { + font-size: 80px; + font-weight: bold; + margin: 0; + display: block; + float: left; +} + +@include keyframes(move-up) { + 0% { + top: 25px; + opacity: 1; + } + + 100% { + top: -50px; + opacity: 0; + } +} + +.scores-container { + float: right; + text-align: right; +} + +.score-container, .best-container { + $height: 25px; + + position: relative; + display: inline-block; + background: $game-container-background; + padding: 15px 25px; + font-size: $height; + height: $height; + line-height: $height + 22px; + font-weight: bold; + border-radius: 3px; + color: white; + margin-top: 8px; + text-align: center; + + &:after { + position: absolute; + width: 100%; + top: 10px; + left: 0; + text-transform: uppercase; + font-size: 13px; + line-height: 13px; + text-align: center; + color: $tile-color; + } + + .score-addition { + position: absolute; + right: 30px; + color: red; + font-size: $height; + line-height: $height; + font-weight: bold; + color: rgba($text-color, .9); + z-index: 100; + @include animation(move-up 600ms ease-in); + @include animation-fill-mode(both); + } +} + +.score-container:after { + content: "Score"; +} + +.best-container:after { + content: "Best"; +} + +p { + margin-top: 0; + margin-bottom: 10px; + line-height: 1.65; +} + +a { + color: $text-color; + font-weight: bold; + text-decoration: underline; + cursor: pointer; +} + +strong { + &.important { + text-transform: uppercase; + } +} + +hr { + border: none; + border-bottom: 1px solid lighten($text-color, 40%); + margin-top: 20px; + margin-bottom: 30px; +} + +.container { + width: $field-width; + margin: 0 auto; +} + +@include keyframes(fade-in) { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +// Styles for buttons +@mixin button { + display: inline-block; + background: darken($game-container-background, 20%); + border-radius: 3px; + padding: 0 20px; + text-decoration: none; + color: $bright-text-color; + height: 40px; + line-height: 42px; +} + +// Game field mixin used to render CSS at different width +@mixin game-field { + .game-container { + margin-top: $game-container-margin-top; + position: relative; + padding: $grid-spacing; + + cursor: default; + -webkit-touch-callout: none; + -ms-touch-callout: none; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + + -ms-touch-action: none; + touch-action: none; + + background: $game-container-background; + border-radius: $tile-border-radius * 2; + width: $field-width; + height: $field-width; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + + .game-message { + display: none; + + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba($tile-color, .5); + z-index: 100; + + text-align: center; + + p { + font-size: 60px; + font-weight: bold; + height: 60px; + line-height: 60px; + margin-top: 222px; + // height: $field-width; + // line-height: $field-width; + } + + .lower { + display: block; + margin-top: 59px; + } + + a { + @include button; + margin-left: 9px; + // margin-top: 59px; + + &.keep-playing-button { + display: none; + } + } + + @include animation(fade-in 800ms ease $transition-speed * 12); + @include animation-fill-mode(both); + + &.game-won { + background: rgba($tile-gold-color, .5); + color: $bright-text-color; + + a.keep-playing-button { + display: inline-block; + } + } + + &.game-won, &.game-over { + display: block; + } + } + } + + .grid-container { + position: absolute; + z-index: 1; + } + + .grid-row { + margin-bottom: $grid-spacing; + + &:last-child { + margin-bottom: 0; + } + + &:after { + content: ""; + display: block; + clear: both; + } + } + + .grid-cell { + width: $tile-size; + height: $tile-size; + margin-right: $grid-spacing; + float: left; + + border-radius: $tile-border-radius; + + background: rgba($tile-color, .35); + + &:last-child { + margin-right: 0; + } + } + + .tile-container { + position: absolute; + z-index: 2; + } + + .tile { + &, .tile-inner { + width: ceil($tile-size); + height: ceil($tile-size); + line-height: ceil($tile-size); + } + + // Build position classes + @for $x from 1 through $grid-row-cells { + @for $y from 1 through $grid-row-cells { + &.tile-position-#{$x}-#{$y} { + $xPos: floor(($tile-size + $grid-spacing) * ($x - 1)); + $yPos: floor(($tile-size + $grid-spacing) * ($y - 1)); + @include transform(translate($xPos, $yPos)); + } + } + } + } +} + +// End of game-field mixin +@include game-field; + +.tile { + position: absolute; // Makes transforms relative to the top-left corner + + .tile-inner { + border-radius: $tile-border-radius; + + background: $tile-color; + text-align: center; + font-weight: bold; + z-index: 10; + + font-size: 55px; + } + + // Movement transition + @include transition($transition-speed ease-in-out); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + + $base: 2; + $exponent: 1; + $limit: 11; + + // Colors for all 11 states, false = no special color + $special-colors: false false, // 2 + false false, // 4 + #f78e48 true, // 8 + #fc5e2e true, // 16 + #ff3333 true, // 32 + #ff0000 true, // 64 + false true, // 128 + false true, // 256 + false true, // 512 + false true, // 1024 + false true; // 2048 + + // Build tile colors + @while $exponent <= $limit { + $power: pow($base, $exponent); + + &.tile-#{$power} .tile-inner { + // Calculate base background color + $gold-percent: ($exponent - 1) / ($limit - 1) * 100; + $mixed-background: mix($tile-gold-color, $tile-color, $gold-percent); + + $nth-color: nth($special-colors, $exponent); + + $special-background: nth($nth-color, 1); + $bright-color: nth($nth-color, 2); + + @if $special-background { + $mixed-background: mix($special-background, $mixed-background, 55%); + } + + @if $bright-color { + color: $bright-text-color; + } + + // Set background + background: $mixed-background; + + // Add glow + $glow-opacity: max($exponent - 4, 0) / ($limit - 4); + + @if not $special-background { + box-shadow: 0 0 30px 10px rgba($tile-gold-glow-color, $glow-opacity / 1.8), + inset 0 0 0 1px rgba(white, $glow-opacity / 3); + } + + // Adjust font size for bigger numbers + @if $power >= 100 and $power < 1000 { + font-size: 45px; + + // Media queries placed here to avoid carrying over the rest of the logic + @include smaller($mobile-threshold) { + font-size: 25px; + } + } @else if $power >= 1000 { + font-size: 35px; + + @include smaller($mobile-threshold) { + font-size: 15px; + } + } + } + + $exponent: $exponent + 1; + } + + // Super tiles (above 2048) + &.tile-super .tile-inner { + color: $bright-text-color; + background: mix(#333, $tile-gold-color, 95%); + + font-size: 30px; + + @include smaller($mobile-threshold) { + font-size: 10px; + } + } +} + +@include keyframes(appear) { + 0% { + opacity: 0; + @include transform(scale(0)); + } + + 100% { + opacity: 1; + @include transform(scale(1)); + } +} + +.tile-new .tile-inner { + @include animation(appear 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +@include keyframes(pop) { + 0% { + @include transform(scale(0)); + } + + 50% { + @include transform(scale(1.2)); + } + + 100% { + @include transform(scale(1)); + } +} + +.tile-merged .tile-inner { + z-index: 20; + @include animation(pop 200ms ease $transition-speed); + @include animation-fill-mode(backwards); +} + +.above-game { + @include clearfix; +} + +.game-intro { + float: left; + line-height: 42px; + margin-bottom: 0; +} + +.restart-button { + @include button; + display: block; + text-align: center; + float: right; +} + +.game-explanation { + margin-top: 50px; +} + +@include smaller($mobile-threshold) { + // Redefine variables for smaller screens + $field-width: 280px; + $grid-spacing: 10px; + $grid-row-cells: 4; + $tile-size: ($field-width - $grid-spacing * ($grid-row-cells + 1)) / $grid-row-cells; + $tile-border-radius: 3px; + $game-container-margin-top: 17px; + + html, body { + font-size: 15px; + } + + body { + margin: 20px 0; + padding: 0 20px; + } + + h1.title { + font-size: 27px; + margin-top: 15px; + } + + .container { + width: $field-width; + margin: 0 auto; + } + + .score-container, .best-container { + margin-top: 0; + padding: 15px 10px; + min-width: 40px; + } + + .heading { + margin-bottom: 10px; + } + + // Show intro and restart button side by side + .game-intro { + width: 55%; + display: block; + box-sizing: border-box; + line-height: 1.65; + } + + .restart-button { + width: 42%; + padding: 0; + display: block; + box-sizing: border-box; + margin-top: 2px; + } + + // Render the game field at the right width + @include game-field; + + // Rest of the font-size adjustments in the tile class + .tile .tile-inner { + font-size: 35px; + } + + .game-message { + p { + font-size: 30px !important; + height: 30px !important; + line-height: 30px !important; + margin-top: 90px !important; + } + + .lower { + margin-top: 30px !important; + } + } +} -- GitLab