{"_id":"parsegraph-pagingbuffer","_rev":"31-21dea6b2e92a411d94c7b1da1e3a8c7e","name":"parsegraph-pagingbuffer","dist-tags":{"latest":"2.1.9","dev":"2.1.9-dev","next":"1.5.1"},"versions":{"1.4.0":{"name":"parsegraph-pagingbuffer","version":"1.4.0","description":"Method to populate WebGL buffers during painting","main":"src/PagingBuffer.ts","scripts":{"coverage":"nyc npm run test","test":"mocha -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"0f0946842b7ee74c28922b700530efb985dbb8e5","_id":"parsegraph-pagingbuffer@1.4.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-cnZgPzwfP5UFddIsEjPoO1Y+havG9nM1zmmay/kiBcsfhms/9//+ec8lt0OjM3L4WQa+hlkzeIhW/2qXTYRoRQ==","shasum":"d5fc4d5e5ba6a5d14b9d287aada86b2553fca5bd","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.0.tgz","fileCount":15,"unpackedSize":16608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzEGQCRA9TVsSAnZWagAAe0YP/iJ0OBeDxOVbWiep+txp\nWQh/PiZtznia4zcd6OtH98EEYa/q+K9T37noVSKZFTVnbFjkyoJxdK/EkhEt\napBdtxxUlcicqkB+nLXe0yLSwgPDFdpzOrs+3GkuN/dwPQp/vFk40H57sBAT\nMaJOK1+HAWzfZtyfidhQGiQjV/aoZBoj3h8ld8QO4/Q9FgpCdMjvv1gtJwdN\nTn5Bs1NkDkwYFBF70xuALeWL5VCKOY1Rd2o+N22a/GQlr7fVml57Yr9o+vl8\nlxFw2xWRktSH6RhJW5Grgdpi+ntLdwtlfJruznumx9bokqUcxVNBsbQfmd2e\n9+8CaWplDtywrcxD8iQ6LkY5OQwRY2lL7Br2BF0hxyjhvOr7TyWcIKDMWCEV\nY8r1nJbDX9k+9KHc+Oxdy9zLXP5v128YViarXfQU/yCiVEvtG2ryvQmjN7ZB\nI2G10NVMZ2AjlUvW7zVwoAnStq4Gcd6H5lSO0ZcbfgooWuM62+OFZV1bdxNj\nsOnhBRgd/cAPjufHDsUcHg/da81yzgrd5rAc4RyoeLrxU7TBTWfkgUwD4Nlf\nl2vRO2R8pD/Duw/PSGKz6LuxKfPDawsiobZ7z+0oUiZMeA7BXeE9m+Yoh3Ra\n1sptgf76pnnAGWELw3B9Kj0z+yJhLi7CI/acm6G531bZR7xZBtsN5pBy0PpD\n8YNr\r\n=VDrK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF2/G4VLZXambhYoyWuputSgc+S60ynrienhAxDQYSTDAiAk+g4Ln2Vw5CiTWeIbyYEJYKohQUBoc/AnKyuxP6pOOQ=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.0_1607221648211_0.791689092481543"},"_hasShrinkwrap":false},"1.4.1":{"name":"parsegraph-pagingbuffer","version":"1.4.1","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"0f0946842b7ee74c28922b700530efb985dbb8e5","_id":"parsegraph-pagingbuffer@1.4.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-sqUHk9uzpygKkrLg4BmUbWI8zwtl7gjUL6v19vM1jSjwLiRGx19rne26IybnnNke3ZvmpzIMyvJNnxmgCirWEw==","shasum":"18c75de0e5e03497eaa080b2c348a57d4607d8ca","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.1.tgz","fileCount":54,"unpackedSize":2154967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzETKCRA9TVsSAnZWagAA+LwP/inj3+7kBSXrfwh63zGQ\n9AdFcyPA5M1+wrM23KkVLASXqIpg6h5qVxUIYZ/vx3LHUf4wr9j6CvfbIqCg\n75Pwj4ihgR7IY70Xx/NSGV+t+v7SEsLN3+mufnU06CZxexxVW4/JUPT8GEv5\nCmxcWougCoUPjPrAglK343Ai4tXATjIkGgxh1TuB3K1mpkxvy3XC2j+8edpp\n1VvcrwScVGf1fOXDdTqnEGXhE2/aYMhKFnyjcdyi0UVzM/CNt+hcMLY/3+FP\nTWXJM/nxc8GMIsRXFu+wZwP2/7W5iVarQFhh7VLCd8mklgfFgvEXleHO3nZz\n4LY7YzvCAHt5htLglsw9proQumoozUuVNHPcMl+pJpfFVGfTz7ZaYjNIXty5\ngF4Q0hmdhUXsL7BAj8fkEzRD25ALrlJuBxWXgh76g3HPO01ZuPD/RU3e4E1j\n/0mMkwCF4c44tHTOGuwDAZqiKeLU/B6Yb2KdSNdPZE2cguC+d8oTfY5AcvXp\nreNt21KnnLlwfLaJq26lxKl0f8JvD/vn1A72/TmAlXqG+Pbjb0JlJsy2WDCR\nbpUHPykxFhlqUeL4nrDbvZcWrNDCaPyhcqVXWupDrAriv4K0LicrKzdfzO26\n5E6xdhO3fLAfAqXutJH0aqJbTciZ/f6/9hBUHS2go+2G8px1iSKxfEevtbdt\nu8xa\r\n=Jpum\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrS6sn5roesPv2hLqzuEMWoNpcmDLDtCkEml0FjS8jagIhAMO12KPNEobZPVrjr4UggjoxTW7Z8mT7vIahmmmlx1jc"}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.1_1607222474487_0.40829663377524916"},"_hasShrinkwrap":false},"1.4.2":{"name":"parsegraph-pagingbuffer","version":"1.4.2","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"0f0946842b7ee74c28922b700530efb985dbb8e5","_id":"parsegraph-pagingbuffer@1.4.2","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-phsEWMs9ES8o77JA4HfSLCwOAh0eWi0K81iL/TdrYhuVJaAtBaBwysqWBAX4sM9gaV963+bM78GhbWKuitOvBQ==","shasum":"c2572d9de79a7acaf3b13ef2bdbb93b6e981a621","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.2.tgz","fileCount":54,"unpackedSize":2155152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzEYGCRA9TVsSAnZWagAA2oAP/31Ks412I1L5VsIzk1S/\nstdITXdTcOXwrvQkXSdBF4gks0ar8WYXNI1ybv2C+xOiYfhkI38kb69ejImF\nNIXuQi81rrMP4FK+uOxcy7ZF0MHGwba8O0cCeHZE1of8q4robF2Ch/WSRnBz\ne7Jf3sF3up1GmZh0lhtPaS51bmSvV3gMKtL/EfUIC/smBpZwyW9yyzVyik8J\nXHIGJaTW0uM9GPENUbbiG4IdvHc6w0JvDLOS2KdAyvCvSZm/ekfPDT8MxnPv\nr/Yl3YsVJYU02E7+DkBjurUCSx/F+RimupcFsr2Zd4O7Obfwz7wm93YVzBxq\nsmvCkLX239BRFVS/NtYpJQlHJ6dn606fB0guGSK0xs7e2g9OaFMc+liGitva\njtqoi92r2ie5jLxK6LB103F6FLI42rMCdad1NQaJj7XAwWdgzqbvf2F8IuSU\nTNcO06fXz3+5mhhDAzTLtDntgvEdTxPhJ5xjvLUS0mdcTrlnVzfzTCCe/9FW\nGuUlL+7mr7dx0ERGxsg/H3tfnnCaqcDkwN+w1xm6pQ4lKTwQZJauBurbik3i\nYqni9zn9Q4KTOBhTRXFS9RXNWGPN+CAdZQ20BpeKU1lYDGkwvxIK+NWPC/Uq\n3RLCi+60e1ld3+qhZHR+CYsDh0nnnPeEnD7WoTf/dXkCcpthrWkSrdB0BoeQ\nXYoX\r\n=d3UY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRWUHL5Ubmk76FL1WDWTYmwAY615Vx6XVN0o1YKUoQ5AiABglukBZTCGLhSzFqIRXPKI1zcryt9jewNCjqqSps9MQ=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.2_1607222789569_0.009502186937290213"},"_hasShrinkwrap":false},"1.4.3":{"name":"parsegraph-pagingbuffer","version":"1.4.3","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"218675b7f8a45ceb85b771861c70a9e0cb408851","_id":"parsegraph-pagingbuffer@1.4.3","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-t53bX1+JYJmcNAUIt/2NkSt9kvGO/5kRSTJ9IMwUyjHN8viHh30A3MbmQd4WIatQ7mxTxpL7lxuuj+8mWIY34Q==","shasum":"b5c9329e7ccb1339c24ae7d8b23249b9aafaf9cf","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.3.tgz","fileCount":17,"unpackedSize":131999,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzE4WCRA9TVsSAnZWagAABD4QAIk+iZizvjURfv42CIRq\n0NqdflNlL4L1oaP4lMUmUL5fLvN/wOv5orwq7Nc8e25HdlIYZhlyIOMGx2/S\nQdipd4IWoLgl0oZiw+gknjsfFmIIK534rPnh3xPXIl3SENWZlxewqRdTPzKY\nm1HWeso3gf3/4iYBycTdYZRwNiz+q7FAxGm5ehsIbh3mjQhdPZw4cO0vBemp\nIvi2/ucWTrKzt1AYaV3ZyGpwrkefxOwpFq8j35mrmkpKfGsz9xQPjS2JzZVR\nyafg/IVUg+3P7PPkq8QxYO1jRCoYFpNfMdtHdhURVY8O/yCOAQROmsagT/L7\nvqCEoziF9MLQEXb8uDA0gQ4fGkJQgTEDqVgbuDhwdZFudUnYY3AhMXgzRFfh\nyyhzxeIQ2F2u/UZab4ukSMOsw/x5o9HJ4IFtdRmqOGA8737aPC80ZaoQL6eA\nVeyqsv3NjD5m9d6qDLV/7Lq1x+5C/glZxm/PEWjBCQCX6oY5HFoanUgWJAKI\nM2fvxD9LkTbKT/wQNY8lZpplJUPoWSWefO2qL4U2OwHJ8PAXN7UMd5h1L9im\nFW29kSdcJQ5lVldHScUPgPGlex4YH1DRmUwX+CU6odC4OcnmxjqCJdNpqs4e\nbE8N4fnrk+C2LW56mk7Lz2VnjSPcoFKgAxnImR8LGAqYyl1ePYoqu7g2uvvt\ngCjL\r\n=r3ue\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGiBj61OBFqssln/sgvcEwRcwx4fJW2aJxbY/ulfgIWZAiB2QX1ShfuaA8vfaetHTdNYg8+er4goaZL7Bo1XRb7dhg=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.3_1607224854228_0.3624050176374676"},"_hasShrinkwrap":false},"1.4.4":{"name":"parsegraph-pagingbuffer","version":"1.4.4","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"6cd176959115a2ae6147e3094ffe51f30417e4da","_id":"parsegraph-pagingbuffer@1.4.4","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-N1NG2YcwM7zFFOjuRGBHnG+POhSiny/bb1zf/ZaOz+FXX7/fimMzEOOv+MEignUPAY0knt+oo1v50kJ2vtpVhg==","shasum":"75e85e0d084983687caaf8e56f53be3ce4cb8f9f","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.4.tgz","fileCount":55,"unpackedSize":2141564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzE6ICRA9TVsSAnZWagAAzI0P/06U+Gv5AQ+JzEr0RPp8\nNTms2/7Y/WxE4qncx2F+4tniNkPzl87ODAFKeXyU5dajquJc3hNBRjL6cm/M\n2FSzKWp9gAUF+rJokn788QeopzWlmZ0Vl4ADOAaEZ+TW1pXjH2neDtfkn5ru\nVoYQbBs+ao9j6fAE31ggWy4PmdxzUecwfLpeMKStDDmE8gPWFOyaK5eirWfs\nquYDc1w/V8rQ9PNOZtAvbcAmcTabK+hcxvjJ6eIZfI6pRH8ivSlWGkugff/j\nTahhHhPFnwkH/wPI2Lo9uentjn2W4IFm/4z0PEah8iZpzPZw9H85fZpZYW3a\nGMso7AM1m+cYgvpAYzpqiwZ66IH2WLUA3t5sl2gZl6oNTruR2j+afLh0QF5b\nqqwwKKsn1IU2hDmvCEy/fsRW0A9ke5+zCbYY4eJsTsJaDceCrBdv7huN3dxg\nxk/Mc5pf5a9bcPe7ipUV7NDztZt18vaaegHHZHL0W9QjwD9Jv33zv8smbbC9\njFnTBOEXyoqmFD3UXneIZ03dzicGZ/jOmmZCLHBUKNmXv5wLutD2agwdfvyg\nsyh90nbRhhtvUqncL+gvzvpBw3FtoHDVW/jjv2YJovXuGZkzKEI9ZeA4ykAx\nYtT/zfwo9lER4+vv+1P0Jhn7M4UudH33AyUATwwrepIQ44HCf4WC1CkzeUMp\n8Z28\r\n=/pom\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjaoO1k9Snvz90hpfS+Z00T9K/eCJDQ0aaMB1RJjVhuAiBAYOUBKNo2NA9OR/CYKj7PXKxg65oMbr1YLO5XIgUadQ=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.4_1607224967743_0.7526995315463967"},"_hasShrinkwrap":false},"1.4.5":{"name":"parsegraph-pagingbuffer","version":"1.4.5","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r @babel/register -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"gitHead":"fe42797329e4eb832cf08ab383ab90b0e78da77d","_id":"parsegraph-pagingbuffer@1.4.5","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-9Amhf9SXSm65jYVfCbviWdq9ZlPTIMWK8LqYyNI43BuHPOBUFBSz8ouBUect2WdaLn8fprt/z/2SYZ/5gEsFoQ==","shasum":"4f814c56490d3d1d1026e7d68535fffba622c191","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.5.tgz","fileCount":55,"unpackedSize":2143895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzFLoCRA9TVsSAnZWagAAQFoP/AgTeZIORaCaehMlm6g5\nySnxgd3uuEZ69xxg2bO4zfJNlFUoWfnDLui+5klUdBf2a9vfSPa/sOuKYFd+\ndzl7nLd8F8o0xWIDbJ4+yQrLN45gox2EGGNhd/UrGiW4ijyAL1ysunry+4rI\nKH/UBBd5VzmsrF07XbequcaIMfJHBamwtZ0QjGoD13Hny9kn5+NeVDHQccT2\nNdPeUKUlj06MYJnZkPXkdY2VCDIAHC0YcDzJ9gy2x814j6aftYZu7DRZK0qd\n7LALGzli9wJYnTyH2dlaXVqoTSfpwlPsnbP4xiKcsXRyd4P/D3Y9QGjVKvhs\n6DgN97mBYqAV2vdTqS2VnogSlZjWBIgLM6t+d2lo/zt637SJBQYQpzbDhimO\n1wYMn4foUDJgprjl/gFdIMSsE1EOxkpozZUh0mVZLsjBJQJuRnKoZnQOlv4a\nN0F2KYTmOfygzs+QISDkoZKoWvlUkVRHtqOi/P7ZHqsQK2e78FMwkxZaXuI7\nLb5/JdP2kvxBIOWYESYk/5bjtJaFTYJuku0Yh7RyPT4yhXldAZ+vqjX7MEHU\nHArKsPYqKMhAwIl6HD2mAqvCKENIsvUtIJsxQFf5OeQTtN5ZTPiprOuGudTE\n1M+JeDvE4ryEFS/yXszPdKNeGTg4RuHYO/mZcJUgo2zPkr7P4b7ONNXfCQIx\nJHVK\r\n=dLts\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtTdoWVtsNe6hHeDf7JueP0sjdxCa6FKDMPizyzmFqSQIgZ0C8VKEc3P3XtXqI4yqRmPaV94L8Fgonqw8qrdJKUd0="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.5_1607226088479_0.11156990949606471"},"_hasShrinkwrap":false},"1.4.7":{"name":"parsegraph-pagingbuffer","version":"1.4.7","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","scripts":{"coverage":"nyc npm run test","test":"mocha -r @babel/register -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^7.0.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"_resolved":"","_integrity":"","_from":"file:parsegraph-pagingbuffer.tar.gz","_id":"parsegraph-pagingbuffer@1.4.7","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-nRSseMIey8orJYuCa3AZyZMZndoAn45TVraz85DYDnUNdabP+dnuKOvn44FO9xwaCBhj3fcKQaNJ6P9m/rRxNA==","shasum":"6bbd11a6f059757cca8f12a57c413883d5124237","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.7.tgz","fileCount":70,"unpackedSize":2647374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzGjVCRA9TVsSAnZWagAAUdYP/j7//t/SzHhu+wq5dhBl\ny7qkpfSAe5Mp3n/TFmiBM6KHwvrFtrSAOE71EO4MqAVQNWa2qWvWj/uATWzS\n6oclUL/PB+b0f4chAB5XRBlRAhaDargVWyH3FF7Ug48jLK0tyQIfIP9fioLZ\nyek5JabPONxp59SUj+/TEiCjEKbKEZgaZNbv/1rxm6ZM8ym2xlSA9BUNdvNf\n/i0FfDVC4fk1vPhwDCA7PEyKMtcEY+VeUCe/QLdyf8Mv8q8BkWxujioanOYr\n2HFlSqE6q5Xgo4EAobZa5aB8FsqWbg80vnVVUuuCbaAVK3ToKoKC5KJvCD2i\neV4+MWWzA+BsaW5wl9jDTIpIR9es2ClMKiaLgrv6VwN2BrFRQbZSQx62QZA7\n+jptchN5zipEDeWbTYbaLRwvugHNzECJ9Ck3pvTatjibv+PRUP7RA7KpA2gF\n74LWNFa3uvtUYw4DIyYYodsLeACl+zcb49CitkHxWGo4TNrdnsaeBLVcg9xP\nMDxQleLB2xcwoz9LuvThahNvQpCjwSECWGhlTuaosmc5BHcPT7KJZ/uWrnjn\n4Ad/JHLST6Gw8wF4dpE4TpYwR7wnjD4IpDFeYzopNg7i6czw/Pkr1hxzURQv\nGxAy0IaSBHigh2wpd9Uczim4fGbV4tH+HghDiPs2oZdTGVQIKZehdx8tOLfK\nFytI\r\n=qGYa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0/HUwWFgYi9ivsbdJoZqB4CJppUihpkVxDhswUnZzpAiApq7i2+hIDnAMTyy4nKAJG3RVlVzCN5LyrJtN7FsJjCA=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.7_1607231701069_0.7595881611163551"},"_hasShrinkwrap":false},"1.4.8":{"name":"parsegraph-pagingbuffer","version":"1.4.8","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","types":"dist/pagingbuffer.d.ts","scripts":{"coverage":"nyc npm run test","test":"mocha -r @babel/register -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.1","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.11.0","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.0.4","@typescript-eslint/eslint-plugin":"^4.8.0","@typescript-eslint/parser":"^4.8.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.13.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^7.0.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-loader":"^8.0.12","ts-node":"^9.0.0","ts-shader-loader":"^1.0.6","typescript":"^4.0.2","webpack":"^4.44.1","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.1","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.6.5","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"_resolved":"","_integrity":"","_from":"file:parsegraph-pagingbuffer.tar.gz","_id":"parsegraph-pagingbuffer@1.4.8","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-3hD0Z1CavS7zUotbPjg9esHMTvmPlNZj6UM5OLlISYb3rCLBaMyAGLOak2IukQVAP/AkF07sICQJcHsF0UwCdg==","shasum":"8e9717dcfcbace0550d7866cbfa05bb51bfe305d","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.8.tgz","fileCount":75,"unpackedSize":2728592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+bJJCRA9TVsSAnZWagAAuuMP/06AwHuoeOFWPFsZqR7D\nZGMFEEtgbqQxkiAioRSU3PG+wQntj7Z5+y/A5qZlCpDEkkrkr9mNB9k6sXlM\ne7VlsLWP9SLS7phJVI02TdIuAs7WwakoPqoxypbONNeo2W75nQKwWGAFJDy2\nYAGf2F2xEm8tfLUlfwjZe6vIDIIFpFDQmWG5GApcNqpGUqG14LX1q2x13/mJ\n8LxkXjbGwK1xL8EBV5EzBUWmU7S66HumNrz3zVLJdbOdmqhnVQDld6A0rbeV\n2GhlV8g8NW/Pu0HOKKWKBQXmsBlHBVilOhtAszOuO4pQ3+i1kLhQZuQ78942\nlTm8lE7xLahXK+J95pB+7a3ZzxLqo0tzpBjDrF4wI3XAldfRVkS4huQqrWmt\nMkk8sd9h4yndQhfQnVYsJ6Q3+bddachT/PzrBATRZ/SM6vFSMTnWNBe4ygIg\nz3RbIr06lBkXGTTx8bGQoA8Qbfcp2DpPQOkelFoeSPo1ZxoaRKxrZjyagoMX\nTJnaFoXeU19a3LFzupHCiRCIFhqZlxqc98XthP659LY2dB+uz5DEATXR25L2\noNLvMnVV8Qqf54idf8pZOVhIGApEdPxEF9MN4/LlDFsCqEPmk6c8GkAaEtqm\nD33JI1XwUeeYiVUM+ONoyRL0O+jkqdbkmcBpq9WkatZ9qAQH0bYmivJsYkkt\n21fP\r\n=Q+iD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4aAYGucbZ7hXpmL/pldo1iIHQ3pczshjlXea/46bFhQIhALGPw5NhF7LRWf0sIjLdGVuKn8WuktFfgG5RwiQoIFEp"}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.8_1610199624618_0.5032627212542553"},"_hasShrinkwrap":false},"1.4.9":{"name":"parsegraph-pagingbuffer","version":"1.4.9","description":"Method to populate WebGL buffers during painting","main":"dist/pagingbuffer.js","types":"dist/pagingbuffer.d.ts","scripts":{"coverage":"nyc npm run test","test":"mocha -r @babel/register -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"devDependencies":{"@babel/cli":"^7.12.10","@babel/core":"^7.12.10","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.17.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^7.1.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-loader":"^8.0.12","ts-node":"^9.1.1","ts-shader-loader":"^1.0.6","typescript":"^4.1.3","webpack":"^4.45.0","webpack-cli":"^3.3.12"},"dependencies":{"@babel/polyfill":"^7.10.4","@babel/register":"^7.12.10","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.8.2","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"_resolved":"","_integrity":"","_from":"file:parsegraph-pagingbuffer.tar.gz","_id":"parsegraph-pagingbuffer@1.4.9","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vcMzgr+alEBAc9R0eP8e77G7GpLpH0CYNybUGPMiDQ7/qeQHdYYXhE1E2zfAICANaxNgXgmIbKMxEmjKg9WgXA==","shasum":"c75e64e3152d57be141401f4309afd4ba5916712","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.4.9.tgz","fileCount":75,"unpackedSize":2739850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+bRpCRA9TVsSAnZWagAAXQ0QAJz82Wk4yiDlRkOL3uHk\nExgqMw1EbZthXQleMEK4FCbu1HhmBSLam/rTuJHr0zndmloUI04gyaEYGYYB\n4s4gxPessV1d+manAi1TUvBN66lthSl3wfU3ttnaJdnSAxfcRsGWuNW1g1Mx\nXongdN0geHMqDYYVyXKcZ3iNgT/LH5XeX1uF49dnyUidADWw+orwJWxQTE4S\nnCnuFwPmzl1a5faEzUxKfdPwrdtMdR8Eh5jbg4f8DUwk9IndWrh6uHMx3aBU\nJY1owTe+4P6HHYmfxqO6HIwO9q3yAylXcJrsBoi06Ct5CiIN66WdRdHaBGAu\nHw1UZLdnIgFfx7d2AZr1Ab/k1yL/e6nvF3n+3SBtFS1z6hrRVW+Ts8qG4utD\nhtmLd1YNGeQFe9mMr4T7xzWT+JhS2rvor2d+hG3WIHgPE6KBGqF75yk3eTSc\nroO1QYzY+CC7CL0PKjPFY/PXBz2kyHOnBsYh0WBdv3xBdVzqsjyt+awMWnB2\nYPnXXuzv6DkcpNjvcX+yl/S9uWV1KpyAWPBYK+P/4GFKiKkHqQoWxJE0Bqnk\nDu2w0jm6Ee/nkcdty3B8SBylDExPFwf3F9Iz/+GTtATwrY77LEfuUCZTE2wu\n841l1JhiVOvZZn31342XN34GkilNVu2PwR8kuI4ADEBMpod+THGRv3q68SE8\na//W\r\n=xYpt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICfGhpeG/M6PJv/BtyQnG1lOW4w52k68u1YqqjIMmqm+AiB8LLWztRNxj6mm2uDvB4f+macr3YJ7G+NMgiNcVgspTg=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.4.9_1610200168670_0.763447765374001"},"_hasShrinkwrap":false},"1.5.1-dev":{"name":"parsegraph-pagingbuffer","version":"1.5.1-dev","description":"Method to populate WebGL buffers during painting","main":"dist/parsegraph-pagingbuffer.js","types":"dist/parsegraph-pagingbuffer.d.ts","scripts":{"coverage":"nyc npm run test","test":"mocha -r @babel/register -r jsdom-global/register --recursive","demo":"node demo/demo.js","autobuild":"webpack --watch --config webpack.config.js","build":"webpack --config webpack.config.js","build-prod":"NODE_ENV=production webpack --config webpack.prod.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","nyc":{"extends":"@istanbuljs/nyc-config-babel","reporter":["html"],"exclude":["test/**.js","dist/**.js"],"reportDir":"dist/coverage"},"dependencies":{"@babel/cli":"^7.12.10","@babel/core":"^7.12.10","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.10.4","@istanbuljs/nyc-config-babel":"^3.0.0","@types/expect":"^24.3.0","@types/mocha":"^8.2.0","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","babel-plugin-istanbul":"^6.0.0","eslint":"^7.17.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^7.1.0","jsdom":"16.4.0","jsdom-global":"3.0.2","mocha":"^8.2.1","nyc":"^15.1.0","prettier":"2.1.2","source-map-loader":"^1.0.2","source-map-support":"^0.5.19","ts-loader":"^8.0.12","ts-node":"^9.1.1","ts-shader-loader":"^1.0.6","typescript":"^4.1.3","webpack":"^4.45.0","webpack-cli":"^3.3.12","@babel/polyfill":"^7.10.4","@babel/register":"^7.12.10","babel-core":"^6.26.3","babel-loader":"^8.1.0","core-js":"^3.8.2","esdoc":"^1.1.0","esdoc-standard-plugin":"^1.0.0","esdoc-typescript-plugin":"^1.0.1","express":"^4.17.1","glslify-loader":"^2.0.0","openssl":"^1.1.0","raw-loader":"^4.0.1","ts-mocha":"^8.0.0","webgl-mock":"^0.1.7"},"_resolved":"","_integrity":"","_from":"file:parsegraph-pagingbuffer-dev.tgz","readme":"# pagingbuffer","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@1.5.1-dev","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-C0FeRonn8yaS3Y/tmWF8aiR4fF/uqp54jTJnrsH5XSawbQP8NOgWkff4MIfVZYPaPSqgwWAwLTu+4qI6XtrmPw==","shasum":"a00705bcc162e12b3951562ba40537eed1ef477d","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.5.1-dev.tgz","fileCount":13,"unpackedSize":576824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8KjeCRA9TVsSAnZWagAA7CAQAIvw2dWaPZZmhjq2wLoy\nrkk9HcXv8ztI99g+TvOpCgCY7E9P2nlCy9xgfgYQraL6lPrw1c4LPOsYdLfV\nW7kw9SvQhMBW0K/glOwx/JY43qOrFiD+jjmvhAnsdr+nbRmrrbpkVqb9PdDL\nhnDgq+odlN3Hkv+f9sYbTHUGR0gjdGB7S54l7wIzJwt1aqUMH5LMRju9GO5D\nCLvH+ld2Fts4RGKGi3Avy80fqx73QjQfFfQZMAqg2vFhzR3RUiM7SQBwzxrT\naAqLfhwYpr7bjY3M3KFeBwgxXCiUgDtbLWWgCLzR2E6ZCUWfNT3TK/IJu1YF\nkLSqAXmeyQ1txF76CJNPbR1/603AcuA6x1g5j6Hm51VTbeT8Lf1NoeBnUcCE\nI2fYN/oBs6jORV5AtcePl1NjaLxNuviBAWzlTTQCjxQOucJEvHSyxgELmwa7\neIfx7Mw8XLb3pnSo8R8ZAqUiAr2zAfkpr73SBwATLIioswEXKXNpskws2/Jb\nDt281pXD0ZcqCbdQ3TAELJjtwAyX+ZqTIiAR/AkMqhdlca2SOdtI98cmFnyE\nMjecGmM0DUj06HAGrJ4XNopZwmGkxBmIJgZREJ8fhncSHSS5/w3nBmmdiias\nhyGpmeT1OvXGzMI2vwWHUtAXpQWxOI+rQPeoiMWei2fmdtk58heWdQrqxs0G\nAcCk\r\n=QVS3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHiCXB+GwhUAUZCFcKPRY6/649liTpmlGZRhUHO0z5Y5AiEAtXkTkyC5o/JPDYkKuVU1xuTCK41116qTbpdvH1yp/7Y="}]},"_npmUser":{"name":"tracy3","email":"thorntracy0@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.5.1-dev_1626384606240_0.5486805661678469"},"_hasShrinkwrap":false},"1.5.1":{"name":"parsegraph-pagingbuffer","version":"1.5.1","description":"pagingbuffer","main":"dist/parsegraph-pagingbuffer.js","types":"dist/parsegraph-pagingbuffer.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","_resolved":"","_integrity":"","_from":"file:parsegraph-pagingbuffer-prod.tgz","_id":"parsegraph-pagingbuffer@1.5.1","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-LgCwkcDsBkhtTUfpu5T2F1o9LVRxGQu1FUzDMH14omm2Hry/NT8Y+Cm1bUJe38dj5JYl5r+5cc28hPwaJbk+Kw==","shasum":"945859976de166c6f515630748f13ad9b9a5a142","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-1.5.1.tgz","fileCount":10,"unpackedSize":10149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9v2rCRA9TVsSAnZWagAAh3gP/jltZhtVaHeHqZkAOV3j\nGXa5PJIV34EWeA7uZlUgyHsl6yM9aA2aakjHOSp8KtVkzh50qXBvtsxh2KkI\n3PGNVXzvyu86EcdR7oZayi4q+lQI5M4didJRAxPJtm89scI4Ecz6tlskTW5H\nbnlkQnT5bDespJg9QfDeBBHJGv6uG57A9MGVEtFWCG1T0wKUYTYk6Rm24T/d\nWWMaZfA6shrwP4wkG5EmWobJfi3htPClTy1T5VSw8b+BE/vZVS/2B9Lieobu\nqB8mgvPa4a8yjsAbtLGnFEPtMuKQ0BI0SPpLTHsEarhQem3KmiuW2t6IBplw\nmXB/SSrTIbTLq0FJ04XX7Q6hnDzXjQv3PVq9XTVuBem+ApnytxLs9IxkyBog\nAPOafKES4OdCPF13IQkstaBSIeqnk8OO0okJsx3epRWaq6sQeInXK1UlH3iK\nRxZHLTpSRM+Z5P5v/czyrkzO+d63OunjJ8X2rthGb/3zFmphknToZpgAtI23\nNJqK9uoDYu0rulJccNcFqXoqnbCi8BhHuDDpDs0Wblx2RsYC96F/y5wlVReJ\nwWOXMP9hgOoF3yan8o7q45LPhzyG+XpYnOgKaVv5kSgwPrSul4XyMos/4LuN\n7fxj41SgcnmR0XJK2eYb5mxUCNOVpSzligkalUBsg8z8qlQA1lx3cUWq7shR\nXZJA\r\n=GrtU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOVcfugJutRFfCMoILL9RUt49erISdkQM1TbOxgetUMwIgYRlL8TapItDLAnmzvOb5nse62JaMUh/IK6glIYFvKjw="}]},"_npmUser":{"name":"tracy3","email":"thorntracy0@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_1.5.1_1626799531475_0.792643839661251"},"_hasShrinkwrap":false},"2.0.0-dev":{"name":"parsegraph-pagingbuffer","version":"2.0.0-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.0.0-dev","_integrity":"sha512-wcMSVuw1CwbH0zc4h3dZfdu/HCUucLKSRCGZNjJ0BOhyyhjrYpsC1PgUXemiOdSOnnFgE1B8nyGu30PqZQ6+AA==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-wcMSVuw1CwbH0zc4h3dZfdu/HCUucLKSRCGZNjJ0BOhyyhjrYpsC1PgUXemiOdSOnnFgE1B8nyGu30PqZQ6+AA==","shasum":"e800669e6ba3e1ef5f123fba6176f2d08118068b","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.0.0-dev.tgz","fileCount":23,"unpackedSize":285459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFTkQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq73Q//e2vemED6gNqxnoKzQ4USe6L+WQ2/HG0xyH9fB5eJAQrQMHaX\r\n4k7HHs7kYTgVjAb+xDHA3rUuOLZE1d9prgsPvnPUmR9CFpKGYhpG2v4fMaju\r\nC1Xjm41o83gWQ+S3+qf8nYY7/LTdm8yKYdw+aJLeYDlJlGnv92bWMZ4w3af0\r\ntW+Kssreu7Sc1ijPUQkuXDCxVO/vosG+rxk2jkb+NrE3ZbJnp60rnY47/poA\r\nsQbx6V4BbPx8THRIMXTreU0GqXht6pajUIaZfkBT5QKyRCbgO74chC2iNMlq\r\nG1fxa2FB6Bt2s/aNik4iUYctKgoNVbLL0XPcUH1c/yNzHejziKVVeEnLV+wW\r\n3nHLTxmS5Yyx/1FMmzh3pXTaDxAXXAP890GSxvHyDhsBf6W0vsXWZ5DkQxxX\r\nROs1CR2uFjv8pMlu8iUP4mBgRO8CMMYhzWFcSsRmXaf6LCnQr4qHU/AoFEw+\r\nvSZjmcfBLaFyLv00fDbWcIDtlsPfWOiqcVy6C1zBP+psGohyi3MXvuQOvCBN\r\nS4XPQ6vpaaYkd9X/D4NDscK2vmHcmi6CrT9wfBiPN41DNlCeB9WSwlpfHupk\r\nGw+ENftNdv6Q2fHhRzXTuLECzu1cqyu09ztF+48IMlxFXBhQbyxMm5o0ECao\r\nOl0odUup3TuulvBsFUY61T6e+Wtcj7J7vgE=\r\n=PObe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIApyVmoZKr4bxPVcTXva0KqgNNx7tKRxZUJdZj5mzYtUAiEA16TtCTQGwsjDI40Ffdw08xgXdsO4nueeE39xWuF68Q0="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.0.0-dev_1645558032818_0.20460454868097644"},"_hasShrinkwrap":false},"2.0.0":{"name":"parsegraph-pagingbuffer","version":"2.0.0","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.0.0","_integrity":"sha512-j6pleJeRHoV7Wc40KbkOJgWke5ROtuptByVlb20Ei57XHkcHofENGeNh8LWX6C7774EMoFtd3RlHE4WwVtEBYw==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-j6pleJeRHoV7Wc40KbkOJgWke5ROtuptByVlb20Ei57XHkcHofENGeNh8LWX6C7774EMoFtd3RlHE4WwVtEBYw==","shasum":"9580995c674a84b75a6377c44855c95420dc5869","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.0.0.tgz","fileCount":19,"unpackedSize":20240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFTlHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo47g/+MuKTnv05MpIkEEofDntbJgs2FBg+a1KV2Va27GG9q1WLQ/Fv\r\nPZy6NaewEojfvwvotW/SXWi33Nt5O0+azByRSfktz4BhAN1ysUEKqLqNQP0y\r\nIQUsYwveE3sGWA9vGh//6BpBtbNugs43uZcYvfWdTmnw7qShfid6X1tBxLiy\r\n6eRB4nduFVv57pwRAx/QjegCKBlcQ4XUImOtDlta2fL2HpyHH9Z0xLWmLpnE\r\nYB0MD93Y1NNku4cvP0rOqDQN9tJxbeQtvGR9ZFxK4sFPWNwWyUVJim2i2Bi3\r\nUQQzB3nql9sL9JmMdEGIJHk+mRmxnpNu3VjYgllAmq7+UZfuq93t3C7QHULC\r\nfbl1HCtjEYRBUODDGF729d5cqitstjXt/ckW719ZvY4V0s/kCQUD9LYFBYiO\r\nSVO5aGsQlbP/gz+mcxjjkhc5/k0bo7/OpvN9yoTYhHOFcp5Q8Y703g3DBDyD\r\nki2mpxJMBZDaY30pGEkKZSVPZPCvI06iBa3Qjyjja4TiR47yBlafJiMtNkx3\r\ncRCBod3DMq5heXmx/f8hwvm93UeE9ACMe6+jHzBYFT6cRXaRYco6RYYZt0gf\r\nYL/X50n4XDgZs++8l0F/WV8CFJyKFCI8IppojS6X6rFkbEPnOImwOoX8dqsF\r\npPGJDJV6wCsh/bRwurqrje4p355TvokEl9k=\r\n=HEEo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGYgns06pN3CUGQtUSRmeMxh2DlxJ30e4ddt2TM9RfoiAiBgLHOoUNdNoWliidKv7H52WkWSeFvtpLwmUWDYJ/ie/A=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.0.0_1645558087336_0.44756112170729834"},"_hasShrinkwrap":false},"2.1.1-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.1-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.1-dev","_integrity":"sha512-AzaGrFMOm8Fs7z7EeZdAxp8ThtZRki2f4wLD+Emums5FUb+X3ZR1aWFDoDYbMKOsSgZ81ow2dX21bi0alkVEKw==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-AzaGrFMOm8Fs7z7EeZdAxp8ThtZRki2f4wLD+Emums5FUb+X3ZR1aWFDoDYbMKOsSgZ81ow2dX21bi0alkVEKw==","shasum":"49a09e24e2b3b6440f86e0cb2cefdbce04659025","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.1-dev.tgz","fileCount":23,"unpackedSize":293332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFeYfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEjA//VT/8tlureVZdCC5Xw474jk6omyfMKx1fWVDN8SM7PoaJaGlW\r\ndTTZMDF2NFwT359Tdk5pOF6+QEF0/sQp/L2fagp5XMwV7hqhPEQXeEysCEqB\r\nE/Vv2WnkmPNgOt+DdKIgwTW5InCmWeSprnwvueDXya76OvO6lExf3T2JzNmT\r\n7PDRXit4op/VXvjTLDqWdGEhz7HdWeh4MQMXmUO5faVrMvrzhy873euxTFFB\r\niViTQEJZdAvorskKGnONg3a5TBpp723M0J+2kCo/ebvAzUIaTr0he886MobN\r\nyNFKAsefOeeZeDudEs4x2BqD/YpUPHTtUpTUpbOtvtRnydLUc43nY/IIhRGb\r\nwqel9P9vEbXZEoJn2WDc6irV4+lJ6p4LAbclwnXPtIsC5Ih6w5qE6KimZ580\r\nxeTjJ/OFdNNi0r3w+lcbYErLhZ10khTlkPwIsOQ02r4vQdDDs7CkTmvLGv12\r\nsXcPZgfVZFozzXKRR6pNkUU62XL5IS0inxsERbLyUMKtiQAZ5OdEfT6jDf2G\r\nP7SXZXU98LbI/8nPS6DzN58XTOQIRuKxQc5jNyK9P8O3fdOwpCUtlevN7zSl\r\n5Cb/asDJRj5dQzTXpy4IpWYgTJA8XvkKB8EQ6dvDCdLjzg+rQ2OG2yrqMbJJ\r\nJreOH95FfCnWCKGQcewTS0Y4JOcq0u/slyg=\r\n=o7UQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDK994Dp/H0XjOJcqMpx7jFRm17L4kfqnK8UhNRYxuX1AiEA10JToPlEl2NRwkE9vtEZiYjL94wiv5Ub0cNp0XrGRjA="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.1-dev_1645602335446_0.8900051258766857"},"_hasShrinkwrap":false},"2.1.1":{"name":"parsegraph-pagingbuffer","version":"2.1.1","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.1","_integrity":"sha512-DhVXFh6MCDUkGQ3gJncjyVMmBnW1BOXxokf8FET5MuCH08GREBGVweOaIYPYqLZRdSOyiThdlG0MSM5W9+EWbg==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-DhVXFh6MCDUkGQ3gJncjyVMmBnW1BOXxokf8FET5MuCH08GREBGVweOaIYPYqLZRdSOyiThdlG0MSM5W9+EWbg==","shasum":"c03dbb8599384bd766299be0a155434493a41d7c","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.1.tgz","fileCount":19,"unpackedSize":20508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFeZSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxkA//av9gtfhRpBRQkIuFaR3NAMR1CeLfZTHsUzK6zub8/Fnux8ba\r\nv8ImkRPc9uiNbpDDF4yEvqJ0tYb//lfzUYC6YPwm27KsHekKRopQaVS5r/HG\r\nXL8FXkhzXGG+U7tZiuiwGbXR97c1rRlv59FXb3P0AcZWAWr+ySIwoLtLly+c\r\nJuIwDDHdANAvn73gbfrqeXZ6vpl1c+loqnA933o0nJAy72EZw9jPekuRlLQz\r\nPYIvQc+kz2F7kH9cCAOvi8inRwlp0bXtkAZPPI2gl5qZum3GcuReBH4bbFCL\r\nxtTjoa4fFaZf5wXRV03pogLRxceco77/KF36xZgfHtr4gCcwOyzDXoDU/3No\r\nLcnjwQcXGt5e4FXopZ86cKK0kRLnurZcDcsp+LIMQgizx6Qbiu8MArUA30Wu\r\nULXUkyY4JvOPEGTu85tDyqmKM65nV5KQIGe73IJtFHTKapmkXT7K9akfb2iy\r\nsAEZZ6MSOGoEcP0ziTChPuW6ZlOvPfu/UY6XptJG6J7GeBcmKAnagpD+o+RJ\r\nnlwxoumyCUz0u+8DMmWq4TYnApFcj6V/fmneWZOF4u0hTLGMoyvsYmV4WV7q\r\nj8WpejADxEdXvfIk8uFoJxc5+oz1ujyQayzE31HdrwCBNFUaxroVqyIWe1Nz\r\nOwHeGk1qXu4cdJkwhC9PYdXz6JbGpQMohl8=\r\n=lVi4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzHCf3n/YK55FxrZ/9pKjjccF9GHbF4j4z9gRNntp/7AiEA/fsJTCSPscKZQtXxIoWCvXqWNt7QRQciKv0lpsf28pc="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.1_1645602386632_0.9800138781301735"},"_hasShrinkwrap":false},"2.1.2-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.2-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.2-dev","_integrity":"sha512-kXqh3gPZVlAesH5/Hwk1svjB9duLOeLQN3RTtOPeQpi7Nlxn+CxF0Ro+izzoOKeB87AkoqMLOOwvrjLyuypmhA==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-kXqh3gPZVlAesH5/Hwk1svjB9duLOeLQN3RTtOPeQpi7Nlxn+CxF0Ro+izzoOKeB87AkoqMLOOwvrjLyuypmhA==","shasum":"6891f48193eedf94b07b4c00207b7bd7d6f2b49a","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.2-dev.tgz","fileCount":23,"unpackedSize":293362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHJG4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeehAAgg6n3ZmD3thT7de1V4/012ujrYNuA9sA3YHg+wssb7FCyUhF\r\nFxpsCbo8ZiTB7R5WTlLE4WqyN/ntVM0Gy9P6cqGpNafBwtg9j+TdKcr87laf\r\nXHe0S2uNpCP6RwIUPskFFwtJNe6o0aEq+8aGnt5rlTOdGnq2HA26nZzw7CN4\r\ngk68UAco+I4YORFNE6HUye/TpAjFr18PZ1+JIu8XzIRI14avZjO8kmkgWo4P\r\nk3SKERwCWL0YKZ4VQRYVGYZWIZMrNCkpTAjxGqae8DKC3LjtElJpZvXlEE9b\r\nfe0CBbKd6vggGHlB7rMmCJ4TLZd4Drbhn47WNfJJWiYDCAsArDuyf9AR4LUN\r\n79alFyJYsdedRs79ckS+oVqbTCjpwqDh7BqbLLSUKfqtb9iLHSXyd6BRRcDl\r\n/AxqCZ1zoiwHzMjjyyvTyjQLwtXW87nTX+knIGYPJ/X0jjeB/wYKPefOc9kj\r\nkzkOx9EZSduvi+J0Wq8Q4DQtfvRVCbyWEhF5yH1eQ/AoezR74Bfta3iYE9TG\r\nbPaytSLz94ieG1+kxMyvAEmlCIGa5p9Dz+GVQWv5fWlr+xZeElOj+NdPQGV1\r\nLICCSbCVTqIL6dOA5sO1jUqF/iyq9/KkGsKtUa5dFq0MNN7/UCfusoKS6foT\r\nl3tScr0ERMhjSBwNmHmKo1ijyj2x9hUoDrg=\r\n=X+TD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjqNWNi7GMMGwsRZ7wf23wwVrz5hu9sn8yCLhuxgTgNAiA5+RC1xQIHfOpSJQc0dpcpf1ZzCp8B+gUIagcR5NbNvg=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.2-dev_1646039480129_0.4653296072956119"},"_hasShrinkwrap":false},"2.1.2":{"name":"parsegraph-pagingbuffer","version":"2.1.2","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.6","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.2","_integrity":"sha512-PXhQawJcse6cPmbyUqdoU2Mci7+zXSWEpDUlqui0VYJKLgG4Gop/lLGAlxjUGWMtVnlsTz42Xc4Ol2QXLa8a9Q==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-PXhQawJcse6cPmbyUqdoU2Mci7+zXSWEpDUlqui0VYJKLgG4Gop/lLGAlxjUGWMtVnlsTz42Xc4Ol2QXLa8a9Q==","shasum":"ba8a065eb092a557ab8518b0ac013570ca47c0dc","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.2.tgz","fileCount":19,"unpackedSize":20538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHJJ2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwhg//VMFmBQa4hUaItnpBSGliTShqOtILAH3h7uyQmlxIEf2YkDsu\r\ngViRq/3K2CUa9V2pTE4ErdbJZYeiLzZMJ/o66UqrxCUHwIc8Mo/nlo/v0Xzj\r\nXWtzR4Is2MRbYnxNDi28fs3FwXm/Pfuuw9EfH3Ci9xv6WyOZMYznzSFaGqS0\r\nTnJDBPBCFIYqJze5jM5VGrZSg1PIsnO+BYC0TSZstDQtzZWgs7anp9YtcNoV\r\nXynv6M1GGMxzD3kNt4KMoo7aXAV+0OQFFpUfn2L+JWnX7GTomgArxX2Cnc8+\r\ndshwX8/iUPo+6YivPZHPnUS6HT9fRmD7UKCllWkC7o+QqDqRGtNsCFUifjIE\r\nS6HdkIcyNjeiu1GdOhBmSswuizGLUbZnvzBtS+bjvDXBtMjGdcwMyvzGS20c\r\nrwxCVXDFHqkI96V1GgwNmmOZdXxH779LUG9OHuzaPuGknCwf40Q/6EOzL6LQ\r\nm3vt9i/cbsq+p8NRbI2djGxshwk51/bZ/yy00mUpDpvoGfUP/q6+NmIcrCor\r\nKUv0nCw2S/Em7xtIvBiQNiw4Z0ZT7osuR1shoCsrOyksn4SCBf6YnwxdYlCO\r\nMr/AsKXgHovIdX0eH9rT+Xh4cakdbi89NxrGOhpnfBoZKyHXVs/YopOThtQU\r\nDV0XTya/x+syjGHXr5yUwztvONMaO0aHnos=\r\n=+usk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC4Yb/nsCzcvFZ/SYngv304nR0Nz89dp3nkEa6zw8pa7AiEA4VrCsltcE+LTFBbseMW4JO5DpbymXZtq5cfBoY4DAjA="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.2_1646039669714_0.8933293567280418"},"_hasShrinkwrap":false},"2.1.3-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.3-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.7","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.3-dev","_integrity":"sha512-WERn+6caaAo+00L4WMLTfCOa3kNNa8vQ3aRetf8WbmR/AzrnNHkljd6HZMHRowhuL6lsN5wqLB5CeEK/Z5xSlQ==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-WERn+6caaAo+00L4WMLTfCOa3kNNa8vQ3aRetf8WbmR/AzrnNHkljd6HZMHRowhuL6lsN5wqLB5CeEK/Z5xSlQ==","shasum":"ef6c5cf6600bfc2fdaafb34dbc169aeb989d80db","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.3-dev.tgz","fileCount":23,"unpackedSize":293362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHLuGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoClQ//RFFsNsh+zdnJrbYzis1pe4RpIpBztkaOPzah61csTj8FSNF7\r\nNr7RK5gBEN3cU6AqekmkR+JWk83TmRiinNHd2s71K2a9VqDixH23Lz5BNvdt\r\nJaOAhbRCfcAfDBnkgw1MRMjhitfHY26rCEQseBh7v0wII8dR1MpIu8kV7MFX\r\naLghH9wIVohED/YFWlagvMtW0kCKV84lfrVyp1LJPv3e41/FqHb1oazmJXSz\r\n0/xjRU+vAEO2v0LSFtX3i2aFAyhqaYqo6mgAb1UmbP3klK+lGiMUwGNnimMi\r\n4TYR4WUs+9OzwB5vBZzbQRJXPmZtDZwMsqUbDIH+wSTtByBkG2exNkNZY0Gc\r\ntJSl4cxG7hvgONLrDxQs8QvPdS7Rku2MM98ayCbRGmL97s+JUPpkuvW5qzsX\r\nQnvsCBLlg5yYmsYPHUaX6NTQrBGKHtLw8YBAwQtho5UxNmjrcrwS122tQtJu\r\nSTpigt/fGBGmSoSbdbREY0g6OJG8hzykEukYtm7W5/V7b/fNADMfA1qXOVjq\r\njV4KOdgO1xGMoQnzWg/oOWrJ0qn7kQEoUr7u8YHVRw4P5ZBHGPTHCSOX2ybX\r\nXFSyxPAklfjVeILvZliESJI3YyqkkArQf5VcXABw95x2uP4ZqSpkj3wys+zk\r\nL1rwJFF6vJn9WOJc0a57yCrVn9DuopGzhYQ=\r\n=v/5s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNd2jaFr6U8hykOuyRuhTFaOIGYsQje3DbkiVcuhSbqAiEAoDzzSCLLbyGXPRp3kCCgjUapLv+8B2tfBZx2eBC/w8Y="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.3-dev_1646050182233_0.6158000653415119"},"_hasShrinkwrap":false},"2.1.3":{"name":"parsegraph-pagingbuffer","version":"2.1.3","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":"Rainback, Inc.","license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.7","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.3","_integrity":"sha512-Ag0DFMqf57CuQ7y03Z5Ps9NugLx3pau/EeqiCLE9vt2kQ2dQagQ4wbKpm9YyRmgMlXtAu1K6vg2pPriSv1ycoQ==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-Ag0DFMqf57CuQ7y03Z5Ps9NugLx3pau/EeqiCLE9vt2kQ2dQagQ4wbKpm9YyRmgMlXtAu1K6vg2pPriSv1ycoQ==","shasum":"6a3a3802ae22a58b143020b7684ce3b193f9c5e2","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.3.tgz","fileCount":19,"unpackedSize":20538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHLu2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7IQ//d9lqf8NjHQPb+MrMchNN0D1M0ATmwlC/FYHN2TmAyU4I48Rr\r\nxKu2xUBpZPpJfBbTsDBwE5k97R8S+881a38UGYjVGUkOmA4EeHMgjwDUh0hQ\r\nxky6NxrN8e4/dUPL+NZLv9SN4f73QKolYvVwMQseQm0/s9A7wP+AmpiG5XYp\r\nSV1x10egcMRAi/tjVTeo5naHQ1H6OVM5WnI89E7IK+Ps8zsOzunO+eqqFM2R\r\nt6eSHyLOPhvG9U8Njq64mciV8JXpyskZJOyxb4CiJlujQKkaePKJuSO+L7vO\r\nAlFASABtmXK9EzWR9qQFw+TbsGBGcR6Gjor0RYWqlxOK5vV/Ypo/40V1b1th\r\ntPc/1+pT98mZp7YUjBqzHrYJx0J+IGOqdsPBcCD3J1neHxnuYiKxWbv7nDCG\r\nmym5kw3wTYXv//r16fjgkKf2CA7cuqbSDGH+JKyQKnsVP7CHiCPlvTL/fl8H\r\ntU5QM2dn57btSnkjU6pgC/reBdVvXRhtDkCplBms56pSyShc4PHB9TUM7Ipb\r\nYo+04qmfbrY5Ym7cPHSt7k4uCzbsT+fXN/rpR6tbcbi6TzXlAWZGjT9ByjsD\r\nnaG3A5859C3i0kRrfciqEsrVewnad9SaLSn/rtvO2KUhMihtR4IkNCg5Yaaq\r\nB9+JRcacio178nX4anZCJhsTIJ9oA7ofqVg=\r\n=cXhv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBIecX2J6P8AoNjayOD1Y5cBJaEhaH+R5LYK1l/MSDMuAiAzzvuMsFF9yYWDL/IK7HOqTng5V1loS59Z05QlQpL/ag=="}]},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.3_1646050230561_0.19810742601503906"},"_hasShrinkwrap":false},"2.1.4-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.4-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.8","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@2.1.4-dev","_integrity":"sha512-3rtk3CXWgAJf+s1wXHvAKZbykZZ0/OWr+4oJYsk5XknjDEwlQpOfl1MuL1mLJpoUfQ6q0Hqb/P1yalX3Mg418A==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3rtk3CXWgAJf+s1wXHvAKZbykZZ0/OWr+4oJYsk5XknjDEwlQpOfl1MuL1mLJpoUfQ6q0Hqb/P1yalX3Mg418A==","shasum":"b7b12f13261393326a00b14e190ad65ca42d2862","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.4-dev.tgz","fileCount":23,"unpackedSize":293282,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuY6/9wA5745M9h3xKlvkUJRXmkfabiBeL/Nc+vyPsUwIhAI4wOPA9O8DA7FbW6J3jzyYjFV72Xy4AqGjxHNYudaA9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjax1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobcA/+M9ZZ3qFLkDctlhFMGCT53QRC567of5tvuZxWhJaRJQVpwFt8\r\nDW15ddDpS4/m28LzWvDQWImu3tCjvcFM+RL/s8s7kGgeiQvdjUHuVVUZxj9p\r\ntYy98jNjBZskyzGXA+F5jVQOj0PjnGEUGOpfgej4qz8M04YpJrqvc/05skIO\r\nOKynWYLGzxTCGO6hCUC02NUPIa1pM7dIbpfWaHm3/Zta9LfH4WDhpsBOot73\r\njlhnBMbFOuqONeMpFE60XhFTCSTpWAoJdkph6jQhgi9HSCIl3ArHFA86swb0\r\nCJiQycF+FIBVHw4SQ9/4sGWbroHLoq23ftfw146ju68qgMNU5Idkph0U69qM\r\nsfycX0TEn0qtE9v1XK0d3YoHQMEE46KB3Ck0amu6d0Xmo6FV+fRUCgHD2R2A\r\nNsQGNH4MBEne25iqI7U/Oe49+1I+ZUZuedsbt8ngkn53ZX8XyFb+whd8SElz\r\nCeB83p/xbWBXOEwy7KX1GocH6JJWjkN5bzDTurY2myPYmtCnH93+n0r0H0d3\r\notEX/rhJQAv/nakvt4Caeprz7oBm9YqfPPkkO16bjANJASLhEQCOm2/Sbzug\r\nLDGXke1Y4SbCk1XxsX4Lo4GqWI9578B9QgIhtgI6ssz7VMNMKC1UF3JevXga\r\nxKYtza+bn039C8Qvp4ISE0jwM/4WcxbboHc=\r\n=mug8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.4-dev_1670229109571_0.716070017176166"},"_hasShrinkwrap":false},"2.1.4":{"name":"parsegraph-pagingbuffer","version":"2.1.4","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.8","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.4","_integrity":"sha512-aZEebv9ZtB7ltLjOcwtz9aRCKSxq4RhX/E10Jfl9IEBl7C5PyVvXORvvPJ50RE/eiL9i5zO+DjjFB7rdGIDH8g==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-aZEebv9ZtB7ltLjOcwtz9aRCKSxq4RhX/E10Jfl9IEBl7C5PyVvXORvvPJ50RE/eiL9i5zO+DjjFB7rdGIDH8g==","shasum":"44ecc1ac8cf59c47876a6625f7ec3d17f1078255","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.4.tgz","fileCount":19,"unpackedSize":20538,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHfAtivCPpw44zuSOg7sKj7OqiITWM4X46QnEjD5hcdcAiBB7/5JWPVZhLhU9GRsJUIokmfKVvoLVuJmyDlErZereQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjayhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/lA//VQCwXdX0Jys2So0Ch1CbbHEqioLqHRFJJxvR4SOYK8XEV0RS\r\n0whh64ry2PTik97RNfdh6JKURKvmTgcqj1Ptn5/w9JhKm+UWmmye5PEBVSmD\r\nwrU8QyJzHIpHIUwAM40kDyTvI04RVbexJkLytlKNBnqVCeGERo3d0kWjSY+1\r\nzPkm/tOpY5CzpVXPcDKUXsgHertjNQGBS5YSkUeShvVS+4p+OTCfi/9heFrW\r\nBnQcTRFcF+V8fZqpOZaHYEcWSi1ZWm96GHp8yKkR753ZcNBzwlrW8xzWayuw\r\nFAjxSIl+ztEE6yEn0TXsu6Ls3zifUI9+qK+KbX1XVWrOrysZ/EMWeIskuOF1\r\nMKQToVkC8t6SG22zFt2zNZAI3eZV96My1Ruh2K9T2GYCT/tZPl7p47e9+8aX\r\nbHOJRU/j/BinMAZf2G8zvAx6RJbP06kjn0CVHmLrEc419vlZI8ROi4C4zMWa\r\nRSwZyqGfANqEBOCZPXNR0iGu1YYAi1mAHzsK30nm6+0PL+HxYo4yE8iJWpwX\r\nr/Cb1qqJ8nZY1QAcRL4dyfo+D1zlT9IL6at9jhKpiomm0kVRimJy5LVtjakk\r\nQSgAOxjQMMfMh2HovAqlWFtw2cD65peVGu39byJoIZEknsGyFddX9GUQeI5R\r\nH3bIEa5hZPO9uqqS9c0skm/WJsJhWqUFYJg=\r\n=3sx3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.4_1670229153390_0.6715257213587176"},"_hasShrinkwrap":false},"2.1.5-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.5-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.10","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@2.1.5-dev","_integrity":"sha512-3rayo2rS09oGK/gUsXpNT4ydpY+CGqdwG6bqPBrlatR2EEsfLaCvTrd/MAOgECOkEHKOL4BeiVHWKDtzNAOU4Q==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3rayo2rS09oGK/gUsXpNT4ydpY+CGqdwG6bqPBrlatR2EEsfLaCvTrd/MAOgECOkEHKOL4BeiVHWKDtzNAOU4Q==","shasum":"c9d8a41f2266c8a07dbc6191930ec2b4a6eef31a","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.5-dev.tgz","fileCount":26,"unpackedSize":265057,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZtv2vqyKINunpYHFN3l8aG90aJy7LmG8lx1CQVOWmbAiEA3U4IVUYijC2p0bld19KpvEP/soM56iEjYpgnro42BEQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrs1VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqsQ//RdhT53qxTrM/+n88My/ulWTWCW6gDHThCKM4a0T8znYNbdUI\r\nf1jQLAmVk+rED4wgSLarGv9iPg+VYq/AkaW8kDDm0etuN3cX+xuAa6D5xCdY\r\n7jUsN9bvBAqYyQX47O5l4/FNkV1EZa7AucMVCK1SfFfz7knsMnsmabnNmqck\r\n88tI4AsjN9R32Vqz9b8FB6t0euQ7nkm36hQ6gWA9Q5rVNOw9sk61wgxZKjE3\r\nYegBhP4vv6rMjf9ej3SnfhQdkmc3xwR9ewN3/UaJzZi4vFx4O6J9jcd16O7f\r\n8AZKSO81VGpFUe71ppaGZBq62p+JxzqUyTNAWmRcy6cW5Fkst5SiUWQp1+IK\r\nGHUUgAqDZN85XFRFoAS6F7oye0rJBoIx/kihK+qhkNHP0nz590U4DKwyvK2d\r\nRVZvDUdTgxa4yo4E5ZDBm5lSl17jKymjpc6/8ic9erhjSOZUOveXiZehb1OS\r\n/ExBKiHAMO3D41wqdhJTw6EF7QixHisnbikCTjlsKet3meqIL39CfQLavYvZ\r\nOOMUH7mPXF+66epSs5Rg/5YN5T5jEgqfwuYSddLdchkpRS/6yi0GDmrQpa8S\r\n3wUXwXNJVQZE5L8H4qh9mJxOgZB1IOP0lNV/22ZMAxSDH6tTQfCHKPzXswm8\r\n6r1RRAoojpdEqhLdmm9oTUahoDD/mChcmWw=\r\n=ONMk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.5-dev_1672400213655_0.5457321687582013"},"_hasShrinkwrap":false},"2.1.5":{"name":"parsegraph-pagingbuffer","version":"2.1.5","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.16.11","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.0","@types/chai":"^4.3.0","@types/jest":"^27.4.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","babel-jest":"^27.5.1","babel-loader":"^8.2.3","chai":"^4.3.6","eslint":"^8.9.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.4.0","glslify-loader":"^2.0.0","jest":"^27.5.1","jsdom":"^19.0.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.10","prettier":"^2.5.1","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.2.6","ts-node":"^10.5.0","ts-shader-loader":"^1.0.6","typedoc":"^0.22.12","typescript":"^4.5.5","webgl-mock":"^0.1.7","webpack":"^5.69.1","webpack-cli":"^4.9.2"},"_id":"parsegraph-pagingbuffer@2.1.5","_integrity":"sha512-NgghZ3QYZmFxmanmkE0Tj5KOgjc2aiqnnk+pMd7tqaPhDr7zTfrNfQKJtu6y1XLbJmV35N/WdkdPGvpVzIz6yA==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-NgghZ3QYZmFxmanmkE0Tj5KOgjc2aiqnnk+pMd7tqaPhDr7zTfrNfQKJtu6y1XLbJmV35N/WdkdPGvpVzIz6yA==","shasum":"f6abe6aaca351f2302a6bc398e2cda803a6452fe","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.5.tgz","fileCount":20,"unpackedSize":43864,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5XRxekj7nWuqtsLzgWkAU6bkrc9BxCN/fy8TO/P/vuAiBPHvj5wahZcNvQfwHUpV1IS27Sq71uQAZwXqHeTV8w2w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrs2AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIvg//UB5oTTr/zt88x69D6cECT+iI7DYNlref6l+6agaue0l8rbWC\r\n3uZ2aP9ZxIBFQEOi0O/DlPDLmOE9R9M2YqjnIb5SwWFod0s6Ovql6Y8I7Gxe\r\nxAxCXbnmMLifl8ams70A5gUbUhQhrWD6SNzyymOE/pWfF/h3Cj1D7SfCKHkj\r\nSzJredg/AzxyUR8j5jcW0fuREOVhm1D7M3grWw8hCwbbaKWdi1OoQ0bsYFZ2\r\nvIfuDJX4+JVBa0OIPEU/r2S/Pp8jT6ygHVPFilAji1Cbn1m+qh+u22ozbaWz\r\nPismob8684DCx4Mev2wajsZlKs1Ux/39TPWHLkHGWy59eOLNhTAlTMIo6pyK\r\nUQytMyoTI+bhXhiOS/h8Losl4iqVexVYJDkGUfJhyks1zOTkvRFrM714IPZo\r\no3jag+Xwk0t9aHVr04au2ChmZi/d82CzD7VUYehlQBlN6EsY7BytR8r4+OuH\r\nMPTACgA4oTuBDGyg+03A8YGI0xAvrwPRWJmgVqgrEqO9ALhrJCxO+HuhjXbF\r\nB1kkBEnxZErFPj4TZlb1qSsxjcXNugiwBC43nsXkgU2Yc50WSg1SyXBhhV4e\r\nk2x9a7MHdGBNvA0g9ezObC0CEO8ChpfoIEwzYPhNlXoBACuSAoYKIWLkGv8V\r\nAFGWl2Erl02KeTK2ydbnyeemxS1iXUO8tzU=\r\n=wsPL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.5_1672400256023_0.8567579750547585"},"_hasShrinkwrap":false},"2.1.7-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.7-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.12","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.4","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@2.1.7-dev","_integrity":"sha512-+b5g1bRDlqBOSwxoQ8b8tiTB4ZXSDFTGI2ag4xFdd9b/P7eZQOsx+6T1ptMakx1ItvwKYTlS8zOSNQ4iFpBZpw==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-+b5g1bRDlqBOSwxoQ8b8tiTB4ZXSDFTGI2ag4xFdd9b/P7eZQOsx+6T1ptMakx1ItvwKYTlS8zOSNQ4iFpBZpw==","shasum":"6f081ead07b6868db9252aec8922ab73766e4686","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.7-dev.tgz","fileCount":26,"unpackedSize":262844,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICnP8Jm2Cnzt2sQb5i+8pAugJyPrRmpJFh8Pj9jn/sccAiAGi/slvVNQcAlAgCSgrDshoG1NDzesb0dFNui4PrcMPQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzVQ5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVXQ//aR4nCtjM7xmdczd9Zbm1II96skwVN2vkAFbJP6NFy7fgaq01\r\nKY3KjDaAw19B0pKdzuIKYwuqYp72TEs/+OWEmWLIow46W2jmzIoUNoG14LM6\r\nKxmhUP+P+ZbESf9Fjbuflc8l1ybSIdLaBJ3gDwzsHNgDAQKyQuD169pCoGRJ\r\n9ItEw2ZKcDeKbm98L2xZF4szJB/AsCcS2gxxK2stwRA/zjb4+cl52SVn+N3c\r\nKTKFu43Y6iXukPYng+1c0zVKmkJTl7FL6WCRMtT0j0ShhccyBAPcak9WKwUB\r\ndmE+kA0WM6fdt3RUTeFrIz97wHcc4CvVAtUg0Aj2E18l98lMZC5pwpIZBhAo\r\ns9p+ZhlOXxfyuqZ7yAbGYQVsObGwCrOnJI9xM3+FEKGyZB7da90GMw/fuAmC\r\nAQ9CPFR1CCJFTenbYOnwXvXtRkjOBi66ZZP53VTAYWnnS+uq2K06UuJWSMSE\r\n4rWh2SsGBYOqXlKRQV4Qxrq+kOWeMxmgHl1jAVRw8eo0JxFVftupVY9epz1W\r\nuXjZ6K76T8+j70Beufvl64sZZ3C+h/gXx/2QN2AwT7FCGI7aE996MoTBHqd1\r\nQruFobpnuNnRdjdmGg7oBMIJd+a/CyLEOp00RiJkR74q3BH5CtlkN1TL0tqV\r\nPFWicp4GcLtp49WCbNSPmNVerf3D6bUFQmM=\r\n=TLRc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.7-dev_1674400825728_0.6657875890044718"},"_hasShrinkwrap":false},"2.1.7":{"name":"parsegraph-pagingbuffer","version":"2.1.7","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.12","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.4","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"_id":"parsegraph-pagingbuffer@2.1.7","_integrity":"sha512-VYshpAa3itwifJJZhNn1Q2ecxeRjOX6ow0VbqjS3SSMu9liUaI+M8mShEObgUmBR2IbS7I/hUrPCM9w886B2Ew==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-VYshpAa3itwifJJZhNn1Q2ecxeRjOX6ow0VbqjS3SSMu9liUaI+M8mShEObgUmBR2IbS7I/hUrPCM9w886B2Ew==","shasum":"11a44fabd68ddc8e2485457d04489504ec37d633","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.7.tgz","fileCount":20,"unpackedSize":44131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs7tE+QskFBMN7YY34bDI57Jzz9KEfUEzUzXq268i6FgIgCYTPKxBsgtFoSBmwWnunHga3Fo4Bzmt/sEt1wnP3HNQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzVRgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0IA//WO7+5XxBbG3yMftQ9XiEKgwpQrpB1d1fNAsTdGpyX8krli2f\r\na20o1Fgst8VDRN6t4t8b1o5B3630M6KrnyPNN1HDvoilRJyoglp99Q6sNOzi\r\nxg2KCUXm3etotNX0aQk2nCGq4Ie1YwC1wr7k+xe3mLv3JRT1Nq2abuX403MX\r\naGmpRgj9rfcp6B88TBiOO4Q4h18Z89WkaAa1lyhrLCLl1pWPe0o0JHIkZxGo\r\n7fd9rS0VXI0JmRimCedOn1mCkq0jVcWNjFUiaZvvh2A118PqiPXn1Jc8d+oU\r\nT4JDux4BNnT44tqDPyMmoWy5rEOa+7L1+NoLTjqAwaTs5MTjlbvetW34RNYQ\r\nM6edVao2mZULLT7JjPzwVjoFFnYxZ4DE7ALDubYiTUC9DyZ7RxWcfTgIWfLh\r\nP0+AGfXoxgS9TdWp9qCLrxg6JjY69P1H9wiZSplflxWiil/I9QRfwKTKUOA1\r\ng3dFpR/426Ih1cUrFnpREGlaM/D8QxWnp4T5rRUavRJf47OKa/wIBBYzdqsd\r\nkJrsSv47MqvX9pJWwx5S+trdJxf83wIBjKwhDU8FmHDch7BMw++COTMt1Qxl\r\nXl84NIVHPkWJkGWdYEva6SmmhH7Qtnr+hD9k2ooosiGs5Crowflsh5U/Uc8T\r\nxV97dJE3SHEvdpFs2mFxHvN2dftRN/376SM=\r\n=e+Pw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.7_1674400864153_0.2605570073948891"},"_hasShrinkwrap":false},"2.1.8-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.8-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.12","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.4","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@2.1.8-dev","_integrity":"sha512-oEQxu9TlfSpIjrmna6B7Qc+BeH36fLp5Ut65qnmRCIvFz4Yen+KN6QxYIJOFSI8eMzhWpAgFXI/NWY8KHp5IjQ==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-oEQxu9TlfSpIjrmna6B7Qc+BeH36fLp5Ut65qnmRCIvFz4Yen+KN6QxYIJOFSI8eMzhWpAgFXI/NWY8KHp5IjQ==","shasum":"fb2edb9f0c82995486e9134fde86495699c5509d","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.8-dev.tgz","fileCount":26,"unpackedSize":262844,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICl/t14SeEex+ceU6uuV0XGHWTYm6IfGyxCd/GLVm4w0AiEA5np7ie81H/Fs35MmptwzOYBijDHegjFDaCZOd7IF9fw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2jVmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpq9A/9HahYt5i55fzv20KEGPOlwvOpymjRvX836l5xtJXlakBQDcX6\r\neaGU3SFLobkMlPUEGgsrHHEq3m6A3Sdp9ptIT+Iwy85qDXThjOUYXOEmUzFM\r\nb7P9E66qCi2bC10J6NOflFi0poMLmEs0L6WWm6vWl6FNk/ZsQ0ir09KaB6zy\r\nfS9QDWZSvX7fM4agP/TiON3z8UV1fOcpbLMrnGbkSYOA8oi1yArS+wRWUriU\r\n/C/fg2YaiwH8QGpUNFlS1RZxnFDzctxOWrHHWhNjVlCgRKgpCkxfh7EpV60o\r\nmvN/IPaBJNTuyFhtgoBy1uHfKxZNqqC7G3ffU7y5nqrDLjWZWmwkZ5+CKxiS\r\nkV/Uur9SWOHf+fqUPw6A0WSj8NMtIPcluVRJHRUjgR+kvSAxRfA8lx1Z4CP1\r\n5SEA4DIVDfZOM2I/AyRgbVpIziqciA0djdU8VgZ8U9gaMto3G0jVQBuC8AA6\r\noHy5pJKTJwDReIC+dnTTYBEUZy89gDSvQoUhpOcHSzYeU96prnadnytrpZBw\r\nZrq1eJASLYbJ6qBIma4hOhnl7ONX/RLESfg2GQ3xNJwQAGWzUk3dkxYEyg/r\r\nwHmzfNLFa5Ws6gnHiOwDXZT3jR3OF9XnQVHu/e1ehPExUV2J3cjUtOG6Z51C\r\nCwWHC5b2ff5IEo0NoW6ZjNcLJ9spQbo+xGY=\r\n=Sgfg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.8-dev_1675244902583_0.6465135836132121"},"_hasShrinkwrap":false},"2.1.8":{"name":"parsegraph-pagingbuffer","version":"2.1.8","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.12","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.4","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"_id":"parsegraph-pagingbuffer@2.1.8","_integrity":"sha512-v9EjYHD4bVEyzQPvhbiJYqzksnsMS1tUNIl/bUWgtTU6iaxZY2pOscQn1P8RHcyNLJRFEcDdxFFdSj4XbA3pvg==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-v9EjYHD4bVEyzQPvhbiJYqzksnsMS1tUNIl/bUWgtTU6iaxZY2pOscQn1P8RHcyNLJRFEcDdxFFdSj4XbA3pvg==","shasum":"5423e5a88f0fb339c5eba996174463ee4a532185","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.8.tgz","fileCount":20,"unpackedSize":44131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpfAyIae7jCKYDQ0MPK6cgqiW6tD3zIzLgGPWzlECPOQIgSRTA6uQU9yhRF0XcSVExsgLXIqUL94IjghIev3vmpLM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2jWjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6RBAAmS99UaX9zeQVgCccpPe7mh5sTCBnyq0cNz7eCL1Q1lgyODMo\r\nuf7ZleLxzEzFynLCBoTlRC2KJe2JgS6nQCK6Hbck+keVHEm0mtPbd/vKkdJI\r\ne20ipjpwWk8a1Gui2hitd1QXqfB/BUbWUPIJmNuODmGbxH9SqXGmsjRzp33U\r\nRryweAjvHb0Og0R9VRGE5VeI4RcYmGa6ZpobhO7gjxzLSKhliXPV8ZJD5xmN\r\nAN0JTXNnomLHILR2eEdoWDy+7DkQVxAsHBZS5v2BOjpC6jr3O+QwefaXJvxt\r\n90bpMRJSSiTvI+fYy0ZmJkB8XuIuyyhh7xy2XpDVJBm0sCX5ef+2EIdZxLkt\r\n8VfT+so8bqIWdvaYJ1vy45MRNDSKQCRHnf1VxOAwrh+ijeF0SWBeCrm/Q1+3\r\n2L3S48a5D5M0FAbk6cAHDXexRlykwqsUrFR45vbtdvyfkC8Cn9Vgmybtxh05\r\nQ+3CcgSiv9mNWNwsXwum4b6dd1zVqzFoKHhWyhIeIUcIl5u1FRPdgVjbjFik\r\nrCql3RW/biRME+yJD8mkJzbYx9KPwZ/UY53U058DQA3V0WXazuq7xXgjtOYd\r\nED2IVqzNlK4tw4HPSiy1HzSR9RZjdVrcCxseV2wuNFGZKJRFPlepxdDpAjJJ\r\nZa/MjSuk1BrzCOIcB7iChxgKzZ+gRObiFDs=\r\n=LoKP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.8_1675244963026_0.6533010853088486"},"_hasShrinkwrap":false},"2.1.9-dev":{"name":"parsegraph-pagingbuffer","version":"2.1.9-dev","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.5","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md","_id":"parsegraph-pagingbuffer@2.1.9-dev","_integrity":"sha512-KWrKjy6O+x/GRLLTrz9GAanpw5fEm6+Ve73KBs2nLQkOnX+N95bkcT+OBALT/iDqkfMEYMIa1hEI8o9FWJQofw==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-dev.tgz","_from":"file:parsegraph-pagingbuffer-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-KWrKjy6O+x/GRLLTrz9GAanpw5fEm6+Ve73KBs2nLQkOnX+N95bkcT+OBALT/iDqkfMEYMIa1hEI8o9FWJQofw==","shasum":"e9d8bed4f2fccab9527587d89435b3e120e10ded","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.9-dev.tgz","fileCount":26,"unpackedSize":262844,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoLOB3CsdtHPXEPL6nyA+O1WaTtfeX0l+WxMnqHRjbhAIgCM+4Kbx9aiCtZA93++2rKmbetFrzPHcLck3SYHQRq5s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2kf4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoDQ//dPwmzeZ3ko55G7WV6gaXTYdWKoMRCMEHoIQzDHvs2g8EHT31\r\nLeETdnIk/RPShJtePXAUWiPeUIlVNATy+Aw32XNGLmYJZYtTXyEFACSSZS2L\r\nW+R3dbSwymDROYx17KgYykb9b1/hxdwlIxOF4rmpIpXeK1/I1++gYqbI7tt5\r\neTAI2FhdZRoFAB1+In87p+oHxMEOs80eiff6fQFArI/CT1uYQxAPKaFa/QsY\r\nNAW4EGtC5M9VQtWCN6y7HE7nnw+GOO1dNp9GjD1BQptwJg34pxyZJ7BDChD1\r\nFcGD16XOTcH8KWDapvWFsRH2SnXyGa9GOBl6ATsaCc4ANNUyoAbKF0EWYR0K\r\n6GfsxPX0EsPZ+jBGzvF/4FfwLkDtprX82gCXXOg8Yj3UDLYpREqe5DT/vjQP\r\nm49N4DKJrwqXnNQjP/wL4IJ3VZ6eIG/7F5SSHgX88ep+cQhTwFC5NITLYqcE\r\niU6YQIn1jngGvvzOgESz4oEdWdaWnt0CqhkcoRc3ep3KMyiP3HonAzoGfMST\r\npWBO2HwWxNSgc+m+dZjyxAgUaeXSRwgqW6Jh4A/i1jH00xw9jZN1ieRgdQKS\r\ng5BSGF6UTt1h4VhqryiTK5lR8T8XIqoySm1hzwzcLN1ga1Ha8C6SiPlguLHT\r\nkBVTdyR/em4BagvafKTpdE2G/ym08AJmf7s=\r\n=PiQK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.9-dev_1675249655946_0.8517543368046878"},"_hasShrinkwrap":false},"2.1.9":{"name":"parsegraph-pagingbuffer","version":"2.1.9","description":"Method to populate WebGL buffers during painting","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"homepage":"https://github.com/parsegraph/pagingbuffer#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","glslify-loader":"^2.0.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-color":"^1.4.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","ts-shader-loader":"^2.0.2","typedoc":"^0.23.24","typescript":"^4.9.5","webgl-mock":"^0.1.7","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"_id":"parsegraph-pagingbuffer@2.1.9","_integrity":"sha512-+pxq6HAvyCubQ0Tq8DdsXQnfi2MHkcEvDaBQQOV3BL5643CSpylgiHh4sdT8PzxV6hgUVA4OLQxoLy88JXAjvg==","_resolved":"/home/runner/work/pagingbuffer/pagingbuffer/parsegraph-pagingbuffer-prod.tgz","_from":"file:parsegraph-pagingbuffer-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-+pxq6HAvyCubQ0Tq8DdsXQnfi2MHkcEvDaBQQOV3BL5643CSpylgiHh4sdT8PzxV6hgUVA4OLQxoLy88JXAjvg==","shasum":"4d07ea47367ede2d7d8b3b23e022f2e50249fbc2","tarball":"https://registry.npmjs.org/parsegraph-pagingbuffer/-/parsegraph-pagingbuffer-2.1.9.tgz","fileCount":20,"unpackedSize":44131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHpa1ss+iGJ9nAG04usOEB8SKKrew4ztv2e/DddU+yTAiEA1GDTHqZ6SXGMZ6Jsk/IfjUKwX5k2Cs1uPadKmW0cWZg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2kghACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoU3w//ZoUnIqS3QYsH8sDQEeNN/8wgQ+7OV6VqWAHfPCw+IhMM4g2U\r\nPlzwYyCPHkZIEKVg47ypCtPG67Kr3MZrUmCaVow2eNiWF2d8FgdvXd8Pxygq\r\nJaoOeqXHqApTavIYy8wQ5r/l32Jw4MObHGgoD4QR+1oOzZR5CFAiL8TvX0dr\r\ntxYVDymtgAH+MiI3satetXUV8Wm5YgEogvJj5BU357FOFmYYOO5XKc76Ut9i\r\nue1VCO0NMJidJvru22TEchqBz1buqtdQYszPPyq4ia7YBhe4icqS/p3eSBUs\r\n9o6GItCibWN1gx9FMz6jLS1DvPgu1tgmD27wWT7rSuLpPesUOcQDZa3IyY9S\r\njvHYi/ZidDYYBjJUPZWk+7p2CSAjn17QGb4qNzH2WMJMs2M0L0wrhqYMRyTG\r\nYXi+mkrv4XpaUzKgGSvOrWGZMES6+cKalETzcZNHjZOA3jtJfzwguaaXzqmA\r\n2aKt3o1ekgIb6Zp1GM6TNJURVR/vDpoC2BUO/ORl1+vLnPVCqKdLGeVFLESb\r\n9k0yGK8c0RX/9CGQjcJr0f3NkDuZKkPHE2VibewkPMCD0OVRjmfuX8yYRFEw\r\nMG3ZsWUx/O18MyFGMXo8JCHIXJJliqHD5aMmD5Sv8ZYZ2b9p6SqQyBN46X0J\r\nqReTJEZ1PB7xnMOeIN4x/A+/sUTJiMGvCU0=\r\n=5V27\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-pagingbuffer_2.1.9_1675249697648_0.6483585427519603"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-06T02:27:28.209Z","1.4.0":"2020-12-06T02:27:28.372Z","modified":"2023-02-01T11:08:17.897Z","1.4.1":"2020-12-06T02:41:14.616Z","1.4.2":"2020-12-06T02:46:29.757Z","1.4.3":"2020-12-06T03:20:54.374Z","1.4.4":"2020-12-06T03:22:47.952Z","1.4.5":"2020-12-06T03:41:28.642Z","1.4.7":"2020-12-06T05:15:01.268Z","1.4.8":"2021-01-09T13:40:24.830Z","1.4.9":"2021-01-09T13:49:28.859Z","1.5.1-dev":"2021-07-15T21:30:06.589Z","1.5.1":"2021-07-20T16:45:31.609Z","2.0.0-dev":"2022-02-22T19:27:12.949Z","2.0.0":"2022-02-22T19:28:07.466Z","2.1.1-dev":"2022-02-23T07:45:35.601Z","2.1.1":"2022-02-23T07:46:26.758Z","2.1.2-dev":"2022-02-28T09:11:20.326Z","2.1.2":"2022-02-28T09:14:30.013Z","2.1.3-dev":"2022-02-28T12:09:42.449Z","2.1.3":"2022-02-28T12:10:30.715Z","2.1.4-dev":"2022-12-05T08:31:49.748Z","2.1.4":"2022-12-05T08:32:33.583Z","2.1.5-dev":"2022-12-30T11:36:53.805Z","2.1.5":"2022-12-30T11:37:36.235Z","2.1.7-dev":"2023-01-22T15:20:25.955Z","2.1.7":"2023-01-22T15:21:04.331Z","2.1.8-dev":"2023-02-01T09:48:22.774Z","2.1.8":"2023-02-01T09:49:23.246Z","2.1.9-dev":"2023-02-01T11:07:36.116Z","2.1.9":"2023-02-01T11:08:17.800Z"},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"},{"name":"tracy3","email":"thorntracy0@gmail.com"}],"description":"Method to populate WebGL buffers during painting","homepage":"https://github.com/parsegraph/pagingbuffer#readme","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/pagingbuffer.git"},"author":{"name":"Rainback, Inc."},"bugs":{"url":"https://github.com/parsegraph/pagingbuffer/issues"},"license":"MIT","readme":"# pagingbuffer\n\nThis module provides a class to manage a sequence of buffer pages for a WebGL\nbuffer.\n\n    import PagingBuffer from \"parsegraph-pagingbuffer\";\n    import vertShaderSource from \"./vert.glsl\";\n    import fragShaderSource from \"./frag.glsl\";\n    import Color from \"parsegraph-color\";\n\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      const root = document.getElementById(\"demo\");\n      root.style.position = \"relative\";\n      root.style.overflow = \"hidden\";\n      const trailerCanvas = document.createElement(\"canvas\");\n      trailerCanvas.style.position = \"absolute\";\n      trailerCanvas.style.left = \"0px\";\n      trailerCanvas.style.right = \"0px\";\n      trailerCanvas.style.top = \"0px\";\n      trailerCanvas.style.bottom = \"0px\";\n      trailerCanvas.style.zIndex = \"0\";\n      root.appendChild(trailerCanvas);\n      const gl = trailerCanvas.getContext(\"webgl\");\n      const prog = gl.createProgram();\n      const vShader = gl.createShader(gl.VERTEX_SHADER);\n      const fShader = gl.createShader(gl.FRAGMENT_SHADER);\n      gl.shaderSource(vShader, vertShaderSource);\n      gl.compileShader(vShader);\n      gl.attachShader(prog, vShader);\n\n      gl.shaderSource(fShader, fragShaderSource);\n      gl.compileShader(fShader);\n      gl.attachShader(prog, fShader);\n\n      gl.linkProgram(prog);\n      const pg = new PagingBuffer(gl, prog);\n      pg.defineAttrib(\"a_texCoord\", 2);\n      pg.defineAttrib(\"a_color\", 3);\n      pg.defineAttrib(\"start\", 2);\n      pg.defineAttrib(\"end\", 2);\n      pg.defineAttrib(\"duration\", 1);\n      pg.defineAttrib(\"size\", 1);\n      pg.defineAttrib(\"startTime\", 1);\n\n      const interval = 6000;\n\n      pg.clear();\n      pg.addPage();\n      const playing = new Date();\n      if (trailerCanvas.width !== root.clientWidth) {\n        trailerCanvas.width = root.clientWidth;\n      }\n      if (trailerCanvas.height !== root.clientHeight) {\n        trailerCanvas.height = root.clientHeight;\n      }\n\n      const addTrailer = (startX: number, startY: number, color: Color) => {\n        const size = Math.floor(2 + 100 * Math.random());\n        const sw = root.clientWidth;\n        const sh = root.clientHeight;\n        const end = [Math.random() * sw, Math.random() * sh];\n        const startTime = Date.now() - playing.getTime();\n        const duration = Math.random() * (interval - 1000);\n        [\n          [\n            [1, 1],\n            [-1, 1],\n            [-1, -1],\n          ],\n          [\n            [1, 1],\n            [-1, -1],\n            [1, -1],\n          ],\n        ].forEach((texCoords) => {\n          texCoords.forEach((texCoord) => {\n            pg.append2D(\"start\", startX / sw, (sh - startY) / sh);\n            pg.append2D(\"end\", end[0] / sw, (sh - end[1]) / sh);\n            pg.append2D(\"a_texCoord\", texCoord[0], texCoord[1]);\n            pg.append3D(\"a_color\", color.r(), color.g(), color.b());\n            pg.append1D(\"startTime\", startTime);\n            pg.append1D(\"duration\", duration);\n            pg.append1D(\"size\", size / Math.min(sw, sh));\n          });\n        });\n      };\n\n      for (let i = 0; i < 100; ++i) {\n        const x = Math.random() * root.clientWidth;\n        const y = Math.random() * root.clientHeight;\n        addTrailer(x, y, Color.random());\n      }\n\n      const animate = () => {\n        const sw = trailerCanvas.width;\n        const sh = trailerCanvas.height;\n        gl.viewport(0, 0, sw, sh);\n        const pct = Math.min(interval, Date.now() - playing.getTime()) / interval;\n        gl.clearColor(0, 0, 0, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        gl.useProgram(prog);\n        gl.uniform1f(\n          gl.getUniformLocation(prog, \"time\"),\n          Date.now() - playing.getTime()\n        );\n        gl.uniform1f(gl.getUniformLocation(prog, \"aspectRatio\"), sw / sh);\n        pg.renderPages();\n        gl.useProgram(null);\n        if (pct < 1) {\n          requestAnimationFrame(animate);\n        }\n      };\n      requestAnimationFrame(animate);\n    });\n","readmeFilename":"README.md"}