{
	"name": "safe-regex",
	"versions": {
		"0.0.0": {
			"name": "safe-regex",
			"version": "0.0.0",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"ret": "~0.1.6"
			},
			"devDependencies": {
				"tape": "~1.0.4"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/substack/safe-regex.git"
			},
			"homepage": "https://github.com/substack/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James Halliday",
				"email": "mail@substack.net",
				"url": "http://substack.net"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/substack/safe-regex/issues"
			},
			"_id": "safe-regex@0.0.0",
			"dist": {
				"shasum": "9a9ae1f35a6ea8047b6ea6ecf9c05143e1efc3ab",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-0.0.0.tgz"
			},
			"_from": ".",
			"_npmVersion": "1.3.0",
			"_npmUser": {
				"name": "substack",
				"email": "mail@substack.net"
			},
			"maintainers": [
				{
					"name": "substack",
					"email": "mail@substack.net"
				}
			],
			"directories": {},
			"contributors": []
		},
		"0.0.1": {
			"name": "safe-regex",
			"version": "0.0.1",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"ret": "~0.1.6"
			},
			"devDependencies": {
				"tape": "~1.0.4"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/substack/safe-regex.git"
			},
			"homepage": "https://github.com/substack/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James Halliday",
				"email": "mail@substack.net",
				"url": "http://substack.net"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/substack/safe-regex/issues"
			},
			"_id": "safe-regex@0.0.1",
			"dist": {
				"shasum": "350ae32b49b7dc75d1cac3a18cb8b375a94ef15c",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-0.0.1.tgz"
			},
			"_from": ".",
			"_npmVersion": "1.3.14",
			"_npmUser": {
				"name": "substack",
				"email": "mail@substack.net"
			},
			"maintainers": [
				{
					"name": "substack",
					"email": "mail@substack.net"
				}
			],
			"directories": {},
			"contributors": []
		},
		"1.0.0": {
			"name": "safe-regex",
			"version": "1.0.0",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"ret": "~0.1.10"
			},
			"devDependencies": {
				"tape": "^3.5.0"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/substack/safe-regex.git"
			},
			"homepage": "https://github.com/substack/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James Halliday",
				"email": "mail@substack.net",
				"url": "http://substack.net"
			},
			"license": "MIT",
			"gitHead": "4ffa3f1b0ffe993ecaee97a622fb17469db2c2c6",
			"bugs": {
				"url": "https://github.com/substack/safe-regex/issues"
			},
			"_id": "safe-regex@1.0.0",
			"_shasum": "2a88b57eb36396bb4c69218a3acd3334c5570123",
			"_from": ".",
			"_npmVersion": "2.3.0",
			"_nodeVersion": "0.10.35",
			"_npmUser": {
				"name": "substack",
				"email": "mail@substack.net"
			},
			"maintainers": [
				{
					"name": "substack",
					"email": "mail@substack.net"
				}
			],
			"dist": {
				"shasum": "2a88b57eb36396bb4c69218a3acd3334c5570123",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.0.0.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"1.1.0": {
			"name": "safe-regex",
			"version": "1.1.0",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"ret": "~0.1.10"
			},
			"devDependencies": {
				"tape": "^3.5.0"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/substack/safe-regex.git"
			},
			"homepage": "https://github.com/substack/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James Halliday",
				"email": "mail@substack.net",
				"url": "http://substack.net"
			},
			"license": "MIT",
			"gitHead": "d2570f31bd9d779515015917bb8297c753e46572",
			"bugs": {
				"url": "https://github.com/substack/safe-regex/issues"
			},
			"_id": "safe-regex@1.1.0",
			"_shasum": "40a3669f3b077d1e943d44629e157dd48023bf2e",
			"_from": ".",
			"_npmVersion": "2.3.0",
			"_nodeVersion": "0.12.0",
			"_npmUser": {
				"name": "substack",
				"email": "mail@substack.net"
			},
			"maintainers": [
				{
					"name": "substack",
					"email": "mail@substack.net"
				}
			],
			"dist": {
				"shasum": "40a3669f3b077d1e943d44629e157dd48023bf2e",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"2.0.0": {
			"name": "safe-regex",
			"version": "2.0.0",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"regexp-tree": "~0.0.85"
			},
			"devDependencies": {
				"tape": "^3.5.0"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/davisjam/safe-regex.git"
			},
			"homepage": "https://github.com/davisjam/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James C.",
				"email": "davisjam@vt.edu",
				"url": "Jamie"
			},
			"license": "MIT",
			"gitHead": "cd95cff13de26a3065a97eeb90dba360a95790d8",
			"bugs": {
				"url": "https://github.com/davisjam/safe-regex/issues"
			},
			"_id": "safe-regex@2.0.0",
			"_npmVersion": "5.5.1",
			"_nodeVersion": "8.2.1",
			"_npmUser": {
				"name": "davisjam",
				"email": "davisjam@vt.edu"
			},
			"dist": {
				"integrity": "sha512-thCAfpaDb/DuCwidgS2h5BGyNx+vcN9F8fPLLhOrDndirBhOAwPkB4V28LMc+/Km1uHOg0APIIXdSg1Ck8BHjw==",
				"shasum": "1c021d0d55ee116bf6caeeb1d7d0a388509f7112",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.0.tgz",
				"fileCount": 8,
				"unpackedSize": 6297,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb01YTCRA9TVsSAnZWagAA6eYP/RGb8XTt77idCZ+SIMT+\nsxoXkclnotDuOvnjje2mMzL5idYn6QQuFe+pTeBtFcaVCUMx3rpKVVd/+z46\nG5Z8qUJc8mrHf9bajUIgwpFVufEVGXmNFGH5fmC7nJQhm18c8ze4SDl1mU+y\nCwdteHQE0PkRtRwF3f8LyzkKg8U6n6c2hGDTZIRYcZa+KHOpXrDwdBbbAdyQ\nF0ZUyPyNRO4kF8t8q/gWs17I56EcvSpdBAnw2je2Ow8HCTh4UD27Y9mF2K6c\nMvSqoUlx5FNf1CO4Wb0kjAYbmh7+5NX2njZa1KUB+jnAa/0jm0oTDg4g5dIh\nFDA02BqRlTZ5uGZv/s3mJQi645Q1L5CVDeOySfvoVG59sNV8hiTOzWisHNxD\nj+Tguiq+88xISuUJJqA9DmVtUvg8LLgJ/o+9Re6C7TziUpR28Cshrbjd9FS7\nV85NZxtLgRHI+Ogm9aZsx8NU8NnElMT+45BFf+7twop/CMhZj6eYS05kZ0Es\n+8EtPulPyX7VBAZb85rPnVX46LNLMCWRqgl6gvkHzDlZjPLqrqA9RCDlhE9x\nxq1qt6DTXRArxWwt6DlPGXNV0Gm3VFr4IqdaRUrchdYj/RbTuE79BO5MTQMa\njInQ1jpb/9z9q+lxim7JX/7ow51htlPc8HusbQsYRVA68poYGmyA4KPyO34i\nXeX0\r\n=3u4b\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "davisjam@vt.edu",
					"name": "davisjam"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/safe-regex_2.0.0_1540576786474_0.40345973051344486"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		},
		"2.0.1": {
			"name": "safe-regex",
			"version": "2.0.1",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"regexp-tree": "~0.0.85"
			},
			"devDependencies": {
				"tape": "^3.5.0"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/davisjam/safe-regex.git"
			},
			"homepage": "https://github.com/davisjam/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James C.",
				"email": "davisjam@vt.edu",
				"url": "Jamie"
			},
			"license": "MIT",
			"gitHead": "db1568fee2072aa532919b0899490b4a4492efd4",
			"bugs": {
				"url": "https://github.com/davisjam/safe-regex/issues"
			},
			"_id": "safe-regex@2.0.1",
			"_npmVersion": "6.2.0",
			"_nodeVersion": "10.9.0",
			"_npmUser": {
				"name": "davisjam",
				"email": "davisjam@vt.edu"
			},
			"dist": {
				"integrity": "sha512-4tbOl0xq/cxbhEhdvxKaCZgzwOKeqt2tnHc2OPBkMsVdZ0s0C5oJwI6voRI9XzPSzeN35PECDNDK946x4d/0eA==",
				"shasum": "676c791d97f31fadb8958d64300f7760606fa0a1",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.1.tgz",
				"fileCount": 8,
				"unpackedSize": 6466,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3G6CCRA9TVsSAnZWagAA05QP/AspKkR4cFKY0Ep0zeNr\nB/q0yj32KJKdsTRI597w3VN/7X6Cnvs63mRpVu8+9nvTCoDRscLMRG9jnZl2\nChM06cOzj5MsoxxMZO+7hal87ykMbDfic31wrPccQZNPGqXb5Sz1RhUVWvQu\nWyVODcZwOJy/vqVchIUF19Unr0KNchxKQGQ8rE7/CmzgsG/Xl3U98Ghz00h7\nzpvra0bpCqwm1O0kCKbC+EQyAaUYUaJMCbIwO2ASIZi2Kj7ECVxFR6MNcEMa\np+HmwTWF0lfVQvnQT624fVLuOhfeHPkdoQ2a06/D6l0Wd77glmg6PfViRGDs\n7p+PcnDgzBp6EpS6S2BX0JkIjISSTBtO4RFZkkZGngldt01XWb98DSMC63wW\nWLpNBfizShoQvYxLHVpIM4M/2Md3+tQvomdD85hzDr4q9WyKbPMBwOkUY+BZ\n5KA70oEbJ1JSJgMYf+mjoYMxCx1pp5FEFqih9fOkhHovTGbD4yhwXeKO0uDP\nLxWXp8YxozXGMSg7Yg1I0ilO95F6qa2X0/XonS+ecmKvR/4I8u1YwgtaIj3g\nCoucZBEHwYXREOT9NIeg/+DGXJ9sSaraAvf+LZON8qkeuHiuXw12JHO90tWR\nPKqaNXaOFZ26j4Egof7vHQzZ/Y0JW+bawTRnOp6veXSFtBipVmeQ94ugwjsj\nDl3s\r\n=X2u1\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "davisjam@vt.edu",
					"name": "davisjam"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/safe-regex_2.0.1_1541172865225_0.8604165785745475"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		},
		"2.0.2": {
			"name": "safe-regex",
			"version": "2.0.2",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"regexp-tree": "~0.1.1"
			},
			"devDependencies": {
				"tape": "^4.10.1"
			},
			"scripts": {
				"test": "tape test/*.js"
			},
			"testling": {
				"files": "test/*.js",
				"browsers": [
					"ie/8",
					"ie/9",
					"ie/10",
					"firefox/latest",
					"chrome/latest",
					"opera/latest",
					"safari/latest"
				]
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/davisjam/safe-regex.git"
			},
			"homepage": "https://github.com/davisjam/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James C.",
				"email": "davisjam@vt.edu",
				"url": "Jamie"
			},
			"license": "MIT",
			"gitHead": "132c9b9d9efbf0ba5a85bfcd1b2bbd365d95b1b1",
			"bugs": {
				"url": "https://github.com/davisjam/safe-regex/issues"
			},
			"_id": "safe-regex@2.0.2",
			"_npmVersion": "6.2.0",
			"_nodeVersion": "10.9.0",
			"_npmUser": {
				"name": "davisjam",
				"email": "davisjam@vt.edu"
			},
			"dist": {
				"integrity": "sha512-rRALJT0mh4qVFIJ9HvfjKDN77F9vp7kltOpFFI/8e6oKyHFmmxz4aSkY/YVauRDe7U0RrHdw9Lsxdel3E19s0A==",
				"shasum": "3601b28d3aefe4b963d42f6c2cdb241265cbd63c",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.2.tgz",
				"fileCount": 8,
				"unpackedSize": 6684,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdE1VCRA9TVsSAnZWagAAPaMP/2/YYMhPlbkRjDOD0Ixs\nf5A3mmk1k4AXxlXIC9EPu8aInNtrbBycqfIdTT6e/QUAmByT3lJlxMUGHHde\noOJ+nGNwqiNea8O9sOLWgFmr630RmvYCayupGeFKqhpM2Sw75VilIcCHdHbq\nyzWzHgUpjGcdPVuXM0MJ3S/Hk2tG/yHCAKBxmoWKwgMaJf/Ps92/sDaPflwQ\nndx2zzOkk/i/uurwzKnpiaMZfK0u9LbsJbTXvXtNoWaJLhaJNNsoZwcyb0PY\nEhKDw24dWuuCJ2UJLEhRREar+EJnl70FmJpJfQjlV451VNw4PEiJiOFgmwag\nS0dtALEGXkXnoQuIFJkw1rOTIA9YIl3vXWasO9tojruZ9qp7lt915poYIr5y\nNYvtzf3hzhl3/3fkNqU2YhofhL3hOMd7GhtXaGaAo/IQf/X90exTBftTDtvw\n6aX6/OsfPawggM1QxLy/4qLIQIQcxJHhXTJKDctzw9pIKXxjRsmui0B04b8E\njCPWdHRnA+oBgnkGwL3My8ofCwa+eErszudl/Ee6OOUjvy/c+qmQvJpeMaH0\nW5+y2JC5j5uEj8ILsokwdQz4PTlZdrRhvtXKiz5415v5ut+ayEoN7s/fveiF\nBAf5sINDxHOjw3qjidBKXUyIP71VPpL+gJxFU6f3tgMIsJ7MH9NpneaYhhq4\nf3o1\r\n=On78\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "davisjam@vt.edu",
					"name": "davisjam"
				}
			],
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/safe-regex_2.0.2_1551125844844_0.438144546598763"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		},
		"2.1.0": {
			"name": "safe-regex",
			"version": "2.1.0",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"regexp-tree": "~0.1.1"
			},
			"devDependencies": {
				"jest": "^24.9.0"
			},
			"scripts": {
				"test": "jest"
			},
			"jest": {
				"moduleFileExtensions": [
					"js"
				],
				"testRegex": "test.*\\.spec\\.js$",
				"collectCoverage": true,
				"coverageReporters": [
					"text-summary",
					"html",
					"lcov"
				],
				"collectCoverageFrom": [
					"*.js"
				],
				"coverageThreshold": {
					"global": {
						"statements": 100,
						"branches": 100,
						"functions": 100,
						"lines": 100
					}
				}
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/davisjam/safe-regex.git"
			},
			"homepage": "https://github.com/davisjam/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James C.",
				"email": "davisjam@vt.edu",
				"url": "Jamie"
			},
			"license": "MIT",
			"gitHead": "329afeae8e8acae78dd86d104ea758533895219f",
			"bugs": {
				"url": "https://github.com/davisjam/safe-regex/issues"
			},
			"_id": "safe-regex@2.1.0",
			"_nodeVersion": "12.10.0",
			"_npmVersion": "6.10.3",
			"dist": {
				"integrity": "sha512-C2EKpE6DIkQRrVhqMG4NcA3/ekUJBy6YZaGw+77RaO3Odtkm+wb9kNjnM9LHSKwxWr6YYLrGk/MqGg5rOPzElA==",
				"shasum": "3c8c4481278b21d030f6272b8c663de6776130ac",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.0.tgz",
				"fileCount": 12,
				"unpackedSize": 14937,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrgokCRA9TVsSAnZWagAAgIsP/2MJ95jEs1UD5g2zUpm3\nDYxXbYLBcD2LV/DfoElSR+6zdGSaoBQAqq9I+wdzmHZD4GR782hXyjy2dWQl\nUvqcXtmdzbKHYFWEi6psiw5x5N4NzzTwLIPIeEvLcqZpToX18KVKftW3eED4\n0HhaL0ABFvSKWM4NCsi2jkG85x9tFlSiX1oa1iAssDR87cDCFR7QAFxAqaCL\nVnvQCpWxrwz/V0fEHG1hSM97VhvCyz6yGNOXYLmZGz8JyWmSFRLl+WSHQqnh\na3dYGg899HAEwBceb7sM+F09mFym1kUncaH64uUAwuhulhHqT+MAJXkUSHhe\ngPBorf5C1YlSmQuLMZNwRF7/l2bsWq7XGniTr0JIFrJsBAW05LEOcMkujhjz\naVJR2+pP4eaLAI6Yl+z6ULM4PPE6FAxFsUGrvAsDflehvG3PWYLzwcMzsub3\ns2CvmpqJCT6H5wNT4cf7eb56oaOtAsDdDHIRR5XNxMquk+du+dBLtTPPdGC/\nN5eDTW26hjZ8VmjybmIRWgA9AP9wU83GRrQ062xJ68y6ztBHn2CVspQ7j6U3\nIh4uAv3Zq+cAc7Q4k8X/9nW5UM7UgCE3hHwevM6HwZY/LTpICxDFGNc6AM+D\nx9lIetUT62urPk82KDpVnEoXFF5dfiWbykxsIuf6J7n3RzDKRdUOr2GFz9ko\nsbjj\r\n=E4W+\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "davisjam@vt.edu",
					"name": "davisjam"
				}
			],
			"_npmUser": {
				"name": "davisjam",
				"email": "davisjam@vt.edu"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/safe-regex_2.1.0_1571686947761_0.11552026867530052"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		},
		"2.1.1": {
			"name": "safe-regex",
			"version": "2.1.1",
			"description": "detect possibly catastrophic, exponential-time regular expressions",
			"main": "index.js",
			"dependencies": {
				"regexp-tree": "~0.1.1"
			},
			"devDependencies": {
				"jest": "^24.9.0"
			},
			"scripts": {
				"test": "jest"
			},
			"jest": {
				"moduleFileExtensions": [
					"js"
				],
				"testRegex": "test.*\\.spec\\.js$",
				"collectCoverage": true,
				"coverageReporters": [
					"text-summary",
					"html",
					"lcov"
				],
				"collectCoverageFrom": [
					"*.js"
				],
				"coverageThreshold": {
					"global": {
						"statements": 100,
						"branches": 100,
						"functions": 100,
						"lines": 100
					}
				}
			},
			"repository": {
				"type": "git",
				"url": "git://github.com/davisjam/safe-regex.git"
			},
			"homepage": "https://github.com/davisjam/safe-regex",
			"keywords": [
				"catastrophic",
				"exponential",
				"regex",
				"safe",
				"sandbox"
			],
			"author": {
				"name": "James C.",
				"email": "davisjam@vt.edu",
				"url": "Jamie"
			},
			"license": "MIT",
			"gitHead": "9070d9459dac17e281d06e50110fec2cb40cfc67",
			"bugs": {
				"url": "https://github.com/davisjam/safe-regex/issues"
			},
			"_id": "safe-regex@2.1.1",
			"_nodeVersion": "12.10.0",
			"_npmVersion": "6.10.3",
			"dist": {
				"integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
				"shasum": "f7128f00d056e2fe5c11e81a1324dd974aadced2",
				"tarball": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
				"fileCount": 12,
				"unpackedSize": 16453,
				"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrgq+CRA9TVsSAnZWagAATfEQAIJO5L5SSbRfHveBd3zB\nN29CKk0NG/A1JNgbGZQdwIawa9jflOQG/MhoHaUN3os+p9fcJVzJscj2hbR+\nUaIYcvtHAiep3z9J8K2I06amkfmIV6hi3H1XciTcVL+6lvxeYz5uK1Nu8jdj\nP7GSWnn4q8vdtd/adFTJvF3JaZjilMXRiL+FQ7WFP1yjD2xWItPm6AUSEsdj\nD659F89LN60Ru2cjuvQVBBtnrxGxdvXk+EUzdYLMR/3oI1wNYQ61JNJPzF73\nViq8X/9taqbdz36ZfZRFpJy8fnldSoHmcIB2xrxyjGCtrfc7kYp4Rp4bqqSI\nXb1Vvp1FDKVHftqGtau8RnvpwoNi58PuXyLq1DmvqLDN3clcenbKVAdoLUKI\ngrwvCbtGyADJoHUZTT6mu0h0bJYl5/i4Q5rxlQJmB6W9VI028x3kMyTOV6O9\np6vED9/MSVLgLJlvgx6eLE4U3STCNNkmvkntyWuQmLfPIxWk009EWBbrqEd7\nCtH6JCIWh/sUjFfL689RyWNenYk2X/fX1dYlX3D3vuI4BVyHtgomiKy7W/rg\nApORC5/RXeQ4iWXKaw6jQGPPID/ZfLGU5oEBUSwZokyjZTlLN9EwKL0CirdG\nDM8bOw7zxqUatxzNuZlmMXYME20ojFs0XFhPSG7Ltw54rhmmPi6FVpEyA2zU\nr52j\r\n=ZyaJ\r\n-----END PGP SIGNATURE-----\r\n"
			},
			"maintainers": [
				{
					"email": "davisjam@vt.edu",
					"name": "davisjam"
				}
			],
			"_npmUser": {
				"name": "davisjam",
				"email": "davisjam@vt.edu"
			},
			"directories": {},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/safe-regex_2.1.1_1571687101795_0.5043143354036861"
			},
			"_hasShrinkwrap": false,
			"contributors": []
		}
	},
	"time": {
		"modified": "2019-10-21T19:45:04.555Z",
		"created": "2013-07-13T02:56:00.967Z",
		"0.0.0": "2013-07-13T02:56:02.406Z",
		"0.0.1": "2013-11-22T08:44:01.232Z",
		"1.0.0": "2015-02-06T16:36:31.893Z",
		"1.1.0": "2015-03-19T00:30:21.780Z",
		"2.0.0": "2018-10-26T17:59:46.642Z",
		"2.0.1": "2018-11-02T15:34:25.412Z",
		"2.0.2": "2019-02-25T20:17:25.012Z",
		"2.1.0": "2019-10-21T19:42:27.934Z",
		"2.1.1": "2019-10-21T19:45:01.945Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "2.1.1"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"201a48dc9d05931942ca2f132136c75b\"",
			"fetched": 1597847611043
		}
	},
	"_distfiles": {
		"safe-regex-0.0.0.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-0.0.0.tgz",
			"sha": "9a9ae1f35a6ea8047b6ea6ecf9c05143e1efc3ab",
			"registry": "npmjs"
		},
		"safe-regex-0.0.1.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-0.0.1.tgz",
			"sha": "350ae32b49b7dc75d1cac3a18cb8b375a94ef15c",
			"registry": "npmjs"
		},
		"safe-regex-1.0.0.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.0.0.tgz",
			"sha": "2a88b57eb36396bb4c69218a3acd3334c5570123",
			"registry": "npmjs"
		},
		"safe-regex-1.1.0.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
			"sha": "40a3669f3b077d1e943d44629e157dd48023bf2e",
			"registry": "npmjs"
		},
		"safe-regex-2.0.0.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.0.tgz",
			"sha": "1c021d0d55ee116bf6caeeb1d7d0a388509f7112",
			"registry": "npmjs"
		},
		"safe-regex-2.0.1.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.1.tgz",
			"sha": "676c791d97f31fadb8958d64300f7760606fa0a1",
			"registry": "npmjs"
		},
		"safe-regex-2.0.2.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.0.2.tgz",
			"sha": "3601b28d3aefe4b963d42f6c2cdb241265cbd63c",
			"registry": "npmjs"
		},
		"safe-regex-2.1.0.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.0.tgz",
			"sha": "3c8c4481278b21d030f6272b8c663de6776130ac",
			"registry": "npmjs"
		},
		"safe-regex-2.1.1.tgz": {
			"url": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
			"sha": "f7128f00d056e2fe5c11e81a1324dd974aadced2",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"safe-regex-1.1.0.tgz": {
			"shasum": "40a3669f3b077d1e943d44629e157dd48023bf2e"
		}
	},
	"_rev": "12-2ee21507d2f9762d",
	"_id": "safe-regex",
	"readme": "# safe-regex\n\nDetect potentially\n[catastrophic](http://regular-expressions.mobi/catastrophic.html)\n[exponential-time](http://perlgeek.de/blog-en/perl-tips/in-search-of-an-exponetial-regexp.html)\nregular expressions by limiting the\n[star height](https://en.wikipedia.org/wiki/Star_height) to 1.\n\nWARNING: This module has both false positives and false negatives.\nUse [vuln-regex-detector](https://github.com/davisjam/vuln-regex-detector) for improved accuracy.\n\n[![Build Status](https://travis-ci.org/davisjam/safe-regex.svg?branch=master)](https://travis-ci.org/davisjam/safe-regex)\n\n## Example\n\nSuppose you have a script named `safe.js`:\n\n``` js\nvar safe = require('safe-regex');\nvar regex = process.argv.slice(2).join(' ');\nconsole.log(safe(regex));\n```\n\nThis is its behavior:\n\n```\n$ node safe.js '(x+x+)+y'\nfalse\n$ node safe.js '(beep|boop)*'\ntrue\n$ node safe.js '(a+){10}'\nfalse\n$ node safe.js '\\blocation\\s*:[^:\\n]+\\b(Oakland|San Francisco)\\b'\ntrue\n```\n\n## Methods\n\n``` js\nconst safe = require('safe-regex')\n```\n\n### const ok = safe(re, opts={})\n\nReturn a boolean `ok` whether or not the regex `re` is safe and not possibly\ncatastrophic.\n\n`re` can be a `RegExp` object or just a string.\n\nIf the `re` is a string and is an invalid regex, returns `false`.\n\n* `opts.limit` - maximum number of allowed repetitions in the entire regex.\nDefault: `25`.\n\n## Install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install safe-regex\n```\n\n## Resources\n\n### What should I do if my project has a super-linear regex?\n\n1. Confirm that it is *reachable* by untrusted input.\n2. If it is, you can consider whether you can prevent worst-case behavior by trimming the input, revising the regex, or replacing the regex with another algorithm like string functions. For examples, see Table 5 in [this article](http://people.cs.vt.edu/davisjam/downloads/publications/DavisCoghlanServantLee-EcosystemREDOS-ESECFSE18.pdf).\n3. If none of those solutions looks feasible, you might also consider changing regex engines. The [RE2 bindings](https://www.npmjs.com/package/re2) might work, though test carefully to confirm there are no [semantic portability problems](https://medium.com/@davisjam/why-arent-regexes-a-lingua-franca-esecfse19-a36348df3a2?source=friends_link&sk=d21be7f8f723e2080dc993385c6973d1).\n\n### Further reading\n\nThe following documents may be edifying:\n\n- [Research brief on the extent of super-linear regexes in practice](https://medium.com/@davisjam/introduction-987fdc4c7b0?source=friends_link&sk=ceefa4a4ca9617e08ab782c3b1580aea)\n- [Research brief on the variability of super-linear regex behavior across programming languages](https://medium.com/@davisjam/why-arent-regexes-a-lingua-franca-esecfse19-a36348df3a2?source=friends_link&sk=d21be7f8f723e2080dc993385c6973d1)\n- [Comparing regex matching algorithms](https://swtch.com/~rsc/regexp/regexp1.html)\n\n## Project policies\n\n### Versioning\n\nThis project follows [Semantic Versioning 2.0 (semver)](https://semver.org/).\n\nHere are the project-specific meanings of MAJOR, MINOR, and PATCH updates:\n\n- MAJOR: \"Incompatible\" API changes were introduced. There are two types in this module:\n  - Changes that modify the interface\n  - Changes that cause any regexes to be marked as unsafe that were formerly marked as safe\n- MINOR: Functionality was added in a backwards-compatible manner. There are two types in this module:\n  - Refactoring the analyses but not changing their results\n  - Modifying the analyses to reduce false positives, without affecting negatives (false or true)\n- PATCH: I don't anticipate using PATCH for this module\n\n### License\n\n[MIT](https://github.com/davisjam/safe-regex/blob/master/LICENSE)"
}