socket.io 2 -> 4, node-static replaced with serve
This commit is contained in:
		
							parent
							
								
									f7a44991a4
								
							
						
					
					
						commit
						baa9601db5
					
				
					 6 changed files with 671 additions and 230 deletions
				
			
		| 
						 | 
					@ -123,7 +123,7 @@ npm install requirejs -g
 | 
				
			||||||
r.js -o requirejs.build.js
 | 
					r.js -o requirejs.build.js
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(or in windows)
 | 
					(or in windows, as you'll get a script error from the above script)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
r.js.cmd -o requirejs.build.js
 | 
					r.js.cmd -o requirejs.build.js
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										866
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										866
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -4,6 +4,31 @@
 | 
				
			||||||
  "lockfileVersion": 1,
 | 
					  "lockfileVersion": 1,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "@types/component-emitter": {
 | 
				
			||||||
 | 
					      "version": "1.2.10",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/cookie": {
 | 
				
			||||||
 | 
					      "version": "0.4.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/cors": {
 | 
				
			||||||
 | 
					      "version": "2.8.12",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/node": {
 | 
				
			||||||
 | 
					      "version": "16.10.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@zeit/schemas": {
 | 
				
			||||||
 | 
					      "version": "2.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "accepts": {
 | 
					    "accepts": {
 | 
				
			||||||
      "version": "1.3.7",
 | 
					      "version": "1.3.7",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 | 
				
			||||||
| 
						 | 
					@ -13,20 +38,52 @@
 | 
				
			||||||
        "negotiator": "0.6.2"
 | 
					        "negotiator": "0.6.2"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "after": {
 | 
					    "ajv": {
 | 
				
			||||||
      "version": "0.8.2",
 | 
					      "version": "6.12.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
 | 
				
			||||||
      "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
 | 
					      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "fast-deep-equal": "^3.1.1",
 | 
				
			||||||
 | 
					        "fast-json-stable-stringify": "^2.0.0",
 | 
				
			||||||
 | 
					        "json-schema-traverse": "^0.4.1",
 | 
				
			||||||
 | 
					        "uri-js": "^4.2.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "arraybuffer.slice": {
 | 
					    "ansi-align": {
 | 
				
			||||||
      "version": "0.0.7",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
 | 
					      "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "string-width": "^2.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "backo2": {
 | 
					    "ansi-regex": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ansi-styles": {
 | 
				
			||||||
 | 
					      "version": "3.2.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "color-convert": "^1.9.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "arch": {
 | 
				
			||||||
 | 
					      "version": "2.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "arg": {
 | 
				
			||||||
 | 
					      "version": "2.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "balanced-match": {
 | 
				
			||||||
      "version": "1.0.2",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
 | 
					      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "base64-arraybuffer": {
 | 
					    "base64-arraybuffer": {
 | 
				
			||||||
      "version": "0.1.4",
 | 
					      "version": "0.1.4",
 | 
				
			||||||
| 
						 | 
					@ -38,289 +95,672 @@
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
 | 
					      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "blob": {
 | 
					    "boxen": {
 | 
				
			||||||
      "version": "0.0.5",
 | 
					      "version": "1.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig=="
 | 
					      "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ansi-align": "^2.0.0",
 | 
				
			||||||
 | 
					        "camelcase": "^4.0.0",
 | 
				
			||||||
 | 
					        "chalk": "^2.0.1",
 | 
				
			||||||
 | 
					        "cli-boxes": "^1.0.0",
 | 
				
			||||||
 | 
					        "string-width": "^2.0.0",
 | 
				
			||||||
 | 
					        "term-size": "^1.2.0",
 | 
				
			||||||
 | 
					        "widest-line": "^2.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "colors": {
 | 
					    "brace-expansion": {
 | 
				
			||||||
      "version": "1.3.3",
 | 
					      "version": "1.1.11",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 | 
				
			||||||
      "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg=="
 | 
					      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "balanced-match": "^1.0.0",
 | 
				
			||||||
 | 
					        "concat-map": "0.0.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "component-bind": {
 | 
					    "bytes": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "camelcase": {
 | 
				
			||||||
 | 
					      "version": "4.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "chalk": {
 | 
				
			||||||
 | 
					      "version": "2.4.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ansi-styles": "^3.2.1",
 | 
				
			||||||
 | 
					        "escape-string-regexp": "^1.0.5",
 | 
				
			||||||
 | 
					        "supports-color": "^5.3.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "cli-boxes": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
 | 
					      "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "clipboardy": {
 | 
				
			||||||
 | 
					      "version": "2.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "arch": "^2.1.1",
 | 
				
			||||||
 | 
					        "execa": "^1.0.0",
 | 
				
			||||||
 | 
					        "is-wsl": "^2.1.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "cross-spawn": {
 | 
				
			||||||
 | 
					          "version": "6.0.5",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "nice-try": "^1.0.4",
 | 
				
			||||||
 | 
					            "path-key": "^2.0.1",
 | 
				
			||||||
 | 
					            "semver": "^5.5.0",
 | 
				
			||||||
 | 
					            "shebang-command": "^1.2.0",
 | 
				
			||||||
 | 
					            "which": "^1.2.9"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "execa": {
 | 
				
			||||||
 | 
					          "version": "1.0.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "cross-spawn": "^6.0.0",
 | 
				
			||||||
 | 
					            "get-stream": "^4.0.0",
 | 
				
			||||||
 | 
					            "is-stream": "^1.1.0",
 | 
				
			||||||
 | 
					            "npm-run-path": "^2.0.0",
 | 
				
			||||||
 | 
					            "p-finally": "^1.0.0",
 | 
				
			||||||
 | 
					            "signal-exit": "^3.0.0",
 | 
				
			||||||
 | 
					            "strip-eof": "^1.0.0"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "get-stream": {
 | 
				
			||||||
 | 
					          "version": "4.1.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "pump": "^3.0.0"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "color-convert": {
 | 
				
			||||||
 | 
					      "version": "1.9.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "color-name": "1.1.3"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "color-name": {
 | 
				
			||||||
 | 
					      "version": "1.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "component-emitter": {
 | 
					    "component-emitter": {
 | 
				
			||||||
      "version": "1.3.0",
 | 
					      "version": "1.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
 | 
					      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "component-inherit": {
 | 
					    "compressible": {
 | 
				
			||||||
      "version": "0.0.3",
 | 
					      "version": "2.0.18",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
 | 
				
			||||||
      "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
 | 
					      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "mime-db": ">= 1.43.0 < 2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "compression": {
 | 
				
			||||||
 | 
					      "version": "1.7.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "accepts": "~1.3.5",
 | 
				
			||||||
 | 
					        "bytes": "3.0.0",
 | 
				
			||||||
 | 
					        "compressible": "~2.0.14",
 | 
				
			||||||
 | 
					        "debug": "2.6.9",
 | 
				
			||||||
 | 
					        "on-headers": "~1.0.1",
 | 
				
			||||||
 | 
					        "safe-buffer": "5.1.2",
 | 
				
			||||||
 | 
					        "vary": "~1.1.2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "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"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "ms": {
 | 
				
			||||||
 | 
					          "version": "2.0.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "concat-map": {
 | 
				
			||||||
 | 
					      "version": "0.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "content-disposition": {
 | 
				
			||||||
 | 
					      "version": "0.5.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cookie": {
 | 
					    "cookie": {
 | 
				
			||||||
      "version": "0.4.1",
 | 
					      "version": "0.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
 | 
					      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "debug": {
 | 
					    "cors": {
 | 
				
			||||||
      "version": "4.1.1",
 | 
					      "version": "2.8.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 | 
					      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "ms": "^2.1.1"
 | 
					        "object-assign": "^4",
 | 
				
			||||||
 | 
					        "vary": "^1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "cross-spawn": {
 | 
				
			||||||
 | 
					      "version": "5.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "lru-cache": "^4.0.1",
 | 
				
			||||||
 | 
					        "shebang-command": "^1.2.0",
 | 
				
			||||||
 | 
					        "which": "^1.2.9"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "debug": {
 | 
				
			||||||
 | 
					      "version": "4.3.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ms": "2.1.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "deep-extend": {
 | 
				
			||||||
 | 
					      "version": "0.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "end-of-stream": {
 | 
				
			||||||
 | 
					      "version": "1.4.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "once": "^1.4.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "engine.io": {
 | 
					    "engine.io": {
 | 
				
			||||||
      "version": "3.5.0",
 | 
					      "version": "5.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==",
 | 
					      "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "accepts": "~1.3.4",
 | 
					        "accepts": "~1.3.4",
 | 
				
			||||||
        "base64id": "2.0.0",
 | 
					        "base64id": "2.0.0",
 | 
				
			||||||
        "cookie": "~0.4.1",
 | 
					        "cookie": "~0.4.1",
 | 
				
			||||||
        "debug": "~4.1.0",
 | 
					        "cors": "~2.8.5",
 | 
				
			||||||
        "engine.io-parser": "~2.2.0",
 | 
					        "debug": "~4.3.1",
 | 
				
			||||||
 | 
					        "engine.io-parser": "~4.0.0",
 | 
				
			||||||
        "ws": "~7.4.2"
 | 
					        "ws": "~7.4.2"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "engine.io-client": {
 | 
					    "engine.io-parser": {
 | 
				
			||||||
      "version": "3.5.0",
 | 
					      "version": "4.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==",
 | 
					      "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "component-emitter": "~1.3.0",
 | 
					        "base64-arraybuffer": "0.1.4"
 | 
				
			||||||
        "component-inherit": "0.0.3",
 | 
					      }
 | 
				
			||||||
        "debug": "~3.1.0",
 | 
					    },
 | 
				
			||||||
        "engine.io-parser": "~2.2.0",
 | 
					    "escape-string-regexp": {
 | 
				
			||||||
        "has-cors": "1.1.0",
 | 
					      "version": "1.0.5",
 | 
				
			||||||
        "indexof": "0.0.1",
 | 
					      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 | 
				
			||||||
        "parseqs": "0.0.6",
 | 
					      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
 | 
				
			||||||
        "parseuri": "0.0.6",
 | 
					    },
 | 
				
			||||||
        "ws": "~7.4.2",
 | 
					    "execa": {
 | 
				
			||||||
        "xmlhttprequest-ssl": "~1.5.4",
 | 
					      "version": "0.7.0",
 | 
				
			||||||
        "yeast": "0.1.2"
 | 
					      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "cross-spawn": "^5.0.1",
 | 
				
			||||||
 | 
					        "get-stream": "^3.0.0",
 | 
				
			||||||
 | 
					        "is-stream": "^1.1.0",
 | 
				
			||||||
 | 
					        "npm-run-path": "^2.0.0",
 | 
				
			||||||
 | 
					        "p-finally": "^1.0.0",
 | 
				
			||||||
 | 
					        "signal-exit": "^3.0.0",
 | 
				
			||||||
 | 
					        "strip-eof": "^1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "fast-deep-equal": {
 | 
				
			||||||
 | 
					      "version": "3.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "fast-json-stable-stringify": {
 | 
				
			||||||
 | 
					      "version": "2.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "fast-url-parser": {
 | 
				
			||||||
 | 
					      "version": "1.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "punycode": "^1.3.2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "debug": {
 | 
					        "punycode": {
 | 
				
			||||||
          "version": "3.1.0",
 | 
					          "version": "1.4.1",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
 | 
				
			||||||
          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
 | 
					          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
 | 
				
			||||||
          "requires": {
 | 
					 | 
				
			||||||
            "ms": "2.0.0"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "ms": {
 | 
					 | 
				
			||||||
          "version": "2.0.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "engine.io-parser": {
 | 
					    "get-stream": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "has-flag": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ini": {
 | 
				
			||||||
 | 
					      "version": "1.3.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "is-docker": {
 | 
				
			||||||
      "version": "2.2.1",
 | 
					      "version": "2.2.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==",
 | 
					      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "after": "0.8.2",
 | 
					 | 
				
			||||||
        "arraybuffer.slice": "~0.0.7",
 | 
					 | 
				
			||||||
        "base64-arraybuffer": "0.1.4",
 | 
					 | 
				
			||||||
        "blob": "0.0.5",
 | 
					 | 
				
			||||||
        "has-binary2": "~1.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "has-binary2": {
 | 
					    "is-fullwidth-code-point": {
 | 
				
			||||||
      "version": "1.0.3",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
 | 
					      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "isarray": "2.0.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "has-cors": {
 | 
					    "is-stream": {
 | 
				
			||||||
      "version": "1.1.0",
 | 
					      "version": "1.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
 | 
					      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "indexof": {
 | 
					    "is-wsl": {
 | 
				
			||||||
      "version": "0.0.1",
 | 
					      "version": "2.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
 | 
					      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "is-docker": "^2.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "isarray": {
 | 
					    "isexe": {
 | 
				
			||||||
      "version": "2.0.1",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
 | 
					      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mime": {
 | 
					    "json-schema-traverse": {
 | 
				
			||||||
      "version": "1.6.0",
 | 
					      "version": "0.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
 | 
					      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "lru-cache": {
 | 
				
			||||||
 | 
					      "version": "4.1.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "pseudomap": "^1.0.2",
 | 
				
			||||||
 | 
					        "yallist": "^2.1.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mime-db": {
 | 
					    "mime-db": {
 | 
				
			||||||
      "version": "1.45.0",
 | 
					      "version": "1.50.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w=="
 | 
					      "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mime-types": {
 | 
					    "mime-types": {
 | 
				
			||||||
      "version": "2.1.28",
 | 
					      "version": "2.1.33",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
 | 
				
			||||||
      "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
 | 
					      "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "mime-db": "1.45.0"
 | 
					        "mime-db": "1.50.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "minimatch": {
 | 
				
			||||||
 | 
					      "version": "3.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "brace-expansion": "^1.1.7"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "minimist": {
 | 
					    "minimist": {
 | 
				
			||||||
      "version": "0.0.10",
 | 
					      "version": "1.2.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
 | 
				
			||||||
      "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
 | 
					      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "ms": {
 | 
					    "ms": {
 | 
				
			||||||
      "version": "2.1.3",
 | 
					      "version": "2.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
 | 
					      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "negotiator": {
 | 
					    "negotiator": {
 | 
				
			||||||
      "version": "0.6.2",
 | 
					      "version": "0.6.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
					      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node-static": {
 | 
					    "nice-try": {
 | 
				
			||||||
      "version": "0.7.11",
 | 
					      "version": "1.0.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.11.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==",
 | 
					      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "npm-run-path": {
 | 
				
			||||||
 | 
					      "version": "2.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "colors": ">=0.6.0",
 | 
					        "path-key": "^2.0.0"
 | 
				
			||||||
        "mime": "^1.2.9",
 | 
					 | 
				
			||||||
        "optimist": ">=0.3.4"
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "optimist": {
 | 
					    "object-assign": {
 | 
				
			||||||
      "version": "0.6.1",
 | 
					      "version": "4.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
 | 
					      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "once": {
 | 
				
			||||||
 | 
					      "version": "1.4.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "minimist": "~0.0.1",
 | 
					        "wrappy": "1"
 | 
				
			||||||
        "wordwrap": "~0.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "parseqs": {
 | 
					    "p-finally": {
 | 
				
			||||||
      "version": "0.0.6",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
 | 
					      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "parseuri": {
 | 
					    "path-is-inside": {
 | 
				
			||||||
      "version": "0.0.6",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
 | 
					      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "path-key": {
 | 
				
			||||||
 | 
					      "version": "2.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "path-to-regexp": {
 | 
				
			||||||
 | 
					      "version": "2.2.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pseudomap": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pump": {
 | 
				
			||||||
 | 
					      "version": "3.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "end-of-stream": "^1.1.0",
 | 
				
			||||||
 | 
					        "once": "^1.3.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "punycode": {
 | 
				
			||||||
 | 
					      "version": "2.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "range-parser": {
 | 
				
			||||||
 | 
					      "version": "1.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rc": {
 | 
				
			||||||
 | 
					      "version": "1.2.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "deep-extend": "^0.6.0",
 | 
				
			||||||
 | 
					        "ini": "~1.3.0",
 | 
				
			||||||
 | 
					        "minimist": "^1.2.0",
 | 
				
			||||||
 | 
					        "strip-json-comments": "~2.0.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "registry-auth-token": {
 | 
				
			||||||
 | 
					      "version": "3.3.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "rc": "^1.1.6",
 | 
				
			||||||
 | 
					        "safe-buffer": "^5.0.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "registry-url": {
 | 
				
			||||||
 | 
					      "version": "3.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "rc": "^1.0.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "semver": {
 | 
				
			||||||
 | 
					      "version": "5.7.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "serve": {
 | 
				
			||||||
 | 
					      "version": "12.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/serve/-/serve-12.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-CQ4ikLpxg/wmNM7yivulpS6fhjRiFG6OjmP8ty3/c1SBnSk23fpKmLAV4HboTA2KrZhkUPlDfjDhnRmAjQ5Phw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@zeit/schemas": "2.6.0",
 | 
				
			||||||
 | 
					        "ajv": "6.12.6",
 | 
				
			||||||
 | 
					        "arg": "2.0.0",
 | 
				
			||||||
 | 
					        "boxen": "1.3.0",
 | 
				
			||||||
 | 
					        "chalk": "2.4.1",
 | 
				
			||||||
 | 
					        "clipboardy": "2.3.0",
 | 
				
			||||||
 | 
					        "compression": "1.7.3",
 | 
				
			||||||
 | 
					        "serve-handler": "6.1.3",
 | 
				
			||||||
 | 
					        "update-check": "1.5.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "serve-handler": {
 | 
				
			||||||
 | 
					      "version": "6.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bytes": "3.0.0",
 | 
				
			||||||
 | 
					        "content-disposition": "0.5.2",
 | 
				
			||||||
 | 
					        "fast-url-parser": "1.1.3",
 | 
				
			||||||
 | 
					        "mime-types": "2.1.18",
 | 
				
			||||||
 | 
					        "minimatch": "3.0.4",
 | 
				
			||||||
 | 
					        "path-is-inside": "1.0.2",
 | 
				
			||||||
 | 
					        "path-to-regexp": "2.2.1",
 | 
				
			||||||
 | 
					        "range-parser": "1.2.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "mime-db": {
 | 
				
			||||||
 | 
					          "version": "1.33.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "mime-types": {
 | 
				
			||||||
 | 
					          "version": "2.1.18",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "mime-db": "~1.33.0"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "shebang-command": {
 | 
				
			||||||
 | 
					      "version": "1.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "shebang-regex": "^1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "shebang-regex": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "signal-exit": {
 | 
				
			||||||
 | 
					      "version": "3.0.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "socket.io": {
 | 
					    "socket.io": {
 | 
				
			||||||
      "version": "2.4.0",
 | 
					      "version": "4.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==",
 | 
					      "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "debug": "~4.1.0",
 | 
					        "@types/cookie": "^0.4.1",
 | 
				
			||||||
        "engine.io": "~3.5.0",
 | 
					        "@types/cors": "^2.8.12",
 | 
				
			||||||
        "has-binary2": "~1.0.2",
 | 
					        "@types/node": ">=10.0.0",
 | 
				
			||||||
        "socket.io-adapter": "~1.1.0",
 | 
					        "accepts": "~1.3.4",
 | 
				
			||||||
        "socket.io-client": "2.4.0",
 | 
					        "base64id": "~2.0.0",
 | 
				
			||||||
        "socket.io-parser": "~3.4.0"
 | 
					        "debug": "~4.3.2",
 | 
				
			||||||
 | 
					        "engine.io": "~5.2.0",
 | 
				
			||||||
 | 
					        "socket.io-adapter": "~2.3.2",
 | 
				
			||||||
 | 
					        "socket.io-parser": "~4.0.4"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "socket.io-adapter": {
 | 
					    "socket.io-adapter": {
 | 
				
			||||||
 | 
					      "version": "2.3.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "socket.io-parser": {
 | 
				
			||||||
 | 
					      "version": "4.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/component-emitter": "^1.2.10",
 | 
				
			||||||
 | 
					        "component-emitter": "~1.3.0",
 | 
				
			||||||
 | 
					        "debug": "~4.3.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "string-width": {
 | 
				
			||||||
 | 
					      "version": "2.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "is-fullwidth-code-point": "^2.0.0",
 | 
				
			||||||
 | 
					        "strip-ansi": "^4.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "strip-ansi": {
 | 
				
			||||||
 | 
					      "version": "4.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ansi-regex": "^3.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "strip-eof": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "strip-json-comments": {
 | 
				
			||||||
 | 
					      "version": "2.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "supports-color": {
 | 
				
			||||||
 | 
					      "version": "5.5.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "has-flag": "^3.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "term-size": {
 | 
				
			||||||
 | 
					      "version": "1.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "execa": "^0.7.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "update-check": {
 | 
				
			||||||
 | 
					      "version": "1.5.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "registry-auth-token": "3.3.2",
 | 
				
			||||||
 | 
					        "registry-url": "3.1.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "uri-js": {
 | 
				
			||||||
 | 
					      "version": "4.4.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "punycode": "^2.1.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "vary": {
 | 
				
			||||||
      "version": "1.1.2",
 | 
					      "version": "1.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g=="
 | 
					      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "socket.io-client": {
 | 
					    "which": {
 | 
				
			||||||
      "version": "2.4.0",
 | 
					      "version": "1.3.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==",
 | 
					      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "backo2": "1.0.2",
 | 
					        "isexe": "^2.0.0"
 | 
				
			||||||
        "component-bind": "1.0.0",
 | 
					      }
 | 
				
			||||||
        "component-emitter": "~1.3.0",
 | 
					 | 
				
			||||||
        "debug": "~3.1.0",
 | 
					 | 
				
			||||||
        "engine.io-client": "~3.5.0",
 | 
					 | 
				
			||||||
        "has-binary2": "~1.0.2",
 | 
					 | 
				
			||||||
        "indexof": "0.0.1",
 | 
					 | 
				
			||||||
        "parseqs": "0.0.6",
 | 
					 | 
				
			||||||
        "parseuri": "0.0.6",
 | 
					 | 
				
			||||||
        "socket.io-parser": "~3.3.0",
 | 
					 | 
				
			||||||
        "to-array": "0.1.4"
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
      "dependencies": {
 | 
					    "widest-line": {
 | 
				
			||||||
        "debug": {
 | 
					      "version": "2.0.1",
 | 
				
			||||||
          "version": "3.1.0",
 | 
					      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
 | 
					      "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
 | 
				
			||||||
          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
 | 
					 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
            "ms": "2.0.0"
 | 
					        "string-width": "^2.1.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
        "ms": {
 | 
					    "wrappy": {
 | 
				
			||||||
          "version": "2.0.0",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 | 
				
			||||||
          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
					      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "socket.io-parser": {
 | 
					 | 
				
			||||||
          "version": "3.3.2",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==",
 | 
					 | 
				
			||||||
          "requires": {
 | 
					 | 
				
			||||||
            "component-emitter": "~1.3.0",
 | 
					 | 
				
			||||||
            "debug": "~3.1.0",
 | 
					 | 
				
			||||||
            "isarray": "2.0.1"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "socket.io-parser": {
 | 
					 | 
				
			||||||
      "version": "3.4.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==",
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "component-emitter": "1.2.1",
 | 
					 | 
				
			||||||
        "debug": "~4.1.0",
 | 
					 | 
				
			||||||
        "isarray": "2.0.1"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "component-emitter": {
 | 
					 | 
				
			||||||
          "version": "1.2.1",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "to-array": {
 | 
					 | 
				
			||||||
      "version": "0.1.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "wordwrap": {
 | 
					 | 
				
			||||||
      "version": "0.0.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "ws": {
 | 
					    "ws": {
 | 
				
			||||||
      "version": "7.4.6",
 | 
					      "version": "7.4.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
 | 
				
			||||||
      "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
 | 
					      "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "xmlhttprequest-ssl": {
 | 
					    "yallist": {
 | 
				
			||||||
      "version": "1.5.5",
 | 
					      "version": "2.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4="
 | 
					      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "yeast": {
 | 
					 | 
				
			||||||
      "version": "0.1.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "name": "cryptalk",
 | 
					  "name": "cryptalk",
 | 
				
			||||||
  "version": "1.1.21",
 | 
					  "version": "1.2.0",
 | 
				
			||||||
  "description": "Encrypted HTML5/Node.JS instant chat",
 | 
					  "description": "Encrypted HTML5/Node.JS instant chat",
 | 
				
			||||||
  "main": "server.js",
 | 
					  "main": "server.js",
 | 
				
			||||||
  "subdomain": "cryptalk",
 | 
					  "subdomain": "cryptalk",
 | 
				
			||||||
| 
						 | 
					@ -31,8 +31,8 @@
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "bin": "./server.js",
 | 
					  "bin": "./server.js",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "node-static": "*",
 | 
					    "serve": "^12.0.1",
 | 
				
			||||||
    "socket.io": "^2.2.0"
 | 
					    "socket.io": "^4.2.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "os": [
 | 
					  "os": [
 | 
				
			||||||
    "darwin",
 | 
					    "darwin",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								public/js/cryptalk.min.js
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								public/js/cryptalk.min.js
									
										
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
					@ -168,9 +168,11 @@ define(['$', 'castrato','settings','templates','hosts','window'], function ($, m
 | 
				
			||||||
								mediator.emit('console:server', templates.server[sanitized]);
 | 
													mediator.emit('console:server', templates.server[sanitized]);
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
						} else {
 | 
											} else {
 | 
				
			||||||
 | 
												console.log(santized);
 | 
				
			||||||
							mediator.emit('console:error', templates.server.bogus);
 | 
												mediator.emit('console:error', templates.server.bogus);
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
					} else {
 | 
										} else {
 | 
				
			||||||
 | 
											console.log(santized);
 | 
				
			||||||
						mediator.emit('console:error', templates.server.bogus);
 | 
											mediator.emit('console:error', templates.server.bogus);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										19
									
								
								server.js
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								server.js
									
										
									
									
									
								
							| 
						 | 
					@ -1,21 +1,19 @@
 | 
				
			||||||
#!/usr/bin/env node
 | 
					#!/usr/bin/env node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const
 | 
					const
 | 
				
			||||||
	files = require('node-static'),
 | 
						handler = require('serve-handler'),
 | 
				
			||||||
	port = process.env.PORT || 8080,
 | 
						port = process.env.PORT || 8080,
 | 
				
			||||||
	path = require('path');
 | 
						path = require('path');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var
 | 
					let
 | 
				
			||||||
	file,
 | 
					 | 
				
			||||||
	server,
 | 
						server,
 | 
				
			||||||
	io;
 | 
						io;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Set up files.file location
 | 
					 | 
				
			||||||
file = new files.Server(path.resolve(__dirname, 'public'));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Create http server, handle files.assets
 | 
					// Create http server, handle files.assets
 | 
				
			||||||
server = require('http').createServer(function (req, res) {
 | 
					server = require('http').createServer(function (req, res) {
 | 
				
			||||||
	req.addListener('end', function () { file.serve(req, res); }).resume();
 | 
						return handler(req, res, {
 | 
				
			||||||
 | 
							public: path.resolve(__dirname, 'public')
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Append socket.io to http server
 | 
					// Append socket.io to http server
 | 
				
			||||||
| 
						 | 
					@ -52,9 +50,10 @@ io.on('connection', function(socket) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	socket.on('room:count', function () {
 | 
						socket.on('room:count', function () {
 | 
				
			||||||
		if( socket.current_room !== undefined ) {
 | 
							if( socket.current_room !== undefined ) {
 | 
				
			||||||
			var clientsList = io.sockets.adapter.rooms[socket.current_room];
 | 
								let clientsInRoom = 0;
 | 
				
			||||||
			if( clientsList.length > 1) {
 | 
								if (io.sockets.adapter.rooms.has(socket.current_room)) clientsInRoom = io.sockets.adapter.rooms.get(socket.current_room).size
 | 
				
			||||||
				socket.emit('message:server', {msg:'person_count', payload: clientsList.length } );
 | 
								if( clientsInRoom > 1) {
 | 
				
			||||||
 | 
									socket.emit('message:server', {msg:'person_count', payload: clientsInRoom } );
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				socket.emit('message:server', {msg:'person_single'} );
 | 
									socket.emit('message:server', {msg:'person_single'} );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue