{"_id":"@c4dt/libcrowdnotifier","_rev":"26-b5f69e93a83270f03fe01b4aab40b3c2","name":"@c4dt/libcrowdnotifier","dist-tags":{"latest":"1.4.0-prerelease5"},"versions":{"1.0.0":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.0","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.0","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-XzmCMoXLE8vLJ3UQ4TveVyhwgj7+8sJIIBl8pUvTBExWTAnW5vcS+TNUA4+N0jjlqhJcZD18H+lmFGjsx+NyPg==","shasum":"738e25cad5032b8abb187321af162cb24f237bd5","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.0.tgz","fileCount":68,"unpackedSize":134283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2wvYCRA9TVsSAnZWagAA6PMQAJfEavD3J1ztdzKWdaSW\nbWRvsloilqzzSCt8Sr8rIhr9wORQ2ZNMAVkHp4Ynq0ucV0hSkqAVoti8OASi\ndenykm0ljTjuiSRS7JGg1dGVfYrFs5PFsSQQVHCw64UsHgeMs8O1/rnePkJp\ntK/h4chWwaKvsMQIgywu68dRkvi5JjeSMLu4AaVwfX/7/JuCFksE6gHKX6wC\n7V8oL/uy1FrWedOKTKdSqbFtRzO/JtfUz2MbKlMu7H63ol0ushmfigVbA/zl\n7Xq4odbMlkQ593I/NJYO9COZCyfYBRmY8tjnc2yC2EUr/rDo2d5+BaRkCzxK\nblIoOrlmSJ7FUxoD5O4SBiD93ctH3PFIQ3GMLfGQpaAzPjzarE1hGxkf4Z2A\ngAdUb81Z4MQ74YEVArMmzCJ5zwHagoLI2hRBZxn7CsuTSiuMr/dCG+yR4uF8\n31asNUmsiSqsyqNLToDkMxadRPqTc0RdLkyoxlbEtd5+apdDJCZJQKsr3PRW\nowMoes777zDKA178QabMBl84DhK4azyHlK8gPcwRjvCMIC0BCxkl7o0At3Hw\nNKz+3oYjIYnownMhLHu1RY1TwqHdurpVOZURHy6c70mF9wLus0CRFQX2rhyZ\niRZ5oeqUpT4Ms2IjaTy4qDjc68vSheFWXIcGTj6Nl0XCEGSDCbLVHHdQCfoL\nb178\r\n=NPaw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAE1kC79t3Nn2iZLzrskXiXIhiJ7ZmVwavzlsmMz5bPjAiEApc2JXIL1aO4ZL0CjscSmqmLOD7fVGuoJrTq8SLBGreM="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.0_1608190936145_0.3213262605435463"},"_hasShrinkwrap":false},"1.0.1":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.1","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.1","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ziJQFSTBbXargZ2zBL0MWmPxahAz4tL2sfMtKXz5WLqLSBdIVY01tYY5pBKQximXpGBstk29L1Duq+9CLXO8Vw==","shasum":"5893aec247839c14d6a4d225020925d620226cce","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.1.tgz","fileCount":42,"unpackedSize":82716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9FmyCRA9TVsSAnZWagAAeQkP/jIIyYkoUfZahA0ytI5y\nEmO21qKcG0jHqYfsYTl57qqXf/ocHdGz7YPZ4kocvpNZFW9e7/aeCy38jJys\ncTk3kXFCuERbsVjylXDeAm4V5TBi81eg7eqc3A5Knx1Af9rjcqGHK7AvTuoC\n/eHamk+ZPdtwXRYdiGYyqDcSedGYZfnhh8CwMsWwGfrbrgxkOmPfB27Ow5/X\n5iqin5+P4Qj6+NnX4OD7Gu06/BU21am5qvL+895nIO1yjiY0D7GnlLDY5IKF\nLQl2lLFegPH3wCVlwNAVcbPvQK/xFB6qDNatiaBpCFoxHOSdxOwbY4gc8nnj\nfc42BZqlHHnazhuV9Zf4CJ+vEx8/0JLry2qt4PXJ2DkudeLBwArlPFAQOTKZ\ndzhRydmt1ezW5mCcpUHPSBonCf1cMP46pQLkCzLFCaBw3Zy3rI5a5CwM/8RV\nhaD47lquuCH31lNQEoe4bmDp7JrK3SoKuPMInRO4UrSyuLnVbh4VsM/NJfxc\nqvNWVGSnbepLeyxe8jyG/Wd5bd9m3LnQTZRtFyCYLZEjr4Sd3BIT3nO1rxSW\n1w2nJTvku4uLw8mhfic78MP/+uClBsyBkj3Wu5zOVMBIw4149i8ignHhWqQd\nOKpm8oh9iDvQ9kbew3UqevFnSymR7oK6zuh/3FatqQlaQ/vMjP2GujF1Fg11\nQiZ0\r\n=3VoD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAxJfTdfzYgd8S3wu0RD1qVhEVdu/YTVOl8oAiC9Nw0BAiA2aSRj9bhAKFPeg+fxOXTzCBqM3T5V4yd1WDbh/MDuXQ=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.1_1609849265864_0.13421707159922458"},"_hasShrinkwrap":false},"1.0.3":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.3","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.3","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5HTOjBckIcC+YfmDOU/4i3mGc07qU/UD37FgoJxT9YeoMrruwFDKDIXX7cHdX1ARHPffIEgQN76UN3gpg0vEtg==","shasum":"f4e80a7839188ecd5a219f019b5be63b6d961455","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.3.tgz","fileCount":43,"unpackedSize":83132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9GRbCRA9TVsSAnZWagAAX9oP/iWR7ObFMliw5FMX+cj0\noHbWNFy4Yy8NT+p+mrqf9lGuiCHWG7iLZHuTjH+lxlSejIT52gJuZMbGb+pR\nTKtk1rHJSPDLDKfYjFLcpHr5T8ushQ2PZHBqrZVeoiDwNYKPXo44d2oZhoTq\njv8NgfOjt9QIrFu6LuD2+jXL+cZP3NpRhwOvmdTXV7tRFbwizJ/JIH9Vvv8R\nQUZB9Gsx3WWylJDB362OECzDQb+d6bvbX3ZHD5hbIuuOdOvSZE5URaE96v9V\nGXtK+EAfW7HnDIF9MyGbbMyz8UCjM98AnjuNtgvBNOcC3DJOnT+idJ8XE0wt\ngFY0ECneyVPDqjKBYIRUYB5qhDrT6VCeQfElwqU6fZQeHkTA+x06pMTulbU7\ngD4kBqMSv4O30y6B79Huwe+TcnV1t+MHDDDIoqMxH0bdBvZLtVL9cyRnZNZt\nYoFplxc3IBnLO0ZeO4Q1w7sksVaTkcyQHMVpAGXJ9riQ3tTIRaVw1G74McMX\nLKpDeShEat0JG7y+yPjt0OErxhsZwYeDwkSbqHtO7HK9VlHovPKgbkuuzfsy\n/IqF2j4HTz68/mGurkJVG50rTiORqCPRPiC4RlzQZdDJVIdahzhH1Pz7dcIJ\nFk6w1/Hx0KGsKsUZ5SgrOiVY6l3MyI5mZ+Jzb+85lSyAdnu/1LOTuXM03GcP\nuWGA\r\n=Els3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICg0Q5I1FjaqCdC6L9WQEJMv19mcw8OLnJetq8UCCaybAiEArYwfx8eD1OYKM01ly2l/Is4MUVBbt1RKb/KZVigP6aM="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.3_1609851994551_0.9301878915952388"},"_hasShrinkwrap":false},"1.0.4":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.4","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.4","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-q8/XroFWHPS3GexN72n2XLkhNUiwwBSKI3MqcBXXBi8icU7LPDool4uI8OP6sfw8S9GO83TjE6kJmNNfmxrFUA==","shasum":"461b29dfdfd04da2d0ab49167aab336a366b6027","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.4.tgz","fileCount":42,"unpackedSize":87483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9uZPCRA9TVsSAnZWagAAsNsP/0px3u58VJhCRg9VOHhE\nhz54rFsypoUMs6gehi7zuGZ/gA4svuRUDHDTaHuKwxwkY2aX7VBUpLCG6Vqy\nNZrkh2G3sakyrj58p8VFLKFnqK/yujNoMdBOjoQx0uDuQy4yguxZ0r/WzT0y\nuL098/m29YV1YddhC5/xMris6b5TuJ3Mezn2K1EJ3Jere39gLxohFfcP9zQY\njhywlrfsSLfV45XRnP3qm2zbLIR8BzcTjjMZ3plfUehDRIxcvZiMWhABIJVw\nqWN3TiaFq/3Tj/ap2DZ4AvUPXHxS3ocVPi+Zd2lMHyGx/pWpxaR4Jzu8sTkH\n/xz8CEe3/UUli5neRBnHjKWw0qeYQWuHAjzjJ4kYkcWUvKu7DdqQ59eYwKkS\n4eEMjHHC1cvacFlKNzMcNiSHD8hgBhM4Wsglgl3KIlendPd5h6sBnVcX/O7A\n2+x5PUBk5c6zTxOPTlFo8/lWiHUkYVnsOhrqacb4uyxD3SKzXa6X1xByVEZr\nQ66u/OoN7LzaE4ExmCk8BtM8rtitVNVU0rQXwFxEdeFw7vW+6Y1ZWTTxfG6K\nkXzJTzLw01V0PH3A4mk6vGTqTnCdsLLUAmvMszHrg8U+RQqCzbK61ke1XGpu\nD/mvjD2jKy4u+SnpL0eI3xBrPpB/f7gUJsyrexsN/t3OWPP0ZA1AetoaFoYx\nfQmj\r\n=mTcF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHICYEWGIlWTZz0RganNIEnxfX3qBF4rtBazsmzbhSVRAiAFHhEumapwqYnQCkr+5Ts29I1UmntcJ4mjwpAVQ/ridQ=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.4_1610016334886_0.2561953223111788"},"_hasShrinkwrap":false},"1.0.5":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.5","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.5","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ua0waqcXlPu90NsoMW80JDKghllAbtETDfLR9vZAwfcnAPLoteSq7EfDs5t0o07dLu8EHG1qrmu8nU2Ge7qlcA==","shasum":"6b9d5942580d855b4942f1ad8935bf4b9ea35e2e","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.5.tgz","fileCount":44,"unpackedSize":88215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+CPRCRA9TVsSAnZWagAAdc8P/1Hnt7zKM9f39hjmoZkP\nZN65w3F15h/7G6hO4eqG7IBrDGsar+fqjP+u/xt1N0Tp1pwhkNDV84BibLqn\nU+rgbIY21OK32iaSG2JTQs5AowFgXHK+0FNWvAUP3WNII1q/LX6GzFoukjwo\n5Reooidu6t4q32YDUmu2PzvX9qRpDGIentbZok/UADJugUvNRt/ppUOXuNha\ncCtDHHBZzCG3ZX1GT5a16rknI5ZEMfqpd7//L7um4t9VbD2h+8shhZDBOM1f\nPH4iHFdSNDMKozqC7meY9sACZy2SuQDmmNeOiphVLDvR0ERLV2u7S0zsqsTh\nOPfh5x8z1dc/3FNQcn/KMszbBqywCUfpmT+Gt6KnNBE3/5TN1Ac+cf6+Oo0P\nHewMb/0Dm+pIeaNLsaVnvt9SFl329kl6kbdbWX0bV2cKBFzqYzOYKQ9i1oAp\nsvDLGwJO2fbPe+4bETcRYegV9etx2COP4TXThAo8Y33gEXikGTeGHiNF8oPW\nFkY9y7VvNiyyaijbdwdu4vhcg2j7oDFPJPQ/1RXFjwqks9+Os5jHM70V9sQ+\nMuKCwawIodG1y9juXqbcfrpAzD/bDKfXFZbacvC856FeId8s6uHotoa98oVv\nhCBSr3O3NuT02ff1XdFYeaYyWv7AaOAe6iyQHVACe3J27cEHvO4Vmlkc/VnF\nqJZ4\r\n=9qUA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzQ7Ef7LpM/gCyRDDiP5Mcmo9l4E/tDmQvxCREHQMfgAiEAuvJcu9MG/vnh3fxI4ImTd/qEyefVGGNhdX7W6Tk6mT4="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.5_1610097617433_0.5843583668329795"},"_hasShrinkwrap":false},"1.0.6":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.6","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/crowd_notifier_primitives.spec.ts && npx ts-node src/v2/ibe_primitives.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.6","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-eA0bV07J066Z6KzluqBn+C15yXYVNT3nKSiVfdfEv8gDg/UeTyGCOf95yxOPCaX1aX1EO7//jfrKg/bPMML6ZA==","shasum":"9a8d4bc174643c7afc910c0c8259e9bf592fca90","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.6.tgz","fileCount":44,"unpackedSize":89652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+FcICRA9TVsSAnZWagAA3/oP+gNOxYb/ADUP5Qf2lciB\nULogw/NyNV5UZG2rojA18PiNE4FsomQ0v7sGdhmnywCt50MdjD8UnG6b/jnt\no+kMd4b8Ec6mxhYqQQ1cXBt4uvo+LGkBMBBaYSkMYrsbt3L7fuWuui0D/v2k\nAKAJXG5fRCV8wmh78URS2GVgsWShF1ztbJ7wATCQzQs1qQKtvBrGN12En3Ke\naQ/746Jw6fyQw07yINkepVMWw5YC+s1/2pS6llZKbIDSUv3N/L0oGagG6vfL\nboLCr9deE4qpPZnJK6DruUKlfuiIfFfnfJ8njoBAtSKcfDNbSxtM7aSxJN7/\nOqiZFSlstJUHoyjcFZNixgJic5MCWGhKAPir2sbCCoTPnRRpCOrSIdaSob4n\nV464ZqAU5RdIumU46URZw8bxBoA55gIjdLnYUeJvVfz+xceZn6mrB0a7ybvo\ndSV8hwhctoFJoD4DsWoXj8XK71EVTE3IGm0RTbs4TnCsB6qqS8uhHfALeI59\nrzuLSXdEvTjjm9j9k4ucbe90qQ5dKcH10IlS8vJ+PFv8D9uUVwmST36ZpbzS\n1ZNu37ofHa/FkWtjNOgnEcJlmKCJ+Hn0QUCXryVd8MZvWgKWHeS+hIA+4wB5\nXQHK/JKN7Rk9n9FNT/U/cafiJ/SEJdlAZC9ItXXQYKGNpZmg2j7hv670d006\n5FsC\r\n=BbD7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICbTGMwooMCmoE0xue8GFvAPJAVB8WfkObaDUYNdJMFwAiAPWYurA/VhKsOYuoSd2swdHDmhg/cWswU6tKQZzWzpKA=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.6_1610110727711_0.05797915492265315"},"_hasShrinkwrap":false},"1.0.7":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.7","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.7","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4T3dNEaMTpnAI8q4C0XxB/wU3gOZV0Pgt+f1VxriX9tgJdyw1PHEz3C9IZV0nQaKWTfzzg6TAkN84E5XwiFq7A==","shasum":"2e7820e4644bedf6120d59be297f86a70e019fb7","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.7.tgz","fileCount":46,"unpackedSize":96122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/IeXCRA9TVsSAnZWagAAYwEQAILPA7I9xgcuQrUlb3Uo\nQTjfFXogmC7UGRb5XxhddghnDquvyvNhiPyrKUiM+QfXv39/YNF4AH8TPfnQ\npfmhj6enYL0t7TW8feiYCMtUP7ITtEks1LIPG4qGvRX9thhaI9SXYqa9XdBK\n2FKlx7JWs84oUSqbiNDsoEU8sApq/mKyQbNnKg8ZM+rzDNLkEhxP95T6TOp4\nybAhChyBDM9UY087zmOh/ama9QhONZGq7S8tqPRfUW7uSs04+fREO+JcI55m\nWCDkQq0Y6MpBiKeoMAg/Xg2RHLPvKe0ajJO3NH0R2L5eujdItVbhf8gcAimC\n92r+PEtJs0BPzCdUHHqXiF2/ORD3XQPJ/c3w9lJsAa5HJeMAYW/8uY+d94pY\nRSf4+qKMzKI5nsF4p7eFJ/hx/JDQt1qP9V34E7eAl4mXWiu+dhdOFfgqYptY\nCocRAmMY2fYFIkQ1cplGU9HNQ+ZYXU12hwXgsLmn2ePMIQDNqMr+VYoAsb1H\nC0exlDR/Gy4iPbxq/dh/a8R7WkbwGAVjl7LTWIVVVS1IQYTlJyk/XAL4oZOV\nl1E5pEBmAfutj+wXt/xIHcjU5fgZX0TsX5NllpOKkUrBatwpWUztP1fwkwLI\njMnVA7ZUmVgS77SLGt/FkN55mx9AMIy1inLmfbyt4hTHMu/v50/rRC03M41g\njHHs\r\n=DK9e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjvleqBV76RbWoRd1T2/dRRwafQJbQZOW2m1lG7S7C6AiBvryU7QGYMUPtUl2NI71lpVmqUsf+mdKce8zQDeMxVTA=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.7_1610385302547_0.5762458956153784"},"_hasShrinkwrap":false},"1.0.8":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.8","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.8","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-X9pOluKGo+8bLpbVj9JjTS+I/1XBakvoE/GYelfdVKTOEBqN2OpINMWJUEd55qOlBr0qtlPsPfGPqvXZbkxzqA==","shasum":"53a9bc88fe244606d329cf81cf9b06ade419b1a3","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.8.tgz","fileCount":46,"unpackedSize":97114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/uyPCRA9TVsSAnZWagAAZJMQAIE49qNPEVgSm/Qx6MZy\n0OdJVN1RMr1XeD41TBf7mdas1ws+dKx3RqqQwNRlZZ633t48e7r4MjtstsqZ\n8t75ysbRW3k54ZRIVlquikah6yuLovIAXYAaJETTA7Wbp04FnE1XEdYqUFq+\nqoj0xt4siChvy2zlm/mkHwqBYK8eXaIjBhoLO2rvUDAS6HKV7Dxq9K5nWflQ\nngQTUcOx1BBXZoT1mTRRgkVs7xJrQibpac9C8GcCvPpUGuvZ3yvFuJZHRf16\nhsa6h4UhDyEDXEBO6zqR/1DrR58/LBRXWp4mfNbqntosgDsL/9jgbTQG9Zz3\nByaUjOYMX3f4O7B8Vh8LIS6gNkmMdaRohBKNefSSABJDkQwMbHZnNHJfMjvb\nYllJ2hcnKrHz7qrkXNCf2mE+lImwLixrDvL7YZM6V3ZcENJ/OqJHo/Yuc3yO\nGHw//A9uvoqtY9QI+oZIt8tqpuFHEdyqnbb0QaAvwlcv7SUvUp5nbzj4/fOi\nmq30576wkTy5YkCn3ZqhNvyb1eSlxgyj9SlwN5aFGmm9bD17JZKsHNz3QJwP\ng6x0TWY8jYSx433CxcUhPQ9eWC5+CVMJrtNmG9waA/d96s8jqGDXYScNdAR+\nFTbwhO5WxwAMmOJz4STwTScdDFU2EipXR8mV6OQkJMwCjgMMLEV/GEqe6KLE\nRkaH\r\n=zllS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeMfAXaMIgjZYRQ2H889mfv9kR0j2mmUZCpg3YBsXTrgIgTxgMAmzrAkCkJytCZZuaKBfhsSKYejvJGlv8QwgGgE8="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.8_1610542223110_0.19696911136967477"},"_hasShrinkwrap":false},"1.0.9":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.0.9","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"npx ts-node src/v2/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","protobufjs":"^6.10.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.19.2","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.0.9","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-rd3TN1TIbnLkSELUNny26wTnKixHkejIrrHiyBhRJRSA0mQOzBhDh75j7tE/838ft3A4Q6LBaBhgFUBk1KxJGg==","shasum":"a1c659fe9a996c788366bf76f850ead1291d0769","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.0.9.tgz","fileCount":46,"unpackedSize":97114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBCLlCRA9TVsSAnZWagAAETIP/2DZ2WwlGpEq5RjOC5nk\nJvvYkPlonYv/ttoPgpUYcJlYvrUj5BYcHL0rIitZaQ+6Unb9O0qajHt9jU7S\nwRsW7XyqX/JcFQSNUgB+Vjytw20WMWOv6g4+W0RpxBmCXS+HzXL+35p0VvDP\nruDwQgVKmtTx6ylCiRm+cwTd+kdhY7nOAyt0dJuC8OgnJkDJWz8NM1kGsqDc\nJQ6wu94JuXkrwB6syjDEy8kIrt2S2GoEa5Kfrrc+QRqGkuaJlQjulBYuh1hi\nHJZu954TMo68mjaki/SmUdgR3KD7jHAf7+rz0l/NWw+Lb9wQJW3zpH4Zabk9\ndEANSRejc6uHqBSI2atC1nXvPk+hRTbZVq2vFjXwDn7Vthw0sJ5x9vNOqq2V\nyT5bWjTEEU05QAVG9E2vFOPfahWnOHPWSwT1a+brjQRgvf7v8E4xdRIrMReO\nCk+UtF0Jv3ZEMztCW2rTJ6U68bQ9ZeKVkSojGsJgQ/KntV0ua+inUoyfI4iv\nL+2qmKB2V9G1ITBszqIfFjGDLXSG83aJURnnjzDslYNWHzBllDtQzJvC55p/\nlJKupx5IRGCWa4z1mNVB9HMruC/5g3ZzWe+zWPJkgRdq2pNOO1yBz7jJ+Jvi\nLTntHALjvjPwgqqYdQMzChuMLJpg4L1ZyOOElBHZ5bvxmHLU5yzEfK+2J0OI\n/Jz8\r\n=fnay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFKAZZGudt/Na8DdqpAprSXjwyGq678yP9pVDRV1B74QIgJ9QoMU7S+AcZBWUsgJSwh0kVSwkGadzS0xPG6rDqj38="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.0.9_1610883812661_0.9374957793267122"},"_hasShrinkwrap":false},"1.2.0-prerelease1":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease1","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease1","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-sTMLHkdA7gJsMNPGL7nBLHTCUmBeMTFzdJI85SJvvRD62CCJWGLjqUC+ih3P4sN0HAJB74on1v3eGRLfYY9Cpg==","shasum":"050e1e6fd847211152c76c78514704c9e6e05984","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease1.tgz","fileCount":5,"unpackedSize":10725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggdp3CRA9TVsSAnZWagAAtP0P/i+gmUuN6NGpUvjORUUU\nAa3jWs1clvxHtS/h2geRLHaRxGxXbP/r+94jONJeu2mLZuMPOPdsKJTp/j+O\nACYqI45+c5xpeTmwFsn2wxqf9nl1ieJlG3BQaMqgzXZCWL/khQRNYrHcq/IU\nHIgFgZSb9g1q5/b9zHMrRXNAKOB+8F1f0NTKFjqnjTkWXWZjO4PSMBSyvsv0\n+ozLDMxc3Cq9DL9i4/qs9Khm5KYXcQ9cj/Eut8U/kcbq5nT/JZhIe7IkBngs\nSGuUnZijZPCCvrFXWKLs0gWi7OGxIy4kGVq7TWD9meh6n8JxOvyJAQ3CObyl\nPjO+i7+w5LPHb5FeMCb6k4AcGSV764jG4dSZ8EOUDYSBSol+3997g/ea06qv\nXsl8bfxgJd8TFW+OD3c66+vdRrhAPjDuARRV/IXzcy3xZhsnY9mZoTnhDBfD\n3udhuRsZRxIWkVAxobS1Q61nr/zJvnLb7fil6VNVkYjtQWO/VagGjJoRlxLk\nZXgahyzYNQYc6I4tYmm5eGARuQtNRMw+nJ+8aRwp7Ud1uvhNduLY4nZ8SEDQ\nRcnUEcp6SAdYWOQp4wR0cgAeUIjBDzyigF0Qabr1Zk1Gblbnh0tGBF/43x3L\nIT0gRyhKAQ9HSAJLoKz4RfrTMbT8BD+oSGjWTFVqYrq7xjUP4a+YVO/wacME\nsUki\r\n=aTJX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCaDWjyYSo/VGjEwmJWcJAjKsn+7V4NImP9v2im7wg6QIhANLW4lRrxLTWEBJVa/uy+XvoY6+hg4ZFsEN+yoUslV6l"}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease1_1619122806746_0.8699963930844203"},"_hasShrinkwrap":false},"1.2.0-prerelease2":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease2","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease2","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-cB6VTf5PdD/tRzTg4QNFf/OaESu5zaGmRdlRKq7Uce77Qd2zBZqRKwP/0dEqVorL9oHJIBFwOOD2ZxqA7j4Olg==","shasum":"d5989539cf13984ad5b292f11e6748fb09d6a38c","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease2.tgz","fileCount":5,"unpackedSize":10725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggeCCCRA9TVsSAnZWagAAkw4QAIYnpgPTn7fxgUasQ7Dc\nYUbDtrnij5jk3LeprwXlY0oHfGBt42wJYr3yWBlXLmkwtFiPlPmesXOGYKH2\nehzL3sIgQJbuvyqEKAkcJ3GiAWxXD5SCANtrcxr4YLYK17+NpA5LtlyCaufT\nFPJzjwf6V/Dnj/H03hYzUukYTUWBTp8oTBQzjKSW1WE2KSxRRlEqUtjcPbYO\nKmVyXhbO9dSp7kBiv29X0jQHXvNYfQeP3E8DX+3xMMCOXU5g27EP+e+EWcz+\nWh/q38mhAO6p8G86T0hDBQH0Oxe7QDxPrS9CfUhERALPKGqVvtNzmm9JSSsI\nMcfuMpc961xhmq/yFTUAlwbZ7e8JHoJKPUFHIaxgjRLjpJEBLb/yq+66leTH\nll02KIIh8wuLDvqsLkV5Du/TcebhvppyVk5cowW2nfKdQlwOEx67s0zp81Kr\nbrnauZ1LUm0N4uN00GrnzpME2ZkqVeQVT6gp9I3FeyfKb+lVS2KCR7FFYpV4\nlZox7LkEpaZ1doOLN2oseoUS7wyM8NkpuvBG19WrFxOn4MTZUyKGgZ8Ii6b8\njiHa/QCVA8l8g+s0QPT8xxT0zg49NbTYrmBh5NRCWisYr4aRXScFT23XCdnh\n3q6kYqBgn/KqasD+mZj+I0cNZdYqkpSPFzi4Vd85JhanIXmKbJB9WCt5zdY7\nR4jE\r\n=3v3V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADSpGGJ80HhRYj6SvP2jfnCnQ9KfedY/y5uoOXRvVaOAiEAgwq0UjLO75XuJu+MxRGGzBIngZyMbwzB9uGrMyfUSqg="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease2_1619124353944_0.4866851999955235"},"_hasShrinkwrap":false},"1.2.0-prerelease3":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease3","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease3","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-D/sT/e4V7A9uvKXAllN3q3bNzlUm5yqaGcFeDRaA4AbEzBvRw7WadtXjyJrX0SAS+1oepEe0Qrr4EefdW5VcKQ==","shasum":"0a91e200d38a33b4744ea216c7ed8f3a0865632b","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease3.tgz","fileCount":79,"unpackedSize":185744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggeE4CRA9TVsSAnZWagAANrAP/i2hY25lbX3ZKR7KQX14\n3ZXBCbIBGKIYqpY4mObzGTvLsJlEpB//OLHz62FbfF94ynpJmHn2SrVkEHgI\nY4tWdnqczQwprcAddf8gXb3ilXOIoQD7vimbuPOyZWc9vmYBvqBzsjludxMn\nh1mjdE80NVTJ9MW83SQVTkFAsn387Vb98l0CWIbrE90QEwi6rym5mL6gF4e+\nG91sRZCmilXV9cUUpctOCJitt4BKuFCggChVn+zrGfgimVg3iGypCs7Xatg2\n8T04bNhcTUPQQq2TKyFLIHL6mdHnFnzypD4iuWaJWlZdZDibaLQAt1/q1duM\nGzuFskBRleCkiGEjO6PM8Pth3ArOg3nmKmX+PqGx47u9QdsyTz3fgMHl+hpd\ncE20rJwTQm8m2BfGUdgxKNKcnR5GuxqK4By5sExb650uOIw88A+QNDpB6rmS\nJfdVvgti+Feb6SF+TfBGn4aPIyxGgwdRn7ChxgE0jH8esOoMbTa54LbJ80Kl\nUAvZJu2TtprTV56GALUSJbLXPbHs3exYg49Z/P5QPJIeoYzdhcptMb7lCmmb\neHALton7vljJjsd4iU1WgJnRM99XoPBTe81sD/mGgSRxz02nuKPJlgXSIqHS\nnAU3pbhRVqEYIeGveoMEzFaHvx8m02OlaAt+RYqwRo34A09b9kur6mnd2u6y\n2/4o\r\n=uY6t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuxO+8Kq7X9rDj1ND7B004cYNDFCkyqmmYuZUGTHMFgAIhALqg2IRGX2IJv57/CwjR13FzVPWeXPEp0Mu3ehLN3gju"}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease3_1619124536387_0.8614771888904953"},"_hasShrinkwrap":false},"1.2.0-prerelease4":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease4","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease4","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-NeofErpIp91Sw0w3Kyw3qX6J/fDVz/WfhQjqfGp/Ylyccovx9MK2awqO/K6T9CJO1RL0gb+uGKK0imCzHLkbyg==","shasum":"b5811d741014a08efb63fd38b74a3d51e7d806fc","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease4.tgz","fileCount":79,"unpackedSize":185768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggfhZCRA9TVsSAnZWagAA6hcQAJzbH9lc807HDJjHnVsf\nYrnk9BR50wkm26yLjRsyBDHAMll89tdClIJAZ9MifvrOzCCC3nxOVsMBqD7T\n06bpsEQM9zMyZO9VWRNrVGDUWaO4hSGXLMhQwS+mwh6kvSP0WfBZJXGANyr/\nrEQFg95qGxJR3XN8UPppjyTKuDTNriy+zi0QlW8/wp+iYNWkBBUAUrtCV4UL\nXkAJ7wG2SVmIy9V5v8m8XQ+EhAzX5Vr6vJcv3SpfL+wCyFAEeBl1TBd8LsUh\n8iPoQbIH6FZHO9s19NN5r7Q1COqpvhYzHrgrUYRRLYm/h7D19U258g8qkEGl\ndnlqDNp89uu+dC4Yf6UIbFPDbFuIv6x1Ncx/AOttsREZIXEDPgUdAYEBGLtU\njkn+8qZkRdJRGt9QNfxN78cNov8be9e5MYBGDuEVWOEPyG9VrQY0uv1XuKEo\nefiZw71eECK6INiVSqtxGH99U6WOSI7bv1i1gBnkl4pW/3BCRhP6/46UUyZ2\niER9VknU8IdA3+zZkzhG1dH/EJVs2aoevgczCFcyxwVa+06iU1QXhuKWP3wm\nojtn3AKuUKgwV2nzaPyvkRMT24ucgEgh7cAUVs+Hjfd0/28ZQ/P4kNo9unXB\nv5W+xCUs/YvZdW7r2k5yMdzVSj7++ry61uxfyTwe77pazBKFTF9EbHNgkb/w\n0t1B\r\n=5gHk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyplVe4EsTJA3UAVzcwzaunPYSQ4S9wUpX7n49QBGHtAIhAP+TMVw/WkjKdMKIWDFruPYgyl/WsOVveFELD1bWGc/P"}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease4_1619130457097_0.7158512111267028"},"_hasShrinkwrap":false},"1.2.0-prerelease5":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease5","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease5","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-qUleNBShFbXfu916lZqd/hLDwJFWegmMcQbBoLFNcG7tvv0mvM7C0Y4QXH8AB9g4Xk3jhrpTVtBw6GrUd2h8fw==","shasum":"dbd7601e48e3f13a042c23d31b7daa8c063ada4a","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease5.tgz","fileCount":79,"unpackedSize":185793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggf7NCRA9TVsSAnZWagAAXcYP/1BrFygWh7D6jAo0X0C3\n4lIwVMpI9R1HPs5vmmDd0Ax54GEprURr69f2kO5em2RQJ8pmVs6569NQoxlE\nroGW2Qwj5/apmyNK6GGSklTrRWjgsq2ZyHYrDrG61J5E7whB9VvVlf86+6MF\nWjPsESBWo9NbMV7GmwIWSKq9VaaEIHKP64rdcH7zj4xv4L2PSaHNmNfRhhP7\nQS3GmkJngx9jjh6uLmUIXVmbjhSg3B5ud15wDiH/8zt+2h90RDd4KkzlqW3e\nSf+9NTXOsOYP+A0n3Il3BjEzAUnxyncl3t/RO+R7zbv8HIggsQsKR1BBRuJs\nhz9TIz/iieAPuqd6RXgO/sDNKsSgAsoAyjZTE+74WDCdsGQQXrKaRKwKzoX5\nM1T9ksLhDOcF7wlz9W+Qjm5OkNHuMJE/uiRteZ1iHfJaajn6n3cfIRXO8Jx3\no6AR3NaDFqZ/repjX5i1bPlGS3Dm+AYhxcAxKQEIvknLDsOOn1acQz70P2ML\nJjxxbhSQ61Dyx7ldHCbUyVyZnlRwIUUTgh8OoNE9wFh0zAukIImtOceAr5Sm\nx7GCeA1VLV0CFkjvJefbjIDaRPMSn5VWIYXfeZkHEdn2LjofMEBp6Fz+NgHz\nfsuckI84UFghH71x6XZLOenQnSEbaKYiNKud+rI+cW3LvnflmcJyWkM9DwWf\n8MzU\r\n=iyur\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyaqvNaENszdyitZjMOfQk05X8FXUNFGF0NMsmItm2pQIgSHdt+i39WJV6GPlMmVur0hpp0I+OhNWrEHikYeTQvsE="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease5_1619132109329_0.8403268677888012"},"_hasShrinkwrap":false},"1.2.0-prerelease6":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease6","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease6","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-vEe4SuHcSzZqf3KAW+kBAwrsOruWnou5v1VL0R3YkgtEikGWaSSAEJu+HppSysEauHMpciKmDW05ahQqPhSYxw==","shasum":"5c6a58b090a655c2b3277c61b693b0bc4514d63b","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease6.tgz","fileCount":79,"unpackedSize":185794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggmuyCRA9TVsSAnZWagAAyGEP+gMUluTeXf6iatdq5+QO\nXRvdHdeT4DXMIS/EoCxQAJKLlN0b6Jjy1JPOY1NYkDjHbhNx278cKvVcOVq/\n3r4MXv4In6gN/qP26FicTbq0qjhDXu1bCFwmqQdln5qI+LjMgQnGGPMYBVrR\nmg2+MlwQaxjUuM5rlLd1ejgHJqkLZ+84rrGDLbVkfgRlwLycjYoIkZ3e/xpF\nht37es8AhCdaW6/4g2tVFAf9EpneWfiYrC9c/2TLidivV9o6WH20dWUSGWkE\n9LsHZ6Pgi0W21KxwCVrzjEvuKE+5F6+WILBRZTMdFRRPQol48fGDtnbTOaxe\ng9wF3DePck06SYIYM0wYhxXuRQxL3kG/tizxOcCPcnGv+Ojelf+8OHS+icae\n7Y4z6nNDADxg1acOxWhrqbF5w/3Ib2hlvXV6GuruOuy0n4ysLevLH6cq+CHn\nXG34EBtot+/sYUbNHYRHePRn4TFlndHQECXChOFGElt0H1DcayNoyFZSBDv7\nXnFhGuso/dA2DW6+q3sMzPu/7wYXyiW2Brf8GL/EN0LkQ72B+TA8P7Qldj2e\nFkBU9gRKqObZbA6tzNGXEu39kHnAtpi4FZTRgIPDYWB8FxThfyv4gN+O+BUk\ngcpHjQa7H5K8DFmjYne/DaQ5/vYAgFzJBcm8FfJUHa+jPS9ipCxQndor79et\nz5zk\r\n=aEn6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGII1E86DxOV+rezlWDtX94LjctQ9z+k7xVJhWOV2M25AiEAocqucH8vcs7phRCQtV5iyBxyylLfAcBSLacUlANwj6w="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease6_1619159985927_0.6856860290588376"},"_hasShrinkwrap":false},"1.2.0-prerelease7":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease7","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease7","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-p3RorRyBzEFRFMl5w27S00XMQzm84A4xwjrmak68SKl5tBjDT9MVbHTWR/DucV4qnjKnzOYGEPEm3zZlLlvUeg==","shasum":"8d52aae5fada505866c65e2ded8d6bfbc41e60e7","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease7.tgz","fileCount":79,"unpackedSize":185125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggnVtCRA9TVsSAnZWagAAiwIP/0FQLIp8lZApaVlkx/HI\nt3HnGkCmrCZwePCVeijjSuY3Qy3907DG1NbkuCSPqazbuFmKtNQzOpCKD7YZ\nXzQxzK3bEWCQ4hPL7v40/uHEnVTNXZ6Ck/Gcf3blEzV49UOEQaBY/KYzKzfd\n4T9kTlORdKsfzbl/PkWFGpZx2j6zDIf3OK4c9kaDnFiNVM4Q7iFqFhYlo4lY\nzRyvUQ3g41ZbA4BDVlKhrJxPniwgmCDrLfjlr6e4mwx0+JO9eN7aQ9JTsvGV\nzjPRgP0QGtShTONK4lFHn0rCQjmD8sQ/XXUwOkJAN9DFQNPPlVoAgaPZVjzH\n1OIkD5TxnsPJ2R10x1y+Sbb3LWOAjfLN41c2K10AGMkeXY9SagB77qJMHkgp\nlOUwTtSMsiNkMDOkMoJKQ5xUFeigKImTdpcvuI0c77zrzY4duNjeCdPM97kk\nuXpO6XE9mik8IL9d4zkOnJ0VGOVVpK5SmtDP3YYAEPDuqneV+13mV9dLWFp5\nzlQ5MgdJYhbQxG9ZSzeQBDBPrbfP4Q3tkZcPLfO36Ho7YZ0IdZNOCGZKU/bg\nfymH4q9yYka94iSwXMhPXnMde01Hk9v3Hfk2KszDcOA1MKVkL4e6r8nVFKVc\ndsSQjQ98GcesJciG3eShnoaqffH7fXEwBf/t3z1VgYTVHKIW6VBlrsA661yD\n6cwV\r\n=NjhA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxRl7SY3AzSnTtCRwFwRjKZ8NfXlxTw3q3DBSaLbHCBwIgeJkl5Ard4BlkfZsvj7nSNzGUgIPrUzeM8zso3zeIo0Y="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease7_1619162477210_0.9410006211269426"},"_hasShrinkwrap":false},"1.2.0-prerelease8":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease8","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease8","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-RlkpdR+kuwbZ8q02/aFnn6SP8/1ic6SnqaugE8oS7CDFVaHlquapwMzd8enlVQOMdTp6LHetUz42tW/ECI3UQA==","shasum":"ecef7691c33729d06390ab37c00c9e486446f9e5","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease8.tgz","fileCount":79,"unpackedSize":185137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggpIhCRA9TVsSAnZWagAAPSsP/j+4JHvTsdlvTaH8oone\nipyvWBIflrXC3cmWHtwWDJnAzWZwdm0+ZEMi/S3j210JgHzbzf1H+p9WP/B4\nyR9TBDEqTGBNVIbwCwooHpGXBcTYGCxyB21sbV8MWn6xo7WwLxtq00UNrcTX\nOO8heMmDQvKyiB6u6jsLHJyIUmV0xagVWA83BEE6M/fGKov5DZan0Lg7sZF0\nH1x5d2U25nsod2cYnQVnu3jJ9QJ7Nee3hD6WB4+FOtUMwXeejSVBrZKzbin6\nIo4nR6G7DQpPQYORGY+dWaWMnRH1wh8yM3qB4ET+bykef8iLntFtCEQLRQrX\nOFEsB+Oq3Fz2sPCfKVKleY/pAQtGvqKBo2D0xHo47GROliBp2oArBvQfeZiE\ne1qZOcmczyuaqp5KK4AF+Qv/JxDJC+5l4U3gsD9iD9S0KkE0dh39068OOWFu\n9EZZcWXs6hyZR8HEf1jYHN44cpr5m6c1SDrl6WppoXAOXnwJO6LxS7Qn8ijW\nrAvjohd56VTUUqqdL8tVCxDtfskEX823bh1VfkmXmTpKSWqYYwTAp4KwvCyD\nk8KPj/wchy9oMUwbJWF61IzvohTZLExIPVSYiInHITBMpP1JGinzn/Yy2v7p\nImKONXLcCE0Fdc1uznEKDEEO7NciGB/HhJTI+Q6W8HNMSZPGx0XfMhnVzrmk\nmap5\r\n=EePD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCiU5nPFLcC7jaJURK8FMwTcKpnqy0pmz+yPWUWdINOQIgYJCUHh5ZR6N07fGZYTiQAsjpsB76hZxsJoxCCL0CwFI="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease8_1619169824977_0.36798963645318117"},"_hasShrinkwrap":false},"1.2.0-prerelease9":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease9","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern src/**/*.d.ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern src/**/*.d.ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease9","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7YWkm225hEC1T/rQiqWkL+4FQYzdaF7omxArdjz5Yjm7NtzlHgqn9EHMdmHVJ1Q8I4FhKjYeWZ5gXrjaIyxO/g==","shasum":"924112a8a71713e0166006d08d9a9794c69f4ac0","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease9.tgz","fileCount":75,"unpackedSize":186401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi6eHCRA9TVsSAnZWagAAwtMQAIzvoSCQCvOUbeZDyuht\numqSsfrHyZldDqGigB8Lc94jIH4AOXcsOK3NyGopC1+CWxTNy+BT3atz3NP+\nQXYVfvNtoOWErSeVQz159mfj4d0xglQj9o6iRcgp3iBNBLt3iptSjHK8opB+\nXOUZru3xCeZaKexqYMuHnTsrpn4Mz+PP4Gws5waw1PAix3Ppj4q1NKxAl3z8\nvIlsizPXlQ6+AZ4aKFfiyfTf0irTTYI/FvvH/+YgJc+MLBI2FowDak8DeoV3\nbUClQUAT2mv9CYK3Fp1dR2BZSnkPKZkoSvq5jT3S4qbeSx013pABSDLDKSoY\n5XBEpdQTDpOgeKD7vN5VBCL75qrdXUTfZjmXFDPjl7QTkoSOctL2hqtLmtTv\n5/vvonZfYdj/N241fvnrIRHRjJ/X26UoDFGdo+ZoFZznl4fJ5SdwOuos5pHD\nKmutF9EErngNXk5DsVKTNfjECfdFU7eyzKj4Tfc8HRqIVzRLOgz3aKPP47vl\nsiscVu/dyrjQM7xK4DukVHQldFxvT11U5kuiq0tYtxGRrX4tM7lS+b1bp5iU\nfvBbcJIfkrRqI6dAQHj4Jmss7XGPoS1kTqw8Fl2oGyN/6qfBGPjjNnEA3UY5\nahKllo+ceFqYSsTcAEtdyvfxEdvtaLDDXv9czfJCSiee7NWEdSaJApmjetjg\nrf50\r\n=z0C4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEYrA/za8ZMqYZcmgW1/QGEyn8UdTOFjww08McH8Ln1SAiEA6xy7QTo7BRMUjbOoFZ9JCL2yKLfXRCSmXmVvM4UPEa4="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease9_1619765127368_0.35764168411684816"},"_hasShrinkwrap":false},"1.2.0-prerelease11":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease11","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts","test":"for v in 2 2_1; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease11","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7GS5XWrCu9AWlBDtpXdQ2rkL+15h6+EGJHuVCRGtZAHlPf78RpTArkDLxM0uSLxhBZZ7rc7P+NU/LZvSBMtb6g==","shasum":"78a69624b9b811bf623627ee67d83ba4a6fab8c2","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease11.tgz","fileCount":79,"unpackedSize":185495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi9avCRA9TVsSAnZWagAAPa4P/jWwvglCiWA09U6iINqN\nehlhdvtRA+opOdHT1mGByBfyGngVb9VrxEK+GZkt6Km+62mD5RuEgOikx+OO\n07pzdnN2COCUpTXrouXjDQ4r73vJsS9l2ldFODR3/5b6NUma5nNImFaHVKzR\nR18N52zcItUloz6Cijx9fIzh6h0WlYlPv3tevrVtXVmxyAQGQBqzGNcW8XGX\nyEm9twFXAGo/3/zJJTpWyoQsDspwTITjS9BxEw02HP6zKYs/wGc21biD9138\nxOGLRWuDO6M0XYkovaNJhfh+F3Diz3hU49BConG8UykN8SG9xzA1sAyIyX88\ntkC7u0MC9+VVsv/SjDdbiEq967IL1lHgdgb9fQqerTxw4zt2RxH2ekDSu4KA\nD5C8m5KMkerfB/OI7Px/D2sphDHthmHhLjSCJOsWyxU2Em86Vz4mFqXTmGhi\nkNj34dM6xAAc0ZmA3uY3DDapPSwWbhLZHYtVvDGRQjWh5sP9lnTJOGqGWnxt\nrb6R/hXa8Q7qrA5Qx9eZDCw6zQWx3FRDbacoLNwdqVMwMDO0k0go9AqdlaE4\nA06DrjiIcj9vOmOSWWF6yLR7K3ZUGEBvQ0DvgdIzZgBqBevRpxJXjT8z+nOK\nQH6dlmC4gHz8shkO5l1VR3RLvDt86m+KWplGFv/sbtSAi8GtubZlaxPSViLO\niFz+\r\n=J8SI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjxUB0NKbx/aaU1BwPGonp8og06H6R2TSpltBtaTToVAiAqPc8qLNBx+OYPPhysysOTmeN4LBaksgekUrWjkM1d/A=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease11_1619777198906_0.4365728753897722"},"_hasShrinkwrap":false},"1.2.0-prerelease12":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.2.0-prerelease12","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern src/**/*.d.ts","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern src/**/*.d.ts","test":"for v in 2 2_1 3; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","pbjs":"0.0.14","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.2.0-prerelease12","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-YChKs1NV2vWKOTN4O8tGYc8AtSdQZXJREd/fX9bAyLDzqtLCH8yhN6QS+eFX5+Hw3EyTT2TSKAUypAaSd7N2pQ==","shasum":"02cc0bd7a6d309a8f678c4013ff138d219f4187d","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.2.0-prerelease12.tgz","fileCount":77,"unpackedSize":192405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi9t4CRA9TVsSAnZWagAAcB4P+gN9V49mMq5sj9lyUB+J\nUQ3/mi9nRs3EGtiobfE/hUVRlgWzCITNWvUl9kueNOQ21+wcNQPIIosS5iXn\nK1wEbPwbOh3zFHTLEBQJKCY3GnQhsbHH3cfSqqGiv8TzZBl8nSHMa2Sun5gT\nc156WoT1tHmDzSU1UixgYdZmBYpKYFrd/mBIqe04XUU1LCvgtO5Oj5xlgFVz\nKLjXD1ZjWJxzFFW6UtRiNrzJ06puuwg+vtOMBV+rpzDpullZRkd4lyoGiQ1n\nKkfqjtkksu179SBtp72NMXHVdO5dhKK3lb2PHmvvP6pEaOjBa2Unr86dJPyS\ngi4AvF9o++oZQkFP9HOA795AjTtAakCNSaxow7DQx/pGKIH8aW0KpaZpKddv\nm/M30Hg1RC2xOagRSV5g5xviEQttPi8/jV7mi2rytizj2yKFhc7vYmydKkhf\n1Ev/AxYN9N0LPemQA6LAQW7NCeXBJ61lFyXC/EG3Rb0+63IWl7JEnPGIiFNu\nTj9dFDROdlYvoxcib8ElXs5NdPpGMnWYc6ZoN/fijuo1AA9oCBUVkFXvhI7+\nT9D89ICubVzYuRrDYuBTD0acPBMWvXfpByNRosqj9HHL5F02UUw19QwBRrOK\n/E+kuqVSdASrd2Cj/pbxdgDr7OD7G0+6dY1hfy1YE7O7g21CqlbGRGZ7eM2h\n0Y7d\r\n=AwQW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfUIMM8iWyHaFV6ZxEqyrwYy+HqYlSmQIy+L0cWpkR2wIhAOUbQmTb1muAJRrS+7zBAn/k2JAD92+Kr75yIfBGXflS"}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.2.0-prerelease12_1619778423519_0.3495561143872392"},"_hasShrinkwrap":false},"1.4.0-prerelease1":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.4.0-prerelease1","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","postbuild":"cp src/v3/messages.* dist/v3","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","test":"for v in 2 2_1 3 4; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","testv4":"npx ts-node src/v4/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.4.0-prerelease1","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HHIawswr1YPyilgfXPPEeybTpUkdo2qmEK99dZ3Ljs4/Uuc/BTd5YmzRRpFpLkcZYQCSOZTx+BOWYnig4hsHUg==","shasum":"1f8578a21dd92336626f974f818c5fa3b9b02d9e","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.4.0-prerelease1.tgz","fileCount":83,"unpackedSize":384439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQK3pCRA9TVsSAnZWagAAHt4P/3vfBd5kY3dL3c06GZ8v\nmIJRD642eg9Ut0+Pw6va9CDX6+dXUehPCVAK/41GiA9ksKNvj9j7gsIS5bfz\nIEkKxG7ZDiY1k8DLghkOu7W8UiecSw0fScq8txtfsl/G17BDPrfRPM6WR07v\n9Usyw8EOJ2oyIvmClJWcp7cHwr/X0n8N4hjdpLmfi6u4vsoxazpbnkeydnCu\nS5Xg+PX/2vpnVi0EJQ3FroDgXHTOlMGcn+YuUfmpobRz0rim9W2eUGWRuNv+\nj4Tn7AB/8J6ujxsIIbJcl02QHkskuKWiQcSVcLA/qUXhZlGf/qNhXhKmHaau\nrHOQP5SYVGINPoNXGADhos1fBIE+nEljnwOIHaTZ6VsXwCd+FfVGZTGvPwdx\nRo8sp9mnkq0/X8MYTGZtOosFYJ++ECzOAXVd1L9pmWjUw/UUUqTjOh0jOwp3\nEbgn7Nc5qd1UXArk1dZIl7Rjy8bsgcm17mspmmbAMIROVX/mfpkDnFUOhKEr\nvKP8xTT6kUUKYu4d6de5XyJyg4an8aP6+G7pP+RBfExrlTGRF3BpeKpmAwc2\nSTqejfICyG35aVeWX30/yPZ4sB5S9EwsEIKi4JI+2dBW+hnwNN0vODrEvOXH\nncCUO7CI1CpjLvpmMwplEvIbhJ/hvg2l3OGV9DFGloatZvIFOPcH9Tu7Gv9T\nsYfa\r\n=GiqY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVTVN2ivttTtCMDf7oEtLDAUmqxI/ob5FD8dQjg7hSOAiA8NjsojEKFM0cQ7yg/AjNXJKD53BvoP2pqtjsLNQzvcw=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.4.0-prerelease1_1631628776888_0.005763660223869094"},"_hasShrinkwrap":false},"1.4.0-prerelease2":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.4.0-prerelease2","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","postbuild":"for v in 3 4; do cp src/v$v/messages.* dist/v$v; done","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","test":"for v in 2 2_1 3 4; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","testv4":"npx ts-node src/v4/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.4.0-prerelease2","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-QE2nKBuP4qXL1FnoGfD0uonjenwj2TyB/kqTAaDu5r3L5cIr6Bq/UmLlYtR3zW/8LJHXA84s5hu2FRKv2iR1OQ==","shasum":"ecc514ee9b5e9d57c1759c1f051bb4c0e71dc3ef","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.4.0-prerelease2.tgz","fileCount":86,"unpackedSize":468124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQK6jCRA9TVsSAnZWagAAj1MP/RgMMyylYdMF4JhhqA9G\n2kyj3Q69uHrpU006E8j/rq97pdalcjmnCTNZnqhXY0I9YadR4/b4qqJNsLBI\ngDpYIqyfWyFH1VYyAJ9EHZShIwysSLyqJcAUDGGUKzeNtNaabKhOATjfzpy9\nnqh0vlaANcYmfTXwFxZdDqXplY++f3WR7iNIQHa2ztwpnTraM52nlSH4VWOy\nkC0zBck/RIFN4u3l5+MOrTVkpxKD58qwRKujMnPgcjVbhXBbe77pcs/XNqv9\nJLDbSzQJJVOMioot4bWo14dL0QaW9fuXwH5bzUzCkBESi42njz0tlGvWuBtx\n1fkdcLcpC1kU480XezSVCvx30m+226kbBQNNnhag+LzoD+XCs5oP8XsPqQAr\ngs6k+nGenABDcNGUJj3c1n02o2aiOzK1gQNC5s6Lt79mW/soQ9joHG/WZb5V\nFdMhAwOMBVe5fK74ntD9qzlCdPfhT3kyR8nzN53a4y6rzqEkITkEyVvkz3LI\nnMtn1VavFpsEH134g5nMI3wXF00SfLIPf5vVuKTBzkas7lvQ+kCJu09Exag8\nsXBDMe8xNo3XkK+463YG8Z9SrVl5FiAw6B16qsgRdR28VG9EUK6u8lMfLVhL\nkPzZrloU3v6s0j/698ay1tXVoCAlIS9238ZgOrkXk9ZkHuNID+RuP3g/IAtd\ngNo2\r\n=MIX3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrr4C8fk0OAI21MNaRU2QCidnYKvN6zJkvJJQvAkpR4wIgZeejBg09SCs903KfTXeNXYdgkNgWlyTo2/bwhNDV1Yg="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.4.0-prerelease2_1631628962991_0.649923585570054"},"_hasShrinkwrap":false},"1.4.0-prerelease3":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.4.0-prerelease3","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","postbuild":"for v in 3 4; do cp src/v$v/messages.* dist/v$v; done","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","test":"for v in 2 2_1 3 4; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","testv4":"npx ts-node src/v4/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.4.0-prerelease3","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BGgSeI7+oQ0xtBQnNhcEBhR4NfcZC5nimxmCmRxB5Ylf7GlUimF15W4a3BnSRwHPLGUBlu/veKO5A+ag0lf2Mw==","shasum":"e52ce71a67a6a22b8c566cc3f32eaa1af5a8a81e","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.4.0-prerelease3.tgz","fileCount":86,"unpackedSize":468405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQLWhCRA9TVsSAnZWagAAcVQP/iGUwv2puhzRuR2qps8q\n/+fbXoRVT21yVtLvekPJG1Z0Uhafzg1sLpWsGDKp6zvpxo+QgGcpnpN6n5x+\nwMgBPB7K7Sjmn0T2IhOJLq9zc9Pl1ed7KUKEMOLThuSNnsblkJ0o0J1FUJGW\nj2FrXZj86mwh9MPNHpBy655WLdrwC5o1xvSJIt57ujDFP+42lSFWjaQKMihn\n+iioLpOC2ySjeGWaTL7LrRbkDT+U67ZYRub2OxsoVnRSl/fjFCZPXdoHirBb\nJfrGgFHLOwXmp4U7gJvMErFRceRNjkNLneOmG9AmERanIfZuj1cIXbcPiJNH\nMLNXpFEyy0LX8AhZTmjNqK2SQ7jukA8Mfr76iDnk3xmHyZ8KTrUCcfyUtlbP\n6um4dimNsriaM6M4o7jPWh3xQ4VxxoB/1m3OsAx20RgfNG4OQTbizDEwRLQu\nPhwIfhbU/qaAU5mfvtv5sD4TRfTiaywuNggU08YTMZ4W2j7gu1EXCcD3OhGy\nwNVxaFjntfmSPK1MRP72yGJ+SCn1mq2KzfljOGnOGwIQ2vB/otIqtnUWQhdj\nXYP5mqkpfZM2wrTVD0hcnn8gn7MoAGQjUsmHqkhW1Sc+M5oqnzxSLQEYkd5T\nDyxnBoMoPlJLjU7X2zbYcJj5wN5PzyAm8MyV7aCLisO6f2Ycm5Sr/PbQJp/I\nc4xa\r\n=hx3J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwgnl734TVpY9H/sx03B/zO9QzDuAbWOicIYdGX9zJpAiBQFLRNfGmQi2mmXZN1wIFFB2kG7947M4gRQfeQVAy5tg=="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.4.0-prerelease3_1631630753013_0.7837767544728291"},"_hasShrinkwrap":false},"1.4.0-prerelease4":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.4.0-prerelease4","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","postbuild":"for v in 3 4; do cp src/v$v/messages.* dist/v$v; done","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","test":"for v in 2 2_1 3 4; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","testv4":"npx ts-node src/v4/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.4.0-prerelease4","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ATuTgURsTiXvpHeZNNovDThycAcgFfNbWSdI6k3DcxibyyPix+RtlM8GzvAjQiGWxjXfHT6ffO9pYoH95q4Ilg==","shasum":"9e5a7c9087ccf7feab7b0992195f3b566290f130","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.4.0-prerelease4.tgz","fileCount":86,"unpackedSize":468427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQy1LCRA9TVsSAnZWagAAQRMP/AuoK4jB7eUFr2tPg3dP\nbT4UFG0pM29/u/jdBCOvGG5/9/mTXY0nWsOntZpfO3k2voPFouDilGYOBNnC\niVFNwquhVx6Vso/m7eXMlqlJ4Dgb91Ocw6zPZ1L/I4Xh6g/uMok2ZX0ew9ir\n7hkGYjW5fglznoJk7JTfIfaPFukM+gHyH0s16MF7xqNJsWYIMQDermkWASTp\n9VoE9Hcu6N3Mv14Cky946OP+kDocjvoa9aEN2oA0+Ls22d2fXtBFydSCTl+Z\nDhoP8YGx5InGft+TI/rmaDIfakDiUqgT39k3/3kBaECFsFkzuzHX7rsh6Jnh\nCqoptK3/X53Dsr+RVI2kqCqcbum21iggXZjtS4mX6mzlD5EaLWWQe/MqUHRh\nciumCBbF5IjrYHcZePScsNGk4IYAgB/y41FjRzWe+LkoQ2rXscgCOcbRXxLU\ndbMKO/U1q/lQwOaeHtVHFURGXOHX+68gJmmiUwb1IaTAu7lZIpbWkMG171c9\n1j+Kzt42FrXeyZRGZ0Wde2hrcGfTllMdVidv78xQTb6sMwT736bs1iWQtRyI\nHLLc63IK4atQdw9UPz+JqsjfDN7B64QRf3ohaKqpN47xqBE2/Y7jdIQ2xLZj\nT+Yjnt1v2NSDIxDYN+e6xmw0v/HUCJ7UW13FB+7octTtgRahN8R2xyoo548s\nyFmm\r\n=UwW/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGk3XcQwtccYu0TlZOUPYxtMsA47RQkwDfeNyvwr13TQIhAL0sFLizkl4R0CjdgFP1X/0gO/P9Mgf3ZQZeT7g0h895"}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.4.0-prerelease4_1631792459573_0.024352863555015647"},"_hasShrinkwrap":false},"1.4.0-prerelease5":{"name":"@c4dt/libcrowdnotifier","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"license":"MPL-2.0","author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"version":"1.4.0-prerelease5","private":false,"scripts":{"build":"npx tsc --build tsconfig.json","postbuild":"for v in 3 4; do cp src/v$v/messages.* dist/v$v; done","doc":"typedoc --tsconfig tsconfig.json --out ../docs src/ types/","lint":"npx eslint src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","lint:fix":"npx eslint --fix src/*/*ts src/*ts --ignore-pattern 'src/**/*.d.ts'","test":"for v in 2 2_1 3 4; do npm run testv$v; done","testv2":"npx ts-node src/v2/main.spec.ts","testv2_1":"npx ts-node src/v2_1/main.spec.ts","testv3":"npx ts-node src/v3/main.spec.ts","testv4":"npx ts-node src/v4/main.spec.ts","benchmarks":"npx ts-node src/v2/benchmarks.spec.ts"},"dependencies":{"futoin-hkdf":"^1.3.3","libsodium-wrappers-sumo":"^0.7.8","mcl-wasm":"^0.7.1","nestjs-proto-gen-ts":"^1.0.16","protobufjs":"^6.10.2","ts-protoc-gen":"^0.14.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^4.10.0","@typescript-eslint/parser":"^4.10.0","eslint":"^7.15.0","eslint-config-google":"^0.14.0","ts-node":"^9.0.0","typedoc":"^0.20.32","typescript":"^4.0.5"},"main":"dist/index.js","types":"dist/index.d.ts","description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","_id":"@c4dt/libcrowdnotifier@1.4.0-prerelease5","_nodeVersion":"10.16.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Rg6j3b/0oH6lxd1fXW3JLmFPpGkGQpVOJQix23yZwbNw3D9d5WbFusKvEmYg4fNH2W2NcfimlGvZ600Pa1uYDw==","shasum":"ba67d553a5b056acb9206944b68ee3cc3099830f","tarball":"https://registry.npmjs.org/@c4dt/libcrowdnotifier/-/libcrowdnotifier-1.4.0-prerelease5.tgz","fileCount":86,"unpackedSize":468517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQzN6CRA9TVsSAnZWagAABR0P/i1Eze7/6D0zZhCcKWIT\nIjOgVlFmcCF0Gn0f9xqZcJ24doYrevg53VRrERaDEKo3PRpwAfw5PzoHqLY2\nwdBgeWalwoy9j/YZzUcIgqK8hPABrT5vf8+Vo4w7P2eCm0YaU2BHG+/Yc1wW\nVYMkx9C5iLiI+HOZdlQLNwCozez+xUGNoSCJTdxus9JLypw4KqbPRHgX3Me9\nL7NR9/Ba3yNwIeGRRpnlMI3KqxY8CV/7+HZC3cqoxT0BQm6KxkGcnMjx0Ggs\ngS6RjW1cL2rx34PxuiFCiL9JDAPEJSfz+BklrMcNZ2tLLQTGihMJb9wa7FNd\nuZB4wJf8W0mKE8757r7daVt5Ksr5KCSIpdoU7WuJa1Y5tfolmZcz47PT+WtI\n1BVInACvpO/itkCiGmnCu2sZLmk0FWyFuTtRpr6uCGk7DjXTWSzGxF9BOmqq\nIfvNwKEU2En6roKCJXXjcDc9cyzNUynW5Fxg8pHv3NoSDhwGYF6dFUlGuXLT\nKKw9kmzyxVkrUuC7YFghjPadrpCIcBkq4QB0i74j4iyd1NdKulMqjc+QWXl6\nPc0Bjwctcord4Edm9WsaECe6CRiqCO8wCinyA+UwzSD+H5YdgHq90zfiHszf\nkTmDkGl3IqLtROX/WhqfsmM0koxCEfKWoXV1mW7AB78T5zaToli9fmSv/z5p\nZ9e5\r\n=p/MT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwfxkECiMFopHPKQG6OuDktjjcoh/PTxeYOcZUTA+fcgIgf+TELOUBf6i4bXD9Ahwe7q0LIzgYDcTI36NTwC7uxUU="}]},"_npmUser":{"name":"ineiti","email":"ineiti@gasser.blue"},"directories":{},"maintainers":[{"name":"ineiti","email":"ineiti@gasser.blue"},{"name":"tharvik","email":"valerian.rousset@gmail.com"},{"name":"c4dt-bot","email":"c4dt-services@listes.epfl.ch"},{"name":"cgrigis","email":"christian.grigis@epfl.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/libcrowdnotifier_1.4.0-prerelease5_1631794042596_0.8617892929775295"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-17T07:42:15.956Z","1.0.0":"2020-12-17T07:42:16.342Z","modified":"2024-05-01T15:08:22.061Z","1.0.1":"2021-01-05T12:21:06.141Z","1.0.3":"2021-01-05T13:06:34.754Z","1.0.4":"2021-01-07T10:45:35.096Z","1.0.5":"2021-01-08T09:20:17.601Z","1.0.6":"2021-01-08T12:58:47.855Z","1.0.7":"2021-01-11T17:15:02.770Z","1.0.8":"2021-01-13T12:50:23.249Z","1.0.9":"2021-01-17T11:43:32.875Z","1.2.0-prerelease1":"2021-04-22T20:20:06.866Z","1.2.0-prerelease2":"2021-04-22T20:45:54.089Z","1.2.0-prerelease3":"2021-04-22T20:48:56.557Z","1.2.0-prerelease4":"2021-04-22T22:27:37.289Z","1.2.0-prerelease5":"2021-04-22T22:55:09.491Z","1.2.0-prerelease6":"2021-04-23T06:39:46.138Z","1.2.0-prerelease7":"2021-04-23T07:21:17.417Z","1.2.0-prerelease8":"2021-04-23T09:23:45.196Z","1.2.0-prerelease9":"2021-04-30T06:45:27.501Z","1.2.0-prerelease11":"2021-04-30T10:06:39.101Z","1.2.0-prerelease12":"2021-04-30T10:27:03.703Z","1.4.0-prerelease1":"2021-09-14T14:12:57.053Z","1.4.0-prerelease2":"2021-09-14T14:16:03.195Z","1.4.0-prerelease3":"2021-09-14T14:45:53.356Z","1.4.0-prerelease4":"2021-09-16T11:40:59.745Z","1.4.0-prerelease5":"2021-09-16T12:07:22.759Z"},"maintainers":[{"email":"ineiti@gasser.blue","name":"ineiti"},{"email":"valerian.rousset@gmail.com","name":"tharvik"},{"email":"c4dt-services@listes.epfl.ch","name":"c4dt-bot"}],"description":"This is the library implementing the cryptographic primitives for the CrowdNotifier system. The white paper explains how a privacy-preserving presence tracking system can be set up without the need of a  central authority that keeps all identities stored.","homepage":"https://github.com/CrowdNotifier/libcrowdnotifier#readme","repository":{"type":"git","url":"git+https://github.com/CrowdNotifier/libcrowdnotifier.git"},"author":{"name":"Linus Gasser","email":"linus.gasser@epfl.ch"},"bugs":{"url":"https://github.com/CrowdNotifier/libcrowdnotifier/issues"},"license":"MPL-2.0","readme":"# LibCrowdNotifier\n\nThis is the library implementing the cryptographic primitives for the CrowdNotifier system.\nThe white paper explains how a privacy-preserving presence tracking system can be set up without the need of a\n central authority that keeps all identities stored.\nSimilar to DP3T, all critical, personally identifiable information is stored on the phone of the user.\nThe central server only stores encrypted data about locations that were visited by a person tested positive to CoVid19.\n\nAs there were several versions of the white paper, this library allows the use of any of them.\nThe versions are:\n- v1 - first version where the information of the location needed to be updated after every notification\n- v1_1 - like v1, but with some cryptographic cleanups: no signature anymore, thus only use of `curve25519`\n- v2 \n  - using identity based encryption with a pairing based crypto system. This removes the need to re-create the\n   information of the locations after every notification\n  - adds the primitives for a managed version where an organizer can manage many rooms at the same time\n- v2_1 - fix for managed mode of v2: now the organizer can drop the random private key for the health organizer to add\n coercion resistance against an attacker\n \nThe app available under https://notify-me.ch as of December 15th 2020 uses v1 of the protocol.\nWork is under way to update the app to version v2, and we hope that it will be available early January 2021.\n\nA simple implementation of the app can be found in [../app].\nThis shows how the different parts of the scheme work together.\n\n## V2 - Latest Version\n\nThis directory holds the reference implementation of the latest version of the white paper:\n- ibe_primitives.ts implements the identity based encryption according to [Security and Anonymity of Identity-Based\nEncryption with Multiple Trusted Authorities by Kenneth G. Paterson and Sriramkrishnan\nSrinivasan](http://www.isg.rhul.ac.uk/~prai175/PatersonS08.pdf)\n- crowd_notifier_primitives.ts implements the latest version of the crowd-notifier white paper\n- messages.proto defines the messages stored in the QRcodes\n\n## Use the library\n\nIn order to use the library, first install it in your package:\n\n```\nnpm i -S libcrowdnotifier\n```\n\nThen you can use it as shown in `../app/v2/system.ts`.\nAll methods in libcrowdnotifier are as close as possible to the methods in the white paper.\nThis allows easy verification of the scheme.\n\n## Caveats\n\n### Initializing mcl and libsodium\n\nBefore being able to use the the library, you need to call `waitReady`:\n\n```\nimport {waitReady} from '@c4dt/libcrowdnotifier'\n\n// Somewhere in the initialization code, do this:\nawait waitReady();\n``` \n\n### Using mcl or libsodium directly\n\nAs the mcl-library is using wasm, care must be taken to use the same wasm-instance!\nFor some reason the same applies to libsodium...\nSo if you need direct access to the mcl or libsodium primitives, use the following:\n\n```\nimport {mcl, sodium} from '@c4dt/libcrowdnotifier'\n```\n\n### Using webpack\n\nWhen using webpack and getting strange errors like\n\n```\nUncaught ReferenceError: process is not defined\n```\n\nor\n\n```\nUncaught (in promise) ReferenceError: Buffer is not defined\n```\n\nThen be sure to include something like this in your appropriate `webpack.js` file:\n\n```\n        plugins: [\n[...]\n            new webpack.DefinePlugin({\n[...]\n                'process.browser': true,\n```\n\n## Documentation\n\nThe documentation can be found on https://crowdnotifier.github.io/libcrowdnotifier\n\n## Run the tests\n\nTo run the tests, type the following:\n\n```\nnpm ci\nnpm start\n```\n\nThis will run the tests for the IBE primitives and the CrowdNotifier primitives.\nTo run the benchmarks, type the following:\n\n```\nnpm run benchmarks\n```\n\n# Older versions\n\nFor reference, the older versions are also available:\n\n## v1\n\nThis directory holds the reference implementation of version 1 from early November 2020. \nIt is based on libsodium and uses ed25519 and curve25519 for the signature and encryption. \n- crowdnotifier.ts implements the primitives of the scheme\n\n### v1_1\n\nWith regard to v1, this removes the signature using ed25519 and replaces it with a simple hash scheme.\n- crowdnotifier.ts implements the primitives of the scheme\n\n# Authors\n\nThis code has been written by Linus Gasser for the https://C4DT.org\nIt is based on a white paper written by Wouter Lueks*, Seda Gürses, Michael Veale, Edouard Bugnion, Marcel Salathé, \nKenneth G.Paterson, and Carmela Troncoso.\n\n# License\n\nThe code is licensed under MPLv2.\n","readmeFilename":"README.md"}