{"_id":"@ancademy/bespoke-server","_rev":"127-56cb32524c622106298c91e49a4be13a","name":"@ancademy/bespoke-server","dist-tags":{"latest":"2.9.27"},"versions":{"2.0.9":{"name":"@ancademy/bespoke-server","version":"2.0.9","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"prettier":{"printWidth":120,"semi":false,"singleQuote":true},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"backend/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","script:dist":"tsc --build ./script/tsconfig.json","dist":"npm run script:dist & npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.0.9","@ancademy/bespoke-share":"^2.0.9","@ancademy/elf-component":"^2.0.9","@ancademy/elf-protocol":"^2.0.9","@ancademy/elf-setting":"^2.0.9","@ancademy/elf-util":"^2.0.9"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^2.7.0","@typescript-eslint/parser":"^2.7.0","eslint":"^6.7.2","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","jest":"^24.9.0","prettier":"^1.19.1","ts-jest":"^24.2.0","ts-node":"^8.0.3","typescript":"^3.3.3333","webpack":"^4.29.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"a6843ce48c06b133f5514065b14c191e9a4bbd42","_id":"@ancademy/bespoke-server@2.0.9","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-V60CFIWvI8sHZ+pOmflj7Mb3FHQqNBG6a7czTQR7WG3JGDchJic9RYXDjrkcpgCG3WE0t7le6fJD2JJ32Pxb4Q==","shasum":"9484424b571e888a964f1befbe8db72309f66b88","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.0.9.tgz","fileCount":94,"unpackedSize":600286,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6ERMCRA9TVsSAnZWagAA7PgQAJRtquDPYvzwFb0hwHuR\nTzcZ04J2Qx7yeUpGobjJaobXn2RQxf3jBu7nX/aqSDgAn1XHCFdu1deQSrJX\ncRXerv9CvSx2U+YB8+6+eTup+LFDyiMNF2jCFQGi7M2ENjD2xkmWekYOPHrm\n6kqrFLUHQwrm2GragnFM3OpYG7W0inoQ6Zbk+06DU5f1Ni2GjZlyMHuUrNIl\nZlMqL6gHce43JQD5NW9URiMKipTHM4v0avib6GxFAUsEBkvlTHZrDrusy3yh\nDRQCHDsIKa5QoOL7LQAapbJCLnAyy95bfyptQ9LaTBZKQTzwsazWwd+pf0H0\n2Ic5JNz5fnr252Hzg0/6pUC6EqBMQcdYwrKq5DneBjyKEMf+zmOmqFcSi6Ff\n3nMGyHuUhhbbi++3RXLjOmScM4ZSu6C5Mr3tuQ73UO6jcPWlQKqrOpdLHIRr\nLc6LkTAsDvroSAJzP0Z4kDGQE5DGykVJxgq7ed+y9Os0NqmiwALmPs+sEpiB\nRfS8OJz1sjx9h4xUevRAbUxPachUzeAzYFWde1zYMJcP6Tb1ltRKhFqAqsP9\nM+JeSgFddJWxqKmqN/ncnOu/F2BvMCZdOPxisROizd+Vh4Bp62q7NybAf2E2\nsFjLo4sfFqPJUpeiDwJVVv/px8DJeMCTmhUkQj4NEnqaYa8tkzsBLt1JkrPD\nQT3j\r\n=Ho5q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCleK6+KX0i07hPGKfUCuPyhMPIOigbsnntPZA9IdR/gQIgAht4c0giHOfv9AZr2xRJLjhXr2PWc7xdgsK3vJRpJl8="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"},{"name":"alesheng","email":"ale@anlint.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.0.9_1592280140417_0.9705273987743244"},"_hasShrinkwrap":false},"2.0.10":{"name":"@ancademy/bespoke-server","version":"2.0.10","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"prettier":{"printWidth":120,"semi":false,"singleQuote":true},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","script:dist":"tsc --build ./script/tsconfig.json","dist":"npm run script:dist & npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.0.10","@ancademy/bespoke-share":"^2.0.10","@ancademy/elf-component":"^2.0.10","@ancademy/elf-protocol":"^2.0.10","@ancademy/elf-setting":"^2.0.10","@ancademy/elf-util":"^2.0.10","queue":"^6.0.1"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^2.7.0","@typescript-eslint/parser":"^2.7.0","eslint":"^6.7.2","eslint-config-prettier":"^6.6.0","eslint-plugin-prettier":"^3.1.1","jest":"^24.9.0","prettier":"^1.19.1","ts-jest":"^24.2.0","ts-node":"^8.0.3","typescript":"^3.3.3333","webpack":"^4.29.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"35366ae534eebc6d2c3ea09684366492f52f5964","_id":"@ancademy/bespoke-server@2.0.10","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-BKseZk4vKhOTioOyNwD9hs8E0jzETzRb/+AAuxo2pE5ANuxTZUmMOwZK6xwZiB1c1rhfp60RPFvPAZxzX2rF+g==","shasum":"30ca724698543207d59dc4ae61df5fa2c33748f8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.0.10.tgz","fileCount":123,"unpackedSize":615877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6FtqCRA9TVsSAnZWagAAAXsP/1Ze5XyB1mb/8WLN5uXD\njP154suI3yJ67qUuSJOiGnK1mxgPL8EpFAz2wvL85NmCskhDeXMKaYTj0LCj\nqCBBrrITpk0GMo1WFHmQzolY06UTAmOmqfpHdpMkwhwGHvsa4NIyXXl1NUrJ\nvOvEkG2pV+xPZggNbZ6WXio4hkQ4ZqKqA1SiVe2xkm8FIUUwvEQGabLgJUib\n5hO3Bw1mhxobVeXKygFoe/luZJ477Gea4B+cNnFA1KzKQIZx5xWYID5lKor+\nABYUDBs0sej3vWCvm/NT9HyMA4QlwHpC6BAqQNKs9USmXymlAd2dvhYdUS3Y\nISrVy1NIFz9s703Tk+2O1P3oRhmqCVyVeYGWdchxta3iee5qWBy9gbXDHYb/\nOB7JApkmEXOx4BqT787K7ugMld4AOaf/Gbh516ur5Mekxt/bvQhgLvSGkFm6\n4Sy1LUwVlgjEB2RtrbAA0Y6WF0MPDumCJs+GANmy+nC3GkWabfPCgDtPb19K\n3XQHUWDpqa1Kdk7sIuaClaZDKGq74eycz+dmmgDvTHi/VhdrdPkx1VkLGaZP\n482y+HSesAhTdcL8qjIszluEfuWBjtCFh3eWfwJRN/hVScroATRjxmfvwOkO\nvRkYEBv5aKP4+oENm8R6gSGG4bi1ZgUgotmmM2nyajJWANJWxE1nSTsK7JGq\nV8IW\r\n=6D3A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVahgN+SZpECoE2EGs4xGzeEUhhyD5BvIPXATpwV7mxgIhAL9u6cM49S5WaXAyU2QXn5oeXjfF9HQsRC6ZArDvkNpX"}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.0.10_1592286058207_0.8534440028734671"},"_hasShrinkwrap":false},"2.1.3-alpha.0":{"name":"@ancademy/bespoke-server","version":"2.1.3-alpha.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","script:dist":"tsc --build ./script/tsconfig.json","dist":"npm run script:dist & npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.3-alpha.0","@ancademy/bespoke-share":"^2.1.3-alpha.0","@ancademy/elf-component":"^2.1.3-alpha.0","@ancademy/elf-protocol":"^2.1.3-alpha.0","@ancademy/elf-setting":"^2.1.3-alpha.0","@ancademy/elf-util":"^2.1.3-alpha.0","body-parser":"^1.19.0","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.19","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","query-string":"^6.13.1","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.155","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.24","@types/node":"^14.0.13","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.36","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.17","@typescript-eslint/eslint-plugin":"^3.3.0","@typescript-eslint/parser":"^3.3.0","antd":"^4.3.4","clean-webpack-plugin":"^3.0.0","compression":"^1.7.4","connect-redis":"^4.0.4","css-loader":"^3.6.0","dateformat":"3.0.3","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.0.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","qrcode.react":"^1.0.0","react":"^16.13.1","react-dom":"^16.13.1","react-router-dom":"^5.2.0","sass":"^1.26.8","sass-loader":"^8.0.2","socket.io-client":"^2.3.0","style-loader":"^1.2.1","ts-jest":"^26.1.0","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.5.3","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b27ae844100a78058bb19473c87c0e746cdee78c","_id":"@ancademy/bespoke-server@2.1.3-alpha.0","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-slMpFh6fiL01WFxyyjowCyltnvDJGqmj7vTvdpL3+p7q3L0a+PweJ23UfEFWWIIrCjsv8t0eHjxtFpkD+H8vjA==","shasum":"1d4bfe2e8501cb59a2ad41a4ecc8da1dad948f5e","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.3-alpha.0.tgz","fileCount":123,"unpackedSize":650206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6Mg/CRA9TVsSAnZWagAAvP4P+QHk0VQ04hC/+b/m+fyh\nXwG3y1qhZhOmauNI8ra+lkIMt8uc78Kmv3SsmzZChvLcKz0a4SDG9dPWzoOi\nFTDGm26KIJNMURVid4sdxyU9OaCqJyZtS9YsmT+N3KFBUsVQDjcC3LugXfeB\nDBYYcnKMf2TKVMmmpwLfyKzVZGJqRC3pd0TRNPZ3Y/6/qu53ucU03rGsGcdq\n2A+PxC3f2LxMJDNzDnmL+v5MoIB8kwb1OXh5yTw0q3IoCNoWIRGGB8LFkGIq\nLgv7X5av1TJRGe30h5hLqYAAbLRwydmEo6NJ4WZN54rGzOrzW5+1LBHZAOZq\nSIqW4UzAghQvxr223czeoRNMJsWVlny4hDQAsUCqfBSpcA/Fg/rDWV5X7HlO\nwDAcfVBs/nkL8QJxihVFUwLu+hY3Fye+3o56+rl81VeTKLdQ2dwhMXXaqc3o\nc94mIeiu30IApJN1G4l/e+V9lo1DflI+dsglbt37+z5LE9QGnLQfRG9Araf4\n2/bpYAFheEvOHTYDkJoykXgIUBGc4w4IRRMhF9TiID7oS2N3ACYnR5JB/xk0\nR1zFS8LLqE7Qcu5Vftx9//T0A2+HsGY/jWbkCfmpu7CvYiUDMzzQWKk3FZyY\n+5oz8ISwKgk/5uLtkaBM9O/NxVrsTSHqT7N3hvJoaH2DnC/H9hjHIUkkXDEQ\nD1BB\r\n=EYKS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbAt725ViHn0xe5K8yDU+jpSesiUvONQQF1fEmLu77/wIgOwlpMiWPGrF3DFtcj3m0z/OsSieTk92fE1Wlq0Wr0oM="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.3-alpha.0_1592313918587_0.18952530696102543"},"_hasShrinkwrap":false},"2.1.3":{"name":"@ancademy/bespoke-server","version":"2.1.3","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","script:dist":"tsc --build ./script/tsconfig.json","dist":"npm run script:dist & npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.3","@ancademy/bespoke-share":"^2.1.3","@ancademy/elf-component":"^2.1.3","@ancademy/elf-protocol":"^2.1.3","@ancademy/elf-setting":"^2.1.3","@ancademy/elf-util":"^2.1.3","body-parser":"^1.19.0","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.19","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","query-string":"^6.13.1","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.155","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.24","@types/node":"^14.0.13","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.36","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.17","@typescript-eslint/eslint-plugin":"^3.3.0","@typescript-eslint/parser":"^3.3.0","antd":"^4.3.4","clean-webpack-plugin":"^3.0.0","compression":"^1.7.4","connect-redis":"^4.0.4","css-loader":"^3.6.0","dateformat":"3.0.3","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.0.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","qrcode.react":"^1.0.0","react":"^16.13.1","react-dom":"^16.13.1","react-router-dom":"^5.2.0","sass":"^1.26.8","sass-loader":"^8.0.2","socket.io-client":"^2.3.0","style-loader":"^1.2.1","ts-jest":"^26.1.0","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"12ac5a3ddf0d5058a48ab2c1147f8434183a2a0a","_id":"@ancademy/bespoke-server@2.1.3","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-9mpCTWnW45Q/CfoLCcwg8ACUYFQGTiWTrYK6ehJJahQZXcInmgrcxo0gjl9iLU23eVO+dR7wHiKm9pSwNr3zcA==","shasum":"c1d59ee310504b7ee4d49470cb1f2744da19b398","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.3.tgz","fileCount":123,"unpackedSize":650150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6MlFCRA9TVsSAnZWagAAoHQP/1QpR/ZejgjimGbeENpR\ndd+KmRsE6H5Qi6RBxemlGVzat3miOwmaWKnyss6sqdg7mbXIKOJ/hZb+x7l1\nrmPKDD5ARRL8DEmyk0+jgSOQyJr8uzrO2cu5CBeSAbeOmjl0H0sfiDcUAMYP\ny7HZQOOgqCNC3nAWG1KCELlbPO97nUYaDtMnYzS2uFc/gQiuqDL3GQ+Ox8Fy\nqKrs4RwZgAj5nAECbKgoy0UlBnt9kZiGo482FBJG8adBrvCoUh22Ahe3/3Zb\nzA20/aTeV04I0mzeQ8w6bXxoJLqWNrFcFYCG0UiHMFfudPAi3Y+nwvpWVxlv\nrHW/QptFd8fed0DNMdIlBcCbvC5NBkM4eyHyDaEu6RihIR9dnoEGJOMV1EKd\nHHjpQHWN7PA1w2wKswqUGtEy36W6nnCbQ7oAfUDCNNzTrAm31OYHPSYZtSWD\nhBucOli3iMWdrml6n6syw16yDOse964EopzEehmU6i8ZSUlL8aImuaX+Vn9I\nq2l0ej/c2tBx7u6rxDKCzpPsInC3MoP2rNdXy/PhsClSvYY07Lr+zN7+Bj/B\nM4tvXHm4U0nb46awp2/DVaWhU0Kmtq1ZTCQ2HjCHtf8htiUOBFj90GMZVb+y\nBP46K1xUcaDBJAmT23PEIUsqjyt2Gz+wnVOXLS/RLtnzlRt7bw9VIxYIsD8h\n6qs9\r\n=Kbmm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+o7umAUA7Qa3DFN6dGL4vCfBDbunB5wXwuWJU3w2kjwIgOff5qfMfAtDZ7NmoDtS2G5v+FD2U03hLWHhAcdBqZCo="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.3_1592314181180_0.4116423922605503"},"_hasShrinkwrap":false},"2.1.4":{"name":"@ancademy/bespoke-server","version":"2.1.4","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","script:dist":"tsc --build ./script/tsconfig.json","dist":"npm run script:dist & npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.4","@ancademy/bespoke-share":"^2.1.4","@ancademy/elf-component":"^2.1.4","@ancademy/elf-protocol":"^2.1.4","@ancademy/elf-setting":"^2.1.4","@ancademy/elf-util":"^2.1.4","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^4.0.4","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.19","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.155","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.24","@types/node":"^14.0.13","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.36","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.17","@typescript-eslint/eslint-plugin":"^3.3.0","@typescript-eslint/parser":"^3.3.0","antd":"^4.3.4","clean-webpack-plugin":"^3.0.0","css-loader":"^3.6.0","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.0.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.8","sass-loader":"^8.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.0","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"a0c8fd3b96ac3bc8a9ff33222e7053b43cafd2f4","_id":"@ancademy/bespoke-server@2.1.4","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-qAPDL/5vljsqm/avEbPVlPFCkkvUsWuqA1+8DaESFS1mw8HTyfeqr/u5VBPKWOyNHj3iCa48HJtMnV2RK+2zRw==","shasum":"f84783ddde8d13086511f6f50a62792c38f85dba","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.4.tgz","fileCount":123,"unpackedSize":650150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6NKhCRA9TVsSAnZWagAAEg4P/RD5ige9cl/dALx5iJmQ\nGpS1ryQXYzXgqH3a9ZCp71g5ifFCkeGU7MI8EWXfy8caDibbIxC44YokYy9y\nRRzJ7xjKWCEncIpgQ2bPQYYRX+7s/h8gQYTvl17/NGIGm2PqqY1N0H1DbItr\n0P2zOMTl6jUNK3MIbZP9wPoPzQrb4/zjinR0RpyBjDEcgfBK0oHPIOOkbaWq\nwpNbAZSeh5t0yaFdqwqTBK+403222LlqABmub4+5MYyCXQK5kgNQKaozPYqi\norQmTvvu+jdY28R74cO2y1z/aSgRgPnHkXHa+o7QjxLWAhKMx2qjKay93Jrg\nHbKHVxx/g7dpEcMioU56k5aspImoGKcwnodXy3VfoVuvBFGzEu07Kjs2NGiU\nBVi0RfBgEV5JldLBGBUbUx68IkqsGUbIJQFCdwDwUA/0ADSHy1z8/tNUCajX\npyf0taFISNxr7YaJbF0F18p9wCLrpS9dVdJoGkVBNzhwvsVEsRHJhy+BC/S3\nXt1r/do+Pv135y9DJt6Y5755P3r2zIoEsl93rxuMbAQTHUwMedQlJFWKxpbk\nNua2uCm9yYukBwGeaIj5+ict7LJLurUBUwjnwEhCizE4tzqmFf0DDPFG3PT4\n7cAZNYQWRUYZaacZus3RqpFTi96pMP9Sah1xYw8AsDu3F5u5xNdj426EeOMk\ncYjO\r\n=3buv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIADbBzinP3v+Xdc8+ZXjwxrI5ei7hTgAGSWVCtcFh/+xAiAvgDrRnYJaO1/zwOGtU2PXBx/lgifLtktEw64I/gadXA=="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.4_1592316577194_0.09287985238102503"},"_hasShrinkwrap":false},"2.1.5":{"name":"@ancademy/bespoke-server","version":"2.1.5","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.5","@ancademy/bespoke-share":"^2.1.4","@ancademy/elf-component":"^2.1.4","@ancademy/elf-protocol":"^2.1.5","@ancademy/elf-setting":"^2.1.5","@ancademy/elf-util":"^2.1.4","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^4.0.4","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.19","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.155","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.24","@types/node":"^14.0.13","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.36","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.17","@typescript-eslint/eslint-plugin":"^3.3.0","@typescript-eslint/parser":"^3.3.0","antd":"^4.3.4","clean-webpack-plugin":"^3.0.0","css-loader":"^3.6.0","eslint":"^7.2.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.0.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.8","sass-loader":"^8.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.0","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"683ef42da6f48191aca348cd513cc0993b2a4826","_id":"@ancademy/bespoke-server@2.1.5","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-edkhj9n64pVuEunpyavF7jbaKZ/p++KDnf+yXEi3EJQp8aU4SCB895a9FyjUnMTs7fu+Ah9SIJTCi7eJEC7z4w==","shasum":"77cb0653f216bda823443a8df58ae43975a5d948","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.5.tgz","fileCount":61,"unpackedSize":529431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8G8WCRA9TVsSAnZWagAAjyAP/0I/0UXzXCbYDGSqD/oC\nO3Z8ZAqZ9zVIIbWmbpkPBPVIG/Nh1cIoFRBe3EYNX8WrI6gBLL0okByOplSN\nfEebqxeIrkUx0n7/ONoozb6nN3Eirg3GAwm6ZBgydhKi8YnQyVx/JffimrkH\n2UmeRA6Roo5Q8WhmFE9ACBoh0+c3Rhz+eBG9tqnS+70tP+UEDzEm99T0UU1I\nnniV23MDusckC2m5jkNKCIvCjkAm0EMOnWI2HAOoVEqzMjrjeBaHX45YYY5/\nqfN7hF798+fjrMye3va/oTHx+3TD4PS9QBVmAn/+npW+waGQLOoF23UZoPYg\nEISjBFggSxuAAKObJWNBg95+j8VmMtOgYJFsiiqdsk/xHzjyHLGOrFpEzKFJ\n2NLIVpKwJ662k2t9d5eDA4OAbZOPLCE/2si6YGIU1NCzYjUwZhuRq7snNuah\nRVvYqOO3azO2JDH3CiR0KNb/nVui+uW4q/Vz9ou8HzTeeZNXdnb4bq8shrLm\n0FqDbg2Co12ckbuI9ZAYMT3oNYkihCVBD88YmYz+58aC08znKWrVj+gY4W9X\n4o0pJQEAU6nz/E1ptHotJapwDYeng7QNcU/571qSOFNedzfCqzHBNHEkcwKB\nELxqA3M29u9WHavpynUJXjycO/jN6skPes4Pc2wWoai0a6BMvF7nLdLuUd0i\nGKDl\r\n=p2UU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGs7jvKH5DK/UYCSqxoGDkS4zFCc1NxFTJQq9sucoB55AiA1j5vcOtgfPdA0H/HQV0R8Le4BNOSl2gmLXPYTwbINjw=="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.5_1592815381721_0.31090458016288225"},"_hasShrinkwrap":false},"2.1.10":{"name":"@ancademy/bespoke-server","version":"2.1.10","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.10","@ancademy/bespoke-share":"^2.1.10","@ancademy/elf-component":"^2.1.10","@ancademy/elf-protocol":"^2.1.10","@ancademy/elf-setting":"^2.1.10","@ancademy/elf-util":"^2.1.10","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^4.0.4","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.19","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.156","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.27","@types/node":"^14.0.13","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.38","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.17","@typescript-eslint/eslint-plugin":"^3.3.0","@typescript-eslint/parser":"^3.3.0","antd":"^4.3.5","clean-webpack-plugin":"^3.0.0","css-loader":"^3.6.0","eslint":"^7.3.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.0.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.8","sass-loader":"^8.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.1","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6d9e5f6223f771f4d864e3fd2cfd31bd853b24ba","_id":"@ancademy/bespoke-server@2.1.10","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-LnfDd6c9juJ85nrOimMHWaEcp2fbJrrMge28cFvYbr+U4o+Y9zy473zuRjV/IQf4R5e72fBazSup8+rpxy6ySQ==","shasum":"09e131bde7c5b9296cfb7ba8c6936bcaefb04229","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.10.tgz","fileCount":61,"unpackedSize":529461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe83VfCRA9TVsSAnZWagAAXTgQAIRGuxAZd4ml2b6ka86k\nCef9nXzZi83FB8coLlI/Ckj5dNNL1iVDpRAxlQNbejdj9i4PnmlQxwg+cV5W\nBIs4mUj3LHqTZO6U9fAYEAL7x7JwXw6ShNrgRFQSV2P8Rebt5dDbXdidMMvj\npXz33IXbPo1y+WPRw9GY1vm0jU3Eu8N8IZ5d0AXH1Vu/FSuuQ8DmEV/PfU5f\nNgCTvM0yH/MlBRfGcbIa4mb0isgFuxoMeBU8eOyCm0OV+mcn/iSrbGzQ0EuV\nii39W0mGj7CnCWfkwzI7fg4ca7AoeIzXueOCWS1IEnMIvXk0Pbcg4ljK5sYc\nRZ1/9oXzMueBcBqP/XTFmiX3A8K248nQQCE2myFoXYequeNPMzoBp72FqyeM\npRlHP5wQCNhZaFrBaiisrAkxDtXQei6EC9edfWX0SeV4SLv1q2P/+J2BAwy+\nP/boN2AX+k+LXokhJRCDRCrvenRZysrnjwz2vC1UtOh8SCHQkzYIS7xxMTcS\nhRngo9jzGJ1IVPHfKu6gOW3GN/0yY+SIJpPLvDh99C/g945CfodfVjhgcVIK\nGMAdjs11OmKtaJvKHNp4YX1S13tVqS8UhE3399UsTYHNHK+CIU00YV9w0zOG\n+v1ErJz344/Yf2ur1hMGePsoQovRStckEZTj55qFDrtdOKY8wkaY2wQA6LIg\nBSaJ\r\n=63w2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOLWX9kZkqUI/zytka4JkDQIIgWMMclwRV8qnPKbxCKAiBeY5PTafDGaysFhfRqnrJ/trTZLysh+Yhyo7WSsBlPDA=="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.10_1593013599507_0.00026125171506974354"},"_hasShrinkwrap":false},"2.1.11":{"name":"@ancademy/bespoke-server","version":"2.1.11","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.11","@ancademy/bespoke-share":"^2.1.11","@ancademy/elf-component":"^2.1.11","@ancademy/elf-protocol":"^2.1.11","@ancademy/elf-setting":"^2.1.11","@ancademy/elf-util":"^2.1.11","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^4.0.4","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.20","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.157","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.28","@types/node":"^14.0.14","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.41","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.18","@typescript-eslint/eslint-plugin":"^3.4.0","@typescript-eslint/parser":"^3.4.0","antd":"^4.3.5","clean-webpack-plugin":"^3.0.0","css-loader":"^3.6.0","eslint":"^7.3.1","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.1.0","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.9","sass-loader":"^8.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.1","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"8dc6d4abbbbb5c625d5d4bc4a42bce78eabe3470","_id":"@ancademy/bespoke-server@2.1.11","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-+WZuhz5NxJU0RCKOlSN5NKr2M5P8z01ABd2noLSfu6kw0ZbIxbIi+ELZP1iZ/tC7KThGm7Q/Z1ytuxEgK20GFA==","shasum":"eabde260a98ae10671c75c09d6ff1d9e6ec9d1a8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.11.tgz","fileCount":61,"unpackedSize":529461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe91O9CRA9TVsSAnZWagAAXjkQAKL3BMZW8ucrHsxkI53S\nIsR8unMYh9/+fjRCRXbbr2G8YzBBoEofN+O8flMpqFvNmDTRENQQzkhMXjb1\nKAie/pvMaCATGKVAQZuviYJvSJl1AQvVzvejey7oKWgyjpvVQZlESQldbtqU\n8scuCqTb2ppI8khJays4ChU/ukeA85Ri7NqAeCwMPWZ/lkKOKA/0DTd+mDLx\nFqUe2VaubuHtq4Yo2+PBWq9Jq3yT2kVKGhM1pTlaxS7Ho+Kt+SwNmxyFfDd6\neLfAvAC/aI2x6cXUNmIxe8yrz75kiOPL9iF2tIixP6tT2CfNjVb6cCnF/ecK\nCp17Nr3F2rEefbkoZLpXZd6UDX7lMyOdIXsWWysCgM/U9x8maAep58B2CpUC\nDv+Re1u6zruRTIVU/bcwU5byrNoeUrV3RtkvLB/Bup2RgavL2sNPLZqI3wVA\nIYQvrmKnqwTu9QgAE09IHP+q4BGfvHad08qnM6bgBuPkVTYg91IoAU3BW6P4\n6Nq2gsiumD0sVLinLB0A+fOcrBu87d3B8EcSldVluzpIEU14xBG2i5GpnGUW\nhhl3C4eMCOoZjoJ/WoqSdk9y2h3RHaZiS9zEqnCF7imUeTKMyU5uzHPRqye3\n8FvzWHf3RkBdeiT+Pj+BusHporOMmmhTLEgxW9XFHy9gwuoT1zQAu7HD1xAJ\ndoLr\r\n=NjaX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYwA8fBDsmG2bEN8XLFdCTJSjXsjCut3T8GK3XNtp/8AiEAkcTHXE+iuKnhHSK7f3kxPUgq/V1xv15xXmuh0jRKW8Y="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.11_1593267133507_0.8608425100618575"},"_hasShrinkwrap":false},"2.1.13":{"name":"@ancademy/bespoke-server","version":"2.1.13","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.13","@ancademy/bespoke-share":"^2.1.13","@ancademy/elf-component":"^2.1.13","@ancademy/elf-protocol":"^2.1.13","@ancademy/elf-setting":"^2.1.13","@ancademy/elf-util":"^2.1.11","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^4.0.4","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.15","lusca":"^1.6.1","mongoose":"^5.9.20","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.6","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.157","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.28","@types/node":"^14.0.14","@types/passport":"^1.0.3","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.41","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.8","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.18","@typescript-eslint/eslint-plugin":"^3.4.0","@typescript-eslint/parser":"^3.4.0","antd":"^4.3.5","clean-webpack-plugin":"^3.0.0","css-loader":"^3.6.0","eslint":"^7.3.1","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.1.0","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.9","sass-loader":"^8.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.1","ts-loader":"^7.0.5","ts-node":"^8.10.2","typescript":"^3.9.5","webpack":"^4.43.0","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"a23b552ec32013a7144fdeeecc162168b77d750c","_id":"@ancademy/bespoke-server@2.1.13","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-4Lu32ehsOf0a/xS2N5VCkna8o/YW0r68CS5byFu14ouezH64zI7VC8T1x4NI1PlLc49REw2cEys0sZ26IBPNHg==","shasum":"f5a0ea34fe83232404d30c72adc54e14af3f239c","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.13.tgz","fileCount":61,"unpackedSize":529461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/whQCRA9TVsSAnZWagAA9CEP+wVc9/eiqjJrtxIANT05\n8EYrpO57zk7SV6RWk6dPQaj12wC6EYSh926dYiu48gMKy8mS1VofNun95ahg\nhZ0Wn66vDs1GawRIkAji8whDf4bTtbgKsnNLQxE6JsImjFY1XsU7ARmjEi0i\nVN3GZd+a8QPyzeGK+Fu6dy018804AAI5ga7ahvGvMJUvcr3yLLtp2aK6HCcl\nRLNNtftpuC/2tf6s8tPP798AWVyJWpcJXIogKbwyUmncrxxKw9DTN9pFgG6V\nRggD46LcnG5ILeJjUtDeg2L2PmkSnpgbw1xa17yepwo52G8r2pABzJb8gSPO\n0bO/fRlXUOtqMIwg032BHE8YSu0g9amum9lkTfit9RKduKem3XOZ6tTa+AtI\nwnFyUPIAtvSsANLjk0tSxRG7la+GXu6+cY3DlIzPzkS75IjtW4QpXaAsBnjf\nbBSis0S4hj4mdOXM/UV7jaEBkRA3Yj2TbTKJwwVdb5zdaiKSciuQsLTF2rdZ\nn3Cp1Tf5amwH9QdYB9HwpuQsYNIJAlHJzS9jBBE6Sa5dEW5ft10nguBaDewD\nfULCL34bR+4d1KrgSdmd5CyDj5CGGT86nE/i/lJzvHoz5F+TtZFckyUKn0yV\n+1ONKGHYsj86H8F2/ZW5jwWdu2+Ua/x7xnhegLYl9G6ccKzVpr21WE1oC04k\n7rC1\r\n=a/mV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbarr80CPk7p4r2Gl3LeWHdqhDDYq8I9DZRiYa5zCNnAiBQK408Q/7KWE9CK103jayqtgHA+xXJY2m8tjR34is5aA=="}]},"maintainers":[{"name":"alesheng","email":"ale@anlint.com"},{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.13_1593772112130_0.049598535828133006"},"_hasShrinkwrap":false},"2.1.15":{"name":"@ancademy/bespoke-server","version":"2.1.15","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.15","@ancademy/bespoke-share":"^2.1.15","@ancademy/elf-component":"^2.1.15","@ancademy/elf-protocol":"^2.1.15","@ancademy/elf-util":"^2.1.15","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/mongoose":"^5.7.32","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"1d128bbec9a86d41ac7bc6b4dfc8e15b27b9cf6a","_id":"@ancademy/bespoke-server@2.1.15","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-HXjz8cN6lMPD/si0RmX17hrqqN3eAzq38/GRfAJsXUEMak+3dwCKqpSwp2pLMsHlgU3x5K/mlyIHOVkY2tEukw==","shasum":"79a537b536da2fb3810a269405353625c6bee020","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.15.tgz","fileCount":61,"unpackedSize":511415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI9TwCRA9TVsSAnZWagAAaZoP/ixfb7yk9uB5HlNWu0iX\nS8CsYjkiVLkx0C1tOCKvB8wt4E3pwUVO4TSkJkjhzmMGq8W0QFE2nt9gysIK\nIS6Gs6k8On5TJThcYBO/HyoiRbosMBJ06wLaytp6Q1vQskYBO/2QD9VtW0ia\nAN85bLunfmCK855sDh+fW2s4uZ/pk8xO2UrtBNojHNyrvNUhP1fyXViuoYIQ\n5Sqt0Nucg9IJRNjekzYZDsxaZCZegwjJeJM8r1O0AKZkAXSAbfdUuFXziLDt\nIUcreLPN7lIKkr4LU7CPVZetlIkQpit/Qmsd+QWdZFs69FKpPHaEXopVsztl\naaDDzZJPgJXKIPr4q4zGZxQN9A/l97xiJtAGz60FmwMY5Nf1hJw6W12JGGWW\nZEIi3m2l3fUY/mRlMk7Ckui1Xik3tLt5Eq2ieofyjYBrgDERzgF78VMxtBx9\nfboA0Lw/TpmUOHRzCwnWKl5wGs0s0kO6AHxtDaKrfk3IR14CS2dWFPecVyHi\n99jkBA4fTzIqV9MZSb+AjWj7JX3EsTLlgU3AlZrpTBjifjP8Vw1YT8jAOZoh\nea68Vx+KnsR0REI7VUKKmUyp2GbxTQmTuiUHWJtQQjCs2rDnkQxtWjOnBT7s\ngX0kDsJMLE/1MI3anmVX+bIrpJ3vqiE3Ss+NzKwQJJKgst1nvRDwMCvWgo7p\n2DX9\r\n=BadC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzc3aMcCRYxrnP25yI618mo8Nfds3wG/Kzv38/QyWCwAiEA4pI4eQxyRsDL3tjDkqLzYAKhVViPg9cz7RbYEWCGEvE="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.15_1596183792339_0.5680619475836091"},"_hasShrinkwrap":false},"2.1.16":{"name":"@ancademy/bespoke-server","version":"2.1.16","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.16","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.15","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"11db2f988bf1d0da9dfa14e9aa95c884c7784eb4","_id":"@ancademy/bespoke-server@2.1.16","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-4keoYRL5aLwe07g9xpZXZ5g25O5tsucF705v/ljWk9ZM1MnzFB26jdpKCvK4LTLaSF4v6KrqPr+QhLYo8vPnaw==","shasum":"d1766dd42f1701deea2643f1c1ef552ac947f3c5","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.16.tgz","fileCount":61,"unpackedSize":511472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRhptCRA9TVsSAnZWagAAS/wP/RO7VZRqf66XqOPD62Qj\nbm1ms8eKYE257pUHQX0wA4JHsC49sJH2kLrtC3indrpTqoG4tapIbZYudrF9\nucucPFn+Vrs6G/8MsEZlbZslgHrAUgJXfi8fgOKBaDD1BFjv/Md4az3zvbx9\n2BEnsHwFEkgvj9xIv3u9uSL/ZnbSjM1dF9pVDiukFZN8KYQx6cggQRGk0Ld4\n29AY2kvs+rp45DWy8wKhk/evao4prHrmIOgMISJFTBqvH3+2cLACWwIlHKYE\nZt2MG88RC1tLuvwXzA37j218LmRzZAXUI8/iRmYslXW/OTul7dLzVw/mCjLL\nkgFWCAmY9c2+wrxKtVQx04nsfrjuj5TJYt8ZE3sxCxk6XKO20xM7ODSQxP65\nEXbt0EF9Z0dCTPPKq3kimfam0PNzrojxi1w/p8Y1dOvUkmH4w3vXo8zTK5It\nLj5WMv19r+nywoX1l8dRjoq4WrQLmqt7oDMbP6aRavtO32+cYAncsCaktYuO\nygTtq1reeAiG5wnuV4xPgLQEX8wJjOZEg0RzzKkRbfrBOLjR6BbviQbByBHx\nm5hspWNQBlb7M5oltPfTC759mbALMi3oHj6kM2/PMLg+MBbxa5k1c397yF9z\n1Aum+GSz+XFQyJyDZKFgd8Iq+hv7bciNeqPP/pcjcjjmT8tS67qk+p3hFdPP\nnXKJ\r\n=Wdpf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfOn+HNg+qNtG6wVZuEP3bSVnDs0+Ri59N+donQ9RV9AiEAqipwCP5d+uK7cEGhHjqT6qTVdtPpwmcn296SL6KmP1o="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.16_1598429805077_0.4567177735557122"},"_hasShrinkwrap":false},"2.1.17":{"name":"@ancademy/bespoke-server","version":"2.1.17","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.17","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"03587f3beb433079a63b0a82da39710b36cc9fd7","_id":"@ancademy/bespoke-server@2.1.17","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-xX00zDZwOzEFhQeKMzTAzFrP2xR60cVUShNr5gKXjtoMmOfkj274y5gNS0CR+VLLqGC2HFEBW2ioN6Mr0fM1zg==","shasum":"94ff50955c1612fb5f93654c4a3cd52eaf19d1af","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.17.tgz","fileCount":61,"unpackedSize":511434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRiBiCRA9TVsSAnZWagAALngP/i/voWOXWywDxgIvKV9S\nazmLyQPFpOS+k0mgbYjbqkeKXYX93OX9wr1lNtCtLhPG9vMLIvnIanMBMVEi\n/CBqceXfjgYpgo1maKv0WjF8c/uvIiOO25n89dtb5ejpI0QFSOwzyeCttwU9\nZ+ZP5zorsLMaUbG8qDOwVyc+M+mPD0cKSaQ8wqWyT3J0Vf8fDIQ49bY6FK7e\nknDLN8wMyzuVHAIXR4yRIBSINlc1G3vrTNMHrnEO03MXmM2jUnSpQ0bmimWG\nt1I2YQ1MNNeruL394ex9SZ7COECdJCEzmnC7ZKHsBNxobeE4z5Puj/Pe82gg\nrv1VYstOigKAFJC6Zeu9AoZsBELDcQeIGNK0UObIJbfYBnYkk3YaxPs0Zud+\n/3k1sdo3dep0uL4DOqMgcqQNg0ro1YWAYFKLHyPKWPr3JgqPLSHHIFmEQKMM\n9aDarp6x6iowDdfzLIGShY5Oj0t8keSq7TnBY7HFXO5fgyDBpRF76kn+iaUi\nL8oPYqVN3lUNUSKOMmGQw+2abtBo3Bs8kVAdD5OSnNo3GxfdX3pscSpXAFkk\nb+o9pta8iz1jnNzUqmdioGB3wlJ0HBz/wKmkNsfUU0v/VSRK4zRI9KJd2hmf\nuR0RmAlYoeYaMWiQA0Jxo+TPIw+HSsMbV/NzNyzYD0tOdTBh/ViTGv6CN98y\ngi91\r\n=XcC3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf5bAbe7UbYiUGbtMZ3l58s6uYCCwUpg1f+6CgMU+eXQIgFGDZT7VOqRwRtq/IS0t/Kd1d529iVy9zIC2z/XaiHpo="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.17_1598431330501_0.4920405721466652"},"_hasShrinkwrap":false},"2.1.18":{"name":"@ancademy/bespoke-server","version":"2.1.18","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.18","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"c8cc6d92755ef9d9abea9a954b4ba4fcb874357d","_id":"@ancademy/bespoke-server@2.1.18","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-E8HmBd6B6r1EXkIOUyogjSN6xDtZsyaUwyWxv/s9XwPddDA1REcS9yDFNphBziYuLUM9DyPmOB60MEUnxOK4oA==","shasum":"dd7b6a8f1a1f212e1cf0e7422eb136422b7fd1c6","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.18.tgz","fileCount":61,"unpackedSize":511767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT1Z0CRA9TVsSAnZWagAAzP8P/imSFF4/ZmUOxOSri9F2\nj3YeGySRASpdX5ngRBBYQrmSfUlknPRN/TuFFKwZihaVsoN/Ishj+z6ScYvg\n52HJoQgyAVCFdZd0p7aF7+SvCvNn52sXy5CHPkvkfTZHjv7p5MK+4ATkYwLL\n0Qbar5jOdksKL2KdgpZACoIP6cxb7+/Ji4TPe/0Aim7vPU7+qc462qRtmbip\nmlOvVOxWMZxl7oZ6phKlkJv76ik3GMMKjWj178W/5Dm6wm6PO5Q16MwaJEmG\nESZrHhKEsYebg4gspm/1NSIomJ9ZQNx1+duGsDIAKwuCoDDyU05cYw5Ds8Sz\nV7AAIh1WTrR3s4uQn+Qbo6RHBsk5T2rEjhQt76NTmx2o8p4id22HrN7+P3cr\nrcAcMacUnSaLT198U3KiQ0Zpzuv9uo7DddtwtW7zELy2+/EcQcIIoRglYSkM\nMQLQYN9gIt1DQhkgMjtb8/D1vmiBOolwrcdc23YcenpzuxuQwFCT7HKBhejJ\nM8yGQGoZC6Oyk3QTyXxuNZ9UH30KmGzk19As57vrfTQnuzxsNnUAifU8r/+W\nKBI+EnkBneD1kTUG5Aqodi5P6Z9zsn2CA+z+5AU2xxxR/pjbg1qKBKDzWA+o\neFJqEYMlecJNNQOcTknBy9jcuZWCOPSKfNdKfi0tCXUb4lGx7ecvIH83X+Ss\nu4+O\r\n=SRLH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGG2KUHmE+E7xeFZ1pE6mFIbmafStAJlgbGXjwc0u+aYAiEAs393asHgPxZjXCAypyHYGeKMCYtk4aGH+nE/llzHyuY="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.18_1599034996222_0.9972927465426533"},"_hasShrinkwrap":false},"2.1.19-alpha.0":{"name":"@ancademy/bespoke-server","version":"2.1.19-alpha.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.19-alpha.0","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"29dbcc23a7b1a58ee45fe35e184da0d171b6b7b1","_id":"@ancademy/bespoke-server@2.1.19-alpha.0","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-8+gX3eVO9uEXG9GokzYnopV18w5kaTAXTShG5ExzHJiRpGPcAC0gFPvSVwptCm1VMK5k02XfMq+qH17dM3VNng==","shasum":"1dba2de332511a1b41b955c1861da2a3619d769e","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.19-alpha.0.tgz","fileCount":61,"unpackedSize":511799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT149CRA9TVsSAnZWagAAikoQAIM2u5dgHb8eMA8+nKRc\nnQYssiRDnK0ye5KwzWknhT/L3kkptZqJD0FCkZP7Jxar/K+r/hOcS1x8c9dB\nsNnIXcsKoYlf6GBiO7zS0gYE9/Pu5aOdlQrTS3t7jnUbFITb4uy2nS34uqcu\nQ4IbZk5meX+izUnPNcM2RB8hO0pMJRc/JJoQdb59MLHnNnKLU45r5mMta6nw\nJq/wLbl4qP66YFLQffKkJHJ4kFLn/+0axUIsHBymw/UFLuHUKTaOH+sykqFu\npO4/CtadM11p0RtdOSW698Q1BO9j6nGZjOEYjfXg8Wx7934n6pPRL7eDUiNx\nY4sFHkFLn56AY50YNvGhcHG1U9XMOpbD1AwSfgyaUosv35VsKbWeQy9t4lf7\n7XVcJ6UeNt0xP9n82l5I+/l5lyL1ebZ8hI6DSfFXUl5pr/6wWSCV4EQ1oo/R\nTr1Pst6zyQ95jbcc74NfdbUoDI45xBKjk/bmbD5kOUiyQDJ+kwJATqh+XzDX\nS4xjBMA+IKHTJDzPXVP9L2fmLHrrJjukQoBrNmxrXM5CHZxcJKqjvHZegzqw\nn6tEx1EafbrPumZ+FaAThumDLtxl3G9T/vYmR3n2lLugWn462qKz7mLta1cf\n5hwD9uGhhpWAokCU768SvlJxmnvz8sFPUXXs/EbzNBydzrOD7voCwES4LDxl\nh5HH\r\n=UpRG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAmmrse+B72PU5hfg7ZiExoRdDmNKvcjaRAarksMpvvVAiEA8tcnQ/2JuKl+yLlFNrEb0YHpDaHGe4u7sY9SVrHqPXw="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.19-alpha.0_1599036989378_0.7806923808379884"},"_hasShrinkwrap":false},"2.1.19":{"name":"@ancademy/bespoke-server","version":"2.1.19","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.19-alpha.0","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"76b75e840fe5c1a2070a81b93d3bd4ee083ae916","_id":"@ancademy/bespoke-server@2.1.19","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-ILM0avMGTvrgEtk6qXQhRKMHrGAy79IuXI9lSFumXQanMHuRwEgcB5oappF7v2pPPKmCxKAX3BBX+g9KQ2341w==","shasum":"5d8b398e0c78b9bd42977eb6bbcae88329133eb7","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.19.tgz","fileCount":61,"unpackedSize":512308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUh1wCRA9TVsSAnZWagAAoPkP/2+ogQmwv1SGHQ3oLiqt\nF1PlbhzPJl9asr09JsC70rr42wBqI4EIXXGz/XYyK/V81Q7VKzCm5houB3oP\nGPOlvu35taH5uMQ5ACJwstUhM0eVLbygSaFs56UqXC83T2l6Kqq3869W6/Rp\n5RJ1kHH8++wHWHCXo98+j0hyZTCFCROlz2ciPXZJSPZHVnNViaPBUWmxNddq\n/59+PvewXp4VylRVTHYx/buHaUzDb+BcK7MlTC9NlUyy6GJ1z4ZBccXopnSg\np9vFOnC/rxk83mL/txTJ73N+vWaUB64l1/EzfmLjOc25evKwk2LeJb/N2kvn\nAc6Ln2+XIfaDXwLXo/TL1A4msIKFZwHnXqoTXkTlDlIrVclqBKioqtqbeQS8\n3rziSt8V/5HEIjfE62uwdwjU2FHATukXgE7UtTHkq5SLxryzgpX052DxR+bv\nxIObIWmyUBCeB5Uh1y88h6l/XEmseRwHDhuFux2FJa6pWVns4g1lTXKSgKk3\n7WJX74axrH1Wz2PVGjiISVH2nYF+9z1C613zzzq4Z8SuJRJ8IePBhAl7aNDG\n/rvrPqykxu/9Zs4xE9mry8E3hjY4UjYHNkILpRtrjRjqXYJo6jndRVXENmy8\nlgi2OjB/Qd4oF79CLTf4YZdIcTKUx2HbA9GylVEHtqnjWmUe+d09AUXH1Coz\nw3z3\r\n=ynze\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4zDhCa6x9VkWYBjIA/jihrRbYA2B85rIb0U0uAi8wNAiEAhjPzEOHRebRmZOLzB6SgaplT/4RkxVey1kwUTy/6Loc="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.19_1599217007599_0.2023961094696316"},"_hasShrinkwrap":false},"2.1.20":{"name":"@ancademy/bespoke-server","version":"2.1.20","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.19-alpha.0","@ancademy/bespoke-share":"^2.1.16","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.16","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"54c6c79bee84f3aacc1cd9678803aa2f46027e56","_id":"@ancademy/bespoke-server@2.1.20","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-LfD0PRUd1TY7tTTKGQVbIocueCEpVYY1bb+t6AsItAIiAHv60EbnMUY1qsTrfWSh/8z0vkzxM2Bh4HvRl73RWA==","shasum":"4b1524b683893b07cde0867e39afac9ba4eaf945","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.20.tgz","fileCount":61,"unpackedSize":513123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU1sbCRA9TVsSAnZWagAAsK4P/2EcW9rjXjSwK091BomR\nL/xImFXzEN2c8mD0EpXKJDnIhAu5KaGEMBuq4QIz2zxsbRTXwE7DFjJLCJNo\nvHSS/R4idP7BeBL9ye28UdPHLvOUPZJq6ficDls//5S3aiwnDT+Urm6rGWB8\n1XvOVnoPUyDbSeOt5JLjX9QM4u7n/zgWBdgsOYIwT8SYhy9K+Da8Hvcwx72m\nUpGoFlnnQysC/yPRz5dcSzQCw1PWl0OCNs/XsI5lVc3wHsD+3qxX2FajfHVR\njUndS7nd6Fm2+hKZmnR4Y3XYv2xs2Z8VZws3t0qZFCnQT/tZTQ6mpvZVFc/R\nd/5A6rFjOCZxqs7k60joCMu8+hw+z6HwIqw5NixlQOQT3GCgiaQ0hP2KKnjg\n7CJEiFkCJvDHf+W42Cm1HYsRgiYr18B5iV5swXYYOutuyyuCv+74vR3W2U1P\nNq+GUcm+cY8zfhlX3OCLcM2IlOsEtkpBtHmIBu2FhfaU1Sn8rArw9X8MTM/l\n87PNhtTx48r2QvOaYA6SoXXB9/nKYA3UORHAp73KWqJsYn0rHwBQTlOZztbU\ncyuYHqIaD+b3TDI1HGLZ1qMwp5rH9XkWMLmJNDkqnzRyJGxOZmJUKTNKrpqW\nI/+wz8z2PB1v4QoRTrOXpv8AWnNZRrjPHGse1HHgxzp57bglnOh6Khmfm35F\nU+0l\r\n=oJ6M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxPZjKxUjTOY3HfWUQhiaHkXuxYyhfgv23Subr8aHCNAiAikNuD7zbN61vz3ppF1PAkoI3s0XjoT64LDvHs+VxYmg=="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.20_1599298331272_0.15637562822253948"},"_hasShrinkwrap":false},"2.1.21":{"name":"@ancademy/bespoke-server","version":"2.1.21","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.21","@ancademy/bespoke-share":"^2.1.21","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.21","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"d37860108417cf7feaccd82cb3d63a6e2feae232","_id":"@ancademy/bespoke-server@2.1.21","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-zmHkbvuBg/u698/zF5TiM0xW//rcBxWBsqIylgCLoai2p7UR2p8bqVFgFzVvoaCF/hTOaZIRYKqVL7fPAlbvvg==","shasum":"aed9b5c754322e3332ecc25ac87f4fab9f811002","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.21.tgz","fileCount":61,"unpackedSize":513178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU2u4CRA9TVsSAnZWagAAO7UP/ji2xLK9iK7xBhjMhbX2\ncA1V7TstzpyFrFrUpVWhbu60s7614Kcvm2D6N7qfW2Uv0oGAsLDZg0Yc/z6W\nn0kHUE+Vp6tk9T/+E3m0AoNHax69uZ8xjUvqotl1HH1WemB0ezBbqO0XOkYu\nZ7ggOnOEw71GYcZ72q53xOHb2j72Dsf4JPzFFqbRZn0xtlXlOd2BCNRNkIJa\nLMcAoBHU9n6wtFHk1xmKyOZnpFNX/YRM599W0MOEscbSF8c1vlFhcnUr07NK\nZ5/aNORC66zJ0L9PBc6vR8c9d5ePw3Ts0BCETZH/WPdJIPvwS8923kPc7DEm\nufQGSQMjKZxQPSoK03Q5c/gw+jgE5RHma8YC9X5Wc01LU4wbw8BPTBYThVlS\nKHpECYDphNnmwRybV2jJAd3ya+htXS+JcBlCdYFSFVSGa88JraVYELBJRC2b\n69n/EYaVle9wx6N1mRGgu7tzP5xvkrebzsPzt9+hx5MNVG4tga3iDJIJ6s75\nVEA3SnPLV3g75TtjyeKEn7UM1fXXfKem+SXVwS1bLlZO9ymrgQNT33cvfoVU\n3SG19h8BrkFIoNwxvz1UQ05qfs9Vdzrlx66eTimgNfBMHnbbio6fUJcpn/t3\nPAHNmxtOUY02lEvTmwkC+53e/BPhxMLbCNSD3HNPqn7szPa8vjUIWd8pIWhz\neMNa\r\n=JSrX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1yIFGRvV/CKXUnl2bZIPAofYPSmxAhp7E+7ay3Sg9DAiB9TCFYM1iy8fuIY0dws+T68rIVyc6/UuFmibcDHS57sQ=="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.21_1599302584493_0.9477629368821376"},"_hasShrinkwrap":false},"2.1.22":{"name":"@ancademy/bespoke-server","version":"2.1.22","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.21","@ancademy/bespoke-share":"^2.1.21","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.22","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"352c6ea9d9079a2acbdffa5c7cb99c39bc19d328","_id":"@ancademy/bespoke-server@2.1.22","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-fzhS8H7+pv6wQoUcByELrXq3f5nByvi+A3nlD/7hKAGMeNpIXaagRAWJIen/KYMayIaEllrd2imT6dLPIzo3Ag==","shasum":"6d6607ff0e671ece1d1946d7363f2d70edd0df36","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.22.tgz","fileCount":61,"unpackedSize":513454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU3G4CRA9TVsSAnZWagAAtUsP/3aqpGAHfUFTKVxvcI/n\n3Oh50yzgZOM6FUkKMmOVlU4A7dOFIYE55csi4E1B0sjA/InNsf7vvQFl4Fcr\nCFj2Pls1BorbFH9S8cTq9c9+SXFTGTe3AV2USX7CqXcGY7nsMYyqEaPIlQWm\n1Ogh4J1uqPkUj/Dj1dSd1eUfpYHiuamg4iM06yfzjnEKPAKlSxhja9fNuqiv\nFCLXVo72yUMKrmsi3CjuPfz56w25fHjsvd+6N3SQ5pt28cTH/tjV+Alg1T38\nyWwvsZChORhwWx3WrpptpWUwYn4LfH0jCWqjHj9FqON93y1Jp7gXCkZaMxu9\naCbsMpwpMjoG8KrEdX31U6nSCQRkbsN3qFT1TYoRCg/0ez4HGd9Cax+lhdyO\nOa+DQDOsb6lcVaufSzwoWtcKwhF9qjDmskPdamdTF67OD4whWNTZuum1fVOO\nNu+0R8rIidM8y/3+W1C7VTIgSVXXnbCS5JYLMnNq78o0CNptm953v9TYBjPJ\nmssNxy4yxFGwzpP3kJS2PDrIEzSQRsqIlo44mp6cb7QL6Asf5XdVgV1jgVdD\nz9mJA9eJK0r5VgjBWfawldhUE6JGYacfn7pxz8/Q75CR4cugE7UzmXyneghF\nUqpcv1KStqCfpU4LGH843n+vdnx7mwsNO4BH+PpsGC+w5nnIIN1+xFKUe2I8\nOmBl\r\n=vZx8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBFqiXADDCU+ehvF/s0wvJ6q1EosXDteZcgudfFzRmZQIhALP8cMb/SzLySdVwoVgAw8m6a34D3KlD+nsvrenIgmX+"}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.22_1599304120029_0.15392738624972102"},"_hasShrinkwrap":false},"2.1.23":{"name":"@ancademy/bespoke-server","version":"2.1.23","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.23","@ancademy/bespoke-share":"^2.1.23","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.22","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6f8be0d1ff75ec169f6ea14d137a36e407ffee6e","_id":"@ancademy/bespoke-server@2.1.23","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-PjUE2x4861onERtmStSrMAPJ7KMp65yb7901p4vu6JNyHWCC9FNBzCSpDol6B1IgUgWUoru5/AfbZFEnZ2niCQ==","shasum":"b0af3afe69e3d12d566e5e7b7d0a8237ded0a46a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.23.tgz","fileCount":61,"unpackedSize":513561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU3mwCRA9TVsSAnZWagAAOfIP/jg0gstYWNV5O8fAR+Q/\nERgtOUCzEbYqLdgynPyfcatn2BHDvuVDTY2qc42pkIRB4LflFmX7Fp7Wo/WW\nIKslscIyBzHNfG/5JmJWZQ4J2GJuYAAkqPfsRa1LrvjJwjHZufNTY+C+QNL5\nTyx9mAsmfmmxGFCcQ6xFcwvcb6Y4NOhCpGAPv4lNjdqXOwTRWDIzezCzaVW8\nJpXwfe5+aJdTrHH/nXCEZtFmMCVNoXive8Y20ifv3fLsAbReyu2xggkJORa1\nc2PpUNTJ7EwzKnoGQhH8geLtZ9Hnjv9fa4zNH5XVQz1x7p0M7+Zfne/oHhrs\n0A9IJfo38MHIFK60HzC3ynaTrTr3VCr1v9zPHeyRqHUu5Rr1rW6YctcDWd9N\nKFz1C94OgFycR8Y2OgJXX7kJOESPYYIDVv7kkU3dtTU33hgEcJ7zuvGTG4pu\n20Yq8oneulXVX1IyZ8UdayqgkEln3n43JPRqNmLGtCOULpd+zX2RtVtkdpWi\nWjzoGFI179gxSBLAV10PrXSUCx/+AjfGs2NzE6mRTChwZvValc3V+IMCftEV\n7706i0uVS/ZD58rIKAIFDJK89XjMcpIocvwRDiFmHzBiMjFw4TGgExV7Sip9\nbfF9d74NDVCvJ8mYQYGxqM1dxC5+nfZawtHd6nrszz24ZfzJfPbFyindgbNn\nAtrF\r\n=1OK1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFKiXPHldD+cGGh8gn9cbvgFwU45OUCUkNq/+bcdrW17AiAQH+2oygCp+5y2hxdVHEaPQTDG01e5kifeDdzVCMNvZw=="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.23_1599306160392_0.7699447960069083"},"_hasShrinkwrap":false},"2.1.25":{"name":"@ancademy/bespoke-server","version":"2.1.25","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.23","@ancademy/bespoke-share":"^2.1.23","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.22","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"983c337a3c9ab218ef249ac8c99dd98b1e223c35","_id":"@ancademy/bespoke-server@2.1.25","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-gz1DpB/oDJoq6dNCfOcIKQee9vnOktBf/aCHDG+xeadRZFmQDW5Ineca5Zf0/aOTL/fEZ6KoIexhQN69CK92Cw==","shasum":"2474c32d0208cab8688453b8d95c9719d8f15040","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.25.tgz","fileCount":89,"unpackedSize":567107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU4g5CRA9TVsSAnZWagAAh7gQAJCflr18fZAZ92o5PPX7\nFnHT1OzDGKnHkglSU1NNngAjPWr5qkec0d5gc9cH0YhNo8lFVmZ7WRDuOb31\njxecmKds8ikUL4e/dUWztyDzjoD+YDnmd67b78+KHZyy/fuxTp8lkOzhMAFi\n4qhlQXsKyYndeTyCTaIL7H/owyvPVps6b81neMbS1mgDzFqRi3BfkmWrTdIE\n6yY8PGWaKW87lg0zb1liyN7bFWkokYg6JvztkbKtyWlHlS4Eyco3yC9zcsUk\nYMJCO6tthLrBVbtdqLSYT/Ldgbnc3lYxLK/fY/pPL6j9D2wmop/oc9x6Kz2R\nb/8XY0Pr5BGzBckis/c3/zi1AkcBlxqdEL3J+BNxZsOMQppsyDXurF36xZ0U\nsj76UNY7o173YNAGBckPoCqgDdGBNbiQjqaej1MP59YR8KJBSpjxqXrtGR5X\n7U9o5oOErSSZ4xakIMM4d4W9PtNGLoWUA+62+itv24i1HXMDTXBibW7yW+Uu\nfk0s0/jf/hDpRYt25DSM6Q310d2INbQcinMq9DU6eVutL0TpbhJ7owdVg6Oh\nzKlk98l2yv26wutwJ/Ruky1xhM2CLg7BCQE3t50NmZk5wACpNmjWEzKZWD84\nN12dSjE5IO4BdgXUmekj8vc9SVq3eU5PQrErIZyuwov40/N9sQ04y1aspDSa\nKAUk\r\n=dq55\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwYmw34ud5nzDaiox//DNmY2lbbXTUXKHUdPO7a5qkFAIhAKd5lhJB5EVxCoXInYpmQms2vitmHicCSWF+uijvpV6P"}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.25_1599309881247_0.8677228021324579"},"_hasShrinkwrap":false},"2.1.26":{"name":"@ancademy/bespoke-server","version":"2.1.26","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.26","@ancademy/bespoke-share":"^2.1.26","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.22","@ancademy/elf-util":"^2.1.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"2bf92dd7913ffac461f57903d1cfc18aa538114f","_id":"@ancademy/bespoke-server@2.1.26","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-ErDv+IrhcgLQUN0UnCL0PTfcddsXKlUkIRErHa5NPYE9Qb6EHlZ/OXyjPWyPKjTiqnnJtin/yeF+XDo1MbFcag==","shasum":"312073d32120625f0023f0908cb7666e8cebbf1e","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.26.tgz","fileCount":89,"unpackedSize":567114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVGk+CRA9TVsSAnZWagAAxTsP/Rug3BUXMCCZ/vyGzL0o\n05Q5v428w69rzRL0rsVpt60U0UQEUCbAIkCensVGd1PSdEKnX58O+XIWqDhf\nv1TZhS4SLOZhS1lb9GYjN3ZVSab2nanJfa4b/NqoQfRCyNa2Do3HJ5t6kC5M\nfEmw0XLFFbZzV1nCpMX2iGcKL4tQ+OSjD6kp/hSvZwDewmN0/IFfihTfn21e\n+DLeiXMTm75bD94yNA58PLknUZF8ihgk4ZmfNUnCPEXf4mS5npM5/6iOGPhS\nbkZHQcKJeiIKLJ7oAb9bGbq55zu+19MrE6DeH4fRvkgaMLSAHXXe8OckEsXS\nrVF4Fmqel/FhHt6ojib62eI0ybWPZLaG8sXO2Sc6hjkxInAAW+lv7GROp4tM\nSjnmTUUZNpkQItU4hq15za/B9/7CHMlayZMFuVXUy4F1R2kJc/uSPa+5ZYF+\nqJmQoqeg2HoCAZ/V2oD6CH7XbON5OIrYvD7W1Mh1DE09PMHWjs6IO/p4alFa\nmEXj0Ec9HQbtHdgIMVKubHM+kmoNFflqD/fScpUNJCXe8JzWK1v24v6v0a8q\nRmIbI1xhu3v4I9qmtU5Y6oTJKT99hXhuuCpULKM4z0/InCU+toIHmvP4r6nc\nNBK9umkgWL/IpaYVRYAoF1EHUS4p8vAnfCH3hHYv1/dnt1ZfhruHKZ/KkpLz\nDOm1\r\n=vibM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhQWdxVF4nJcNQfagKcd7mjiFUq2Gsh0tz+O88MmbGGAiAj7hm/rFOcGSRzhZFQPm9rI6ASWMaGD6h/GiDdCNP4tg=="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.26_1599367486076_0.6717319293462127"},"_hasShrinkwrap":false},"2.1.31":{"name":"@ancademy/bespoke-server","version":"2.1.31","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.1.26","@ancademy/bespoke-share":"^2.1.26","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.31","@ancademy/elf-util":"^2.1.31","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"f5c6eccf9f4c6a4cbe248c380bde0e4c7dfd15ca","_id":"@ancademy/bespoke-server@2.1.31","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-P0fzb6m5btjRLlt82GbEqjLCcGFodv+9QFwkdSC5EksU1YmJ3Mervpdqlz6P+1IzAvroDNgSqiZsC0+RGMpWUQ==","shasum":"0d3e01f3262810b291786e74369482ce74e03f9a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.1.31.tgz","fileCount":89,"unpackedSize":567114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVPW1CRA9TVsSAnZWagAArigQAKARdn0olBB8Klv1nRJp\n155MW9vtGvMB0mkXMy6V/5W7AKl18OX7p/EbddvetkMRHxOHRPuPFCd8NRKo\nO68cI5vtIlxGozjQydmELYfXphjyFasMDAjJ67fuP0sdnE6aiI48jdRzE0X+\nYqD8BRExHq/xgo7UNJEWZ255wkcYsHN7Mrp+IMLEClZNCB0tMoJ7Fu6t9keF\nZgTpi/fTcS50qCDfHuTTV2fQ5vmkz+K6+D0kqBCw1qhY3tzrqxBg0N2DTt3F\nG5jYoIlKOfaPc2LdJULDX2oI2ST3j8gLLvAgqrxOQ5ftkw6VXfJ7O8ehcb05\nUa+SL8ho+x4mI2xjmYMrGZ9qE1xLxiFFqI8hh6H9Xx9pMONBIU4zUYi1YP9i\nC0XCXVXo7/AqnOsxNYbjOMeHQg/qVRvZkmz4fEITt0lOoIWyWnVNlMuMOD+D\npLv75zQsAaxXZbeHYnVebtc0XebNFq6/YqEghQmTC1dsqj68ykBadotPvJLk\nPivXgDoVzpf/ct9vTDVfgC8kD4oxig4fynh4NEdpmcR7w6vusB/vrbGH5IbL\n8/MKxtbOQ3B2HabUlh08Tkuymd24y3g+WBGyDXePmX2MWIJhuJSp9iFX0+0f\nBOa33TPQTBVncIejCeZv78vVN6vQLCp3OUP2wlNHb7ExRUonM+xYpW6010KR\n+Z2Y\r\n=3GUm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv+kk7M6LAJ4KM3V2QvwPtDPB+zKId7cUdELiYQrKRJAIgHriOgvsLW9spdUEnuUamACUvYTFNf4qVZHUY5h4+WG4="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.1.31_1599403444849_0.7565257365067997"},"_hasShrinkwrap":false},"2.2.0":{"name":"@ancademy/bespoke-server","version":"2.2.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.0","@ancademy/bespoke-share":"^2.2.0","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.1.31","@ancademy/elf-util":"^2.1.31","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"15c9e7e3eea1e9c6e1e7724908ffe5faeb0ab4eb","_id":"@ancademy/bespoke-server@2.2.0","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-SNkFpJQEGVMTX2dChWoTuM9k25yldsSzEtP7VNHaSibGJuivHmv6OsGQFG1mPlDZ1d4YearRjCiOk9V/fZx86A==","shasum":"b3cdf8068c3dbdd7f037581e193c79d386a820bf","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.0.tgz","fileCount":89,"unpackedSize":566759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVfgCCRA9TVsSAnZWagAA5fUP/iRuHEHM76c7GKGVTHYK\nvr6wZNvFOWiksmBkwkEf8kdb5As36Wi7iO2rGZz3tGNEccEMKNdlixgJHbd0\nfth8pE2cL0uMepmEtZjp+p74bW98hr+mW3uqJZRe93UVwmTtzdorniHqSRzs\neo7DGc/a9jjgyHUYJ/aGvbBgVhvMUIPfPZw7wnDnIw6jcF6+HHpJ7su113Jz\nI8ahsJY5EJzLltlTQCiBSbtd0cOgAqZHsTTINCOUy7n3YZsrEL2Uvc2d9uPS\nltFe6WwIYKZDG7tA5rn+I9VUt14SLT3ag8Xm2SPJdWC5OOeqfU9dxZAsD+Fk\nR8liO0XUrJ39uxiyLBj+Deg/SxikSrjFQWDNAsJ84KaTmjp1quoZ0HmsZEPU\nIa6qjON3x0l8dBIZuh4gfaQN4oR0yvm61E6bc7y001Wca9xgugf2S7geKqH4\nZ1mdHEdNFkVgVHvWjuqMuPocuR31xOFdzU75ez+wrTQ/YRXRPlfjYXAwxGUt\nKrvLCmuRd+pzVwr1n4NRv2Kzu6a6YkbDjNDa7i3obPgjvcSegLu4oaLvle8r\nUUHB1ev011owNQlFGb01SZCSoXGohOhJ9hYeJs309v5u06jQdHj2o6fatcZp\n05lF0IHSh+HRDz/KQR/Oy9IoZ/R/FuYKfKHn3IUsmTmG06WOarLupsR9WHcB\nUfQh\r\n=ToK7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5iCjT34zGKsVGmcamE9nmezs38of/hgyGnhdOS9Q/xwIgBtVqjZygw3rSQKx21hAix6pwQx4LISKbQW96spK0u4I="}]},"maintainers":[{"email":"pyromaniaxiii@gmail.com","name":"guokan"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.0_1599469570152_0.3473636834168037"},"_hasShrinkwrap":false},"2.2.3":{"name":"@ancademy/bespoke-server","version":"2.2.3","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.0","@ancademy/bespoke-share":"^2.2.0","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.2.3","@ancademy/elf-util":"^2.2.3","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"8eec610debb6a7b8ad87628c12882e29c9d4dab1","_id":"@ancademy/bespoke-server@2.2.3","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-aTihCBJtev3cg2Vx09OlIL/oWStyu/Cs/IVAGgSCr35RY31S/94KxYg8i+g2hxxf+hO+0ECCpArk/YMtRfUiHg==","shasum":"1161845ed0487a421e38c9d49e9fd4f3411d6590","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.3.tgz","fileCount":89,"unpackedSize":566896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVioPCRA9TVsSAnZWagAA61QP/jZ/D0AfNLbfUJ2ptS/3\nf08bUM2nL2XvZvT6bxtfI82hW0o98jWi5xjRPkqi077WumuqOtwP+kDrout1\n6oQOYx5NiehEHTYM0ynjDsEP+muZN6iNQbQq2Il/UGYEM7c3LFwh9g3KnJ5z\nc9RqV/nX5j99D5W7u/MNSsFr/EDa7Q5SdYqrSCUbSMv/gJ86gS66ghmuILFl\n01F3O2cEOaNKG+3ZaqpNcWiKQcQc2NGn8XawwkZ6fRK02BH4zGeV/NEJ1osn\nAanrH+voVslodojB3wltN82kfSlLmSDxsjVv9nwyjjkXrRxlqdwGdkzAqe+n\nYJd5kZ2HeUR4/h1Oo0C5zI8cMNzNx7vWY8DLi6861glLvLLYNOXYpfB1P0Gw\ncyvePoeHm/FYODpXT7NZNpof4Y0K3KdFCpa/V+c9yk8TgPhT1Ep178Gzm2go\nUvMBA3vghLsGk+rglmXMTas5yZESiJTgY4NQDIH6nEdB+SPZYEEZtqpx0RrR\njQAvdH+FocE5Tt1BtG+eXMLinfI8NlJtZHUPrLg2a8LF32+y2vkgAMR0yFvR\nWOmCtjFnYuMsQ054DnTCRGr97mEcqRmEdDSgwL9ViS7lPfc/Sdclz7Vas6Nz\nCDeOeR2LKYcfontnM5FpDOo3r1CxuguezgrPvmRWbaWZk9ewW1RbVyCB/8Jd\nqWM3\r\n=wP2H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB8vnUgTie0LFweVhBvK9dG7S5/mslmClj+bWLZTt7lbAiEA+6j4fAudo8+7wUKC08PXt3/pJEtwYsOXnvH2W+Yp5qw="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.3_1599482382936_0.616651361657313"},"_hasShrinkwrap":false},"2.2.4":{"name":"@ancademy/bespoke-server","version":"2.2.4","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.0","@ancademy/bespoke-share":"^2.2.0","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.2.4","@ancademy/elf-util":"^2.2.4","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"902e4a277ac1c229e5c626874eca23046e4ba523","_id":"@ancademy/bespoke-server@2.2.4","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-Am7tqlUEf24rHH26u87MYt/lAID8G3WDbtavO5ek5Ul1FdLRtEB1eek+Lfn5I8PWCznmaTOzLHRFRulmcyVMeA==","shasum":"490a8fa728a421fdd71c50235ae9c76c969c2772","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.4.tgz","fileCount":89,"unpackedSize":566921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVj69CRA9TVsSAnZWagAAWskQAIGVjFsQTPR9ZTEDwMJ2\nG+xalkeuW4nltgom7Yke32apyVYOEJJeWN+ycmKTUQnEONBxGe1f/mMThWaH\nUnr6BSRwhxLa7+wK9iC4BjAfvwoPfA/Fie3U53mV4hKaiApAIpfPtBnMSJqb\n+0KRM9MFRby+Ru0RtFOq6FCx7pokfVuhEMI6DHhB51WNq2yVwd4Wz7kQWSUp\nRwYGJ3GsqBO3cfttp4HCdwm/lUhNfC1+RgXHOzOpYn1UqervCUgs6u1Hp5Fw\nEKk9DJW58O9E8O2rOaqIyCwtEEAXwHQB7v0MmABzitydkDTmJMwgbTZuKkJj\nYwRjAFlgu3iG7SIgHghs2HZhZBPOoBfdXXX9hnrJ+g9jTb/mc7pdrBScrO9w\n0pavZlTbRKaB8l/JaTh2e630v9u8Q2uBDKBzYz+BGNNIFUnXDn10rBhHQ/Ki\n2KE/vkB/6lwIBpmt+AwMVHEC7bFvrnR9/LakHPiaw31LbGRj6NRbmndfttK+\na1S8fRdprTiF8ii10xb0h+nCPfBBsA7hQQZvEd6yf/PpTF3ITm3vbDGwvqwW\nuYtDdoCK2VnhhnPpCnWpK+uasvdy3aU284fvzqFCyvkBEfvnmSgg+5sjw+LZ\nsaQ10vksJrt/gg64eD1ygHGUQ0GOKmLlfEGwVkRlQlkIn+0vXmTdqdrJaap2\n55Am\r\n=J5St\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGgRWT9CmvClngLhxXo3ypN4Fbb6KK12KJYOvmzsycvYAiA2i0wnlNl6OulW72uYC4zWLQcT66Bxht0+qjqphHYApQ=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.4_1599487677283_0.46705694406709"},"_hasShrinkwrap":false},"2.2.5":{"name":"@ancademy/bespoke-server","version":"2.2.5","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.0","@ancademy/bespoke-share":"^2.2.0","@ancademy/elf-component":"^2.1.17","@ancademy/elf-protocol":"^2.2.5","@ancademy/elf-util":"^2.2.4","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"fdf7c59ba0be3aa631cb6c09115a9b1ee354e279","_id":"@ancademy/bespoke-server@2.2.5","_nodeVersion":"12.13.1","_npmVersion":"lerna/3.22.1/node@v12.13.1+x64 (win32)","dist":{"integrity":"sha512-2f0juyv4+rsl82eCBGZ98o1mRlxrOZmFjnO1fqaL4GT6oxnM3BbftpKIFnUf2OV9RC4pYEpJ+LEMVqgIpSj9pQ==","shasum":"f61390b7579ceabf5515019dafb4785dc29a2976","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.5.tgz","fileCount":89,"unpackedSize":567095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVkI5CRA9TVsSAnZWagAAzd8P/0OAL+qgk8AHBMlOmfTu\nH/CDP1Xssedgu6FbiOr7V7FSZ2XGsVGWhWih1DJPccHcAytPQzlBQeur0PrP\n5nYd4GKE5hM2yK9NW+evPfjdpv1/l7TM3kNByxIL83n0fkoqdOOJP/e9HYoH\n7Npj35F2nmaTOubv5krPZgc++wcFXlJ7Rrj3qp3BoQhP+Fd4hWbKU6hdB9mp\nyfj1E5NTjmaHHlgxbEDi2Q1r4aNs/SuP7Ml6qirohT2rELINPZ8yK4yIxlYv\nV1rAiJRgrdvTD7AM5rpEnca60JgIwFCKsku0iKcCEC2n9U/ILvwRdc56Y75Q\n/y4BrgX88rBGBWBfrJP5Eous1L4XlsBwyMC5VNUfomwALn5HfhhURRbxOGsg\nKaDDwXoo7GRQFLVE9wv2/LUHQDFL3ZWnnmMBKiMEpmaZr3Xdxk0p4NCH+UFf\n3qtFuSbNusceZ3wiytkrLTBMcxQsIWWSSg9Eg1hR7XOwu/dJYyDGdO1+AfxP\nyVN1iLqCFV16NNb5LdgxkVVBTCFzmeP1WtFE7Day3OBD20F+3NADmANzx335\nWVWEcUsVW+kJ7nICVegliS6rt/M+WQa+Xz/CKUSmJoDwrH+W61DTbjDG36tE\n3qWD0y5KmIcsy72v9j9Qd9XCTFJh/K07x8H1peqDeDKbyPuMTXr00XrXcOWQ\njyFS\r\n=l3bF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAicDY3yOj8JJL8SFKk/rQQ/UkEDvv2DDPII0TeFlK4KAiAVv2aQ1uwpy+ldbXr08GtiVqidwWU8XibcH79ClxRpMg=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.5_1599488568743_0.6391273322432172"},"_hasShrinkwrap":false},"2.2.6":{"name":"@ancademy/bespoke-server","version":"2.2.6","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.6","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.6","@ancademy/elf-util":"^2.2.6","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"09e48eaa663c21af83a720266774934a7d6d5a6a","_id":"@ancademy/bespoke-server@2.2.6","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-CyM22gK3ePbDIUoa/Y6FyRndEJD9an/5S9lrUgiDVE3fjeYwR+sfhL6GbR48QdIUq0piSsV4rrCgV0JDAkSRlQ==","shasum":"8f908cb6f3009e2268eff8820ffa5c7e60d3755b","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.6.tgz","fileCount":89,"unpackedSize":567094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWbvBCRA9TVsSAnZWagAAxLcP/3cJMZWwBxpr5N7bMYJz\nYfUePZQsrekpyvOOmOfeJMpGIL+USMwcYBPR05cQNwMHQSCI5iC7U4IfqTgk\nlxfLcph6s+5IGS3IGzjLF9lCsz79PoMfGQ0ra57xGubu4eh0m7bRifJJwfK+\nbW080mZBe2PgKIocCV5OPi0+sz2N2htWiJjPrRff/21m7rU3AUC+uiNYLbRa\n8yHqq6+jIgv1ONKgWAW/T3PJSReAdcaz1Hp2BN7kBtG8HeUVRTR2fDbpbEts\n53+TRkIOL6wij7wZpX48Rt1YYN/CUcCEUh2mAgrmtjaAsSldU6uqLZPcoVoh\nzrHTJF9GGQqOiLnZIyK4b1J/UVghgl0Ga/zB3SOA4WpXtZuXFuHr3d6nVtBc\n4tYb3Tj2pAfCMR1YyrWI0UW7uprrHkhOffq7/0pD/p3M6VNb6yGRaQEjyD99\nbP50n3c5MDclrtfP87nHHbmEsihGqmLfTMo7ibG+QjdH44mxMGuwpKaUvfeu\nW+ObdWjZKT+UwTWS4HPiZSWAnpq/3tj5AGYS04aPriNCYZpm/nUkL0fiOlWt\n/nHV87mg0/7+8rqpm7ePqnO1LW1obwx+Axd1zZVgntzsumb6wjrVJYbS5isw\nipTsboGytklobuQaXcd6NtzuRRxFbd7BSXZFZBsor+aFn5lo6y3pXVdKZKk7\n07po\r\n=dre3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPemrhgQHMc6cy1HHSrtMNCVCR50lcKGS21eVUt/tafQIgVMZFp/Y0tzlKsqqscPnqfcyikCy4uo4H2dyY2qfeP38="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.6_1599716289535_0.6495571397291171"},"_hasShrinkwrap":false},"2.2.7":{"name":"@ancademy/bespoke-server","version":"2.2.7","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.6","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.6","@ancademy/elf-util":"^2.2.6","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"e4c82cca3c2745248adc046a4adfa32eb6988f0d","_id":"@ancademy/bespoke-server@2.2.7","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-s2UnOtIEgCff3K2SFDKXj1PuTlzJsS9X+MzGc2iHmQRTCrcQTkA+pT6VDzF68ebFZn4kMulCnGjChSAnVSs9QA==","shasum":"97b3ef2a71a6862232880228beb52fd2b8c4d018","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.7.tgz","fileCount":89,"unpackedSize":567221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYyFaCRA9TVsSAnZWagAAH84P/jlWIhwx1EGd9uGzIr5u\nQv7Rq4ZFOCpnmuoUnEyUJER7cjQilgzvuvhHw+tlsGtfOuYQAxy7FqxGZ9P0\npNI8IBl/frrnm9ggK7cfz5nowgyoMIA1N7uJgmLjnp39Wjw4FupJ02wqM1DE\n97iekUT/toJ3HRNHLwfJ42K0LnuNwd1PvTUiiAgXTtRqPXRacO10PFVnnA/a\nM5sJVRkePZPpkRwoL+fBS7n2nx8lVBg9Wfjwpb4N26lpcx8uqTjs+an1Vcgo\nupYRpJqH51W+9mjOpHIo1gzSApb1JBZ6UisjdrzUi2yvsNnHggZVuw+V5Q9M\nOHr8H+kdCumiCPr6G+FN/F//si+lE0yLg3YcMSpO3uYhKbn01Y3H2bzASGCW\nZpyfRYtIbP1gYWvOTCOjTgeyaoLRC+KvDGwcikWyEpd6eEdgzLBFddn2Zv1k\nFfjyTXGFIUgKB9VYDgduNtcfDsL5Ou1REqQCHUzKjPD3cUS5wVzsk+GtB7H3\nyWhGLc/EbhHV15jdWhZ2vBUQHgVKc5VYDpOMEa8UeAIDYccX+LRsPt4RxPjw\nIleNd/AXlsR69uefh3RHMEKPcK0j0eCq+RG8QO+7p8+9PumqjzIHGW9WUkFY\nUGiaZiE5Hw9lTBNGcuep0FDPdrZBZirvrfSbh5NA8neRffiGG5QDDLV5htv6\ndfG4\r\n=TLbT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9CLpRbHz77JjlBChRQLTiYiWzf4kgaWxj2+EqfA7GAgIgAP3Drc0g3K9QarpCskzsPahszY4p/FeArqVMqS0MAZQ="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.7_1600332122218_0.23128216854956118"},"_hasShrinkwrap":false},"2.2.11":{"name":"@ancademy/bespoke-server","version":"2.2.11","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.11","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.11","@ancademy/elf-util":"^2.2.11","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"8ab6836188b6c68e677c96ce273d80b87395c9c2","_id":"@ancademy/bespoke-server@2.2.11","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-PNiyi509YT2vFiIprkycaMVlAWjjpC+JsdXzcOWBN8ng49qmiUQf1w3FR4AD8M8DplLuj8hDY4vfDtbnBnM45g==","shasum":"8bd187451f3382ab077c2de77ee1b617ab6ffa1d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.11.tgz","fileCount":89,"unpackedSize":866220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZc00CRA9TVsSAnZWagAA15kP+QAZdQpzt4BW52HhEF9P\nY3YWNbC1PYLf4z8Akxh2lcV4eN2aQbaJjCGR3VSKPe/zpajJ/kIVKftJmKBz\nuYsQnQ7iRkf5I+gCD+YanmZbgauTWVhfL6Yy1ldP4Wy9YMVbpLjxkihn3Hjh\nNGsEp0HjMfCWhrEwzRkAWSPwAkpISbT8wyXgtSjUUonfnp6+NR6BaFSuy+qQ\npXkilq6n4IlRu5KSLkzYhSsmtzu5KKLY8rlG8jRnbJlAAWM6PLpUEzAlenAM\nW755jjTk81hD/ZI4+4W41RGPQZkXVy8YH/0lmBrl5WyTlp3guxuuGhlv208y\n2craBbWDCSZnb8se1hKRwx4oyrNEhEQjpRwvvXDBAWwiE0mwHjfVrmAU2kAf\nUXrRTtUvbej7uU2yOjZfx5iNrclU/yC1d0GjHIOm7gsNqojUkXE0skNDyld0\nwMLMF16YPwmh/ev+SoLpvrvpFQNzslzhqMC2t4XzFcyHdtnugJuVof9bId2A\nsuGaJSlZwq9FZ+OupP08sTZE8+bVWHujJGfVnd2vh7yY6MLP8pGSaApQr6zc\nTkxixXKhZRBKrNTcCwqASluozsDLtC+vhPsYkKTSXcxxE771bULC5WIwNOIO\ncBO2NXAzPK/jY/H++aiQFeK++qunQ61kqVDJnz/7y/3s8I6h4uy+nvpk28qm\nRvQR\r\n=EVnK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvbK6azM0FIY7owiijMmt+ysusaC+8FzQMNSgSZBuEwQIhAKc9AlBNLmQxxNamqKuNzL6oUdt+P9Gx8x63E3vsg/Cx"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.11_1600507188204_0.3272449040765082"},"_hasShrinkwrap":false},"2.2.12":{"name":"@ancademy/bespoke-server","version":"2.2.12","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.12","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.11","@ancademy/elf-util":"^2.2.11","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"8f5565535eddf4377e7d9f32b7a03333129fe87a","_id":"@ancademy/bespoke-server@2.2.12","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-nW8wKasP6KmdYwBKnG94Rd7oKky/EzaNFETpKp+nCFiACkLZsWJgvW9uxIr5RdqedBP+SQYqHFnu0UxDwJYz4A==","shasum":"9e40cced99af7ebf537b2d5b692ec1cfd957dd2d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.12.tgz","fileCount":89,"unpackedSize":866220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZdqqCRA9TVsSAnZWagAAXg4P/RmEiy+ZPFve3DaACxFY\nV5PAcsoOLh1r3f6cmjXBGDZ6cI6AELiHi3b+U1RNiFeORSRcECc97ZehHPpD\n5V2cWx9QfsnY3sFGeeGUBxvbgNwryPlPsmPJ73yRH8Sd0fTu1mBn5mqvFV7n\n3HrMLddJHNOoPo8B8gBciI0NNS+gDvNzSh/5teJwxvy+mbvhfblF0Rm0FsLO\nwLJfMCFa5XaXPc80DY10nVkzzSktZCMLW+jsF1QNozzVbsAVTs3+XYIU3Nyc\n6s9mPTgA9Ig993sU+DZOX/MxbBtgGxuOuIrX86I39/ikZQv+8CTw9eaLHWRb\nqUUqq4x9IEuoo2BFUMygiiAgaEu5ERHq5fDuf0th5Q7+ZOEqE9IkMNpeU2BK\nq0rsbmrlMjP9LpE+i08CBSIv2sCYw2BIVnNo/mi7RCFMWlqxLaT36A3MnY68\noBoeEEtBYkn96Y60d6XKOtcgt7Wm/GEiLzGkAG4eAm0ePuv97DZhrTcfpw7O\nXxjjmVkZv3Njh3+OsnK6PdF4w1P5+XmG33o0V7gpqc1h8uv1ScZ6pDR5dHG9\nHdkGqmBcj/iDWuyWD0T2kCZnWnOIiLPAcYY84b+dDzLGFIV0wrI455a1waGb\nWG9iBl8SrJjbTLsTKmH+6kfJ82+CKC04SS9EgONPpcEL8vRrmjG35ok7M0ow\nhzt2\r\n=5/lX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbjhnCtW/3TCK43TePnJhZqWKc7E2gNcq04OM591QWXAiEA9Dv+/2lIoO351a1JkqX0UvhFgV9Sa9PTl7bKqWlE5Hc="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.12_1600510634468_0.28751712131175067"},"_hasShrinkwrap":false},"2.2.13":{"name":"@ancademy/bespoke-server","version":"2.2.13","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.13","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.13","@ancademy/elf-util":"^2.2.13","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"4ea190b8710c5022caf74015067eb83ac858c0ec","_id":"@ancademy/bespoke-server@2.2.13","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-3pVM5BQFXyBouszoGi8lHRwEYMkZu/+n/cs7a3m6qmIFj12Idtr6QPtJqN5KvdWoCHFFQa2TWC5WbL3PU7ujvw==","shasum":"ba296568f417895ebb36ed125007fe3d66f8ad13","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.13.tgz","fileCount":89,"unpackedSize":866220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZeVuCRA9TVsSAnZWagAAKFQP/2PaXXMthUP6qXQpQCGs\nf4QfEiKKB7tIGEiaFAka9DVJieS9FLpGovcDBJofn2F7Q0mrnjsVRgEvKD4i\nyEdqa97EAVkEkaeKhURCL2qLkctyMUOLT27XSCJWZWRKwXmKQxw3jtbl1FUY\nEcLFiKpG0lZ2Ohm2Qn7FnbR/GMBIMYimxL4ERFYwgcITci1CJJTpSpp45xot\nWlpgdtNT8JMlYv9X6lMvzA9iGaionvYlsyY3GOjBb4mZZU/05TuvfTLVug5k\nhd3rKo6tLqV7DQgH0jTCXJqM6dyzVJGA7tKw1t1BusPBUdmWbB+0+w9yFnyX\nkLRKif8ZSGO7ZhxMqq/jQeBGOv8SGcYQsBKIf41VRihHZ1ESdVjXIwgPJKw2\ngSi/3nm76nAr1NexN3ppRsYqhm6laVmpYOEyJ8BCF74Sd7oxBkj3us+nd7y6\nmbZyHogh3XTsIlgsvcIcbZp0drFcevr+WFokgucckZcTFTRi27FIXuVIvyiq\nulennWcgCyQzdfuaCXPU9pkko29wz+8Uexw3ULVdCeSX/YhAxm8TuuPI30bx\nOnGoIMZE4axtkVG6j/11juzXEu1Dsm89aAM9nxBChHnsdrwZBKTwWBnD1KUD\n9DnLdhmVjSYJWDCq/PDvqcOlrTXImVEsTHKK9Wo6Z7tTpvUq/xw0yuoXAnIq\n9oCw\r\n=KJvJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1UYtdy+1zcOf+uFShha2HFsYDcdyBy6oZ0rHboporhAiEAikCnp/AHzKunPZ9fud2DRgyRrvbp7H835bV7q7KcNhw="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.13_1600513389754_0.7659573575025387"},"_hasShrinkwrap":false},"2.2.14":{"name":"@ancademy/bespoke-server","version":"2.2.14","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.14","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.13","@ancademy/elf-util":"^2.2.13","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b98048ead510de78afdef599a0dd86e643bf34f7","_id":"@ancademy/bespoke-server@2.2.14","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-BwRYAmEi8VVWUVSMNVv+Ij3xdLg9RZTCiao7S14EhGvvFfwekcNkv8DYXlkeJyBJ8M77cLXdvlahETpOpk1i8A==","shasum":"6e90572c9be5c91fd6b9d7a40fa49ff4296c2120","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.14.tgz","fileCount":89,"unpackedSize":866220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZed8CRA9TVsSAnZWagAApAcP/2OP9qBkZdJMWp2slakh\nLGIcxw9pTN42S3b5XymqYKoI7H2GW06as/vXAbrqGtFWT1nZ+nrPm2wNO5t2\nC7htVKg2P5uGstIZWtb9ZeYyDdYmFRI2UeFHHQTjcWPP0LOjD2hZral068Kk\nukntU97K3bXm3mfTA3ISiU+3YVQne8TXG2AxU+CV/ABMUaZBpbNjlSY1oFdl\nC29CweIyb0XsViTuKxdIuZ4AtuVpU0Yj8FKyTrsYKRCn3lqfxy1qd5vZmouK\nmkqHeEGd4+ySdZiFpWgFFQuWfRkeRMn2S4JsMDzxm63j0mBhHpAFJuRzjED8\nzleJLFr4L+RdlHY0OS7CTIYQXqQ16TJxAYmW+KOUIarjjo1tHHFF/DnOB0sE\nJ3FohQjqZ1fEkUZfJ+6tc5ZfSH+F0nRU/euoUgh/tKfIY1V7K/sT4WDzc7iT\nnp50UPsAupk078OMRPjTKrScmT9hSXvos9wFkQ2U8EG43hLfk0smYPE6yXjS\n8yCI6Zq5Y8pSuVTvU2rHOCGT4yDL0CkxNhzgA8Q5/E6Bzcqz8Czb5Ltj+0+i\n6OD2MBmJhKoynaCia7K8tnr1mnK1dpEwWDYTpc9p3HvLCHDAc9zdvF2tc3NB\naPuJKkxaV6nNEV/Ah6lZG+ww5BugizdXUkferofjwjcYkRL8/CtWvmkKTmQ3\nriki\r\n=4d9e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCktE8rvkoH1oHhMo4cu6LNY8xSRF1exAR+xtqxvHD9wQIgUGH8A5/PMdKp/10bkDuaYgrPOPFp9ojSvfxdQiaYpZk="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.14_1600513915870_0.3214049721495271"},"_hasShrinkwrap":false},"2.2.15":{"name":"@ancademy/bespoke-server","version":"2.2.15","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.14","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.13","@ancademy/elf-util":"^2.2.13","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"2e123cc8dceea636fe75dfacb8cf8cfa554038a4","_id":"@ancademy/bespoke-server@2.2.15","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-ucdkpYYcQqk5Jfg6/GB7fOCmG7otaPZIIDxJnJMOfuCWcGl384B0h6hkcuBcJasWi1zvI37rvYakh1ehl2/m6w==","shasum":"ec0b6737c4863badf2bbef69408582688c309a7b","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.15.tgz","fileCount":89,"unpackedSize":866341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaF9dCRA9TVsSAnZWagAADqUP/i45dhp4r/XD1VJK3lS6\nsyHQYxci6mBeAQNWE9x24MZzffnJKeNjTEKtt6oQwQywVwLMSd6lYFPCVmG7\nmYSVFA+EuaTu4hLIToXE4K/QjLBP6d7VdDeIuub+YbRgC59NsQjnhRoPbsbT\no5+yNja4NMOy+cEmKSxuu4eeZv7g0BCjzKNz+ysl92EWlsy4fUj+y6a2vdPL\nyBcqu2VssftAruSda1wViN1w+Xk8PAXtiMuEt9Jus9kor2VvWGsZivcdZwO4\nDa3LnTXsA97lO08vATunrCecFK9jCcDVsziMC7ZV8iFDLYnm+wYdBq2HEC72\nMjjDOR4B0MUwKLSkrJsfJthKiO0IWL+xSZ4H1hk7p8Y4BLEZENnXKg2mX1cn\nRS3MXoBH25TlZb23HtG7nwv09RxXYEw4zMZQfmc8bjEQbCq9K6yzrUzQVe7Y\nWRzH+zcMDmxK7AG31UCDnNCAHcvlpKW3oI63yG3zXLRLRldRViH7UmccAhW5\n848hkXv0d5qXb2XgdY3ZkMqrjDhRrR6Yruf4lukZbLkiOJj88WFXF929n3im\niGA7xmfmJL0OJwFIsVPOulQo/iXYBcrSnReds0YS6xcmsdGqJMrKXE7+K2dK\ngnjsdgQhiajNUMxvh/fVZBqFS1TUFJfjxu7eJljHao/P7WVkrmyUGc4mibOI\nPahm\r\n=9Qym\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSj5A/mAmaFMRAOCBveWHKKozw6eZtsJEeunFGYTGLiQIgD2st1o/L540YGVL1+KnB1d840cDK9WUoZeIvDDN47so="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.15_1600675676680_0.40694516950573334"},"_hasShrinkwrap":false},"2.2.16":{"name":"@ancademy/bespoke-server","version":"2.2.16","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.14","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.32","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.19","lusca":"^1.6.1","mongoose":"^5.9.25","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.1","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.7","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.158","@types/lusca":"^1.6.2","@types/node":"^14.0.27","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.43","@types/react-dom":"^16.9.8","@types/react-router-dom":"^5.1.5","@types/socket.io":"^2.1.10","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.21","@typescript-eslint/eslint-plugin":"^3.7.1","@typescript-eslint/parser":"^3.7.1","antd":"^4.5.1","clean-webpack-plugin":"^3.0.0","css-loader":"^4.1.1","eslint":"^7.5.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.3.0","jest":"^26.2.1","prettier":"^2.0.5","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.10","sass-loader":"^9.0.2","style-loader":"^1.2.1","ts-jest":"^26.1.4","ts-loader":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.7","webpack":"^4.44.1","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"bc554a3d3aa870395a7a527f39d2e550daf3e6d8","_id":"@ancademy/bespoke-server@2.2.16","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-8q3JxGpRzdpfazVENE2APrWz2kLTyNv/R70DLru2TfC9yGDAJ9uD4TLDyImDI3yXaeTjkAyiFUvnJq310Df51w==","shasum":"3114e506861a93b43a6232a18729e656404338a8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.16.tgz","fileCount":89,"unpackedSize":866342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaausCRA9TVsSAnZWagAAu6gP/2dui7ugJKrXmYp+Cl8y\nGY80HNPWkV9V4kQdOr566uc/QccLFYIgduMUJm2/uUSiXx95SK+mWO94RZD9\nJktnQK/6BhyBFPk9M4mblU3lHZ0I/DNjvi0azapVLM1l00hJc9o6MMYaycw/\nyyxIfkt1lvmBUd0qLGl5bHtGNaemn1wt97uka+I11TNtTlYAS2g1VGPrMh3l\nSsYfGgmppZuZWcnYwmkYuJsf4DHgnJhgRDEQTziz76Ccijx6Q5z4P4ChoDkH\nEzrwNd7uCrTEZnGnOMnTJG9Nsf+N3k7/ewvaZ/V/JbFdeuLeK8ax+9ejz08d\n3Rl213MH7ShxdUXKAbUGvaxixlOdh3S+AeaUUXWQ1ym7vvQ0zinaI5wL1yMk\neZ0smEbczKccTVdzijdGKASFnn7oSFh9R5TBFOwzJA9Lk1vKPfszla7beWDw\nINCQ6pZQufU1XNH4Kz93cI+DGlh1xiu1OvSYEkF1tI56QtZbtduN7ZAV0+ca\ne+993Cs13KLNzpzkYZLMult4nbDNUdx8k5WR4NeEe2tEPKr2PtSCxUFbOXJC\nHD7PtxFM1m2LirWLBjySAm1Aa/UdZeiQCJRiSxT9E+vhPfGOvzNzbZSvJGZ+\ngORH5rWzrqacjQYCKeNbx9A8am4r3YAERsl5zwy7iII+q49R8cGv6iSd8tcc\nPCg/\r\n=S2wx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmpDVdUnWfPhYqVUZ28rWVUSEHnh0XC2F/v/Pshzl4MAIgd6KRv2kMT5xG8xiD73srylOPEerT5INrU7hUhkSC02w="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.16_1600760747815_0.8829214789379127"},"_hasShrinkwrap":false},"2.2.17":{"name":"@ancademy/bespoke-server","version":"2.2.17","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"012357d97ad018f66ca63114b08df2c98a7e6306","_id":"@ancademy/bespoke-server@2.2.17","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-DXmFR4NtJLovSNJ/vElr9VVFPnzSBo8Nw0XHx5gC31L76tb0fR7hHT07nLIICjzXtHK2OOieqZbRSUy5W5eVAA==","shasum":"3e54ea065d982f2fab3cbd93473794ebc9b4e2c0","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.17.tgz","fileCount":89,"unpackedSize":2107406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfacLxCRA9TVsSAnZWagAAqggP/jia47/g7ciKV+Rt9qjU\ndBT+QOhDV/mVgPWCkxOy5lUgAXU5GqAlQiHzgZZfzm8wN4Z6VHEsWPrNwr4s\nq+G+2Xx1loUDgcqkXewL+/hknzuA/zS3TEc+tnw56E4gEGz3oRKgtWC1Ue7B\n+xVuSBnp6+9gcDAdguG+lCcDLmHkWuW96gLndeIHBW4t1Vcn2yxynStcq8xi\no3TiT3IDWNbzBZuOKVVyjr2DAsvP7/kdsAlnx19iLIm1TnZ+q7wsiFyq1JZP\nQuTE3G9op8L5xqEd/eiiw25lLQsxTOqIoCRaA02Ey+FhbE9UYqRujpNY2qd3\n4yao7ENWIcFegEKiIoCOU3WZiN6P5WD6Rj9CDdAxXtiKa5OEh0CQRBVBSBEE\n7lx1Lr4baFxtWPldulzs8cSYfi5uDceOdA+MBSpcLaQZAs1l6PSN8ybTjAu3\nj1XhOh7ec3Q1RHCCFzoQVgp8d9ZIGLlrrbAW4pHZLU/Wo2DeXez85Mv+txUz\nytfLOKB8f3DmfTdAYX5b6eUV0WArb2nOB4armO9g/31Hb70Mh+EM+Uj8z5qi\ncJyIux94t9wn8SfC6yKV7yKB0oWAhjUtSnUKtVs3tT5QFqgM4IDBWROynV2U\nWssxiOs7oe4C2nrjjIN0Mh+SQx4ktPACcp17sVHPvuoluhK0LLZjkOtsR+3E\nI4xw\r\n=TU92\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH9PTq6+JRpKQsp/JmAPiI+h8rz+5kxeksTT8sdayhMcAiA2liDBwhQBu27G5t89rznT12hz2XshwqdZYP/63W9+Mg=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.17_1600766705220_0.22080714751945352"},"_hasShrinkwrap":false},"2.2.18":{"name":"@ancademy/bespoke-server","version":"2.2.18","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"f276e5a5114849a87fa32b5e1d2709ebbc902c54","_id":"@ancademy/bespoke-server@2.2.18","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-7mGtqDdruxStERxtS5yW/tTNxAEgRBg09RcaeN1APc1fMrIWt5E+fXFcm6nI8/B/HllQ9MAm1NbUOI6vJvlUTw==","shasum":"c5e59f136d644e71211330e526e79052fafb9123","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.18.tgz","fileCount":89,"unpackedSize":843085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfadmsCRA9TVsSAnZWagAAo4wP/2mgzwA81XJ20/jYGLWI\nYWTMDn/66lOvfya92ZjfyNwuJWGH1eyJprmhXCH/UbpSOBs6QyKTYv0mJ+q4\n+qP//DiKcOCWvWLS5upZ8M8b0rwwCDqukAhR08gzp4ZD4m4rf26oX/UUZr8p\n9oEr7Qjq9mAE16VdDa+b6OOyT/wHyhPXEgpJl47TuUfBX8lrrSqPamWCLond\njgP2cGg7n6KhN09xMNu8r7jZapmaYTW5nUOxe3a544fOziwt8uSLuyxPqT3s\nH6m/yN5lVk+6BgwXdlzgXQxdfOJSjbsy1YXpC6Lm/uaYDZqTaHknGbzYSeHs\nhcBj73mseVV8YVQE0WAuIM7WDyIVyTmG2KSCBKNrJeh3jmXIGt94hM3i13Lp\nT3C9etNlo/x3gCznpx0TXNF7HUm+7gyIxX1b8F/kOGKSrw/paBuzNqwhXdVl\nD742evDHBT2uTDWuzVTLormAnisQbOLKaQeBL59GBQAp/3kBvub/xjgfHZ/T\nrDWSDJ8abjydLgY5XJoUd0lEWtm8tIPO+NW5PTaXRhtRixIzRE+G7QJfdK4V\np+ZtXwDGdF3prxy8QRLst0KtkulLpj1ogVXfgUrpqNFiJJYcyrJQvNNZSrL9\nYk93efgKn3I0zzXqC0JEHFbrxmVMY+Y47GROFGhZuRMzhAz+AWOopqGL3dfM\nJP4X\r\n=DmP+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJEpw8wrLmorb6nWa80A3m5pfCOeN65X48RFfb+WEVUgIhANUoR4cTqe+fbQkFvVeV+NdcAOHhOTeI8Mqs/usd9uMt"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.18_1600772524402_0.20993278691559336"},"_hasShrinkwrap":false},"2.2.19":{"name":"@ancademy/bespoke-server","version":"2.2.19","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"633a2e3d01b8d9b7af721f7d30e4b41e64e6fe93","_id":"@ancademy/bespoke-server@2.2.19","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-GY0wPurub3Zniph/n5ZNdQ8U7CdbAL3ErDxSdR+9rVSelAtucwFeBrXj1en7DpHEkXCr24xf5va8ywp0oJwgYg==","shasum":"3ccad23ec81feb7a7612bc499f7a76bc12ae180e","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.19.tgz","fileCount":89,"unpackedSize":843241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfafASCRA9TVsSAnZWagAAhIcP/2Hb6lolXnSq8if0xQne\nSQmCcwFxph+G3L8/RkYmeHOVWocu8HpaRKUH8H8jOETmkr1/Y6TI44FpF6OO\nRGmZE5uGCt0fkSsabMRCUHlTm25CmzrV61JW0zgnFQNT4IoR+0pRM0vULSbD\nX9PPKrOBiP0jtxubrHpFGYbS4i2liW4zI8i+622+vNX0CZ9zB0tWT7nHuNnI\nlLqY2OerM5/xZXsyjNHCrQXt2wnDydMr7mPneXX+v/hXdBKKj11wXzduwQfh\nxW33fi+ourjayzNQokBvmm8WUbd6r50v1dwhz0Rcm9dUyTGxo7BIxSemBAtu\nx5PHKg7IbtpfHK6dwvIDupScaFhJdzE47CJIE4F7YodtT9BhDdwjkBZB85jq\nryjSSvbh4f5mgz8Yse3UpG/2Xaz+GG4HQZ7ERVtZJvPnfYu9MKKZZdn9ZW+X\ngttGSevTgJjhk7qW3bfYCq4Syn9G9o/JvoTpnm/MhPtBFCJzOqM+Or/Id+Zd\nAKICxWzKz04407/HSO3tNXVSPtKxWVsgi4bY+zeb/nVhu+yjrhwGLLBaoHJj\n+Jx8h5VQdeianqo6SXE1bYCE9IkKHJkCVbqvjmi0d0RPfQwbsYCzqbTDgU7/\nZUGRVEmOCnFh2eu2sAK7okbBLr51bV+Hl3y9bqEm84VTb/soPkZDDBETd2Ho\nNgwP\r\n=GdQ8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxExd0yYzQcqBjJAW2l1xbbijzoxmU+RET2GAjc2mTkAIgWMxfokX7ZpyWt+MLO+cJhijqKvoox5mKbaGw0gVnCGo="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.19_1600778257944_0.7015775906971871"},"_hasShrinkwrap":false},"2.2.20":{"name":"@ancademy/bespoke-server","version":"2.2.20","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"02c2e77669389a54eb7188f0e3ea23175860dbd9","_id":"@ancademy/bespoke-server@2.2.20","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-RzCxF2tE/wrDFaKwmWbV6yqxdMwVI+E+NUYfI/WRQtSNgN0NtfMN/ERAiQzaeyvERoxXq0qLTYg/xkHecUoxFw==","shasum":"5a7bacab96e1c3005a2c6b5043bbf3305301cbda","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.20.tgz","fileCount":89,"unpackedSize":843241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfafheCRA9TVsSAnZWagAAyyMP/04vwrrglfIb6mlSFi5Z\n5clb0Gr5cdQ7yNBnKbVJR/pKlQFAjjXS/WhxQb4o5VnSn8lT8y7y2CscLXdT\n5PrWmySD1zsX6CWJ2hyvlJRmvDobsK9IQ4d7n6lWHh1Vrh3mDFUsnld0LHQj\nuLK94I1tI+z/waYqx+U2GxN9J54WKhqSMNCAST3Mb9MP13xGa/SOiBPDOc2u\n3UIYJd7X7X4AJAKsdYXo6cENYvUIQW7Yl2Evy6Q58BlxKpP2K9MGRf3mCEqN\nqxXf65z4K4Apdis9wBGYSrH/DDEgXWjDApVUi+APNc8NF6wbdmozhpj4enIf\nvTJpa+Wohc1iLmDOB8RNa+PQqd2e7RJJplYpZXfHiDSNAxuuxMxvQw+lD+Nr\n+RtlkuRbHRG5Kw5YZCVzZJJ/0LYG9KCqZIqpqItUJaydpj61A6NMy0KjPbke\nCYOKjpVoVFhOMKSiJEMEPX3YaMJMMgZYVnfu4IQp5HNo01Yr3CxX04Dj+/3t\n9UEaM5qA/TGU2x9qWCvHFDWedGWVFJebKL46SA6C4MWmDydP85mjjJscpr7b\nRPfHI94varp++dGZZEtFSSi4/qx4CDPEBoBE1ybSjZJNcUBi9VayVM95yTmt\nP056qF2xXCHorutWDwH7JPBZ5w3IvEzj5MMyjhUUwiL+r+9hQ16xjd326xOW\nFelY\r\n=+7kz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbyuNRY1YbG3OmGtGpzhVb/RRian+61+P3qeFAEWx15AiEA42+/y6miE9ngjzmo2Dj5ysd/vz/FsmdYXKYTDGNzd84="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.20_1600780381788_0.4386570198213289"},"_hasShrinkwrap":false},"2.2.21":{"name":"@ancademy/bespoke-server","version":"2.2.21","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"5f5002a5675cb2153c51436c1f1bebcb8302c02e","_id":"@ancademy/bespoke-server@2.2.21","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-3ZtMLFZA7VTnajV+gcgTXWzuQdxQpzuyI78nz+2hkL9ktV8n5+vJCRwQTtIUCUJmU1O19ulkxC39p9KgROBGrQ==","shasum":"b2d1b3e389ee6ef21870d6fbbd708e9dbeb70336","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.21.tgz","fileCount":89,"unpackedSize":844834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaq25CRA9TVsSAnZWagAAWk4P/ig03gJp/b+9pN+kMYhF\nlCT5NDByjZ4wWXhAf5dBGFhXSG3jp18l34SX4wiFE/aSSf3tlyh8euwiZ4PS\nbiPy1jKCIj8i15mO6cqCtrAwKmhpxc237vlkUGtubz9Mdnazk6Iz7KgY1lHR\nuLonsJoLaQkxOFEZqEBI7IKfxs+KbErPyog9HVLqN2LOk0vCD+gAMvdPPCax\nPK2IlCoCvvSBSPCmE5/49cN0UdQN+gUEmIP6J2lXThTzJ4kIoZ21ZspXRsc+\nNpuaG8AJpCLLd0GWPQodvJNuIXWDLPWvtxb6GEQLKeN6+nmdmtivzKT+4jHV\n51J5EYLcFcEE9T0EbWzEfb3OwRje5T5/K/xsORGWydU17cugLAy7NeFBc9un\n3ZkIHf9i/L9B3pkGD6VkHJECX/IyiiM02XgyCZvkrR6nQ5hP/V4PFpPkk3oR\nLKibz7Cr/3Bj/a7oJHScmALD0JVQkvBr3yrJ45zr/K9IrR1wIryEqYWX9n/r\n2JHJnl0gl0db3vWWwewu4jvLo346xl7RiWMSFQXJhJslheBhCYjmnFUJZ9+t\nCKwvKl2XdyTHo1ThRn2x19EZMtYQOYj1/KjJcj/mNBhGhDVrQSVD2D8M0Fvd\nQQ4+/kzQgPex6epGQeLNmr5569PxC/LLamX3W3cuO3d3cnPREMO1uPkn6all\nrHAI\r\n=tTWL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAal/KXBEnuHGUPo6ZP8wBWsxA5PRawkEoejK5XUh/36AiEA9m+0ELmiWFePjNK+8+szGA/gnFyjMLl1oq/6J6yirig="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.21_1600826809198_0.2321362722445508"},"_hasShrinkwrap":false},"2.2.23":{"name":"@ancademy/bespoke-server","version":"2.2.23","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"356cc9c9d4be953e906678f99e00fcdb1f2c2c98","_id":"@ancademy/bespoke-server@2.2.23","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-lBjVKnbb+CReVeqtSNrq8QGqIb/NBeIkHdmt6L2h1a1V+UXWV/4beiZOtWxBTA9V7yKmzmPi05mD40hSQesEQQ==","shasum":"44149e83fd596667059dc17a4244b0693126eeb2","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.2.23.tgz","fileCount":89,"unpackedSize":844844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbCM/CRA9TVsSAnZWagAAvwwQAKF4ACuqWKrErlpzdEsf\nbTa/SYpCRxm2y3RlQ/OkPUe9NzYFG1U2XgIMUi9mAo2Idd8q2NvDjpS90Ykq\nbSjGyt8lfXd+0bPmboV3WqqKmrFghs2+rAp4s4ifZr1R+DcPrII/OIaTmIuD\nh/gC1JwtraP7gWS3z4Ey6JHOrtwGRXPBA+CPBIvkTZMZbsnjEWF6DL1IiRdL\n5alOFp7YforzI93IcN/EXalMPVNtqBu/Bt6kQ9Sornwd8oYLV8P6PJ+eYqIC\nIU2w60CDT4ev+TCTA2lkHs6ujkaxTJIGOQgFHH/eNRqJhho0Fqt8iq+X3j0W\n+0nV9sjiRANcoLKwe5KL1pqvLvuVpciZKzsbBNht0nTG5+GoXiGxu8MxabTa\n+/PUJ3d2C7IqKWY4DhK1c4ACTkyf5Zl2wUwnpvrl/NAr1dPd3CJwIS1T2Svh\nRvTAtmbRhHvX910gj8RQhd/RYwC+I+Q036/1YJxmZqoNA2kLYOsQQPTuy9Y0\nZd/5v5ofwScemlKH7W0KyhvZrVQsvEcuWSLETMsQDP9lMwowG6Og3jIcsObw\nfFALUQA7X3uC2OEtEPhSgJpTfsii4SV42l+mEsJnSwek+dmH/f9wKt8LAK4o\nrLiXG6IFi9eg4lierZNfdJgP+H6P5oROmdBQqzHScEieLzVYtxulNPlyAZTm\n1MeN\r\n=JCu4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH8vhTQ9+JMS3Vf8f7MaTmaOBQC+bh95noAvwDyVyNzDAiAt8oMtHteP1vLRjguKF+KXljXfyIH7EX1y2i2JhsEprg=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.2.23_1600922431203_0.7369584698065179"},"_hasShrinkwrap":false},"2.3.0":{"name":"@ancademy/bespoke-server","version":"2.3.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0843f9b63de3bfd4ff3950f957ef557921f3d95d","_id":"@ancademy/bespoke-server@2.3.0","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-JMHIqJOzNpTp57uSN8ReI3X1fZBrHdoMYt7J6ZLUIbYFg5pkf0mxv4PsccYQxBqEdNQfX63QC13SRDzyL6MOTQ==","shasum":"2165f46248e0287c82ac8c3d577707356874178f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.0.tgz","fileCount":89,"unpackedSize":844834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbFlzCRA9TVsSAnZWagAAvfMP/R7eMZOvtemthnKWMm/0\niqW/dUxqGMknvRCl0JDtdujZHxAXhmYmx37ZwmuXV7+prLOCIC9BB3/Rchna\n+WkdI0MQL+cE/5KyQeWZAtNi/poeaVxE5kwISVKE3AOB4lYILCNok7fl3ufW\n5XpIDstkHVD6ogzq0zjLseEG4sHX8t8RUhsOB0YdtkTjj7iBOmrdAJFQxH2J\nEDhehGKZrM1hIL/LylVE9Ibkd3P5vv2P73y3N/Uoh/xlncA1XKBhv2blpsuW\n26HSwp5cv95Gsi2/gkg+hLpeSIokAyzA7SpfLdfHJRhIN+jfTA2nXxtY38EW\ntOg5iVArJYy72bhyiKPtChgit0UepvRuu+N8Ru6UO23/QhIZrFY5WQqvVabx\njzMBlD7+/NM6/zsIY5VImzba5TEIGnhdXGMWBtp2MstcW1zxLDQP+4E/cyex\nQkRW5J5SF2CadnfkKIHIc4vxmP4bmUPnac9kbaDCnAN2gd8du58wvEVNkjwl\n2547666fTVejEksOaZgUIhX+jRHuTUUH/h52/V2et4ORERlEpazKp/hgD3CX\nNJ601Pm4FTcNz4hDkjCSNlzpzSOdG2VRhvvJzoL/JwQaJxencm26PHTEFPjS\nbwhgwXvEoYN5EuLfkkmdTHSfe1HcxWelhkBmCLvBtuZ2NRzK+n0n+MVYOtoB\ncs1p\r\n=cfgH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH3dzaXEkjEWqmi7qrjC1r4mTKbQdAtlAc+g2qmqwuXwCIQDy6CDRcSlOaYr8U8pOnpB7vclbetDqLRMvsmAXQ4Ck3w=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.0_1600936306937_0.34978516701729157"},"_hasShrinkwrap":false},"2.3.1":{"name":"@ancademy/bespoke-server","version":"2.3.1","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"78e10dd9100c86e781316adbfe725dfbdecfad49","_id":"@ancademy/bespoke-server@2.3.1","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-lsE3BuFHzV8KwNdQXCRZ/sh9M95FDhAQPGDcEcqgMrls+nQKtog+DlnQ4iXRQS6Xq+7/j3aYHII3/DtYDkGjBw==","shasum":"34d03ab1e6b875e2a64b19f5b42426cb2d6a748b","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.1.tgz","fileCount":89,"unpackedSize":844840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbIbmCRA9TVsSAnZWagAAMnYP/RoAu/5+aXzzHvUDYWRc\n1CBsiPDflXgZ/HM0j31AgSB52W+vMD16zGT7aZeRrSduJY3hPtL6czTXjEZM\n+2Lj3nUg97bVKAH/xk2P64R6bFejoLPzAbTzqkMpaZJ4Vs6GOaQmxbRRfM+s\naMrjMb25uS4s1bX21oxUcpRaaqkmml8ai/LSwlyZVPmkQfn5Qul2End37rnA\nXjKl1g5PQ4aUSTc2/ppKdNRg2Iv3gsDPEMIJbTxVcorXgNINd128RXdBfI9y\nLdxgGMU/76T2O0LnA6e7q0ca2ZYh7LVVknKX3N6evZw+ShKegZNz/0/tY6LJ\nr4EZ/pBMCvX3K3sjraiEj66/Th3HAvfxjFO8S0Zc/0qOdVlvXt1zf/agef8D\nBzJ/LYC2GbudHkdCKi4c1QHvPeSbhq2EfKA862MRcRbmclLMKcunJh0sRZlw\n+AnAoNBDO4SM8rSUCXngWtlp24saEDc2SrbCc66G2p+A2s8n8/CE4dKqY7CM\nJnm9NKVjZMJo9cJW3lI9p570mSvxUbpJFjSZeBwOH2cgd3oJ9hhczvvEi9G8\nBwqeJ00hLSeppTiRDEIeeajyFAMdYXlak/1mNXwKlZuxqop0pmPo+xiWbgaU\nb3pKbLrXE39yZEABt54o8Zsw4kUmDgXrNYGOP0KRYMfQ/RhfHOf0ZwRLSm1m\n3Vq7\r\n=Ezxr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBEBIht+39y4kO6lux/BKEuVdMeF7OIcQ7ycjwfWvoKAiEA1xxcMtdhg1aLPupOY98KFG1LDJZNcNqFhAx43wxciUA="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.1_1600947942290_0.6366946298951566"},"_hasShrinkwrap":false},"2.3.2":{"name":"@ancademy/bespoke-server","version":"2.3.2","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.2.16","@ancademy/elf-util":"^2.2.16","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6091301ffe35a3be4cf519dd4f0e138401fc8b9b","_id":"@ancademy/bespoke-server@2.3.2","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-Qe+Ag2PK3rr91RQohqkhOJIID8yBJD7njXLnwj1h5kLy/7a4PNmksk76D1NxllJk/AQ6gP2b6zl4Z/vYX9Ul/A==","shasum":"1f623251d45bc4fa883f28f6c966dc6f5964c818","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.2.tgz","fileCount":89,"unpackedSize":844847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbsWhCRA9TVsSAnZWagAAfEIP/A3gmy5S0JGVbGWUmhu/\nqlwFsyaocY0bq23QUxoOccIwIfnRzjoKmCIkG13aof7IDo0ct2t+dSxrK4v4\n+Y3cx8FiGd89bpLVtrdbOb8rikaTzoMj7NpzahijGsxOHbO6QrFXD7TezGfe\nBUK9m77q9cOiopJDZ+Mb6XHCMUCgoCEIT9SxuGm4HTOC/N/wPSQc8Wq2/uS3\npcFLSs8t30njVYx+AkGgDPHcWVuv3ByGXKGBARjXRqLU1YDdXwC3txjbzt0W\nEkU/y+RCNjssHsLRzBbWTmiLaVWG1IurZVelE778Y+SSYkdWLn0sDQ3om5oD\n0fX7gC3OvAjqAkM+MaTDtNb2sn9gzMjftaDv2vw13kK5JvtWJ/BDC1wQOqMY\n4LQLDL1qAwsNsJi/1pL4X/FWDNd0Bo8bF+RxphO8CXl16+2IX4ZGzd3J/Hjc\nNbnNB+M3EOa/AGkDoZXEO+X+PkZYYQOIAHzTYOLcDdnJCO8uWKXEz2Ik+lPc\nnDEjMyQslaosMS+/wz9LQPR5irViDE3jPQ/jBwq7g/Abq2t1Ol+vUOk2TG7B\nFJZvmmPStfKFbfKlSECHM/Ofch3bSE2Nz3s9Yz0YjsTiTW+qhWgEYUswYnFI\nsxGIjmnhCsSoig/KNV761Yzn8os22xzaT6/jFpBXVGFO0IBRJ3EtfZ2X/gXP\npGXE\r\n=sfcF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaoXtRbCNEIHfhz+JRMz9C2PartxREF0elvNfgfzTAGQIgWc/VUQd+YyMHkPCHK+2OvC9zQ/yNFLlLV1xetb5SC+4="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.2_1601095073143_0.7917993104860468"},"_hasShrinkwrap":false},"2.3.3":{"name":"@ancademy/bespoke-server","version":"2.3.3","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.3.3","@ancademy/elf-util":"^2.3.3","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7862d8365eec97d22a5058b7edc9fd5821657251","_id":"@ancademy/bespoke-server@2.3.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-P2OjKkIDKxP1cWpWSfqmJSBVnX6xtHHtxjxm2bQdxEzNddpWTSJ4U4HMMgMTsqfZ+/RmiTVDhSqMNpILvaJ7TQ==","shasum":"27dc3c292e97d6360c8e95d3854e2f1d66405dfe","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.3.tgz","fileCount":89,"unpackedSize":844845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbwA+CRA9TVsSAnZWagAAgR8P/0kqr8Uswg3exjxjiGVe\nDDRVakZ5Db332ONeoSYpze3eowQluBFL2JmstZbD7xW75rJ0ZlB1zshEURym\nFGQip8xftTdZnFqep8CX6eH/qgjrEa0+kDbZau8uYLpZDPCDnQ2YpcKPquyO\nQAFbu6ecFNZ/sPYNs2RQru6mqeyZTiS6DAPNDiPjo/BXxuU1CIR3TbaXco9c\n1k3dUOdjQPUKrNBkdlo7iCMans6q8uyeB0A26wbB4qVClgfmLv0BlFvQSWFt\nSD5X5s6A6cY1Mm730AWZBU4VAlJhWWBlwsSTkcZLStwTT/Ui7iHleM3bR8Fa\n/PgNZEuo9zQxUtKAN4vdSjQGvSNsF+dE7M9MwlHnJFC2T8ZC+n76Tc8F0a0Q\nI5j73n0SHZ7oysIw+U6PEeqFxU32aLbD1zzr6Rlj/xnehBU4kt2ebpbHoeUS\n3I6/x2THr6BCGg2uUvVhSclIJcg6HZK/ZSIgVHBFbSegHcLvwMuVV/1iytez\nRrvxvnnm0x5N+H/3eNtClQXdU8YdC1nuKKYViUtzAorCyPzpgB7lkgYk/5E+\nKie5J/3ZMWCWaYufic77Shxyo6MSKry14Ny7GOYydp4r4eDaX0wEYHS875Ed\nDQg1G3QO/KifiWnqHXfXwEbS+SsBWucH12SoIoe6pWOMfMq0XMkOqQuRb+uI\nhMdM\r\n=uNNI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw6V/2tYd0DwCghMGt/Av2HrQuoW7jCZLtEqclwVrtawIgO/gCNGTDZ0HfV2XSfau1jbGPyvdTwdZra2Jv2v+ekdU="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.3_1601110078420_0.4467366436268154"},"_hasShrinkwrap":false},"2.3.8":{"name":"@ancademy/bespoke-server","version":"2.3.8","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.2.17","@ancademy/bespoke-share":"^2.2.6","@ancademy/elf-component":"^2.2.6","@ancademy/elf-protocol":"^2.3.3","@ancademy/elf-util":"^2.3.3","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b7337d80aa5816413a375f1e8601383bcdaf22ba","_id":"@ancademy/bespoke-server@2.3.8","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-tYGqoZY/K3GmUsn/S7S8HaMsZxOhiv9C7Jd69x4JfGsHEL8YwkU2pXaIDunXBaBzP0hgIXtsKzg/dA24zr/IMw==","shasum":"293a83ff93c58c7567abe178fdad351ee70a21e4","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.8.tgz","fileCount":89,"unpackedSize":844829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffbCXCRA9TVsSAnZWagAArcMP/jLOCAHU8WAMoXgMKZrM\n/vPvfHp+rKGLBJZSF1xKAy1nU2P/pGIZuGmAcHpNZggB2gQtrzovtPCSBULC\nexnHFaDaBA5Mliv6xEotxJAopAkDo3olUswDZMfx1bw+nTVDH1/PrIKu4oj6\n5Hy6QgyQHi1UxaMPJZu6oJhBRMvVI6HFs06mHNzMuMBD1j/naBvDdwD56279\nWvbJvcWyYcwpZOamq8eUpr15FVFETH4bP4sFyFTi+pnN0I2Z8xOrMy9CTk7D\nzgKZCz7fBehQ9C/8MEZgKVUN3CqMG58jiLHsQ5/aJuKT66FghPbMVJ3y+HRm\nV1uAT+5S40SnVSoDr6aD9yBSticqfA/IR9G6ntAYfVS/LRZW5xeUjVlcGGUz\nswCyFBS+Rc0KwXNVZEfVyQLPo930PlZl8Be9HBmu0m0ttf0X/47CsVRUrexq\nXl06uXddK2hPLEtqGm/8inMVu4Ms5zr6Z2wS94r4DmfNrQmRGC+fOSoQChlu\nuvsvkbK0PuM1N7Tf7Y2z4ZyNeSs/iLX3k7jfJM8eckyl1E7rRB5czPcmdYZQ\nXFrh7c+o+7uLB8r8gKl4byPJPW6s16MLcAuPIHHajLGVbRsJb2w/ujNbLZbG\n3pjik8nKj8q9TBy+TVEwGttBiFAroenzBOsot7eg1CcvbxyrJVMo0v4ghbjL\nWDwc\r\n=zAFq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYX+27Q3Pyg5rod8bC7JPNndSWuA5bxsVhbduxztlP9AIhAMUXuyiDGY7ow43/Nj8eBkChOAqX8gZZX8G4RRVikBmb"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.8_1602072726588_0.7646083750075776"},"_hasShrinkwrap":false},"2.3.9":{"name":"@ancademy/bespoke-server","version":"2.3.9","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.9","@ancademy/bespoke-share":"^2.3.9","@ancademy/elf-component":"^2.3.9","@ancademy/elf-protocol":"^2.3.9","@ancademy/elf-util":"^2.3.3","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"3442cb0a3c9fde3a38f28f73cfb4903b0dca681e","_id":"@ancademy/bespoke-server@2.3.9","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-Oyg+fi8izJAjSeoE+J0iJGTOgHMBHEY8oW2F2QrZ1gKOqUqquKRcJk/YB5ZWeo1bjeHta3Uz9CeRKIcsq6Iz+Q==","shasum":"8edcbb48525e38c60bc2bbb53ef48372c95154af","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.9.tgz","fileCount":89,"unpackedSize":844828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffsXoCRA9TVsSAnZWagAACxQP/3FI4XXtrIRfZ9Ntdech\nt013DXRQ4orX9ITMjWbXlfq037RSVyDmZ8Vd0dHOqrCbgPM/YHWnLqaJyURU\nmfD9K8fm9KYG0fa9tuFV+VsjuFHmvtZtqBvVAse90VZkyK8BM/L8gaHhhdYB\nQw8L4Mg4Se7sOE2sdZCPLMup+57fPI3eiX1JEjVM3k9UGC7cUiioCZ4NGb6J\nBIRt8vfWEMzkJaNuQYmq2Ey8nwaS6K1dG4EewEKp4sKRwqUgpuHCSkAIGjwV\n+mmamMF2xnHzbACVnld4lw0AK+G3k9MB4ngjktiEQqelZBGNPMDbK1ud+bq6\nAVeVs7MbDxiCtkel4krMQMZZ2v8z+ZtFIf61QY3k1nEEd5v2QNWY7jZO93xh\nQEdIEMm1xO4czshecDmmb4uJjSCywjGHn68NSHfrMOUcIDIsSBpd2w2eJ/JL\nK6C0g8qVXX+n/+8+4yLcCeHVz9NBXLHvp+n0xKbUhVY5Awq3rFuVZRDvfxuc\nnnOCG2iVgO30Hrn0JHM9xn+pAbfETcvugvH1q3YHUI4DtS66KgckP18ADZAC\nWn5QVDxOYHhSytbhMua4ClimdlH/QAZAERVsL0dDo7V+Ykpf4WUfOZqvuepJ\n4A+D1IYmTo7NYX4p752lTOANr/x9ioIdxDVY1z95Lu7+BjbqLh/OUwEuPcKq\nsCvo\r\n=gfdK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJPYo+S+tRa63QVdAfJ/gRhSR9e5PyYaGnMQRlJl/PZgIgP+Zcu6S9U4EeNQZUtEfMKJopYhR1snyMjCPPaY0TIJE="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.9_1602143719799_0.43748535238682895"},"_hasShrinkwrap":false},"2.3.10":{"name":"@ancademy/bespoke-server","version":"2.3.10","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.10","@ancademy/bespoke-share":"^2.3.10","@ancademy/elf-component":"^2.3.10","@ancademy/elf-protocol":"^2.3.10","@ancademy/elf-util":"^2.3.10","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"33fc4045ed38578d3531ca652d656b71d3e7c51b","_id":"@ancademy/bespoke-server@2.3.10","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-mafsF7DRwZclXp1cpKfIGFxfzvRPVRnDliKIitFTPDqcPTjHHCTzBQCgKn8xKunEM503AKZOPxafdriiqlljEw==","shasum":"b7d0a49722e599c9d2c4f31aa353b811b9c12f15","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.10.tgz","fileCount":89,"unpackedSize":844834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgUzfCRA9TVsSAnZWagAAPQIP/iPropW4wsyr81NpV1+d\ntgHB+s2ghL56P6L/MNiq81v5tA1smEgkhds0jK6rsEu2xfcPFmPQxRJT/V+q\njcQNy9XIu9In6ENpMJ9tqLS/76GvDgaecbyCO9x95W3QabaHh6O3OUnmwW0u\nhsmPapxaT3IAf3cwHqD+bcm9DmZBWm17QvzrYpDwMKTmOEu3Rm5nSy0ejo5v\n7Wr53Gdh32DqkouuGB4gK+1eTbCICjYkbEP0WmGdS2Ns3ABUhVfINJdVvXdC\nT726V+3nDuc9qOcmFkYQKpbacWnPNY2EH14r2ypwBqpzYmGdaxQe2j3FZ3bK\nOuHcgyrb3zs3Wb6S8hUKu2jGQUNBXP6Uv5boyQnnBDYRg/zG6MofAI6oqm6E\nMFTvAc9oVZqCWWWIAeiC6L2sQNOdBa7OkFFA/D1/1+P9kE/5uMonLncncZ/z\nUqXkscIbAcy/hxoDwMJCjSQi1D3olD7Gi5a2jZQ6Vkfr7iSvZqXG8VX1v5fy\nYfHOX8k1nFJDF9uQN5XWfYhPyTElk2pLpj1vXXuCHSJCcEvh4aNEzpX2/Sju\nAuyp3vKI2xA40wI5Fb3aEkJLwRdun5gmNsRg5XWY+lNpZaTOVHTeDbSX3dLc\nTqN/+muID9x8520D9S6W3wS4jAFi8189HhdGTy+YSLa1gPHicHqJuz+5QIIk\nDMZb\r\n=RSWn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL3eIDJ+brrulgDdjlT/P5UQtPY9Z1Kt1XKUda0+Xw8AIgK1C81KhNH4ShFRaKcN/Chpj9oclFVEQS0TIkCADlGNI="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.10_1602309343319_0.2927321435579082"},"_hasShrinkwrap":false},"2.3.11":{"name":"@ancademy/bespoke-server","version":"2.3.11","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.10","@ancademy/bespoke-share":"^2.3.10","@ancademy/elf-component":"^2.3.10","@ancademy/elf-protocol":"^2.3.11","@ancademy/elf-util":"^2.3.11","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6c797cbee1c89415ba4b519cd8419fbd684272b9","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.11","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-Kx247lbxTXSemc7vCISuQ96sXscSk8U8Ejq+aqurW1h9bhRYR4h/jnK6oRuPb8HbmHdNYvo48XsLdJmWO+686Q==","shasum":"09fea0a161929153bd7fcd8c19604e530abc394f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.11.tgz","fileCount":90,"unpackedSize":847811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfguhKCRA9TVsSAnZWagAAxpAQAKS4X5N9cHsOTnsObIuH\n6N3xbn4nR+AK9KyJ+hQ8dCLFq+r/ZxvccoyxYdu/PQ7brpjtGw7vufQk81Q9\ngQ6OI+eA0Ude5lTVni7W43VaSLsCLKOpGr6RtHypskAqsH6VFAa2iq526w7G\nVL9Ptuz9ertW+Lz5V5jbCJKd8r22NpS0SFiB9h4ne9F0J9cruTa8yfkBrIrM\nzzAK3uBFSGs89fq7nbApGXr1Y+mnp0uH3+ux3ByM/lvIS7cRwVD8gznusJ1l\n8YVs6TOw5j8IrmOt47tfLeDw4QvfbZ/TfmMBF+LCi/0h4CvkXsRA/j+fN6wm\np0E7ycawGHjDEtOZPlf1Mm48kuXU3SUm9PmFhMHwqxZ89QQ1vnnxKKe+3URF\ndEY/cdrab0abbwLre+fGUYgU4NiGfqLxe9NVJWXqdIvQBt7Yh2ZvXbm0mAK7\nuDLzG4skzMPNpCQ3XmMOlGLWwh4O/+7M6HDK4LOC5Wu1wqcewiiDnyQFgtSi\nSqxNh9IHlEE3PbU5DrCB28o8UcdfxY5rguZ1uTrsmsbSsCCPeoMXVXFOc1hs\nofB36dWVYF2uxRF9VWDyVq4MQ+ZiBEDohP/EzychWa0jUkNMMYBN+cro13uM\nd6b7d8T+zh8sCvyS43HqhU9SebwMYBCsWoveXHYJN9dy0Sr3HPK38mFZde7M\nXbCX\r\n=h+vl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCANGnDNS2Yd4n1UFS5C3wnw/Dmuvjt0WjkdE/2gqeGwgIhAJQv8tiSUBc7kNEBMLCzTNQ+dPom48TznJfpquhujgqF"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.11_1602414666444_0.2660998019656029"},"_hasShrinkwrap":false},"2.3.12":{"name":"@ancademy/bespoke-server","version":"2.3.12","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.12","@ancademy/bespoke-share":"^2.3.12","@ancademy/elf-component":"^2.3.12","@ancademy/elf-protocol":"^2.3.12","@ancademy/elf-util":"^2.3.12","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7d2f24ece2da9d1a97300093030a141dea3908fa","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.12","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-biG5LZOcyfP6NEhhM/qXJ4jw0TgG6O4ioL2vBCn7W8E1QIQ8H8BqvBUmsimHB1GxK3/iwP5eOQb4yDYsEapbeQ==","shasum":"39629323bbfb1052de2441abd9a4a48d7513fd3c","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.12.tgz","fileCount":90,"unpackedSize":847811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhS3GCRA9TVsSAnZWagAAEMIP/igfbVPLaLjyxMjiWEFd\nb4XhGBBLuqAUJw4VDNsw/C2gTmWE35COkO74Q6B2VJzH+fWfvhn1SnlI7l+v\np7sKFCACaYEGRk7ISYGdn634/uAstTFMnHYPOO6oA5EfL2w3EJS/DjY6tf2V\nXJJjjuVyqHxu6vIiyADdg2rNJddFb2w/gdQN6kzdv4Kyn3xL3Z+zEnki185X\nrZzqRUbgN5BDayTFz3dBQcBE9ziSane5K83+oB39Cs1pCX3yOxhuq2a9JyQX\nSvD7WmW3GhhekNVjJPnov0jTXa/pHfpqy1f3MSEUW+8us6QmB3sseMrH1NNB\nCQylQIzA7TRvu25/fFoyZItdTqgrMJSZUNJ888EKNTl8YPzM+q4otvS1Jc39\nbTVfmRSOnvZtnoY2+AYdUGwfyJdSy48oHqShMa1zgaxeCNQhWpTBO584a/2Y\nyscf4vN9TUfqrmEb4dc+i760p7XIEfvKRDpPSWVdVKXOA0o8BsT5oenDzoeo\n1FeXYtOBX0qcJQV5bTbmLbgCPCJ617v0LwtihKuxL3+uYmBLKATReVh4itK6\nVfshDP2p74KA6JUcJ+1qC7qoB6M7++cSR3AcyaeAMEkUOVosZ9UhUvU9xTPu\n0/sbrXYdSZRJCmKQNnPqrgnW9Z/aUKB8yW3NWZu1j5bdT5xjWzS5XHX6kIJo\nfrM9\r\n=g+Hm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXMUArWD4R6ny4jk+hNtRYYUEAXbi6hTQJKz/5qn0IHAIhAIr0OMgFB6aNKrjoGSYuGFd4sKRiNe802UDSPHfRQ4Vh"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.12_1602563526225_0.8655930693944107"},"_hasShrinkwrap":false},"2.3.16":{"name":"@ancademy/bespoke-server","version":"2.3.16","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.12","@ancademy/bespoke-share":"^2.3.12","@ancademy/elf-component":"^2.3.12","@ancademy/elf-protocol":"^2.3.16","@ancademy/elf-util":"^2.3.12","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"5888ad1c8445ff6daa6043c6c0752eb1c51d2a94","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.16","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-/XrAZBEcbgIRU5VihCQrVNtJ8r+mY2gSA4sTJhUsOuL+KAuV1TVDYgL66nuwYLocQcdByA9YI2loLT9dihUgAw==","shasum":"5cc2a776c95ad30f8072fc7d0b9ac94d85015de7","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.16.tgz","fileCount":90,"unpackedSize":841276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiR1ICRA9TVsSAnZWagAAFrMP/ian3z0oKUajAs7QrzIE\n4eAH/sdLxXsvQ2/C1NDOkOl3TSy5LnpzppcbtfOOIqqK8BhjAb3oy1dbgly2\nPR8uKSrnzzd4jh0DaG8zkn6dl6Ru/1qdAUNyNq5K2GezPpW6YP0Tnpx/jjHA\nz8BCMLEIxrwayW2H/1FhRKKeVSC4JBvvhdf/peFaPkfHt2Jf7fizuzj3msyU\n4O3ZX9LpJT1UfCP8CqsCNwKCek53zF7RIqAJSDC318HdBCfyXDn3EpHUKXc6\naOuKrfaNKBrB3ib4zEpKjuGVT/LhLY+jh4T+h4KzERoNmHQplsmlpbG/mpet\nYzY+1jKGRJ8zjO/FKQTDzVHEQrVqK5eqNYD78OFovwh29PDKHcI1s88iEXKF\nF1d8cnC9M13mvnLcevo4Y01iK6TxaIE1EH0p1izlC3u+wGceiQZCct3Pwv7v\nDzwS1+dIaW7xZIKPAufttwaPAbIKRJwr2dgOWn/yr1/4h5hYR5D2KemJF3tv\n2jvKT1MZzNciZP1Klt0qUiriNzB4oeMDhGoB9utJ7M3amGzRUjKe8RPnkb6h\nF+Xidotj+14/vmuQm/RaynBKa20BJ64LMHfSw5He+pktHZB6qcLmELu9L0Uq\nch4aRJFDrsvXhTJYcookgI55+z0SasMfWJHtXNkWo9QOzumOFpElOJw9PJ2u\nZ6eD\r\n=Wo90\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLWvG0DpMOk4BfA9d3OO3QpbiwhYKEc903ppr73LkRygIhAIAR5Kz5ocGPPbSed/ZrpVvVjNPSCXuy+e5qyWLrtSlI"}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.16_1602821448347_0.8574784400026771"},"_hasShrinkwrap":false},"2.3.18":{"name":"@ancademy/bespoke-server","version":"2.3.18","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.18","@ancademy/bespoke-share":"^2.3.12","@ancademy/elf-component":"^2.3.18","@ancademy/elf-protocol":"^2.3.16","@ancademy/elf-util":"^2.3.12","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7cb751ae9b60ffad77bc1c9c286b6c792b81a7a2","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.18","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-x0bdM6TqF+uvGjKAkRtvku0XozwlBkCeJfVdVArcKGUNLt6/2E2FtadfVTGyadF05los3bpWpkGuLlzkPiddNA==","shasum":"2eea5233570255ed0651e9439269233505359054","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.18.tgz","fileCount":90,"unpackedSize":841276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiSdwCRA9TVsSAnZWagAAaL0P/1l6hjd4Div39LDz4SSQ\n+QMnVJGrYkhcw8uD3+mWq0vYco6hknbFchhsxE2DrOwVN+Ey1wY6ZakxEgXB\nPmIg2Q2KHxj3xIXysjuoQAO4XoQosU8k3oolNMvOmAcIx7+AvRiF1UrBxYRU\nQCext3Vx1804WsXc32j+hbGPONvlSYNH6a/o8OJuuPpfyq05v2Bb1L5KIXwf\nb7XrTuVoc9DkP50Zq8DJdFyIqhv1BUtzqw+P55eIqtDNUseSbKhyhInELyXD\n6G4b2M4UPgQWNsZxvBPRLzDUDcESNI8gSuQ/+JQWbUOeBldg7Za0xtcPaA+E\n+/lQSgX1D8P9APvhnmd4vkF+fg/8J1tHrdpe8/ASGeHjuPHAL7LZPWzJG56l\nvc31JGMh48z/sC0WrUgsQxxcgnrG66tAVvd4pVD1UndPTpWzulWojF8OcEus\nWgv9gMWxAXeDgxZgMwUrehGFq4fQYoH92df0eX9EzCUsZ5hU3PWLwU2h9NPY\nxdnqG8Dmx/Z5PrlIAiROEHLpXRgEc3IsXw+Xl1I6t/9D23/dQvPvPLGO8jEu\nv8ZRbUZ41D/rZ/iSkBeeYgpwRZPbyxdfQ10j2UyDtkbrKmb5B3gcN2xMvn48\n2O3M7uMMLJQfoJCvmUHIk7T+sc632zvWWhYaGVnrTNv8cn7zZYMk5Lya3/J4\nw+PM\r\n=BkSc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGadk5k84zaDlYxdJThIz1qKiZqJgrI/e7WY+XIUTGFRAiBEQjCq9pLv8V7dxmViaOaEbQmFR63I22FL/BNYd52jqg=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.18_1602824048156_0.37688188296497316"},"_hasShrinkwrap":false},"2.3.19":{"name":"@ancademy/bespoke-server","version":"2.3.19","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.19","@ancademy/bespoke-share":"^2.3.12","@ancademy/elf-component":"^2.3.19","@ancademy/elf-protocol":"^2.3.16","@ancademy/elf-util":"^2.3.12","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"e673bb467159fa5448e7c93f80964bbd54649740","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.19","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-gENifLah7mokr9ftNYR0xBzCGhU5yc4dv/X78Iwkm+2kD4w7Z4J3Mgk8cjX9Ky085TxYW42bVUDG65ERdKnACw==","shasum":"572187e72cdff6affb06867efd8835e51254f8b8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.19.tgz","fileCount":90,"unpackedSize":841276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiWheCRA9TVsSAnZWagAAA3EP/13jzX9ZnpCqp6f6tBVT\nhgseqJMzpzR4ahEMYjqzsZ4b2iZ9NfaYOmo5kQDq/PKrD1k5s1+lr1YGSXx0\nvk6YdVmEgSVvp7MzY899MT5PPQcaIdSq7bkssz8GLxB6gc5C5ZIaOi03wDmZ\nLVykmPiNOCvd7tBkC72+YVm/GNG6pwXgLGsgmDHwM3ggAmMVZq8gXtHJQys7\n/IMIRJK7aKH3lIWjc2+kKHs+XGVoLo8uymTJbcUIFNHmei5JvmdgBF7tqVBf\nnrrPZb7Cou/fEK74mZNFw2AEIVX5aZoSkV/Z9RpYlGjux08a51g1VX1udBSF\ny6KlqhVrsUn4lyt0PcHvm2s53b0wIVSPtBbar9Xu+bjOdCXRcSQNivxKbBpj\nrVJxlxRoFoE65D4O6l3JejG6zl5JVu12PPkL/tSVFttolO935Mkpv8KCEk7Q\nRw6tasF/dyr/dnuiNQ+t7Kw/kDNb8rmyP2a//pAz2ubNcQZcQyOnw/RjTQVk\nuFftpYn9HnsMfakZFnEJpG6B3ITmxrjXZyrcIUudT9KUdNjp1YYs7RROiGhp\nqLEwccVDCh4a5kRuV4HSDmM9fsdnjxbnQcBYm9npR3x0xR8ZJrK+1yelqokj\nrWoEnDynE5FAii0qzJO4tQ0omGoFp0s+fNwowQuyZFlxxljC3nwK7pUqBdvq\nl8In\r\n=zGmG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcsBk4aEJAB46MOcOVqStWBnzbW86VrrfAFZrdO7JYXwIgN8Doz/94ffxn9QaQMISSFz65P2ob9U0HK/tsPkm8wy4="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.19_1602840669658_0.7779531408316833"},"_hasShrinkwrap":false},"2.3.20":{"name":"@ancademy/bespoke-server","version":"2.3.20","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.20","@ancademy/bespoke-share":"^2.3.20","@ancademy/elf-component":"^2.3.20","@ancademy/elf-protocol":"^2.3.20","@ancademy/elf-util":"^2.3.20","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"09df827c1efb73706fde521476b8407f5df83582","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.20","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (win32)","dist":{"integrity":"sha512-enYFDCVrwyi8FHyCHez5xW/fJY+2LkQDctYj0GcND+9/rFGDoLqvIiFNoSUF38s5pQCAr7gBbMzBMVAZSXKHtw==","shasum":"80626527849a8fb4980b7d9201855d45549c05d8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.20.tgz","fileCount":90,"unpackedSize":843423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfibckCRA9TVsSAnZWagAA7nsP/3q8kH5wCPPYs5CaREkP\noOHA2vhOT0p0yAx0TfyYogSvDsNTUMEDE2N8+7K1mB/Ygi2tMyIulTbX+RQP\njjkxa9oIR7qMNOvODy4SqroDnck/trw/HRF8zMTlpBD3XN7Sd4kvEhX3AGce\n9ctbUKfXdCuYa5EuiC83degGLfkndhQ+9zX8ZISteRVoeM4fVjdQXYacXlrH\n+9KlAWZQOGbISfnfCtecKqMq23DE+uuCXC40BlNbr8szJWXSLUMnSshDnF0j\nLwG0dPjZWa9+Ym5z6WiqjE2JtOKTWE6QMMgjW1y1/dpvbwBkPPu9sDjWsDe6\n/cD3D0UIwpfg/bcbFz7iUdsnWFCbX/xnl8pxX56tVKIba86L/rrqBBj0HGpT\npDbZPa2rkurweBiawvM97X5KeORpiX84VvV3EBCzxLWUWFykIUOCBGJmHLRu\nf+qY8ufDkfY30M8M31EaTfzIPmqTy/voJe4Z+3W3ZDm0zUOers5JmtkCH5Bc\n7dLdWStwgx5h9mmeFJ0Wk/BehIxZzg97Cl7tUDZfZ1ue7HS9AXDYpvAgWIIF\nQWTkJGIg0Drd/IQpC/S7kTLTON09t2vWaQgdDemFllKraspuqDczeG1/SnW0\nX6hbG05V4ftxwdE/0cAS2rsiWjjAYOWgx7Scxt6NNgUmE7LQd1gckCxO5Tk7\ncnGi\r\n=lDiZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHB2cPvklj0p7g5rYRsnFCwWI2tEtFyVSMy34xM/L49sAiArY3vuREqd5AEz1LFt9mefotQ5qKFYUrdmQva+FR127A=="}]},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.20_1602860835932_0.8901516619685501"},"_hasShrinkwrap":false},"2.3.21":{"name":"@ancademy/bespoke-server","version":"2.3.21","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.21","@ancademy/bespoke-share":"^2.3.20","@ancademy/elf-component":"^2.3.21","@ancademy/elf-protocol":"^2.3.20","@ancademy/elf-util":"^2.3.20","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"5e849056266f411d911db395ee8f4c15b0e16ec8","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.21","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (win32)","dist":{"integrity":"sha512-mw697fT9xur0fqI5u+ZCKCpeC5XBCjecQtqkuJjOiLQCXkk2IqWOfiK6TvhekHEIXPgnoYRc0m/4vAbpyDIExA==","shasum":"12e75fe4a2668ddccad08271e51cb86034d7dbac","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.21.tgz","fileCount":90,"unpackedSize":843384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfszrCCRA9TVsSAnZWagAARWsP/382JrnRarpZNDvWT5nI\nIhWpEqEk66GpWXGtxPZw79ZNhH5tjGMnJdrIVpBs42C1VHy2YsulemXrAPeJ\nGsW7hc1QonSG+VZ0oXtsBeYmp3fToe2HgvqCuaQFPVyPZckFACaMaPYmarMP\nW/HhklTo+cATqn084WVLzUVYt8gmfl01XvM1PJN5mdey5AIvATwjljEj+knU\niKSB1uaFV+xEanL30F99hRZEJU+rbi5H5FUxrKHR96V2JInm/aTv9X2kxKI/\n6byGZ+ytXoj9BZ/sjrDhp2DH4p7Eko1Vhppczl0nXJk41Bzwg2WU1559c0Ul\nCUGDUQ6Af6PgDWn2A+Spj8gQnT3EEWQN2OFv15WOJqj8sxiXbOwHde+T6sTp\ndU7r+VMY5CCQT2u/BP/IY/wWbCQ/BS19wGl6bOS04ZUda8W7hZmBpSr10tKZ\n7h76t4mBHhsw9x8qlc7jtRnA0oXn8IzJWYFJKBapP1OU7mDdfFtAIuna02Eb\n/1554f0ler2ueOYE2BqAPSJriX+k7Ne9888LaZYHdbA4z+Z04AQtLcRSVKXg\n7QkqWfcCTAEz0yixEUzMTZ3SWTYgvHu+MtF7LgbLFBh6UF0ZU4KO5a4RxHCW\n6q8FAt9w7hNiaLKQQEF9mqFNqbziVyLP/0hsTlRLDylYRRIcjjy3J8HAg5/O\nt9Dd\r\n=rU9E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC406a0qaH5Jta4oxMaFZopAyJFD+dafdRjHTFZjdy5rwIhAN/TLBLZgKfgDaEEH9LbD6FcgT6jkBFw+Gpl0vl/4Q82"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.21_1605581505796_0.8634471035140392"},"_hasShrinkwrap":false},"2.3.23":{"name":"@ancademy/bespoke-server","version":"2.3.23","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.3.21","@ancademy/bespoke-share":"^2.3.20","@ancademy/elf-component":"^2.3.21","@ancademy/elf-protocol":"^2.3.20","@ancademy/elf-util":"^2.3.20","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"295a3b446a0da136cfe62812938b57a065667ef0","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.3.23","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (win32)","dist":{"integrity":"sha512-ZjaOr/ToXzaPWsJM/Fr+Hx6z0dP3Yz/2zmShSCUkTys0umJj7siAEaiJXwgPCx6IBNzP/fAmxMIs/QmeZAXfRg==","shasum":"625a8581aeedbbc523feb06ef4aeb9dedf008842","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.3.23.tgz","fileCount":90,"unpackedSize":845347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxcX5CRA9TVsSAnZWagAA858P/RzE+NTOyU0sYf8jc39S\nk29mpF+4kdwL84Ia9lzExCKljFy4bwsBoeOcTewRMZgiGCz2qTg74Utmachi\nAq/VTPNqXbzhfKOuEq9e0WdgtZ3gavmSg6jM1Zli4+0u+fzfsVrijhmq5uuU\nlxv/x3r9rBAHAecYmEswluI29ZhuBnypttwkSUDQqjxdf53SJV+UA+b/Pojv\nsxEBCdQpRp1xgmC+EyGQQ0ovgNghy5AJjvuCrYInDOlS1hb8HJE5pbbuNLYI\nxowY2r4DjAjvhNGzRgNkKCTA7yjecOLi2la5G9tMhYZ/qVAcGghAKao628PW\nnr2bO+Rn2UqbDNAa2DTBGL7+yDIM8LDn3qX/EQ1qaZh61EOLFiP2Tv6dZMua\njeHwlosPZSxpkXhKs+aTyy8Ufwo7CoP8fLCQ1HYmrdOhLsjl0Gj+Evb8Q88k\n0x2t0KIHuG7qtIgVEvc+vj6pE8sDucUbSwT2hiUax6+PsvvUGkcqoKsdSDnE\nPqCmMloWmuvX+kuEqGygQy9FTSLmjHor3DtTG3U6lPaZRBLw3kCt9S3gky1O\n9pu9jjZ11fhmyTSBrdfebBkTAREwWjpBwTR0acSwDpaQ5qF2bXpZYmJOgVDX\nB11HKzgKOT8bkWpsxKvxZx5CCUJH3CpTQjJaWnJGiDIZjaIQZ9CPitfpX1Zf\nEDdo\r\n=Kyuy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPPxUTMmNqsHygtgSRZaz/Mzuc2wCGnJGeGfqmOW2uGAIhAPOj3JERVUrS2Pffo+5WZpkHM+EyelTc4BSeO7ZQPmN/"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.3.23_1606796792699_0.4290992980758521"},"_hasShrinkwrap":false},"2.4.0":{"name":"@ancademy/bespoke-server","version":"2.4.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.0","@ancademy/bespoke-io-server":"^2.4.0","@ancademy/bespoke-share":"^2.4.0","@ancademy/elf-component":"^2.4.0","@ancademy/elf-protocol":"^2.4.0","@ancademy/elf-util":"^2.4.0","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0a0556dab433ff8acbe2a2c4b3d1fc99bb41c86a","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.0","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (win32)","dist":{"integrity":"sha512-Zb+DO4xANxj8xlia3I5oWPOdBxWQHRUcEF5H9ZkHa7AFMafl/FL9oVmq1efRfaFAFF32BxVVJcgFNtIjO5lGAw==","shasum":"1f7beb908614619fa9a434feecac168c013bd18f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.0.tgz","fileCount":61,"unpackedSize":753679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7aFGCRA9TVsSAnZWagAAlKIQAKTbx+j8WNurHjDCe748\n9/uUu1xSI/SuXvizCwUtfrn993aAgN40BgRFEUDbZnML58Xt15OXN2neyJ5f\nwwNC8O7bMyvIfoZsJslVOXrA9/9KEuVsgqmOu1sGj5ENjUZp25oqsQH1WKPt\nw9hT3IebsEA6E5WsCOZbG97zfPSi6D5DyOpJI9pIbb0DHZjzCkoJQ80XOw96\nl8P0KtoN1ObDnc7X4OSAXUDfruCEafu5ha3tjAzVBREifMi4rz2BD9/TtV4N\nxMVtSruU3pSvcf4MHN1sel31fE02r9me8B/veeWBn0t+QIjhuOfFTYCaKNPF\nSG76enVtFj2sCcLIYUcXUQxxJidIRuIApQSMlUeQZVzLADZZmAWquPPdehxC\nVnoIro/QP9JFzxG56EKTkJDqPhdjK69y1ua+XAguS6PrUuyr6m/ljSaw9Jqx\nkpS5t9rzG3ghiCJRHWNJ9xe4iQm653OQEzivufvNMQOqhrRrbC6TfRcKCd6Q\nJMDqdGfXj6woRH1c3l//UcWo8DpCVg5V8Aa0ude1x/MNpb1NZxVDnoX99fX9\nhCYW7W15eErVbZFtfWgmYPxvsdPYBQ9aqHpBDFMTSUgBHRgb1ZtR2RxLJ7jn\nFOIKu6hpyV6Ac3dx+jWA+JFiuH7qyFCCSL7pta2oPFx0RNYA0JRrgChpzadk\nkMmy\r\n=QNyu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE22/+48iZaRqs2to+G/tJDRgTwkLuVvabM6CFNiWNqHAiEAsVHXoraExFXUiX0OCXiOsLbmmaOe2EOgsg0PLb6ix+Y="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.0_1609408837654_0.22244843272795278"},"_hasShrinkwrap":false},"2.4.1":{"name":"@ancademy/bespoke-server","version":"2.4.1","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.0","@ancademy/bespoke-io-server":"^2.4.1","@ancademy/bespoke-share":"^2.4.0","@ancademy/elf-component":"^2.4.0","@ancademy/elf-protocol":"^2.4.0","@ancademy/elf-util":"^2.4.0","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"95fd5633bd747a1ad225373702ce9bde7d76b8f1","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.1","_nodeVersion":"14.15.0","_npmVersion":"lerna/3.22.1/node@v14.15.0+x64 (win32)","dist":{"integrity":"sha512-60US2WyfuDutEiD/IB8CVx/DxEJcQYKI3BxkXO0xnPZ0iImA8re2FJ6RiAMuMUeh1mYk7StJYVlQM0iDCViMmA==","shasum":"7ceb453581d889f4c7cb249284bb284597800190","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.1.tgz","fileCount":61,"unpackedSize":753679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCDh0CRA9TVsSAnZWagAAIIUP/34DWYRVb31osnZZz1zR\n/HDT/brseb2iM7lfZ22C33r60NG4eOHLB6tG+rBVNz/yifxCmVa/rVPmH83G\njAbLOGQFXLGSr6PDMfi0xyM7llxpjV3KqdndF0pgFSvRu2fqSM3eCHJJ5iMZ\nlYFbuy4W1gfkVFN3Zk45ni2fn6C/gIbBozTUWTjFRN/oCZ4vwQZKv2ehjYcw\nRKomzKxoiP/+hlGI600he2yTxcRSsYzqKyh/Qg9PXQGxmZ/Rdll/lM+8p0/J\nbDp4md1r2JRAdar8/9rP/AAoYUxZJL+AH9ZfeO7stfhU7ftkGHh9tTBmmfAV\nIHGvZDGpIW9yZpoiV7u7YbaHcuX2Qj+XQr10fBLASlvHWI4gGVLYUnfABcob\n/Ul+2I9thesuIgrE7290ax16hGLrWmSF7tYrZJQDl7pZDarkMuQjd76qbb0Q\n2TDp/39q+ahvlqOjjMMsoOkMErXrz30YgnBcsvjMD+t29zu8qo9Ta5MSF59A\nzIGZaT55kaC7AXtoOz0sl5RPMKIi/1JxRhKbk14CgghcMkqdNO1z2GvnFYti\noqG1gdL0DD/kEWrA1TFouqx6Wn94RTLYPWtb/rzVVKHjKwI4/TQZzTVaneOD\n5O9Mo9B90i64OiZkYUGT5zDHaaMFVrGX8gFP8TGdWJYUpWEx37q7jY0sBoeM\nwQ9n\r\n=5+wy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGkNmys2uSkytbyxdSRSs6eR42W/lskMFJs64YdQRPQGAiEApsLOOFidIQblT2AZD7TCHVsaayDt/jNXvoFsvoceeLs="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.1_1611151475755_0.9057626917198085"},"_hasShrinkwrap":false},"2.4.2":{"name":"@ancademy/bespoke-server","version":"2.4.2","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.2","@ancademy/bespoke-io-server":"^2.4.2","@ancademy/bespoke-share":"^2.4.2","@ancademy/elf-component":"^2.4.2","@ancademy/elf-protocol":"^2.4.2","@ancademy/elf-util":"^2.4.2","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"4bc12cf66d2d990307b5674835169ed0deaf455a","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.2","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-APQX6EOzTRNAhEMcs77O9nsZqR5prul0tBpDpZpoZPfoq7Ujtn6tGPskZLzrJkpKZLcnZDLd+pycS0peCbqVCg==","shasum":"97d292b4f11409770234500989e4ee390ca6041d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.2.tgz","fileCount":61,"unpackedSize":753679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMHPlCRA9TVsSAnZWagAAuhAP/1Vkf/vK5Whh9sxty5oK\nIJYrBd63zBWDKTJ9GryD/RgQtMfAAK11eN6YXifsErCbVoA0oBDZpXKCtjr7\nP+dJtgkFE0tCW7xi3psEcWLoEGecCMkIuZSQBpJftFuHnjUiEp2n3YDAyf4M\n5FUndHJP3QVGasoVIefv0dpnK0bvk+Lj7CFPogT3vbNG7t24vrTmujkolKVc\nMCHGgHP8ngLRHe8rqzMSdqUFst+Yl0g4knZ/mqFnXk2RQqPL46zOWE/6Ta+K\n/VxYyQQgk42oqGqumvbQYbVzqUxQzFISLAotSySCJ4KL+ETMIGMa8qsncFkv\njTXBcwNac/0+aFRZwGVl6mcuAlwZDwcn2W8zVSEGFEFuaKF2tCF4GbYPRlkS\nLBHU4DX4qD5Wnmy9E+CdU0P2oMIXMkYRWOw11wg7nbeIfb0pCALVkp8nKidP\nJ9vAa3ZjaGdUlOhQaP8JuXFsBTnO+SXts33aNi2D3drnboQU9584WmkDb9ts\ntJiBEbSW2r1vilNftpxlbwk56XpaHNFvVH+5bxYpksXRrp+2kLA5XezIUNvc\n/1REZgtDNCcfaHyr2ykHcXBSmULPyk2/jeBLj9NHF9Bk0RXGEh0Z8usoNcaB\n+y6X4/J/dknWSGR8iIZK+ekZhsKonFYsQlyMezCOgpARPJNoKArXNSJCHhWo\nOtAu\r\n=b7ni\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1Rd/VCv7T2eQgWrwU348Ux38VnNOqtC8GrSw+pknjzAiAAzu6I5PyeAUzkjJw3IAY5pHEi0KQFqewvlXCG2Lmytg=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.2_1613788133478_0.5805990762125339"},"_hasShrinkwrap":false},"2.4.4":{"name":"@ancademy/bespoke-server","version":"2.4.4","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.4","@ancademy/bespoke-io-server":"^2.4.4","@ancademy/bespoke-share":"^2.4.4","@ancademy/elf-component":"^2.4.2","@ancademy/elf-config":"^2.4.4","@ancademy/elf-protocol":"^2.4.4","@ancademy/elf-util":"^2.4.4","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@msgpack/msgpack":"^2.5.1","@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"e2be110ac1fa5b2fc6258d784c98e4694bd5984a","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.4","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-eUmUuFZw3a1S6JVJES9a3xtzZKgn29FSktMFy7OHpZnIUKbaVS+jt/N4m0sRZixQypYlpZJXOcGsX7IK5UhoKQ==","shasum":"7131ad49def10a84fc6aa1354baffe89c2231e3f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.4.tgz","fileCount":61,"unpackedSize":1893328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYVefCRA9TVsSAnZWagAAhEUQAJCc8I/ClTJeB2/JNSvP\nbazTLdQuaoUvOXtytE8MDe9a3DG8F0vIB+qHg2VRhJOveyYyTQilcSZnzz9k\nSbb67V2vSlWtQ5Dfp8qZw9Epv4qfe3gZyHO6SfSFe9qEGuIbFEhmScq235LQ\nPNENqwKDXFIASGNglHOd+wJyXXmS/U1otSopMO91vWd4HLruiinaZ7yhuaGi\nGy4Sp9TkF5l8RgqzqFjtA8uieJ6oeAff8uZ5jn1Zk5p9shuQysWUEfE9jDRf\nweblGzmwsfeQruhuFPWRjOhHhWJz7pgE2T6zVvyBDlWgCtSHxi5AfduZZJJt\ngmXJb8DW7lcl0znKSKmNvBMCuZKTIHlGImockOvyfTmJJdJnuwTl7qqUXcle\nvtZa9FfaBBd3xAvffAtk0JjRPrfSUk+kKvyDiZsmILFB1Z3cVp4VJSt4z0kt\naHd8TTbS8gyvyd29rYkhNOiweRn/4mhgyWFf32VPRkbNV8JSMpThcpdVNPzF\nxt+/76OABkm0FkThBxPC/A1AbEEtgPhhJz8/xHJWqDCB26Sa1XxW+CgiV3YX\n0zbna/p6v0CiF/4+97Ac33aBiLYeMYwjRo0xiIY936LqSO/y4tFGRdKKMFpT\nlI7B9ocErXUS0eydg5PGJ2h3uA9FMxhkCoJ64nKwso/vCB4EAUWfodLirKho\nMRBy\r\n=i1Ur\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpoTkGjKDTfvNmd7V+EaYL8KblI7FyAlAI9pB0301qZwIgTUILO4dTaParlHVS7gGWv4S3fQiXjBoWXzrvZRNd/kQ="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.4_1616992159314_0.8105554281815865"},"_hasShrinkwrap":false},"2.4.5":{"name":"@ancademy/bespoke-server","version":"2.4.5","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.5","@ancademy/bespoke-io-server":"^2.4.5","@ancademy/bespoke-share":"^2.4.4","@ancademy/elf-component":"^2.4.2","@ancademy/elf-config":"^2.4.4","@ancademy/elf-protocol":"^2.4.5","@ancademy/elf-util":"^2.4.5","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@msgpack/msgpack":"^2.5.1","@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"50cd952ced08aede6b930217c3f996094e1fa582","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.5","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-e42BhsrfKGhedksyU1lidu3FfWSQ0Tjmx8jmiDgjCdJHAOc5Nl2kUDaxMNt/vJzbqht0QfjeuCNPDltLsf2Nwg==","shasum":"f260f5f59705c7c89f54406c9766bcee78c30b9a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.5.tgz","fileCount":61,"unpackedSize":751812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYeWGCRA9TVsSAnZWagAA8E0QAIIDpohq2pnF2jkvu5M4\nMTscj+8jtiyn7wLLZCUxKey1oOmiVxj0ObuB0kD3kQEdHg2zRlHyd6PTW8we\n/T9NWZ2pysmVDDCf5zngQ02LQO8m+eQ+38XcR194V3GE17j+BO5Z1lchhm0L\nF0ZITiwbUbFIYL3quP/IahGIzepxnjk7WhQ45yZERbpg+tCEkFygPteYLprW\nJ9bpKwcpIetmSbq8JSYVlM3mqxsxi5RXVSpyISmV0jOIs3FNFoatyP2Zr+w3\npEWSpB3Ec9f5lFwBqkOP4SrUrinUCe7YIQAdnW3luVdi7P+pq8Qw0kotmJyL\npYJGW4tsSD5s+BcNyNkRi0i9w0JXmq0mfLgpoirxJ73WrJNgXiusgJVu4irb\nSf6nBFWalSN31c0A4AjEh32xz0XNbkLaWfEgJkbPCwyV/zT3AigH1dcQiAeJ\n8cLGHxBqZyQswvcKNytC/hNgPOoUShovfEMhaqY9miHYdMMpNgldypMIM1pw\nR1XOX8i8V1HGrpHQyPcUde8/LtzDYvpfIZ/ANpugZZCySf2BcdpUk3E0mul8\nop/funybDhcsrktCtGLnrgRS4gPpois18rcY8I7kaRFiaWRkdybk6FCEQo+p\nrmmBXFVoNQhirUUAb7FEyz+c3kIFkJw3MR7zVIjx18O1irnxfY1c76HqBZBj\nHgQg\r\n=e7bK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4JT6MiByorBvpJaujAOeWOwWrXiNTI6Q7+v57EgywDAiBFlpBbKdF3IJxenawNVLI5t88dTDJrO5LlYREbUUgucg=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.5_1617028485911_0.6500915867448409"},"_hasShrinkwrap":false},"2.4.6":{"name":"@ancademy/bespoke-server","version":"2.4.6","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.5","@ancademy/bespoke-io-server":"^2.4.5","@ancademy/bespoke-share":"^2.4.4","@ancademy/elf-component":"^2.4.2","@ancademy/elf-config":"^2.4.4","@ancademy/elf-protocol":"^2.4.5","@ancademy/elf-util":"^2.4.5","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"536e0b4a3f3c86a292d30497aada6f4ce27bd6c1","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.6","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-P439FRP52RjK8jb/PEn/jUGha2YO/6gw3C4xljr84yabEzhVrIpVdlV0ygzbl9G+VzXUUuoYyo5V/FRk1pe0ww==","shasum":"abcf92695d67445487b21843a8e3768fde22f98d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.6.tgz","fileCount":61,"unpackedSize":751812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYesrCRA9TVsSAnZWagAA9S8P/imgEK9AR9+S7C0oeI0j\nhWaBqpkRq3wHtjP5lHK0X60NhjQy4ngSO0D/3UvhAnw1CImTO7t3+J8XlnwX\n0Mv1WnzCTQ5TKzpRiQMUR9mqe9vArOxS4NxNmm2EVzL1MihX/GvgV/KSoB7K\nOn6mV8sEa2VWbhwrxAZeznemqbXKfGrblnrjIPbtv/ap1MTvtBVb4Dk8YChH\nBNVnwey7dhRN92IBWB9iHg0eUGgv+N8bQJR5JuvW+JmZkCTZx9kj76UeD8Ot\n2tIp1OPg4rilsBM83Q3+QndcY173zjmE4l8fr/5wxDITPXFuM1Y5/wujtgzG\nuSoA1CwdshxPQwgzjM/cWcIsIK0zfxyuoWRYKaXrtiOh3y/pvGISBBes/1+1\nzajZ1YGMPC0qnMRPxZFpIpsfzf0+7nGLj5cOQjYB06C4pVU6COHlY9Y5Xjdr\nDQn3ZIShFsLxqpIGCNBsFFgIiRcWQp128m85drifqed0cs7ZyJ8yqX+dzrEj\n/+TfYyKMbOJeP8j9slmWA2XFTKAYtQ7ueOtYmDIkHpAyN1tQ7+I4TY6rF+Z3\n5cz11DZnkiQ5Fqa1yJ0Zh/f0p0lqctP1yl5wbxLVfFoJHBNq/Tx42JqQL2AD\n3MEiMo6vs/2iZxVlHFXEmMZImO+fbitRvyI4/C3v6VlpAocoL42GOXKOofeD\nQqsQ\r\n=fQsx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjwwThLXS7MBjYReUmNlkJLuYDqPRo19m54MnL7et1RAIgEGVrrR7TFLP6J+SoziHMMOb01Mz3ZA+LM32ifeF6HGo="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.6_1617029930609_0.8071128618669452"},"_hasShrinkwrap":false},"2.4.7":{"name":"@ancademy/bespoke-server","version":"2.4.7","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.5","@ancademy/bespoke-io-server":"^2.4.5","@ancademy/bespoke-share":"^2.4.4","@ancademy/elf-component":"^2.4.2","@ancademy/elf-config":"^2.4.4","@ancademy/elf-protocol":"^2.4.5","@ancademy/elf-util":"^2.4.5","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"ed66eeb1a75d41c95b7d709e1e7312ba030e976d","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.7","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-ELS81SA1RjzBYXF3kldUo0b5wCsUQ4c8L7ICiJNuJe/cTM+U5iko8NswpOjMDjZfvrRZNZix/HWYVxI9cLf9zQ==","shasum":"af8646ebeb37696e7c15a2ffb33d02cda8fc26d4","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.7.tgz","fileCount":61,"unpackedSize":749821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYnTrCRA9TVsSAnZWagAA0V0P/1nJmYwtJ2Xue37jHZ/4\nvMRDfa2zXRqmb8PpB6PumnYuxj8mGC93rL+FxTa8M1SPvCM44EZ9oSxiz9r2\nEEY15R7pndL8aAcPUGloHtLOCam2NbANV+5boxSN0+iHzdRFgBXMb5KJCmUU\nL6cApsle7qMzTvEvAALSImdIy2Hg5yvlCvDK8nsAvk5Kq8cBbu5Ir3I0SoVn\nFd3Rog/htw6eq0cNSbH7EfL6r7DAnBa2/UDaaPv+Nb4Jqp80BQnhesFKYqbd\nfHHXR3EJMcab5WIUwv5TKAz1biAH6g9ecGYmU1y5Vt1G1nD8D61sC6uW3n9v\ng5OXgUALmBsF3Yy+WOsZja8hTl/ArzvniWEe5tWXayQMwgFkYMt46LJQMRJS\nfRLzlUr5DRnuG28hFVT0lIVA/JItZqDWG/xDo9WQ8mv5vNl8cxv9CnaKEqA4\n6mkdiIYxeP/6JldHmmJQm4xuHVWytL3AFXa9BYODYOJA9kXBItVx0wKsD4Qo\nIJg9qlIfSMdFLES78Hw+ME5zz6dhsewC7QURhu5omJ3TNTuuYSvzOJjFntu2\nI0rt8YGjgFm38mmn0Tdjc7kwJ+DExiFddBu3Oso05aWOBeiuanITsLy68H9V\nAXUTheS1HEyvqwSWcmyyJsqo2VSyYekoDf2FUkzbFiQeamDxGhw4E218z2iF\n0E8w\r\n=ZZeI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAvQPh/l5Kt/iPX18MceVX7pjU068tzYQ+hqG2q5soO5AiBx/heGCNtG9/iqx2XW2A9cwuZUFwKlYLUYWU25cBRxVw=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.7_1617065194904_0.7084540452706918"},"_hasShrinkwrap":false},"2.4.8":{"name":"@ancademy/bespoke-server","version":"2.4.8","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.4.5","@ancademy/bespoke-io-server":"^2.4.5","@ancademy/bespoke-share":"^2.4.4","@ancademy/elf-component":"^2.4.2","@ancademy/elf-config":"^2.4.4","@ancademy/elf-protocol":"^2.4.5","@ancademy/elf-util":"^2.4.5","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"22a753c9d95f830cf90a607ee7bea42294095366","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.4.8","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-KtQo88I4EjLoo4hkcHYLzCvk8u1snS+FvxruoQI9+tiKkwTfIPdWSPCIYATGtkxb7pgoha1y0+aCsHWnFl0skQ==","shasum":"3f45ee3cd1ad02f76b8f939873b1c3225bf5a1ab","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.4.8.tgz","fileCount":61,"unpackedSize":749804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga/xPCRA9TVsSAnZWagAAtk0P/39xfzyAT7zr0psMASow\nu0AO3Jg9jGnHvoefo1kdbg89pc6WQ8sHO6t+LMVUe6WSv+iMTa1+auto4uzR\n/f/xzDjLnPSu5bYeAp+wBq9+9dGTMy1X6GarvkSBI0/9Y2Fe6+9+k82o6hKo\nUyCEOWetd16EiTFsIO1JZybdConGwX2jPZqOWvtWLNBb9P+ZeHCbeXz+WX8k\nWWb1UyoN5O3D8dykCSKPZf85oMfN3mboQAg2X0O7ieVTqICktsNvTnBeOQxa\nzmO0aiH9cNOGSO/docnSBp/UWQUlclalYzXDrxnkKy/Ag6fIygbAoeVuDF3o\nl9GM96FJg8iklIDenhIPCaitdIN5YMEzB6/zTdPYDptR1o2nuWq2Cmomy9EN\nL4cA7oIOXumMoQiG8ZZxOlBRUEiZPPyyRlRqc/lOPEeZbKRrxEGTgT5F/Pb4\nE7uI4fOeRpAxJ5VbG6GymIe33lw8IlK/LDBuhCzwH0C79C8ei9sn1EgmobiH\npkvIbft0ZzVqG9JtzbxxI1vR3P09FsjYcxkvln5ITc7sztSoksUE6KQ5uAxX\ne2HunjZy3xps8R6Vf/D+SvjPZ/fJMbr39QvN9kR6jSg7Hs10oIq6Hed5j4J/\nxrFxsN5ikd34xfgfrB3NTRoPulHgS5dnK5BDkAbvILZHNVxPa22N4zgkCxHH\n3gNm\r\n=2toN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHxC2pnp18f/zRQvNf2qAh62qDYC0f4gIiKIFWlB8bV4AiAAsBOp2cBcfmdpo0+RPuf9l5QpVl42Y9MnZGPjkoGuLQ=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.4.8_1617689678619_0.8220499033903541"},"_hasShrinkwrap":false},"2.5.0":{"name":"@ancademy/bespoke-server","version":"2.5.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:build":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:dist":"npm run client:build --buildMode=dist","client:publish":"npm run client:build --buildMode=publish","server:tsc-w":"tsc -p backend -w","server:dist":"tsc -p backend","dist":"npm run server:dist & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.0","@ancademy/bespoke-share":"^2.5.0","@ancademy/elf-component":"^2.5.0","@ancademy/elf-config":"^2.5.0","@ancademy/elf-protocol":"^2.5.0","@ancademy/elf-util":"^2.5.0","@ancademy/game-server":"^2.5.0","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"5b54f1d6d7f640b243fdab2eddc4d3e31f199d3e","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.0","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-+STYuu5CBoy2h3Hrv3jXajc7Oo3MAF2HHXphYuEVOPM3e3RncNzGAVY6rMMVz3SoPuF9c+asGymRRZp/v1jKtw==","shasum":"12499c17988cd64ceb50d8301fd39c13c42832a5","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.0.tgz","fileCount":64,"unpackedSize":757021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdWQGCRA9TVsSAnZWagAAl4AP+gMeOMzbVgfOiXzUyW13\nDMGyEaisrXvO7R8wkwncCLPs9NiCmj4TY0WyYbODtksSf+UDIdh2xEvyfiha\ndhltl+kvyAYqEoijLHHiSfxPqrI9X2v1pqH/cS+yIrNqYtWeYOKYWvaoYQ9w\nD0M3zngJ3R1+oeqs12wKROSiuaGLdTfSvXGwtET898crSy/H7Yj1RslVr5jJ\nZ9mn5JomjHynaqRuvawUG9OJ7Kif1kDzHMKuPcwb9c1p8bjoOOZa03Yn9AoW\nZpzkp+2VPU2wQG1PicYaKjoVp2ZLAdzUNpkN9zKYVVqLgi88Wk5kz16DGMw5\nS8hMiZSoizBnzb3P7PfMLUX+TpK8DthCqjGx9dKxEqHNcZhAw7JE7eczUbVc\nEDcaOP5kj2IrdiXYfhmEI0FwPjW6qFWU2jCc8FjEfWWsHQCpTCYyJseDgcJE\nOx4ZP2cV+NcQ5ZChaWxWLMx2Y4LsbfWrugmjzL6Lh6idkaCZNL68RxsneXpE\nQhNqg8iE5Wopf4yjXhro635XCxpdm/BWCdVDegreXwVGEAxeUaOCP+mJprzZ\nEr8lVoa5Rr9Zm3/3he6wxkxM+ckqbk4r8PoJ+we4IJbh4S6tJVB5dTsyoqQQ\nE/CrQKWGTLcaLqr1H0UOpZQWo3lLGCNwXTIKe5rVkpWJPfKLEZIipnEJpFhz\n2E6b\r\n=AmYs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCI4eLEOHF2XJzzLosSxtNYbRqLi1EEQJMYJ/GIRlrGHAIgaH+3Khapw9n7erOqI7IxNfdRpyG8QFGPytQt/NZEJ10="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.0_1618306054010_0.32235277872774515"},"_hasShrinkwrap":false},"2.5.1":{"name":"@ancademy/bespoke-server","version":"2.5.1","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.1","@ancademy/elf-protocol":"^2.5.1","@ancademy/elf-util":"^2.5.1","@ancademy/game-server":"^2.5.1","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"3ce4d85d61d5db598b80629e33d7f52773dfe88b","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.1","_nodeVersion":"12.15.0","_npmVersion":"lerna/3.22.1/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-oqbmMtzBPMnoP8eaa6+2xKJkAX9IXLyF8clSjKZZsSbskatl44nRkVIw/bG8h0Tj8awNwlvwCJIuItGDPxgv3w==","shasum":"ecaaffe9b690d647113ac40e30afecaaf7228063","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.1.tgz","fileCount":64,"unpackedSize":701426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd51wCRA9TVsSAnZWagAADqcP/isWxsSgU8oXv/TTi46x\nZntwGymc+e3pNllvCVtdQX+vaHhjeLhcnyzm0mr0yXWRhdFL37NoQetXoymr\n2yRUxzNAgd5FAb1HiS45MUa+wnSNu8ebzCugIi+H4l5LnlWTDs6Hk4FUQFTg\ntxD0JLh/+uRfauMVbVDRmg+ynmoKeulS6di38Rw1OyzOo3SMinHVncIc34A0\ntctG5n8pejteCcjgFUYlRmnsiKBbzsgzsOolkKqo26RG60JdIdqrzlb+vUBT\noE7/b2yEFfh5IoZb87jKggTyA3vlsFBTcrKcaSyb1gi7FJKETuWgYV/J++15\nB+sswkOaZcdnm6NPv9EtRdwTi8nduCVUZlSizt5/ucSUz5MsJQxgW6t5tejX\ntpBb+5BpGv21K/5Wo7C7Shl5o+Yz+duoElcAxamChmb8iL2ae2YyP75SaVli\nYK+MkclF59FU1uLfTq/xGmbwLs/q8oxRjAqGoGT2BRf8m9I7iWOWwIdQt9cS\ncERVTas26kxb+xkvE1gvpZo0vmvLENrdenrv5Aag+N4w0dvelQsVfqLWNLoQ\nUFHhZBVhndAO9gqziqp/ojHV3ABCImOfF3w1MXMRCo27Zf6YLs9VMtgkXSam\nSMOJ8XIGR5m7rKZzoJSi1a9I59to88WsejevKRzhdherktNZixXQopwLmNBK\nRzjg\r\n=rOYp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBcsFpaKjQAo2fvPZhtBQzcWAkM65m8xXFmKFLdQYwymAiEA5AUwUqrXA+c5494Lz8tKFuMvVSV7Kw3HciV4Tfb1PMs="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.1_1618451824391_0.46322114878226417"},"_hasShrinkwrap":false},"2.5.6":{"name":"@ancademy/bespoke-server","version":"2.5.6","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.1","@ancademy/elf-protocol":"^2.5.1","@ancademy/elf-util":"^2.5.1","@ancademy/game-server":"^2.5.6","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0145db234d4173090cb8e960acff533f36ebd330","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.6","_nodeVersion":"12.15.0","_npmVersion":"lerna/4.0.0/node@v12.15.0+x64 (win32)","dist":{"integrity":"sha512-EXgf84RY//2oKBgT0IG91esHF07BY7BtcMpLxYzz4263azyyD8SnNcPbTd8qhveVIi9a5+a+pzBPzeBR4qd5Gg==","shasum":"6948d67585c3eada81b918a7364435820d381db1","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.6.tgz","fileCount":64,"unpackedSize":699524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfNqHCRA9TVsSAnZWagAATA4P/iJHy61WXXI5h4m21biP\nvIXkb2wdUnTrIYwfyvEg6QVkzaw94WLn2NTbzaAgI8J7mE+bYbJfvXULEeaY\nNDxnJzO3M5oU7Y3VTe6v2FvKAOLQ0GAkIjCA1Nw6PXLV0qGvqGhB45J2AZxW\nF/34ea3H7HkNMTlj9JTTCG7Dy18PaYxvjrfNfoz4F5NnkgYRk0vR+Q7XiRmV\nzM3y/d8Y6RmUabhA0iKDdnG7Zq+bdpJyMGqyDaAyRlxrGF/9/CuDtNCICiPs\nggo868peUNFGluOW38rcgEYDgX9IFhDro0q1zv0jH86e779K0bZoB/r9KtRb\nbiP92GmeylzE1MzGHiaN5ojeG71kTGlXhxjTBBGkWv5+QQratsKnqyzJ2AiH\nGqf+TbvjzMkn/9hNAmLRScra4xKGQYA/DpMVbqj6sjTMGoXnMcdBygTKtzpC\nJj/4RuwyMHNmQ37Uwv2pd77TD4DXvZaHLKSk0dELrBsZe/dL2xe8kXSHHiFT\nFXdLxiMd2E8TjthIycwbPKExK8x+wLq4/4RLXxvRMVWY/QwSgmFqe4E9Yocf\nqBG+86REiKWGdIAnSJvo5jr8acJRD/uMs5XCm7d8uGagvF8rYGLDpPV5kQ24\nWUJM4jdCF692hyHfaxRHWTzoGLUFL6JwopCOHqDWrVMiNN//TnHpG2i7JE9a\nsTZd\r\n=nTAf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCcntVQDEOUD/q4/pLFnzlY7J+PDFpc9WD62qNl1Z+EAiAtL9gEpYUKq88/BBKgl7EDMRUKxxO7iABOF4oruJeNXw=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.6_1618795142511_0.07870203217531446"},"_hasShrinkwrap":false},"2.5.9":{"name":"@ancademy/bespoke-server","version":"2.5.9","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.1","@ancademy/elf-protocol":"^2.5.1","@ancademy/elf-util":"^2.5.1","@ancademy/game-server":"^2.5.6","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7eaa485d0dbaa14f705e0b39c29d00237981a916","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.9","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-o9d9qDqm5qKjjKAaLSsJMh/0HPDuE6QIyzIMwaDKZNnCswM0iR7yE52lDQVXypC2WSwftkALN+x3Wqg3aS1F9A==","shasum":"534b6994dfb05304c44ac98191bdfd7e060d7c99","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.9.tgz","fileCount":64,"unpackedSize":699925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggDOiCRA9TVsSAnZWagAA8d0P/RV+wQX9xxjvPHTJghEl\nOORxUa58VtRfUfND3/hD42kXwcGoyaiySlC2dDTalFI2iOjkKcee9J5sMaVk\nvm3n7YmPiMkPEZRLozPR93znwfkoPexRJ+OyQSvfFRjE0X+jNrWEf9GEZn6a\nkjo+KTlmDLfCHtkFf7XFvw90UjmAuzTbVMiR0bENIl68vTUPZ97kVYcvVNtt\nB7hXaYsREVuBYF6/8ZYhizLmX2FamBn1plwx+wER/QvmnDCn5AW2moxN9Bo0\nVPVnOX96i734cHFzE6+Ysfhk2REKyVQx5YZsDL6x4ms7HKItgaPNkLff91U0\nRYXCi76oudKc74uAfaiiLschjguDGCVPohDvUTlcco0ppoA4lK2X220VqMOd\n6I9rP5uvCOAQvxDn7+Qv0qZZF+lLvXDcTLeQQaCoKBEiB6rACjFcGWROTwOi\n9Y6QgbSDQiGec1MNM/Ih4TChcLeGw/rnOaG2QwWxp1BG0e93lNywSTcIoe5k\n2jRWvq0fVMF5Z7xgspqJ/tBTFVp4wW34PacmynBnFsGnmMPTTh9iE1rU9Gha\n8IYTPTohJM5L7Og49oJiT9NmDii599BAXDWAQTNqHZhaGk//95bI9C6LNblP\nJBzZ4zf6eq8hYxcnOdUBWGZrCrpzkR6IlVzEXBkSt8zIXSlgU2fzPSCfTcD1\nxsnI\r\n=Fscl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOUHiLSaIohk7+lf8RCQK5aak2kcNs+7LSQZTRr34CAAIhAKGdz9XzvoyWm2dNDyIoPNbWx1nEb/VMnrYpe9ar0qee"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.9_1619014561500_0.027837462880869523"},"_hasShrinkwrap":false},"2.5.10":{"name":"@ancademy/bespoke-server","version":"2.5.10","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.1","@ancademy/elf-protocol":"^2.5.1","@ancademy/elf-util":"^2.5.1","@ancademy/game-server":"^2.5.6","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"118b00910b0dd3cc710f3954481ed3f3e12209ce","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.10","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-ZANVuxkDSZp4wU9L3KqptY7oM6stZfHrTq586znJ9wC+ZEfo4OqcqzKIYGcR1yFIDdq1Box7FXJtokXFmbCChQ==","shasum":"213aa834187e3623c64d09fc3544d4b95029900f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.10.tgz","fileCount":64,"unpackedSize":699926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghNaSCRA9TVsSAnZWagAAlTEP/i8xvj/4vNzDiKSxVEMU\nX9ZcLdmEdJLwTqMYL2JOxag7R7Tc/mwELsNaiZrJaVwOIPrZGDwlHVdwDX6M\nGI8wlHG63c27XOgoAyjIQvA79/ZPvH1n6DUtbqOj+q+KSndHz8TrK8RHhlzc\ngVs2FfQqm3glDlpfpm7KDG7sWqLxcxdOxp/krW8y8lWcG3P7zan7BxGKXE50\n3Nk7EWgLOv/BDQD++7tqclY6IXvY14WC2X20hDBzIlJeZ5/LxMC0BDfMa+cK\nl+BldMgPyuyt+AOm003m5rcR0Kx1woQOxXcizYvczJfmyrixVFeaexyQARXq\nXVUpM0FcLXqwIwphTpBvo3Myj0FdlHn7cT4Bw7eHxmh3KlGd2jICtMCFgLAg\net0Fhhydyli9nYBp1JZTIs7F4qci2T7gbSLZHp6Hm5p0ByLhjaKq0tdaQ6Gl\nukDq3uf6aXMXFi1U/GVfFSnNyqFDmehlJL3EG4P5HNXrl/xygKTxwpwKGR5c\nKC363f3tPiUhTTybwPQq+dDQVCtfuFiqxDgNYzGGjvRAGqWsl9dHQzfr8YLm\nVZI+jC+C2MSuv5XvdUPfYUgwZ+C/sCiNwDSuUvq37jVz4gDwLj6GoHH6ePfq\njxTDu5MSfb6Wr/eU8uHItyyGEvy8SxeBWIp1oF7U0B4OTyiDsC6Pw0D7fgxV\nv/7M\r\n=YfrN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaVEcElHez+vQJg7Op5jyVZAuCTx3JbnCKN4BKR3m+4AiEAu/NnvXg+cjtDmni5Ek3pgo4ZOkQWNF9s+PnB+5ORguk="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.10_1619318417887_0.9249524702523393"},"_hasShrinkwrap":false},"2.5.16":{"name":"@ancademy/bespoke-server","version":"2.5.16","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.16","@ancademy/elf-protocol":"^2.5.16","@ancademy/elf-util":"^2.5.16","@ancademy/game-server":"^2.5.16","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"ccb74dab3d0f8e76336d24b2dbcb1bc9e7075be7","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.16","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-uTUSHOBJ3D806OyBYjyFlX2/gowuO2a3igakTdwT+QOoMqNf15EpFS468mGt2DzWZ5yTolZSNt6vi/M+ocvGHg==","shasum":"4c4856a1498576b1fd278b0b74f2b340afde9d61","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.16.tgz","fileCount":64,"unpackedSize":699930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiP4xCRA9TVsSAnZWagAATFUP+wYpdjKs3m4gzDMJbKvW\nMKRXf1lhbrzb+yBClKJOSiGrdtFo7wZEv/sl3I5esJUUq7uauwlYCPdTkq7H\nHubDSMUag8hfk32Xl/qv4PrFqLAqb4HcjArpOxhZxiZT6ZDgqYOuF4vIRRlb\n9lgmwuX3HvbJ3P26C2OIzrURIc0lZmZCYmKNgs1J+DXl+c8Ii7bG0Wjoq9hR\ndCYoG/YgtR4KzswJWUAzKG9dYYfoGidJ9jhzHPyd3gblGGk4dlzeDWnqEWJg\nKkGN4tGdp8dkDY2U09/Q8mkHlXKYXWayH/+O8zPHVOutDgQFsEqQ8Fh9IQ4r\nvBMfoN7Ce8y6oVckVHmz3/zf18lNR4i3IQHkH5Ewvt9Yb/UqdgIxqfL7C8uC\nGojAibMBgtT7e8SEbFVtlyAsrYA96+L1jSLKD088QcNQhfVMloFLci+chZkP\nwrgvk7Qaq4OpeR8dRJwBMf0xytbf69iQeHukq+/WasbzMfx+GvMZhv4KIya0\nokITSsICdGaFFVhVZJp7EHXsl/D8LFwqLQQGur4lTYIWzzax7kUexAsOa6DI\nJum+cXYJfH4LgsJL6M25KmykTq4AAjmFwj5NZtxeNxQ5eZl/GbGnwigwWwhN\n378K3UYDu1DqBceU6BlaljANeI4hjpmcDHpQKXYEn9KytstptUV/YYBM4ImF\naHpc\r\n=wcLK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFLsPX+n7R4LYtjmRSV98TSsHkQxZbyiJxgbyNczBtVEAiAA5D4Ft6DWcvBwF5cpSu0aZ5cRb1vMMJW0OUqIFtBMjg=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.16_1619590704758_0.17170572674129203"},"_hasShrinkwrap":false},"2.5.17":{"name":"@ancademy/bespoke-server","version":"2.5.17","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.5.17","@ancademy/elf-protocol":"^2.5.17","@ancademy/elf-util":"^2.5.17","@ancademy/game-server":"^2.5.17","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b063732e9cdf16ed488eb367ed198e29b3e8ca3e","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.5.17","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-mi35RR4urNj1PYn9WU7fhEH7EsS4Ynudji7aYCpafyMBFvaWQ1VPPjnGUw6Plne9kC6LR7rD4OOhTwMXlgBMdA==","shasum":"f868b22869e8f52c4319f565ff931aa21595afdc","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.5.17.tgz","fileCount":64,"unpackedSize":699930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkU4uCRA9TVsSAnZWagAABFkP/iM7IgaO2tomKGx3+FYs\n1hPLrPIu/MdTcTf96Bhe0r8EhbUUJFlrIJX0lMOP/7ddZO1yf7Bf9AUnBGvU\n13N2j9zCIrxtmWYhPxC2hRSRzfSla4AAQXPgwg24n4em/TKJH5jBjqm7/Irv\nlsGOx7ZYGseoFHU2Zy1EHnWNRr7tVzVgpyjwdM/6+RcSpKfCLzLKR3bBPeO5\n40pwQiKnmthwra42iZoYjAn4/E1xwpR/cNNFhRG6rU9e3UOeE14WsTvN6kS8\nZ1f9mOWEKq0TZgQKtr3vHNaJq5bWk6iDlVNDaBymVPMzcvQS0npUmSMkISkA\nCFtLPmuba7qEn3Y0VqkakUUI/Ld2ErXKo/atHcCVHem5a3sq0KkYPWedeJ2B\nE1+siW3thUdowXRXmtGMOXrivvEfdVkO6QJ66itBKPJK3P42M4QeT7CUtDqJ\nvEr3F4jCkkG4RB6x1vvJu4F5dANXSBNuNNKSlhMLQskUM8MP9wscSmIiNFlX\nONLBTqnJclebN4xB7ZFHjfgaXgNLB3tGT/Q9mp02UJ8qX9fgjlELc+BmGxJj\nsnm/bUKHDkm8Xd/DDzSFoLf4tEL6NgApmi+tHCHTg423ouadqoqP/B2rNtt4\nT/XdGp3hKhc7wJCKEXWQGNBbz7NgS/dKTZsPVL6hRmvQFfP1KJAWTQSguU8V\ndnUQ\r\n=EaTW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeWvYZTIl0F1jo0Cd7SEx0tNtvd486C++kq4i4YQTU/AIgWWkWllQyZCjU3X53tDNXRFnFFggFfN8PIy+OBpSmz2k="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.5.17_1620135469844_0.22049062995294388"},"_hasShrinkwrap":false},"2.6.0":{"name":"@ancademy/bespoke-server","version":"2.6.0","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.6.0","@ancademy/elf-protocol":"^2.6.0","@ancademy/elf-util":"^2.6.0","@ancademy/game-server":"^2.6.0","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"bb6d2e68d2447baf101da28bbb9a233d438949e3","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.6.0","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-cI0U6r5kJMwoeOrH44ii0OfkXbC9JzxFbUUws/qcNSEAMyZYx7ncQjIPamG9pzacgIohnlGYxjiA8v/AD83jrw==","shasum":"2f0f92ecac296cdda27a54b79e2686799555283f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.6.0.tgz","fileCount":64,"unpackedSize":699925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgojscCRA9TVsSAnZWagAA+noQAI1dcLw8qp4oMy1+MGFJ\nq5e1T6AXkEfHWt0fpvVebtKAvUXnSo4zKeTkLBbSvFQ/bav5KvsY5R4NenrY\n3tq45QqO7VCTmsgX38BRXqFXNA/WwX51ZNKZYvvJ9szrBLEJqON3mhA5wugn\nu/0hpV7bm96a2y1ZNnhYY5aUBLvB1g4tlMuXdLl6rXUn1mtqO4lpqfu6v7Cn\nbpWbi4OTCEiDxr+1iOpPoEYqd2/SGSKH/n9nNuiEXvUVhVH/GpSt+Hjvprve\nlT5ZAXptMe76ia7425OuhrcdVR0i2UGaDHEs8AkpwIsFF0ZrCS7R/SGSljGb\nGuFhfsTI+seJ1H1slMZrh47/GvibmPOTeOq6lEWbdwrCCd/hDTEYP5iTiVqU\nHPmEnV44pHGu0+tByY80OpoIgOceMK837ojveDjxwYJdqnjKkUwm9RmUTxVm\n9nnxlqNGWMYb0jbJL1LhUPmrrHeAvBO5aws5MG9rdxk7P16qg9cl29UpRHag\nHfXruoceWVk3pt5RCUYxKFGpQ9iB7Hj3wXvUtN1l1cGb9MsYTHGpnT2gb+ml\n47x0kiy9SFwh/w3zfk84tcizZhEoN6LShKqC7yW8VMKQf4uwae8IZGba03Sb\nO1P9jehsU06mbc++QgHs36CI6v9K5RpOSmctgUlrOjpEgZuly+U/ssysrVX6\n7t5m\r\n=OtUN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN0XEwP0QzAHsxxw0bi392LqmOHPVCCGOuUZlGf6wungIhAJmC1hAFFzTP2/XoI7sbkPQmL/Wlh2B+WO8ClWc474Di"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.6.0_1621244699698_0.7401889116784022"},"_hasShrinkwrap":false},"2.6.5":{"name":"@ancademy/bespoke-server","version":"2.6.5","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.6.0","@ancademy/elf-protocol":"^2.6.0","@ancademy/elf-util":"^2.6.0","@ancademy/game-server":"^2.6.0","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"474bad3420cead2b633b7027e89306b46c9e5ed1","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.6.5","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-xr5fM0LGyxlK9nmzQRiUUlWarRVwCQu1FmqKiKsuFJ+SOoUi4YxYKZQCNkXNJVbMWQbdI/Q9vcZE2NrV9KZHvQ==","shasum":"c9728c2cfa160eb9459419232a485401074ce294","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.6.5.tgz","fileCount":64,"unpackedSize":699802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx3giCRA9TVsSAnZWagAAblkP/j8fqLFz6maAbtTsIxwH\nStnjC19ZmvRrX90IDawgYPac/RUokgUhbfnb89XERlOoDcXod09GQLrdkKE2\n29qt303RwKl+beGxmqRBc0eW9EESJq0PoEVpX4eWDG6woR8lX5F5xsIobr9d\nwsDhXg++EA2Ua2Z/EkBXqq3ICMAkMWD/F2tT9+hH3PeNHy97ePR2tzLrKHVq\nm8KYrydwx56xlTTEtOyV0+xRgkeIYg71TyilIY5nQCk79hG/N8LvUHSlPD8h\nNoR8qv4CXToFl74iSRPwh4uvFqbo0gHO7CtGzd2pzcoc8yzZGKUcbqhvoMkh\noklRwJD51fjeSkSTiaUc60O0uL7nVgew+x4TgBg710HOUkHSwkuJCPRi0H1q\nwgFTVQIk+OKUXBFiahg/Jv2JxAQtyppi68hlWsQgI9egne7PR9DFRWz1e9KT\nXDk02dDHSR0aJDb22dXvbcDfu2GZTSOzOI50fzPnmWlAx+Fd12Q77WZhLEGo\nIdADzMy8c0hZ9Co1fTItzSdIJ0RC0BPKaqDKPHOxXZZWBQ1eqwQIL8DayVBP\nAQtimhSYzLGigtAWs9ZkH0y6UlI4K7EtB1waHgQc9FNq6hjwBpdKgx6c0Twn\n71X0lIM0z9MHxG0kpVbD7lpLoDgcceLOBsAmlsy+qlqoSNdnmaeZxewfxvOM\nn1vc\r\n=INks\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdRXzOGDJogeJykaPvPam1d6BhKi0H3smxq1oU17vhPAIhAKso//GGkQsul0KRpjKEpgTwDm5vSJVwjrsIQE6zmTDm"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.6.5_1623685154367_0.9416271227922657"},"_hasShrinkwrap":false},"2.6.6":{"name":"@ancademy/bespoke-server","version":"2.6.6","eslintConfig":{"root":true,"env":{"browser":true,"node":true},"parser":"@typescript-eslint/parser","parserOptions":{"sourceType":"module"},"plugins":["@typescript-eslint","prettier"],"extends":["prettier/@typescript-eslint","plugin:prettier/recommended"],"rules":{"prettier/prettier":"error"}},"eslintIgnore":["lib"],"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"lib/index","types":"lib/index","scripts":{"client:tsc-w":"tsc -p frontend -w","client:dev":"webpack --env.TS_NODE_PROJECT=\"frontend/tsconfig.json\" --config ./script/webpack.config.ts","client:build":"npm run client:dev --buildMode=dist","client:publish":"npm run client:dev --buildMode=publish","server:dev":"tsc -p backend -w","server:build":"tsc -p backend","dev":"concurrently \"npm run client:dev\" \"npm run server:dev\"","build":"npm run server:build & npm run client:publish","test":"jest","lint":"eslint . --ext .ts,.tsx --fix"},"dependencies":{"@ancademy/bespoke-client":"^2.5.1","@ancademy/bespoke-share":"^2.5.1","@ancademy/elf-component":"^2.5.1","@ancademy/elf-config":"^2.6.0","@ancademy/elf-protocol":"^2.6.0","@ancademy/elf-util":"^2.6.0","@ancademy/game-server":"^2.6.0","@msgpack/msgpack":"^2.5.1","@types/mongoose":"^5.7.36","@types/react-router-dom":"^5.1.5","body-parser":"^1.19.0","compression":"^1.7.4","connect-redis":"^5.0.0","dateformat":"3.0.3","deep-diff":"^1.0.2","errorhandler":"^1.5.1","express":"^4.17.1","express-session":"^1.17.1","express-socket.io-session":"^1.3.5","lodash":"^4.17.20","lusca":"^1.6.1","mongoose":"^5.10.6","morgan":"^1.10.0","passport":"^0.4.1","passport-local":"^1.0.0","qcloudsms_js":"^0.1.1","qrcode.react":"^1.0.0","query-string":"^6.13.2","queue":"^6.0.1","react-router-dom":"^5.2.0","socket.io":"^2.3.0","socket.io-client":"^2.3.0"},"devDependencies":{"@types/body-parser":"^1.19.0","@types/connect-redis":"0.0.14","@types/dateformat":"^3.0.1","@types/deep-diff":"1.0.0","@types/errorhandler":"1.5.0","@types/express":"^4.17.8","@types/express-socket.io-session":"^1.3.2","@types/lodash":"^4.14.161","@types/lusca":"^1.6.2","@types/node":"^14.11.2","@types/passport":"^1.0.4","@types/passport-local":"^1.0.33","@types/qrcode.react":"^1.0.1","@types/query-string":"^6.3.0","@types/react":"^16.9.49","@types/react-dom":"^16.9.8","@types/socket.io":"^2.1.11","@types/socket.io-client":"^1.4.33","@types/webpack":"^4.41.22","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","antd":"^4.6.5","clean-webpack-plugin":"^3.0.0","concurrently":"^6.0.2","css-loader":"^4.3.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","html-webpack-plugin":"^4.5.0","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","qiniu-webpack-plugin":"^0.4.2","react":"^16.13.1","react-dom":"^16.13.1","sass":"^1.26.11","sass-loader":"^10.0.2","style-loader":"^1.2.1","ts-jest":"^26.4.0","ts-loader":"^8.0.4","ts-node":"^9.0.0","typescript":"^4.0.3","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-manifest-plugin":"^2.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"dad839262ee8c552339b550fa539631d3b9ecd83","description":"**@ancademy/bespoke-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.6.6","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-nDGMjxhMqsFdqauuEr7t60bGm40OBzoeoL2qTaTpFXCA3yVGKhmbG0zj0PiPagFTgpR60YTpy0EUMXFLbCgcXQ==","shasum":"6a1370c20b48dbbcf7d2b50c392ff741dad0631a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.6.6.tgz","fileCount":64,"unpackedSize":694364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyAVkCRA9TVsSAnZWagAAxHkP/il3UMnSrPorl0L7ZHGh\ngNsmfw6PnWa6dQwMFy5xhjo9UUXYPp4/pKyL838/6YEc8iW8DdTPidlQXjGu\nSeqlDRAsbXh2toWAE5ZPJZrNeQp/0NTd4CX4gAQJdd+yyUvYKIYt5YPAdLy4\nDpvtSdW7W5it/MTALLdXW8i1AHJ28RwBlvrrwcvQ62zASC81AYWEiucP5w/H\nh/i13TW6znMwq9M1HZKQb95wIfGQm0BcLAhwxt+rW9zS7cKyz5YZcQH8YWLB\njNpMtYqwCeXVqRcOnf3H/N0AclmrM1MT6YRmIEV9lvHK4k2FbnyffnFOiSsl\nghP0Y763zxgOJn0pghuIfnjHCq3OaLhY97QWcNyErLX/9FjVtyuLsK4Ltxvd\nnm5fhvK06Bd1uRjuioJ1YdhCPizy5v7s1ZOh2JJmLRUaXqj1eqn5jDmyIwTm\nYClnLJkzNvfIaKcUZJQZvMTeCUOMlpWGpnPC7vIwatRxuMXvl14nX9vVl0hI\nvuECdGbkgWtQiiqApinb/h+jxiOvjJNwBrPVjEuFuDc44kKhV83OBWiRxA9c\nDkH1EIuMCLfSid2My+NzCUYjSNG+hHOVOJ1AL5NKrxkpg+Wq4Z+TWEGPr4yj\nAsZ770eX82/N2YdTkQBEHRywLK5NNsbLM2QdgLkoaNTjN8lR9F8LsuiSAJCe\nqxhK\r\n=NsPt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgW4DO2kage2VFCYpL7X8DcNmXSm5qfi2xKa3VLk+8BQIhAJTTr4Iui+sU6nZuA8uDJzX0vT4p51/axRTiS3iahPFd"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.6.6_1623721316706_0.30382272640671903"},"_hasShrinkwrap":false},"2.7.0":{"name":"@ancademy/bespoke-server","version":"2.7.0","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.0","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.0","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"688ca946655c4494c402ca8a51b72a65d9e756a4","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.0","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-4Dlwd2XiPuMbWuTzEa/zNH7f0wtHM/fnD465sL6rL79MzZKy1n9EDY14e5GH1yAohhlKKxSzpMS1QCr8DKmarQ==","shasum":"0b2749f94929c8d794f0445dabaa28d445103388","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.0.tgz","fileCount":26,"unpackedSize":68602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5o+cCRA9TVsSAnZWagAAKT0QAJ42bieJkYyy81RTg/9q\nDbfG3GvYjcQDetvHYNjmAzF2YlMjVB9cVHBow6lEw7EYTgNCHpR7UExLIT2I\nw2ekH/cfvuJzl/NIFUt66eg6IUE8o9/1dDzZn/UolXVYm0LPErlLvL2x2YkE\nRuMYwC6DOjcvDHpVyf+UnWl0ypweocluqG0nkuiUJybXfX0d8f78UBFrccYN\n1270eS+44vcwf0FpYB1bG7vgYMYBVVbVx38Rx2A27N0clFXsQRWE/TUSD7dM\n5CdJSK+pn7FTNRhYPplNSzdGJehggj7+oZ7LYvQzWkQhK1TwsqMR6nvVvIs9\nQWNUhPyQVCyj4x3eVVuXGmURbhA7bUglXU6lqJTqcWQOMbSU9uoh9E80/JXZ\nc/01VuBfdxc+3sl5HxHoGdjAWgW1holAWXy6p0QSnH4YlyhCbWTQxe5WinG2\nY0STpF4nntiBBsMjOgeB7cI/XVI/iTFXRODvDOiVJ9rqyplHn/7aPDIgZR2A\n3Yslne+T8EsA81aIFi4EdGtLhBYlEILl7r/oQ+9vgFunggojL0jz6vbCSfvA\ne9I663zlxMpurRhEQA2Z7zNnfaEo0PSvC5++FlZaVvisbWF6F75l8yacS++m\nPM+9dTxFIfmq/hWnH6maL2Y8Lok6SMq/mD2wjkRj6uafl14Fgb0hX/vdD2MI\n5rSQ\r\n=1F+5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGzkwXDaK8QpOXAxCcV78c8UoB7lIUFizWIRPwXthqoTAiEAshJ8ywhnTyVXn5z2xVsClXy+WAztdjiWSIngEAI9kCc="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.0_1625722780240_0.7711616943098789"},"_hasShrinkwrap":false},"2.7.3":{"name":"@ancademy/bespoke-server","version":"2.7.3","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.3","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.3","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"ead91ebfdef08c369b9ccc2e0e757ba93206cdde","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.3","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (win32)","dist":{"integrity":"sha512-RP+FyeY0qIO1xXto9ASSW6wAQqc5Z4vfPXgCNRw+9a8OMRl409zG1xh9hZ+iRxmRCWWwPkG+tvtPJY2olqsQjA==","shasum":"b35fbbdfcd3b3e7cdd5dad5249c105cbfd441dc6","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.3.tgz","fileCount":26,"unpackedSize":68602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5v+5CRA9TVsSAnZWagAAM48P/1GP8rfEor+2Jlb9Or0y\n7F9DbxtsIepg6ekQ+Yn+ceVfu8A0Jd4jzrmzs0UKejdt6yFUchDG89Z81+R8\nhB7hQvdzNbKdJ/Uem6XI4Yviv5OP4Xt0R7DcDc3rOKEnzw1DypXPVpyzHgjX\ntKOwt3wrCIaqar2ZbhIP+7CxuJUmDg7aUleXkyX9PL+6YkHMr8lBQ1owLgBe\nSovAZajXvDgij9eHEFOJH5TGEdzoIpw8m9Rk+JCKlvUI+nsqv+HoxP7ayDTI\nYbcjm4KgAejSN+ZgzyEyP4ygvTmImUZtdawWkH2x2o5D2motUhgYHgpLgfec\ncN0ocL4O/ZkmDlBzrqXmtFDhsrcezSR9x+CC88f7LNQtoNH0YSwT8bfobhkI\nLewiAdDThX1IXDI44d0PDs+iJsRN+u3acvbD+ozYuzKEvs7NVt5fU6wqFxqu\nOs7LWjSxSl36+I3cHisnkOXTSyxwjIMapqBVoCEZxXTST5DcdnpqfeMnpABE\n/ddKsuR0bqCP+crZohruMdABY+G0/gopIXZDliDO/a2Pfarp3tHT95cPm7rG\n/opzOQPTaPG655ILlcc3igwkDzakfqJsI1Lx+IPo6BUbX1vpS3E2Dik4WmlH\nzRR9tScFlyc32LpPNrQTLdysgnrVX7YYSCCNcv0ocvq8g+lMJa7cRAr8HtMX\n6LlP\r\n=sVR3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiGC0eWr6R41ABOEdSO1U8K2Ko6bTZhpxHaqkVD8IpwgIgDZ+8xK5oxNWY9+zYbar6nwXE1M/2aJ78b/106KI+XpQ="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.3_1625751480773_0.19627209755660613"},"_hasShrinkwrap":false},"2.7.7":{"name":"@ancademy/bespoke-server","version":"2.7.7","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.7","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"64c58d0df613dc0e0c483bce1835ee2c68f1fe51","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.7","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-PXYqm/VbFZmFG1org9IY9RyFnmqS4wFPR2QoLdwNcFJGhunY+ThdtUbzSKiR3K4tnZAso628TypcWuK0MRu6rw==","shasum":"49089af50c647c9ffa317b770ab72dedb1d39c14","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.7.tgz","fileCount":26,"unpackedSize":68656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPwaECRA9TVsSAnZWagAAHAgQAIQFShSzAkmcydZIcVJV\nI3NrVE3cM0Z3kaZrlOdOrOT5KKQTIK+zSIyZqEN+o7r8oyhfm0phqw6IUID1\n/I7QSUJLkil+fOggBYHF1sKrGGAy2AnwWI3B96X/Nuo5QlhoM/HQpEl7ZWeZ\nWPmpCy1J40oMxNhxfy3U1sfmN6LYW2bkaWLLp3myX/pMDW5ofkm40KTFM4wN\nhlkyjVB2Mzo0QMHzSAql/06AUo1fMPNXu0LMah5ADMz+9Bnjb2d/hrFPtjow\n/7FCGiyarPmdoqh/W6KzC5QU4mIROqoQpSc2IRGn7j3Q2mT+J2UjeXgBToky\nqeIPhIHqvLgP56bki13Aqlic4gUWoFiyfizgPPRVHl65JQq51n1D78mMEcPk\nY4ESX2N3v5Jmobp7kCu6ncEX2BqexyVaRdIHYGHljQxwOu17bG4QLhwrxoAZ\nuLTm4dlXTEOJesrtl44a0r7YkDCKIhB1mYQUtjAQhd04snNJr/iO358vhmeI\n/fhl5ceE3gMjGFu4IPTk0F2TK9SUiYrH3LzZ0n5B1Jdj7rPCl4byEmQ/Q1Ww\n/OJ8Y/B/tgdzF3Vl+x06Pr1mk3X5lAWFJmyrG89NFr2HrL/WKXCWRYECMVFi\nDswLgKJLGDiOXLhEHYHDSkLDVtSCS4JzOiY2a4d9qfxtePIyxqzO27a1NTYo\niM7o\r\n=MIrI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcKbnzXIiZ0WPLaswJvg9W9Zs2Oj++6sZFpiW73lI6AQIgWECON0A11QnfSSVwNMOaD4KiD0B8jmPg8vHfDdnYF7I="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.7_1631520388204_0.9600469014762776"},"_hasShrinkwrap":false},"2.7.8-alpha.0":{"name":"@ancademy/bespoke-server","version":"2.7.8-alpha.0","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.8-alpha.0","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"928edc69338cb0c6545b6e226419302836bb1496","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.8-alpha.0","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-HYV7xJVwoWAFmjUEuLv4pmbyh/a/tnXlc/I1rrmDd4Ht1vB3xR00MGnAixPUCm+xOzg/G9V2Ihit6RtXh/mLgg==","shasum":"54fa41b0c01ee8a7a8f221e69e3423207840d6b8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.8-alpha.0.tgz","fileCount":26,"unpackedSize":68672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPyNjCRA9TVsSAnZWagAAHmQP/1Q94jxhxL0351/3HVT1\n61NzEl0WkTmUXHqn7peVfD2MQeOYqH6U2/wO2KM1UbqLAehSSOxcypbmcRJ4\nCvGhKKjSYReoCeXg3sjP5jGxlm2IPjWArbhZmvQi5cnDPwTXi6KI7TkifiBr\nXWvRYpuBAgPOPkX4Zedj56huMYS6jEln+P8eWovWuSafbMRKW5hicUoMngbm\nSLiSIkFgqhKytEdNkw3gl+sI50wIYekO7hVvE/6zDsJXiGhD68g+rWOU7wST\nHa79EoSZMiuks6AplyWzj51UBT4X5i0ZeG2lb9NHLxuCU/xoGzKHgunrCQEb\n7Ro2Dn4dbwt7ERaEV/wRKcXXKv2PKq8n94a3fWXjjsK8Lk9aQ9emHNmpnwXZ\nEEmDxvFdjhcXAi/AobeVfzrQ/0rGcN5OziT3pjBYRM7eHFDM2Hl1perd4rQk\nfhnPH/2zmS+YDksELqhZg69CWxaLa17P7uTlV44cJWsmXAotJExCMjaG9oZ/\nEmHcioLi2cSCKTgbTJeyfX1IycETGrBOs6nhXCnAaMAydakh0GiUyFFyBh+U\nmh30qJ4Ma8/0XO7a+JhW8QR2fwOLYTh0Io4Vj1AsyiHbzOFle5v33BnbLkyK\njKcFb9hs0DezEl4t53ccljbb4qhWgtdMVPggVTGYSazWaDbzFxUYrlgEqtBQ\nyo6V\r\n=Kr/3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcAk10TNlNpI9kSVptsy6Ic6uuvElLkm+PXJjgTDVuBwIgYKuyCs60zenE9GtnKhou24F86BssjYnB4gWdEIwM2so="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.8-alpha.0_1631527779759_0.6343861258822672"},"_hasShrinkwrap":false},"2.7.8-alpha.1":{"name":"@ancademy/bespoke-server","version":"2.7.8-alpha.1","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.8-alpha.1","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7a0624162a76186e76b0cbc7c390d67bdc094dc2","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.8-alpha.1","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-raLRX/S+zTfwOoIrrJzB/5S9ca1thkBX1/pgwIAbmJwl92kb+rYB3yi95RjPB78LUofB9RZfhXyA2aokhQDNdQ==","shasum":"d7d41dca62f7cf2852d9ed6de62f3d3795ce3d67","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.8-alpha.1.tgz","fileCount":26,"unpackedSize":68672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQIgkCRA9TVsSAnZWagAADtkP/07F9Cwy8n4Es20EL6b3\nzBwqkoxkMhUI8jSrfPIeuL+uClB8u0rQcx16jqeqsIad9MLSGWu5llpqD500\nUbXlw5l2uwp/5HVk3o5lCvAiD94GtAzsN8GHwc1cN4+n9TZ+tW9+O57wxspo\nBJ7b/Q1sNjuaQ/7ozHdw7k7zSgZ9zFrl9m0h2J+P6mpo7IZte8LydOLRiV+r\nOLVZk47PcDkuM8UEdOGH2IM7r4F4Hu3b0QnjYXq3WJOLU/31pF5IZHx6movI\ny1E36j612QNKYETmd+NoBzkphVFDoJ/iUhL2bA4/RTLb8hge1psBl13/vir7\nzp1qpwh3SL0SB7LS+Eleeo/QF44Yy5bMVtm/GKLafrpuzuijQFqfb8ibfs72\nkb6o1D2wLkgjJ17yYZmSuWPQHzDiPvLyD16GXBYiMCkRli8Sx4+9LGhGj7cO\nhCgU9Wot5wRvJB1edCYLCOQNLiIYGK7lNP/aE6avOeEvLk2gO/n0ZArx8Bok\n7eUxXuB1hnyYSW4KPPrzaBapkB4vs9aO0JaF4M5kbXzyROrsGg/ViD25SPkG\nhGIr7HmztdbExA8O/MN3UCxg+3435O9atnjTpbytotdGijwHfVmifDRLwXrg\nN2Pn17TXfThiU5CzAO61+D1BXjNxZeLWfNhqQukykJDR+K7AIRswxs/Kacju\n/8OQ\r\n=hBNZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWkh00bhidbgJR4zsbWqDsubn321w5SKJfYSWrFzeamAiBANrVooAs4+C5nXQBgONd1Q1kR9IKixgtrXYON2njHsw=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.8-alpha.1_1631619107971_0.5055008367725604"},"_hasShrinkwrap":false},"2.7.8-alpha.2":{"name":"@ancademy/bespoke-server","version":"2.7.8-alpha.2","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.8-alpha.2","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"dba6fa0fe9cf040ce33446f216e6fe96a5cd9422","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.8-alpha.2","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-YRk1SuTU/ypZAk6DVdJ7//LCG0qWKpNFDyDO0/dhafoVAV+wMt8aAkcG0phxn6HRO+/osn1ZXO+OTine+PTx9A==","shasum":"8f7b14394bdf4e2df901f9c6e4e64c9e34ca1a02","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.8-alpha.2.tgz","fileCount":26,"unpackedSize":68672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQM6mCRA9TVsSAnZWagAAPssP/3Fgsb+LRjUtAa0eJs5v\n8yvNsIq1BFxtjchZT2S5ZyrUVGA9EFSiWTw9s6hM41tid1JyG1b8iW7MyySx\nptGR8cKJtCob/nOUoSNJQy3pce+aazyhGbbrRjilRd8NO5RqK7rl3pK0R8ks\nHRr3uSPCJYXj74v9JR+wbroagqobve4pMbVZPzr/kNNP09+UJRaPMg3p06en\n443IZxWPXr4CgQXY6baXt9KFiN7TPv7rLrIcCPFG7pMWf2syjaK9r+znhfI/\n9acONNZ7rqAgjkGDS1mbk9wfLz0ClOFs4kynNH8izo1Cnc7TfHtZVI8iC2jw\nA2+gcJLU9+mWsjsmswzN3+m04E6XOwAUkyhpxPAj7hLRpIvl0cia94/9Lf5t\n4wx1fDa8J5S49ubyw/m9uD3yEYheXzqpynH+DBPJgKMCquAnySZg2KBmeZo0\ngqewgxxsNRAG260FDFJs4Yk2USCIKZmv36uT2Cn2ylOWNYPTqda7y794BBYP\nAPu4sv2rQ3Pk9/R6p8Jfv8VhWq620kN2bmyjqOVb61EE5krETfLpeTDe9cFA\nOo9wDhUvlu9LjMgVWIIeYw1sbAhenH9hyR4U/aK4QbTZciu+P+pe2oYHvwsA\ngAv+yyZisYJrIiBHNl7DdQW2MHejlwstFD0BLvrH5iUxtg1s+QkQnkE8JtjQ\nnhHN\r\n=6/vF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIChmLJuMwmSlLS+HDpiL9JZueew9D4bWlX6s2ykae9BHAiBcX0NWm9ojGB1Dnvl1zH3VNHCel9LfaK9mlj+dtBcu3Q=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.8-alpha.2_1631637158038_0.30286916599853386"},"_hasShrinkwrap":false},"2.7.8":{"name":"@ancademy/bespoke-server","version":"2.7.8","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.8","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7deaf936943c93727539666d9f1f588e993b2126","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.8","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-FSR6qBiEsY13u4pmp07shiqZ+FsCG90KuMWuXmDJe9tN3OSGQlC5/yoUhZA3czlQd8jVTElzzZVm88bn53l5RA==","shasum":"3ab9369564ba6377ecb07fa93ca380bf13f7cfd5","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.8.tgz","fileCount":26,"unpackedSize":68656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJZikq1o4ZeC1oEQsZ/zLYdwiYSzgkuXWR+nVU0m588AIgdBEYw2jC4gX+Fw+3T31o3UF+qJIms2IuODMgB2YlWdY="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.8_1631883545131_0.5669130462224541"},"_hasShrinkwrap":false},"2.7.9":{"name":"@ancademy/bespoke-server","version":"2.7.9","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.9","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"225dda1fa9b301b5ec2d93f1139fead9c2ea6008","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.9","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-HzqaJVwNxekhfIj5bcVw+YidIwvSgUgcAOpo6rkzWS78L3YTvlDcbP9+NJd0bJcya/oV43S5qCl0sbqmvY6qjg==","shasum":"d5ef7eee925c37eda2336a9f5a360d6d258a9e86","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.9.tgz","fileCount":26,"unpackedSize":68656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAVG8bZ5EyM4wjXrVwr+km6OYPRF2dOWuUQ2l7ZLM2RyAiB4F3mbQb0Soo/LOuvFuRo6J3KQ00s2OTWGivxwny+vgw=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.9_1631942482051_0.23197478042047082"},"_hasShrinkwrap":false},"2.7.11":{"name":"@ancademy/bespoke-server","version":"2.7.11","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.11","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"cade3d68ff1eafa18325ff766a6a716149c3e96b","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.11","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-RZ71u93Ekrzbhao6Pviq9UwPzrMuvtOVrIb14COJuO7Rl6W8OJ/pVxkc3Yh7HFS6gJB2fV0EHZtSCRBcvWY30w==","shasum":"56c93a3747b02376da58f8e5b2de4fe3e2536beb","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.11.tgz","fileCount":26,"unpackedSize":68658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB6AJ7p7w7oln1ksZtqZMfMIAB93HZ7E9QnlAGwjhIWmAiEAlg0BKFd/ZAObEdd0r8IFpk36AtCHiEBXLWMvsu0Wyvk="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.11_1632211160223_0.883689675956224"},"_hasShrinkwrap":false},"2.7.12":{"name":"@ancademy/bespoke-server","version":"2.7.12","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.12","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"bc372ad8e5bd4d7efd9fa6586a7d21b534022f59","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.12","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-usbcNBroaUlW1RVqYalmBfYmFBiSFQkrVdon5rTvaXl5KKWkBMVM1SWpYEgfoc2Ar1l94vIWNy/fxcvBJuRiFQ==","shasum":"2d02a0c3fb6e3eb40f80c5750af0555b2d1e3217","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.12.tgz","fileCount":26,"unpackedSize":68658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMqMuQLL6yEJDllrRsXpe4v+SWZGMzEClcN9gXjeCHcAIhAJGIaHoQK1PFtctwAdRTCXR++JfP70pUWjsJZu3nx3+u"}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.12_1632714664513_0.25545948819704045"},"_hasShrinkwrap":false},"2.7.17":{"name":"@ancademy/bespoke-server","version":"2.7.17","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.17","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"18786236f04b77af2e3753fde958b48ced283566","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.17","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-8M1W5RvTGEqUkEN0J9O05i7lcanZaxrNuw+Abvoa6a8aP+nnOY/kElMjpqiPwD5337dGsyHvcFBmQurMOGO+nQ==","shasum":"2254e54da38546593d0a4c5dfdbfac519847da34","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.17.tgz","fileCount":26,"unpackedSize":68658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnntQZoAfHQr8OA+l46+VZjcdRsg9Z2sFhPQvBRkyhUAiBzuCx7x+YTnLhC4KnzdE2gEPeZc5mVqKblnZHBU3+A/A=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.17_1633500374270_0.7752945982597841"},"_hasShrinkwrap":false},"2.7.18":{"name":"@ancademy/bespoke-server","version":"2.7.18","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.7","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"493adb3579af1bcb9929f4a99829c41746e3aaf7","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.18","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-G4zyh8lwPnzAq8KITjoIvwCfKkIdUu4LjT3qPYqnzWxPMAPUhsM4kLRpeEsN6fdIFYa6DHCmgZzTm6SdG2Delw==","shasum":"7ffba756f29b52a6ae803588ea338f73d5921f1d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.18.tgz","fileCount":26,"unpackedSize":68658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFENcaQKCNiVpWybSd9qf8T0wjY3+YrzX5GgG5KXguxGAiEApkwZyCTLV+PmA5hsKuy03VomHt61/3PcE+IDGPi8Mu8="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.18_1633874078407_0.09575284842986909"},"_hasShrinkwrap":false},"2.7.24":{"name":"@ancademy/bespoke-server","version":"2.7.24","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.24","@ancademy/elf-protocol":"^2.6.0","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"7ca63bd3fd6dd14216e456850e959777f67425c8","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.24","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-9j0Su7FfrX05jeGwKJt72V9NDPQi+xilrx5wbqoqS36JWNh87Ahf7YRVmm9M8MfNSy5EgodmNNsrWH4ANsNKdw==","shasum":"94a7253588549d84e93cb59ff73b400ba8f679d4","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.24.tgz","fileCount":26,"unpackedSize":66769,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzN24FmL8ldH3H9C+j3b9ylHqVzwdLh2/wiuMUJcTvKAiEA3QMjxt7TXBTT/arEWSgPXbd60cpSCo/I0s7FENHMwsw="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.24_1635509552746_0.10623901151218829"},"_hasShrinkwrap":false},"2.7.25":{"name":"@ancademy/bespoke-server","version":"2.7.25","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.24","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"667cf1c703b733cd4f02ab1bea49b744c7a90896","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.25","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-/wWqHy/X2GFYlGnoZnrIwnxNwzHBCtWwm9STYgxSlHG/8K99AjPyClOlICY4FBDbnBVGDL4RJ0SR9nk09ib6hg==","shasum":"f9ebe0712805fad5e7d753f6411f79c3490ed436","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.25.tgz","fileCount":26,"unpackedSize":66729,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpTWdrxpBUcOJgsEFQHQRyMmM/lAn3lW71l/B7miEXjAIgTQ2i9hcH0jXu+kexUolCJZX3iK69DxFeDRBH9Nq6UvE="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.25_1635510757215_0.863640146552519"},"_hasShrinkwrap":false},"2.7.27":{"name":"@ancademy/bespoke-server","version":"2.7.27","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.24","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"a1b87413c7929995c7c6a4ebb3ba2d836fd0e9bb","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.27","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-QHSmYBMvUfsNq7js87xUrA9RxyhC85x78DoXwBzcV+XRiVZykE9vrQIU2oK3oyChFv6xYb+XjJ0uRbs08MCdXg==","shasum":"69eda3c4542abbafd600d9ec1c99a3972155ad88","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.27.tgz","fileCount":26,"unpackedSize":67058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzFTiCRA9TVsSAnZWagAAqSgQAJHUxrWFsJ1n3m1ynPBv\nU3D2Io7HUzwLBH5lbr+XJA86yZSd5ye6Tynt6JObI+PBM4Vp/H3I/M6+pQ2X\n4X78B5kzUavV95meeEBKHJRh4oJzfI1i12dxBkJjQ9kaUOmAg5JNuD6g7GRj\nfOHkQhAI6xODT2fua8zhRN5KW0X9uWpEF+r1fhoRZBTGDbG6vUxivlNAiiw3\n5hwfMjl19/y0GV1zFAcQ6GOwf/vHuNWya6sYA3NCd/rjencKlefX7QHHrxR7\nkz7olFGyIc1TW4R823IgN1ZJFeu2+8uHk5F2rk7BwkHz9dLqGGxqJclKgDyM\n1NvyH85Lx4EACXbL/x9qaGZmBL12I5pJm6ydjilvtiS66zuAcNbbvXN994gC\nVGOKOowYpvq5HdyXux7Ew70fyqr011UrK4XfVPKslMayC5P/cADj7x7W3uOn\n62WxvbNIxlwPxeRaZjyUxB0+BC6P9eSBECEA18/9X6xhaA3OSvlxyOUVy0Oj\n46nExNw1cb9shF+eAgIIlsXKnhZj/TmNCuruzaF3rDC+OwovpOLbY4Ujdeve\n6YfaJiCu9PRtYDH8uqJmY3gW3AHfiWkM+c941O4SSpLgKCGpOYObV6WJ/IUU\n1f6ti2wPwMYsTRLOPzLY/6nIFFabq5OFe+TaOJsdZP36xESdJw9uhMmnBrtq\nAqlc\r\n=GCn1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGneV6E+45pQVJsBlkZwSHc7dJANq8hZzYkiaFTQ6kG7AiEA185VOADy9rs1dnXPZoYZ+yIDvQaIRwPenAIOPzrbfvg="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.27_1636803092945_0.7784906490665711"},"_hasShrinkwrap":false},"2.7.45":{"name":"@ancademy/bespoke-server","version":"2.7.45","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.24","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"9dbe2c6e36b9fd6d954999b07d6a6910464337fa","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.45","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-suMg7Gyk+C5fOUA8H8iYpthpB+y/brck1L4YJih9jAjIxsXhTL+pQXm8jpn4eJvN8EKjR9xVoq+Nlq2WYzlD4g==","shasum":"7e73a4658c83d493152a4bb19efdcfa3917708c8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.45.tgz","fileCount":26,"unpackedSize":67741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJ1H+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdGw/6AxTr1i5Wd9DSjUYM+ZItnjvUrDKAU7csfKUpxq40a+oArCwM\r\niTaTKocI7G6GH8I1CsDntfksWdc6vvcytriQoGcvWmwsY7I1wvjVo+IkrM10\r\nrOoYSTTJVVsreVBdrmog3k/Xv63ZzGCEySlEdCmRtgc/zcdSnM/NfvMIrxBK\r\nDA0V9b+TBBDBaj1IFs4+vureO3r+3/Gn7dZfmFoxOku3MfS59dIItq8IR5Lb\r\njKzndNi+JcTTRE0p5/Aa4wtHeYtKAnUa2a/KGnc36k3xuaNxbG8OEItyLjuz\r\nA55zNyIKw7Kbp/JU21cjQaLJnHa6nwSzA4rJ3XkUD25xLi76QM1ihKDWbz2G\r\nkA3klNbKjcHTGf+hazPaYa931P7wSZg6KgpmOP26ZkFeSanfZuIjbH11t6Jd\r\nJLNMAU1X2Hoy30A0rO4+7QB14oNMyeabrzHmK5aZMHJ9EiosamnzayK7JeKY\r\nEOnMyLUWOWr4GDxLwmLbGLvCMkLoGybOD15znWp6g97C+/hWZpe9+RuzJkia\r\nISQYtzMhDdzPuVl+GeEoysGXM7qGenl4GLnLkpqV9fvwsZCJVJQol6LKG3cr\r\nn1+P8BunSHLDSRP05FjL2PBi2XtJjdF1eOIkzioJyjtsK1JHdQT6IN/RSRkS\r\npk9g+Fp/UhkEIknvJLQ/Fghb2H1yGL7IhVs=\r\n=s14H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKX5J2V2k3ECpDkqugNac/oOM1WQB04q3gncbatbut4AiBCuCfXBh9zqdOuFszY7cLjODjCW97YaCpgLw809+Tgiw=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.45_1646744062072_0.1042482174162147"},"_hasShrinkwrap":false},"2.7.46":{"name":"@ancademy/bespoke-server","version":"2.7.46","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.46","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"9463b0dcc0ec16bbcaacb3027953bd28a0124e1c","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.46","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-XDPR+zxmU+F6uAiA/uNl5KnPBNqjiXg36o79u2vAwLve3NoHttJUPSgwtlK0t+4ai18LDZtTJNHnSsNjFJ7IkA==","shasum":"177a940205bc3450bfd22897877ebba9828cec12","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.46.tgz","fileCount":26,"unpackedSize":67740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKavTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3wQ/+LvAzPqfWEjbQhKRctaQKHcofEkx+hSDoBYhmOZf7W8YTtM9f\r\nZsAGjbK6GiB290ng31TsI9sIGuaBQ8HKVWPdzoYeKZNBU4MLBw+bsxB7oVDh\r\nrCUMohRGBiAhGAuZURrRdu45BU08I2AUS01w5k0FNP5VVvUgPArEj1om/X46\r\nJvBqtF4myWqaDXBRZtARZbjWppZ0Na0UVplyzsRAWTmdOcA7g5PKJEAAhTI7\r\n/kTPckBDRxJYQ+bWOvk7ozhrLGU0mz5ZKkv+Hu32pL4AbQ3fvEukZbrfWrWl\r\nqceWOUzgaqQIAVT5x/XkFShbZuf8OPtlb5apZIgtT2ekDflUu/zUyCz/yjap\r\n8OllxspTdIkHgfNYXM7q3EShz8myCmQtsnbHGD4gerH7N1EcLIDUSJfAVdwM\r\n5FyAEp/Yg0eK1lA1WFdgsrYbP/BApjjUhDNE/HJ68htPh+jsN9lypqZ9uaxQ\r\n2UlVD5LUOPRGQJ25c9nzuCQq0ySIt84pyQlSkyS5RgFhJqM1yfnLYhFtqdsg\r\nQ3e1SEVj3CKyt1dmdHu1ndiHWhnkFr5A17jKIoqeK8r4NzvRoepdx14vNTrq\r\n9WrL+YrEaz7V2INBir8m4cAob2GfdTt/ZWYbBEOf0VDxMiu8aOZeHGt0bjBl\r\n0piCRmRcaqdRN4r0rfHINOVqlEgl+OYIAII=\r\n=Z/xp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGHOmElOF4zux5WFk725b5P9FtkrzCdy8RLM0u6aco6zAiBfy517gInSdOLZzC5Ner7ZpaNATr5epFn7HI3x9v716g=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.46_1646898130828_0.8354737776361676"},"_hasShrinkwrap":false},"2.7.47":{"name":"@ancademy/bespoke-server","version":"2.7.47","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.46","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"f0387bde08de006fcf4af927f9d41e8eb2cd8192","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.47","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-p/Ubaqz1rdSsg/JI/E1wnPfmjvdfoN4a1FvPe3cUkn/ByQBavBy9a04DcWVD4hu2i0Blesl6Xhd4bb6E4s+ATg==","shasum":"247ca539fe65c4ed8459dddbdd46d800aa30c896","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.47.tgz","fileCount":26,"unpackedSize":68377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKbkpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSgRAAmyEnyfUVGJhGdmf5k3Btalyuqaav8lHuWCvCNvonNGPyj0xq\r\nQU0HNpQCm8mN7W5a+hDiINrlKMfdNhvTeQmT5Sg4Asw1GpmpnM8lNvwHre3z\r\nstiX/wvNoXI9GG5oFFeIiaXu2FNzi4CaAfTSXugUo96NTCYMOVOuAVOP8/B2\r\n4MyKZZ8JoejKN+szChUfnA/WA9iR0O+s9sPJc2wyCsUNo51VqnuylcalVnOu\r\n30gY509giKrm2GQ/Ega106zZqx56+32pn/KtiJYVFRvGf15FvM61qYh6q0HE\r\neoKqGRFwlMUCA2TNSLuLmNJYmkgr3HQqAdXEASwX26SPgP/HS2DozSzGMQ8Z\r\nipmH2lGB1PvXYcXpbaG5sva0jDEhBdizIGLg25i9WmQJBvfUeC4YmUyKpz1d\r\ntMQ0d6M61KKXAXPg6oaUgLnZrwIQsaLdu0dvrteGn5iAlmZak55uX1+CBeGT\r\n4711zs3rrzUmGfBvCNkVGugIeAZN+wRAFkky8X/kJDMb5EphdJuI4KgpbTIu\r\n5/rBVvzThRCRTPsLv30b1J6gQKL71XG2oMafOUCJ+fV53/5Cip0HEriK3SEd\r\nMMZUqu9CkuzN9cvIoIIYLqWNrs6hUYVp32eo6IeeVixzwdJ0HwA2FxGoRM0f\r\na9c+ougKeczsBx34tlXbI83/iypRao30sb0=\r\n=NKh3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDrnZFlmMdrk5mSPHLeedkKPsFwdVgnUqHOHs5hSB4pqAiBdOEh3bL+JSqbd8zUhTHvj6huqy2mV4RH8LSnPWeHIow=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.47_1646901545360_0.08161341722596971"},"_hasShrinkwrap":false},"2.7.48":{"name":"@ancademy/bespoke-server","version":"2.7.48","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.46","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"2af796611648dad6b16cf70407fbd9b1f86ac4f6","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.48","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-EbIwnKa5WmQ2d9VhH1k16RJMZYCjV4X5IvMJgQq34etRXKadBpJ0J6DEtBONpGPVhzj5YVrgrEOg2jaAy3pJ4Q==","shasum":"ba964ddbd51e2f8fad3be0b6c4241bc50fdd981c","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.48.tgz","fileCount":26,"unpackedSize":69184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKf65ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxmBAAi6f80UJZNRXB2ruD+bhg+pirim+tH2G0od2xygxP4DpCnYp4\r\nvqVTjfeYalZKZNAvZiWn7dJ1jYNx2PNk0vZrARk4KsNHZT+nOBrEbQsZXR6x\r\nuZSgqSjI3g3vlQPvVeYDXNKOYnxZZvZ0VXmlz3nznWaS62rfYfNhFncVBbsb\r\nFSvKwpurbMyc9BZpin3T7/Lx6oRfNi4QbtKEGPMLxu2TP4vsgoNsIAju/5Es\r\nVNhdQHOttjLtfipHMfqsGMMM/lXz3NyOF7V4GVgEoUuY6qc1fpkWHuNWCE+f\r\ni1jmy3x3+XR15cCUz6NVFryC2biARde8OThKblaaeGOE/vZ4+fpUCdlxvB49\r\nObn7SSqm5C0bN369VpyN2Nv1SJAlPxOnNUItlTOENQAytgVr1+s23E+eK7kY\r\nciwo7gWKaZY+lDFj7aZ78osAYFJItCKdRqZrfWG0o3VKzHOOHlqJvXwJOR1q\r\nopn1kutRjgNhDTT/8iKoZeBVcaxwphbUxrH4UF1kmlQZ060vjXZrrFgwujgW\r\naOWL4agqmx62sTR2UYKYwotpaaYixnLgbDEeskSKhm9gmQzkZh49f3tkRpis\r\n7hLGW6v3zK8ttPaeLK++8RVZk4f4R52enGRALq6C6ugxT2cNSDTheU3UvI2I\r\nuROH8vf4M0L4ko2bCTZB3BFA+PCnl0nyLXs=\r\n=YGXm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIdtAXSCrEc+ggbko8BRSBjwubboKatihbXEkf45CEdAiAjiZEeYNl+yBrmg8Dfk8AQoQ3wdJbY4ldjV7LKWJit0g=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.48_1646919353680_0.3500646505317613"},"_hasShrinkwrap":false},"2.7.50":{"name":"@ancademy/bespoke-server","version":"2.7.50","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.50","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"c0ec9926d09d15b1de1474a7211f865112fa2a15","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.50","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-e4ZF4ky8WKF3yP8BTZP8UiNx/hViGpWdDAAM5FT1KZUg5/C7v2Tagbw7DeNLWKnyNTWs7of/fPVCagdAVv0Jmg==","shasum":"914e1d929393ab9e1419283bbce15f6f2b230e2d","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.50.tgz","fileCount":26,"unpackedSize":69640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMaOqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjCBAAmy1Kqz+EsQOd+P+GGDD1SO7XuZAQmHB1NNF8g0HNC2miCS+T\r\nZxMhUjVl1mj9l4nCoqhkuIB39dph8PIhzmH1W/nvgf0C2dPOKj7JlhFIx0Pr\r\n1l3y6PQqHwqYAGtlwggNiV9AOHNqGjxXGcyBpOaqw9Pui6oosv1f3sT53aSV\r\n1Oz1VqQodpdezKr+EnfPjUCNLnWaQyCaNPoOubcZiOwukdENgnHY3PDviFDv\r\nmNg43Y/AkVXTa+ztP4lQTlvmEcKMhczEIfin/iz4c08rPpkv5d/gcZWPwkVO\r\ndNnFTFJYX2XHPxBnshlF0RaQcewgdgWnPSOl3623k6OrvoPsYwv+TPds4cv/\r\nuieySaXolBAB8clQr2x5/NTTF/cA/y69n05bdEaGQz72GA9fYyZdZfAhte9T\r\nUMtc4qoRNA/7/CDtNP+E53Xq+ODXTnTdKQg8edhRSZdoFqebJrzc3/khOgQ2\r\nyn/86Ab053Ot8UG22qrfIx8197K8aU5uo0zS/om85GBtG8BMNQ8emMWCSi2+\r\nZBP5U8GMZvMbtt+2o+STj9gi84DKcIHmF9symIM7TBl5+Exo72GawD21SWGt\r\nYHIANYx5VJVkpBtTaoLD4MHNextqRdMIzgQcF2iuGpbmpf6jb97S2llzyrku\r\n0q5lmKli+ICxEFX/TV9Ci0kaAvrijiHntuU=\r\n=V9Jr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHZx82rKFCmCemLkDtszuEF9GTFvwrQdMBRJF4KIcGJDAiEAwyUPixbPjoXGtgiwXVP1f8vzBfmu6wQe2Ar4DjvAqjg="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.50_1647420330662_0.020320313238893384"},"_hasShrinkwrap":false},"2.7.51":{"name":"@ancademy/bespoke-server","version":"2.7.51","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.50","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"86edd3f1c59c01d6aa9272a581f2d1b29eb47971","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.51","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-Qn1aK/NiEmq6IzB3kJte2axt10aXMOwFyyeOVz+w28LXoVbUrZZkYW09x5BYMNKbj7ijEomvujZZci/trx4/iw==","shasum":"26b4e2706fa39607979ac5b3acae0941f293cbb4","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.51.tgz","fileCount":26,"unpackedSize":69905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNZ7jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNVg//TU6NdupdGyRguffhgD3vQICyTg+5ZQe2+WJ/mTrQVxC2Rnwk\r\nnPe722apJt7l/pCvmGt21L12UBqdoNejiQhNqzNK0cOSdL0tUUaTljA2rjtF\r\njPLXx4pQcYAPIkf1lhvMFFm4hUNN6FLpayXCtm1PP70KnrnQFPZ9lC3z6ZTg\r\ngmFewW2474+N4ygs3PhFQ/w556L8YNUNQho2PoVR75zUQrHys4OlvegK8GfO\r\n9UgkMj6mk/5iWar/3WpZuao7Vo48/HQ1Myl8oTozfQTKCwNhxRFSLnRO7e+r\r\npaghX7JaXB7gOKSlJxuw5SwteOc/bYCHr3AabcY7nQr2uO8bNtoZ2IY6cpc8\r\nPj6z342iEt5ILqHs6Z2HOlVwrJLAdEYI8jiJ5GEVvnbdSgcqRXGpTdE+U1/D\r\nWQ+fL28yqqo9B1iy7TRGn+zJzzfayDea3ZtdFHI11RtPdH2ImIEeGeCmWhFR\r\n7cZFCvTnNxhzvd5xGhBNk0dvfBjoP9mx931fd+9GpXfW4mooW8y5vKAFufC9\r\nNjim0yBm2M7xNjg1mzYeRF5tREcGQp0OLf2rNwbZzJy/yfgHJ7cwnfHPMqs8\r\nDwDiZwJLRxPVHdLc6ShDLqNLMNwf0OD4c4vNe8h4exO+mGC7AYN9pU8wNMs4\r\nWw6ykfx4gNnbMFpxNR4uSDq1hL2wfG5G0YU=\r\n=rAMV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICer0TrYLsS1jK+94cuJiVof+ELtK5G2eCBMWssA3avCAiB7hbUAiqdTQ5+VQDfz8QaNOSWeFCYl9jpf+sM2SDwSvQ=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.51_1647681251025_0.008550179785703937"},"_hasShrinkwrap":false},"2.7.52":{"name":"@ancademy/bespoke-server","version":"2.7.52","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.50","@ancademy/util-server":"^2.7.18","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"e36b2acc16553fdc7c3b8cf94218efa63920ccd1","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.52","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-7HoDOv1aB1wz/STiJSvga4nTZnk+fE9N2awXB9TZxD68nGlK77xb+IFzvhya4Zqu7CRnmbK/C3sdcLP15z5GGw==","shasum":"2b29077f81d1e200bf15f107b8fd0f62c0d2ddd8","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.52.tgz","fileCount":26,"unpackedSize":69974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNypZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHEhAAnAkOT1HhrN1DFqlF/oxAoY3V3jjcst3ltx1LLqYEVwyhOREZ\r\nRyAwc87Cbhm8TWC8/qHcom9fv8AX9yJORN6e8NZHK/Vf49qSqyqIMtJOtd7a\r\nDVhT9+H932qCP3OIVOnvSZ+cEKvgu8W1PBlpQwK5sv88dAhqnAIr58KCJRC3\r\nsZ112KWlBDCUgy493B0ti2lTzrBom/mm3ACIfN6sqD40P6IR3VNqjApjhsu8\r\n09mDcNxZ00mGm3Er+pAzznZY6H/hmAhGpWJvUZRCzK4qqmm2IKONBy9WYcWn\r\nosyaGQSUKisKR1IRqQn0r95DmxKmc9AngizRAmtRFo9heYEEDUIjsDcFaLPu\r\nK7PD5MmBNg7vbyctikFf5Nz8bWSFYTB1SqtEEGVR80CkcQ8XeblHk8cOLTXd\r\nv9Qp5hHLMViVtq3kT9w/bo9Fd7pcdrGIlj2RXyLcLj7VC+OIVohzqj+jU6Mb\r\n3PWyHSkTbOHHcg00uKSp4VLdE5ioAXEAna7DifemOnHLJYp1O3qNXJv57cBZ\r\nW7bJWZ7agn2Nb/nMdzqiBScwGRktpKuUEKNDHsPUHviUx1GZeBhQ0CWKge+l\r\nFxTSeFU3jr8VTp4vG+ZPLEXSinHi+fEx5arHbaKj0NqFICb69CRJotMyLFmo\r\nrzTy8aB2wSL8kboq5+v+vqofLSOE+6tdYe0=\r\n=IbO9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGY3UTzyh59wvVswC1L9XPcB3dFTUlCxSPGA/i1I62INAiEArxxxevmuZxAhF3zkNtLWye4PJW9t99V3MTFxA5qzB84="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.52_1647782489566_0.5083044060766366"},"_hasShrinkwrap":false},"2.7.53":{"name":"@ancademy/bespoke-server","version":"2.7.53","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.53","@ancademy/util-server":"^2.7.53","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"34588a066a61d14c95afae0adb38de8aa4a7db6d","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.53","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-9psFm8ps/pQngLMLVKgY3m21693nAyPe4oFqn6ljeFXJb5cusIwo3Yk0PL8ER1cCdgEfelqBYk6DkdPuShTZVw==","shasum":"3d880e4cdce3278117ee4724b65a9aeb98d211d9","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.53.tgz","fileCount":26,"unpackedSize":69974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOyXNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUIg/+MkwlX2RIFDgZid3y/PSkkDPEZaRyv3N/dIBPNiBM7tqDOW54\r\nA23d4tSu9raZIhKIM2vCepCytRfC6td5En2P05drkkMqq2Van7Mgf9c32qDz\r\n3jtkSHDx7F2uWgszWJfaGA4mRgkqdKUtnMC266k98vX6aiQf6VrTkAwVYC0d\r\n1elLu9t5cW/FcHFAaZtFvCPlLo2TckgRlTJyWf+/naU+ijnFK7chJT+uBRMV\r\n8B+vzCGbI8pfYB5YP/PqrWkUMi5qCV5koZVwt6EJm3cvyMFYeEg2Ax6NA+jK\r\ni0Mw/ZaD9iXswwSLhywKAYaLuv5uGC64DSQCRaVHM8+Ow9XE9s1lUnL6LiyW\r\nBw6VpoMcAmCqB8j4JgwJyuRuFXQEUZHcYUTibHZmTXsfPk7D94iMS7zODzbf\r\nVN2WEzgyrXTpL2IoUR6Sqox130q1ICC+4u931mqHjgsviJ5gNv0HhEl/HjRb\r\nLXk9+sM8XvRSsapNasMDj6VAHBp9of0cA4zMe0ON6WQRPaogAEmX/PLHonj6\r\n5pDmUm9FuJk++BfVNZYSOyfBQr/G4kHphzr9MagYeJDStMS/unpHIeUjFxim\r\nEMtz2sv6unTXbSkS+SQHg5LaooH1GkEtD/Ma1AnYhmoMAE7T7uMMIetkP3NE\r\n/VFt4DmplOYk2QYsOwRgKQkVufsQIFHMTo0=\r\n=AV3p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwOWilIEbI4nWWA9pcMsDz+fL6ql4drgXMwSflrneQyQIgZBlK286iyq85CuMQTXhYmgUH7UwcKtvopBcMfMsSkWI="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.53_1648043469340_0.7848578882996884"},"_hasShrinkwrap":false},"2.7.55":{"name":"@ancademy/bespoke-server","version":"2.7.55","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.53","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"a25e00155a93fcc6c3472e0849a44562755c9fb8","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.55","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-nKrsf2bhIvZ1B8Vch+GSi8V340iBVTp5v13h6+/eprTtLKyuWT//VGRjjgeNnI92K1Sf9xzV2++9m2T9ck2Rcg==","shasum":"413ac9a648a2361458934aa672ab85563a5f4052","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.55.tgz","fileCount":26,"unpackedSize":69964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPdnTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcXQ/+LXpsbL3hKHoxGJEOc5yd0dXjJKLCibZW7Stz1YrPEy+KlMHe\r\npw4pMPqjYOWn3T9EU4WgsikW7n66uJrw8afoiL/RwQneof+bqk1aFI5/FMQh\r\nRD2lzb1jmWggvTbirNpkqfPpVvAznzY2hy+FiJ4j5gNeRq69wM+PTfQAOJfu\r\nR1t2+2GWawIpv3mD583UrKaCF8YISUymxNZipPD5FU3Oqd89Ulzpbe5Z0mtM\r\ne9WvhOu4CCLZ404GqwyMxkQviTC3161QTHzoXQ0nyNPCVNQAA3NkzbznfVkK\r\niTBYOyLoU+XOz3dCgJ5YInwDw9lxoP+/5Px3uriuJET0Uxi7W4oMrldmMOYu\r\nB+y1y6dFMopOaz7lALAj/lsx5mR44clGyGSvkmh2TPbMFQrJWgN4/iNDS5W0\r\nzpaIGMPw01Y87IpVb+oPFCFgfCNqXCkdWhc5WRpDQ2t5T5b1id/qZEy+3mnf\r\nwjpqrDDUooCyfESh80JjR+IqL7h2AWjLBnLteRIG1jMiWDQfAJMqwFZD2ecu\r\nBMCWX+V0atJTffZmbKLfuBAQORv46Jkq3IcVLTvg5qAdAI/luq7bwXgWf42H\r\nrhBiNtQEtTLoVbbB7CuHLZ98hG00S9ZMYbAMhF38ERFQL7S2x9aMpO04uBvz\r\nGP3+2C2w7bKdtMqnkQhtdgkXnd6StU3LVrw=\r\n=tfRL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEnq4bYezyVI9soLIOPQg4XNnDJPCn58eyM8jmTrszoBAiEA0uAeoqPPw4S5cm93NRbTNT7dc7XuiQs/bCUD6f8c6pM="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.55_1648220627023_0.9245469911171944"},"_hasShrinkwrap":false},"2.7.56":{"name":"@ancademy/bespoke-server","version":"2.7.56","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.53","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"c28807b6f1e6b6ca9e5ff46cb1bcb976e6a85ef5","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.56","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-0BOHLfEHqo3ClKw+ApmlNHp9g1UYBV1epUL/+h7kP2vgD8TwdlIHvVRDuF7gAEqqkv8YIHBBXzj0hy2CXCPpXg==","shasum":"62bd6998794bbcfb3a2a39305d089e8a43766d68","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.56.tgz","fileCount":26,"unpackedSize":70637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPejZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaqA/+NQS6katYsP3VC5bo63WpTP9ffUgbuVdscJm3pgerTNiXCgMJ\r\nynezMowrbKOTNoRA5DBbQOaQrUMQW+hjPCx+4bmnavKF12ON4197WWbRz6GQ\r\nA5FTuBEq33KQBhu4CXspLk3wmMxMYphT4jSuf2CYqe93ZFP+yUV9dgVaf9sl\r\n1OZ2H+JBC9mna/PsN1zOu3petBWaz4OV1Vcx3BwcIQZpNTz9zhIywtVUgfCZ\r\nH4dRzcHmU6KcOxqPzC9AN7GBwhVwJ0kFAm7tqauGUkRqIODPfkO/lUbQ/m2w\r\nAp+A539HXxrXr0cjrrtX9fUC3YnGuoZW2PjyM9DUAy4qdApDLGrymg1qYUMH\r\nyFL/Go2XGN8sw6+oVtAbC9R3cPCWqMfKsbpYADFQw9QZSxIyuVww6LVIPg06\r\n26XBmn0NfWRfRy9e3JcbJagacPU9OluCVJ0iFpRJmKwqC1ac8OahkOsBobx1\r\nv/i6UPuL4kOUafXHvuDK47xnuF8lK2VgjNia2+CNOz2kgNRlsOUvhBe4LgKD\r\nwXLDD48r9JgX61mIVSncjdtQteKPEKrYnikNcfJsmdIEd6ogoqOr+4k4WwgO\r\n9Z10qjDVKfuHiUg/tQq4teMexGLvQWETlEH64a/UgtykJjfZF/yv16jSonA2\r\nyIZoNi0msXf2avJB4LQDhouDOy+rjNblOho=\r\n=zD05\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDYz3NCDHAtW8NssyZZBEYQjrG9GRf77GBLL2TaIVDE7AiBsmLK1uPhZ0g5wXcrNBomsakwZC7GiplPC49xSmN88rA=="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.56_1648224473434_0.7582864494085653"},"_hasShrinkwrap":false},"2.7.57":{"name":"@ancademy/bespoke-server","version":"2.7.57","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.57","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"f2e7e9d2f94f6d9b7e0b96e9050166fb5c8c5339","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.57","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (win32)","dist":{"integrity":"sha512-BeNmKhPn31cHc4oIr+W8xp118w8WCfhVFqNAWEj0I5xEkBrC/18ISSkhFhpGjCS8F4+IXMivZDmPOFd9rSllfQ==","shasum":"becef626194bff3f38def0e0373b5c3efa272d03","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.57.tgz","fileCount":26,"unpackedSize":70637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQsrPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEmQ/9HWDwh89Jd/wV7/zjHL+ICe/B9GaNEUM+lnHL77bBJ+hYdaQv\r\nXIFLhrgZeMKGjPmnFbBbWA3cDdt3GGDTtjGGeVE7BXvmZqy3Vvz6jOaXuXYJ\r\nChqzYDXYbmKhWBMR+V/3WTUJ5aQ4p+H2mRUyGZeSJLKJHZ/vkbaN1V5nuMvW\r\nEWMmncsmovv0i3tbjn1duCaRspiv5RYpb60g7MMRaws5dUQAzq9H+46vKQ1U\r\nUEeYNjpBq+DrKM3LWb0fQKiGsxYpO2BDAF0OLk32wF2IM3CFEL2ejiMcTwKZ\r\nd2JXis1wDzbwNMP+C4mN3ohFTEmx6zvecF4dydGfoLPC6YDgChhX8ztiP0j1\r\nFHIQn2wCLCsMQb2keW3rF4bGqtXRdzGClE5ZUsJfsKrodMTfhTlghqdTTjVv\r\nIRxxKHixEbE/VMbq74h4s/AjOKyOhvqPnHYZHVrCa5OoxtM1i0L3bHl6zILT\r\np6cQIMAWdXSTnmfzXNRWDeUaX674qODR+Jo/LCz3wyuyq2SD2hNHXO2V/OKi\r\nAZ1svBI7vAhSAmPHUo7zq4gdohBkWwMBB0t3L1x66PXFgxSU9sHqvfJq80Pe\r\nu8AeRw+oVeN08WJ8DlbHOCVgWtwRuvRnfn8ZBVuOCvGs9xCsOihxUr27kwy/\r\nfthAlricy9se987qCzEGsyAfILQcdlvstmc=\r\n=UQ4e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+prJDbuux5ktsAwEIyvomr8BU7H29lgOOR5saVHumDQIgJgOIGLiDK9dYKT5x2eEU9ijkmgai2jJJOCRCnJxmlOo="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.57_1648544463446_0.602552082231073"},"_hasShrinkwrap":false},"2.7.58":{"name":"@ancademy/bespoke-server","version":"2.7.58","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.58","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"d0dd1af54d558cdfbaec5ae55c2387aaf4ae02a3","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.58","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-hu9nqyVPlAlXciw/gRRa/8KWfLQqKX71BDcFO430GU2fd/azrTBmknmj2QC2owWeFM0J0EGrMhzrjORwPiZyVw==","shasum":"a5c1170eacb7cd3a538cf3aab3d1c35dcfd43939","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.58.tgz","fileCount":26,"unpackedSize":70637,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDW86T3rbIbyr47Fy0RFUGWxlOYjFlKmMNgzzBMmQzTTAiEArUJQhxlxm2fCjEZKYGSEYb8NZUn0/d2HCRgRJV+nbxk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaQhSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEmg/7BX5Gv5YANy7hhFiwFGFKvx4l0ghjtM/uR3DiWT8wkQ8AAbsn\r\neCTVOinAsuecDiMgqVEO4mn2lqTetvBRYtx9wQaSQxf3MK2iQ4XmbdJ+rQiB\r\njT/VIWrNX7u3NUMSI1IzfBOUdWkfrfvsadbs0xsmfQLYybOjTDWK7Nk8O+NX\r\njGMSZCAY46LNQjYj/ejLGozlyuvxmZREOOTxZ3FpYfryzkl3uutHP+T2Ulzx\r\n9+mOKNVyf+y/M8AcgGzM+xyJX4lIqA6sk/ytc9Nak2G7r6hYYLA3z5tdShlX\r\ndkb7uSXQxHyd2KERVLkXYB0q/4YuQs/xrO2XzYlH8TdbSNMPdZhCZjU0dHva\r\nEJ+2hcR2wHHF51UqYPTdwb+OUZY0Lf2gtRR4Y9d1VmQr7E4djD+CzWF4HrOW\r\nPv089WTULnHV9TjTxQsvKcjU1wLhbVpng7l8eKDBDhbevWtrsStVQPnDx7Vx\r\nu29z77AOhRNqynr2fGYlVdctLqSzVclIitWD2VOYhmT8+RVGf+YpCsIBTcQm\r\nqlFsGJCMzLWwq1mMWifYn2gEGqONmPONFj9x1mJmSoBLUAOLbO4UGQF8t9Z4\r\nnN2ba4nfzBJfVf412FxfO7N1TPdnNVW3Ro/EZZOlDk4IEAhMSti+pYOe92ah\r\nBpHXU+K6w7LP2RNpGk9UXAfOq7p9jLRzkBI=\r\n=MvYB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.58_1651050577847_0.008419437402963803"},"_hasShrinkwrap":false},"2.7.59":{"name":"@ancademy/bespoke-server","version":"2.7.59","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.58","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b5fc75bce4c5158192606a43434da0983490d5d8","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.59","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-EVUMw96XbAS0nl7MEMdv71K84QGboYSiEaBTIWfToeq3ANs/LKZjHf8mhOe/x4eM+sAC6wHkjyB+989CnRkYkw==","shasum":"ed7baa9dc3242659069b7914964432dd1a2ee658","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.59.tgz","fileCount":26,"unpackedSize":70637,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEHCzod2IcXfuPlS4ame3NqwysKcAb0sZf0fUnyikzo0AiEAko+roE32f+ZIIK+RIr95uwEuidq0eWpNnseey5rSU1k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieO1bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqiow//R0IKW7KRTRJ8/oW7Gpl54Sd4T9aGtNVXQbc85js6bBxYvibu\r\n215fYvYCo7xnSEcWJEqRooAgujhpvW5M3XVZLzAyzVoQMU3i0gQQcUkCgiqm\r\n5ihtX7xjU5Rc8FE5grUaXuF4NlgkHdqqvGVN3Gg/deX9yXRIDgWppM+zf3fM\r\noeBJMvCgO77acFFDj7TnXBl09YEg3HLxC9/klWfZ+OarNdAs0rQ0x3qLadfB\r\nJ8R9Iw4KpcxOJBzWw19adQa8pPQIn1+3itecz4atOoa4P6v+WpnEsInkWnYz\r\n4Lt+LsSHzbMONv4Nf/RLRweuADgYUG70RZSYY4UleTdtNTt4s9gdrT/0+hF9\r\nqJNn1XiLiN8+Z5tHu68xR+KSSvZxsTMW9jDk49HkQD/rmTw9ooGde2yPbwQz\r\nu5Pb6NeWbiL/hoZT4fFr1I9Yr+c+TZZQoSHRkmI4cHPAsy5pLBik/mwnbdc+\r\n+9F9ULQ/HRg0R7spLMk0nHKUYds7fMRH+0fkXyCP5cEXIAZktyo2PR+gwKZs\r\nNwsWqmod77j39dZLn0L7ryS6KnuIItyVZa4NbA7dpTAy2GfdBKNcDbIc6B0B\r\np3qTMrtelrU2AK8goG7vnIJMlod4qroslrM+hVGUKwXHx6e63RvG/c5L3mmg\r\n376yDqKj6rX0assp6Ax9fD9BDHMZPiax8ZQ=\r\n=410Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.59_1652092250923_0.844029434487829"},"_hasShrinkwrap":false},"2.7.60":{"name":"@ancademy/bespoke-server","version":"2.7.60","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.7.55","@ancademy/util-server":"^2.7.58","@msgpack/msgpack":"^2.5.1","deep-diff":"^1.0.2","lodash":"^4.17.20","queue":"^6.0.1","socket.io":"^2.3.0"},"devDependencies":{"@types/deep-diff":"1.0.0","@types/lodash":"^4.14.161","@types/node":"^14.11.2","@types/socket.io":"^2.1.11","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","jest":"^26.4.2","prettier":"^2.1.2","prettier-plugin-organize-imports":"^1.1.1","rimraf":"^3.0.2","ts-jest":"^26.4.0","ts-node":"^9.0.0","typescript":"^4.3.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"461ffc1f24e82c880e385a9d2119bd73862c9258","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.7.60","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-18DZFeEpNcen2YF/CKIqLGua/80MtvgWQxeWH33MCrfXJPhZPy8KMM0cJq0OOQIWoDjM3rduliCKJ7/Q+30H0A==","shasum":"516753c68ba1a44bd78a318140fc2cbab927fcd6","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.7.60.tgz","fileCount":26,"unpackedSize":71306,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNPBYS2hfQrx/zLBEfsOpKfFZ2e8tn+5jnImo3ZnppfgIgGVrTtwUGS526r1BE5dfO299gV/q3u6bMSmEIqHDJO1U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieQbDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQNg/+OSMILLh+Nr8/ATRNmEj2xxAE1jVDLsU0yBqibGYePXvKEzJn\r\nMUMN8igxfqB6nccA07HvQsMr9C9r4sNKWV7kmNfdwrbLR6BMWylbBpvK4rVM\r\nZVTOO0VDywXY1t0Dk0wba+R+SaCXj27ojsGuSKZIBWBLtQKnxh/f0tUplhaJ\r\nXEut+8JaaBgBs4PhBzltNvaVOZq/rcsW3I1rpNjatasGczZH1EMI1jO+2Dtp\r\nLg7TjCgWnx40qViGozZm8ltumEcvX9Fh20wscytOHPWw06jjTV/d29NCmHjM\r\nhbcoE1GCC06R9QkLj/mRYS4a+zeKSd4Ai/8xXNZzZAWMufQu1yYOJWXy5X+B\r\nvc0uvVn/CPYfQ066SZdvGktvhDLIojVu0JIyVs4nfXzl+ZOVxgcmb8+Ph4Nq\r\n2g68UmPHizCicXWexArrV+27OdNcip+jeJaaArzI1m6ITRodJPFiR1G4cdr+\r\nDb8FNFTG3WJd3KUFkW55eFcF8XR0rvVA+2zp0vY91A+w+M2zK7DL7vXgwRd4\r\ntz+IonjxePluf9Glxlfdm6nYWuBU4cmdpo7KRkasZ6owBZOCk/rDZPfk2WLO\r\nehaslKXVKvN8h2CIjvrTaU3aCilscyJaYOdJNSBSMpMK7nP0eJAKuQretU6o\r\nlPnJ1klN4v+uLyVqCgVglEdRvzg27XK1vZE=\r\n=A8fj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.7.60_1652098755062_0.409805561919266"},"_hasShrinkwrap":false},"2.8.0":{"name":"@ancademy/bespoke-server","version":"2.8.0","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"^2.8.0","@ancademy/util-server":"^2.8.0","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0d63c5a48347f77520f7daeb79117bb9d8244205","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.0","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-/V7UxC4aizoA2ghM/C3WXbWp0bKuwS3hb/6kq1EdWM1oRdBGIIJB7AbhKm34b8PihWx9HpuNt/zxuYhlsNMnkw==","shasum":"7b994240b57f8ad771dc08f3474eb736468d123a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.0.tgz","fileCount":26,"unpackedSize":70758,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMPsOohcl6gtxFij1Rs6L3dwVItm3NcOsmk+Rj25hKiQIhANUP1U8oS40WWJzcHCiM5eSyei1rNAkN0Ak7BV3iaObN"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiltzNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWJQ//dZ9Gij6lOR7yNdaAsViuvdvhxMaEnwf/Mu3pFU6QcW3E3qag\r\npp9Azwy8i03XbHAz2bwUm2fgfjHv/KvmA08jblxHtXYdvCnHoY12JjWX3qMH\r\nrzktmRP5zl7H/D61XowSAnbv2+k8flCT8C4mrwF0jJWoWu2tulS3jscOcF1A\r\nC+SuNvtj+joW8BkKQBYznPl2GO106OCWbOXlZlvX9fuYJWBlBmoKukbeQDXm\r\n+1NUAAAz5zM/Agn9Y7Vrtb/JXhNo9S1hv4OumI0qn58/wS9zb37iHqrgbYV8\r\nt6yUifssCQQkmwSv6FR93GbDGcNSIaR8KIqztKruQKg9UAvBdxqGuie8BoDH\r\n78QwQz2u1GWpWM/OtzjJhrwmPoBDbv1UPJoglhmYy7SGE9y1y/JjjtazL0aE\r\nQfwLN3HPCDIMlAfE5Dqaix6YtJCed8bFjA8XF+waG0fHv/NaKaa8WM7J6Mpa\r\neEuwFxNe7BSR2owijJOHAbc2Wy/u1gpQpzULSXgHww93rawSGxgOpiocHpAO\r\ntrUrq1XUfyBz9/VNf/GsAo+ROYAjSN+oTZIptmGVG5vDh5b5Up17uVvNcT3Z\r\nBQ2+LCmTmR3sqoUZW7lAG8bsblPJXBVu9kOTJiicQIbcdIzL6qFvrfMRy2CH\r\nAOICjC9sT44c+9J9JZt5ECiPHGDWVXJxwag=\r\n=L63N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.0_1654054093619_0.24162311636012745"},"_hasShrinkwrap":false},"2.8.1":{"name":"@ancademy/bespoke-server","version":"2.8.1","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.1","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0e57483bd8921fe9a896f063fac6f2891fa15828","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.1","_nodeVersion":"14.17.4","_npmVersion":"lerna/4.0.0/node@v14.17.4+x64 (win32)","dist":{"integrity":"sha512-q/B3XRkSrsXFxgFSSEWQWKnOSpU076z/exzMuC9u23THShVWbPlYd1ykyyYhjkRAWvL41KJvKdriG7z7rdLoOw==","shasum":"4c37b2689c9bbf1c70c0ada7a4127974ef996443","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.1.tgz","fileCount":26,"unpackedSize":70756,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMYpaBYO9uqvS6tAuG7yQ0jQVZVh1DXGyb8oTN7oBLAwIgPng5rhhDgVL0Mr4iA7W70ilizXlWxfap9i2m8GwvkSA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioullACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp79BAAiuFlpVXC+zi23MlTnW0mJrX+8VLEhU5NQ5E9md9welm9n7xC\r\nLr3TZgUNyA4aog+obFQmdDU+Rg4ncqYrSA3bZxuN8msOHAkqAOwMq+d8VeyI\r\nTbvXJeQc/jK3xsVQGqcEQCsBCzqvtj7wMf39urKknM1cnUy+pvWLA4PYy9QM\r\nunCYpJuHP8pI05Tk49jDmDMQYIfvcbC7HhBMHqTuYQ+noRC2hQXiRnnSwsZW\r\nTbFwSvcOD4vh/1YKmq2UIRXck6okev6cwbAMZjjBcYdX2qNsNHJhr3pZtBv7\r\nJBT+fIpJOPmFql8cZ6+r/IdZDDI8d+EyKQQGtrBIU1V6L/7NU6jOGndscjSn\r\nOgKVyv1/Ph9Dg1FLTrzO4w2Lxqy6J9aPz6GhMsaR++9mxIgWW90fsf30WvN/\r\nIsYC1shOA3295vL6Sxmlr635IxKKMV7IETjzrzqhjoskkM9UlUjm2Excf/IK\r\nnGfq+ZpHtDM1wKywuMAa6PPCHs0o1ECAGhJ0SK5V58LMIkmtJuIDUszBkqzx\r\njag8xoT5tx0JHXYtxf2RiOauHfoZtiHS6TGqR4PTNB3OF1qq9iTBwStpEhlJ\r\nKsm5yEE76if7X+CDzQJVP/OKdMEyylWr2a5XD59T6Ld76ljb58Z2suyVw30u\r\nKqMw2rFgtVfNB9g5ZkBjPUQGNcY+CrMP8B0=\r\n=FNPZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.1_1654843749319_0.5377089050930264"},"_hasShrinkwrap":false},"2.8.5":{"name":"@ancademy/bespoke-server","version":"2.8.5","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.5","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6949048d9a2e24540541e42696d71482d298d911","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.5","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-lPoA2ItNdqTizCm6x+ayE88w1uEgARS6uBTfPCHuDNRBUTUC9cFzTkZQHQKIN7laxlvKY7B5VcTMDLmSX4NpjQ==","shasum":"d35b06e657be0a0c547c8d1f80e0b22292a2de8c","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.5.tgz","fileCount":29,"unpackedSize":73179,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUIY2mXUPgfSqacTTc3kLICCkWminHpwyifnKP47pwUgIgAOBNI5ldkGmd5qLpGQIDqvWRT/rFUd4pQ/Nt5sOudzc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJistnzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpu/Q/+JW2Zq10e1hh3tjpv8kZsGVtqydiJaNXuImApbbIE7FjSGGRu\r\ns0MyRql5beWB9MBxeEI6BM9v+xs88B5EQICFpdAH1AjzfLzSVYPnhuV2pl0z\r\n3BlZNTfWHZI6eXHTZkXGu4YQ1ThUvc6t4ljekg7222k/By2oKNTKNDWH/1gH\r\nWkcatxs+gye9DT5fwm0NBWHcAchwzFNG9hOpoxDqQygdb5NOFKCF4yhw3hqr\r\nPaSLRV3C/XOHYaFIsiqtyS5M7eGj5I3afdf4HJHZ4Q3XMeInF1DHNLfmOqlV\r\nuqGbNU0qphYvXuRQd7AxMi0FcAd/aylfBPvbXqyANyMKhd4m6SyaGwAfX4gc\r\nJFK5gkZAcIRFuS6aS/vfVMzH91mNhVR9HAs/YGpkfmoVu89m+2DB+IMVeDrh\r\nHrjNzHLJLARzb7901VeGYiFmvedNnJ51LNe+OHhwpJIHrmVxNc6CRo/WkbTz\r\n+HnUXbR8jtOk7oPKuKWmMDkvfXxLaOxLeWhbwYv8I7gnvDH7JQz7cm34rzhN\r\njAl6QvL5PXrMyroEM6m01cIFK/ARqbg6wbQbFFWjHFbUzCfKJBUx/FEbV3Uf\r\naeR7o48Puq1qW+spAJzUxFtDZUqZUhAd53DU7KxjMoUdy2XDgkceJ4BNZQfD\r\n7sPjpS8JOCEM/lo6mZhVbf2hDW9dgrec/0Q=\r\n=g5+B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.5_1655888371414_0.3825566353303054"},"_hasShrinkwrap":false},"2.8.6":{"name":"@ancademy/bespoke-server","version":"2.8.6","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.6","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"3064e8ce24c89e4ad93465997398b578e86a01df","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.6","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-pV4oQFPJMkAE3pX5W141b1R1atpXbQ6LMtLPqRR3p+BjWQFQ/dCR2OL3Njj1mcAdF15ekAQANWK+9jH4jVKVAw==","shasum":"6bbfb2e1934cc5897d82ed958559266bf19c8451","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.6.tgz","fileCount":29,"unpackedSize":73171,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICT6HrNfuOnpnRKEWVY2YXf4SSEef60nJJfBVmi4lIRAAiBImtssdI2cN2EaT7blAtonvev5vQ5TpbOpINz38it/QA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiw6pmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmos7RAAkcgEMEhLLhn0Liv325U1WAgrD+j+PdJijPKF+npbcoxNxUeJ\r\n9mJamHIlzppSoAUCTMUw2tZmXC55e+M4GEWzfr3QJGAL4cSZ+7GwwfspLAn7\r\noO2vjg9DM9XQl6CjlISsF017ilFxawbPhQ0Lx39mZnGY1IOABKK2iGPw3B9P\r\nocPIDrcltLJRkWTNlbLxUkWSdOqrsA/DmHM+RA83WWifzWfqVIwV6FgB+Ty0\r\nwZDUFW5hjWA06s045mDoh4eoRJl01NKZAaJM/mk8DpWcgeif/lnUWEFjOZbI\r\nWPC6tHHIrY19+bt3EqNlEgnTLnXTk2se5oG8BiyHHJ1q4Rb4leVsr0iy5aiR\r\nGn33WJNyrf/LtJZS+QDBiHuj9JKdHM7Wy2yKemXdt1PYKcK2eKVkjEpwQeI8\r\ntq8RX9+9CMOft/dIvQujR9h7amoZmeBGropoh+Qcp+/Ec7bThI+O35HzJVN/\r\nDfj34lvPJBNi5lXu0/tW8U5ZDGbkTXqjdj3l/hD8tfjxtVYi+2IvB4BSHabo\r\nXysHrYPO/kTENcmww6rvjRc1/5zzZW92B61BPVTd3Twh07PvfS0Q6ADO2ml2\r\nlLnIbfAFDluW89D4NkzW+q4e2vrARHYJHry4KCH251OxOfCZK/805MdFwKK4\r\n0M4pkjf4xIUnwKgvgHmahIFRdj+4V1hFXbM=\r\n=ylVH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.6_1656990310103_0.20756350189674877"},"_hasShrinkwrap":false},"2.8.7":{"name":"@ancademy/bespoke-server","version":"2.8.7","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.7","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"6bf2152033d5ef2f09f30b1b43fb7da2f8162114","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.7","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-nySuhD1LmPmsUOD2nTLPV0f96mgk5IYbf0QNKmpCsuXPv+yVd56xK0d8TqKfNBeeyrHmpaY/zn5EwcqJFfkF+A==","shasum":"dab0152bcbb119ad9b45d31e8a1c17d7837d2209","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.7.tgz","fileCount":29,"unpackedSize":73171,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcXl7i/Ah9TfEeFrNwe9hzWXi9oSt9uBFNQysgALudiAIhAIyMOj6R5OeCiFlM3jau3x0AGVej7U3Upr5hJSTHvnLy"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiw/4VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowUBAAjfav9ttDk1eQSeYDiU/oQnTIOmibYv4LyDYOO5OEUFcW6yy9\r\n3aUkCgCE3ycsdnOoZVsLnchmuwkxnwMVIXCymo+KwscvSNPCfHthmLJGf3Gq\r\n7to9P1hMZCNWF6P6m1q0adHnJmRaDNAckFuF9MMhFMeED0ckYl62HB96y9Tw\r\nvwKPSjubBsTbgTZJfAJcZCve4hjkGNYELXodR9+ZR9yABWgZbF278RNtGVbP\r\nRuL16RLbMP7o2s2yyTUUBJP6B3o23M+e5aJU3m0+EX97A0P+vBDJKkDpv44s\r\n9jaP0bwcxHTpRiyWI9ArNFKUxijD8g1CXVL8u9xRKkgo9jq/lCe6QpqYZkGe\r\n6sv8j9RIr338lzd9P8gFPwd+kmZA3k0h6FMGamTOeFRlKe8YJuJy8GyDxrz7\r\nV9kY01rpSkip0sWytqwgcLP1fVYCmtr1X4wt48fw02HFL55ApO1osiAS7BD+\r\nPLWXb1oU9MX0iBloYmPtWICkMUtHQuBI2aRKtXqr6SKWWV1znsxLAJjJZ6IR\r\nM5PSPsbGPxNFla8SDCKKIRAZhS3/3Iyj9Sf4WRHT0uUKuj4k0GCm+BnS6nmu\r\ni4qQ8O4+yZVEBDDOoeEnZkgiZxtkiFHR1s7ifgIdAqekJ8jamoPj9TF1KuiP\r\ne5j5T+F2/83Lx1CnmDAX9bta7F4uK+fAF/0=\r\n=TDX2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.7_1657011732889_0.9730632224179827"},"_hasShrinkwrap":false},"2.8.9":{"name":"@ancademy/bespoke-server","version":"2.8.9","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.9","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"66f8abb7feffbb75264db509d94547dfcf7a2a53","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.9","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-A6vG6KrltlTsBxhOAtG83xcK+zB/XiS++SBVuCnkCsgM1IeFGmPORxR+AL81p7aPqzD1/VYFKEzH1PJx4ctNxQ==","shasum":"41312082030bea41b83f7a8e9cd1bc3508531dfc","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.9.tgz","fileCount":29,"unpackedSize":74022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNPJ8uMCjUaKxpu4ilql8qMyljwR0Bu+RHt2ggOv79oAiBpavV5f46zgZWZqGrB4nAUhkJ+GO37bvZLRE03rc7J4w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2UH1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobHw//ahn5ab9QSWuAUL8EDjq5VCxXMHrwIUPY+0zCHq8ygfHTlDho\r\nlpuXXTBp0j4e2iGXQrVYmc48o4XBo98VrOjpAjptz7bQJoRZONxcTqQfJ5aO\r\niE20Amfizbzx72GFvaMv7DONdLSYxwT0899Z0ycrvpRVWC+eGIMkhDkeVj1y\r\nMXfC6e28fa2ARQDDeNt6XB9m6xQsXAJTr9YupITf9n/IMD6lKUo5YsD2tKg9\r\nCuJmyEEuX0FuZBFr4TUHlcYtS6RyPHi2jrzeNbOIYmCuWiUk2lIpMEWvyybE\r\nTt5YNb+MBEUJDkHxc0V4G/yOSTM3vQBLoF6ECgeDQdMpFjUCs1nY8jr4lkc1\r\nsiNUBxDLFGLIDXhOZslmlFksf1EKECsOkFiKCg1JZxf90JbLaNGsGP+lz+sN\r\nGZKc+AViviaP7dN0K+HDCeyLRNw9loZkvGU+GrY2qqFJpz+hRRwotAfiB0yJ\r\n3Yo/xGKvskCQq5Dbt3lgViu85TUuhMKFzZ/UrE2dIaW1vcMw+ET7kgsA9eKr\r\n4IEPtMWkJStwPk6wZoY4fi9PseVvuIEFf0PW6IWtHDCAUOteyjddZ3CPY0k7\r\nJjGaeNSibMYW7I4I1rHpbd92AB45sb3hH0OnXtxZjTkCX9K34Qi6j7JjbwBS\r\nkUo7efibRENBpkyt8Q402diRB7kYJvpVeDg=\r\n=+74w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.9_1658405365408_0.2712670934342314"},"_hasShrinkwrap":false},"2.8.10":{"name":"@ancademy/bespoke-server","version":"2.8.10","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.10","@ancademy/util-server":"2.8.9","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"f75ff6dc1d49f8b1c11835ea0f82cce8fe4737b2","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.10","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-3kpmEGaw8WjymIgC82H4Cypy+8PXKq0X9BNIVUe8/ia0agNRQjRUcyCSqlbUTLrZpaHCW4ktc9tofH7n/1m9ew==","shasum":"0d87414a031216fdd8522d9212ea7ed553dfac02","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.10.tgz","fileCount":29,"unpackedSize":71502,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRoL0D1GPF05cynL2oobEBeD8GSHBOku9ieiqVnjI0rAiEA0eOtsp0QNPYSYgc3iYCjbrf3LysQ1+7PhEcM71Pvtqk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi33whACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfHA//VXUVqJ/6UYBGNuySTS3QxEZUVvkAlynWUOHuNnftKD0gIm5o\r\nGKGU7JBDMVWWLhdd8comZJWCrTKg5llpoDQwErgL5rct0HNJgKchO6D5XgU/\r\ngSc9CGrmpsmeeYtv7NDmaOTHXoEdKKcGTXE/FNykH0e2durWEOnsCLhTW7YL\r\nZlSvEnmg5n4HButmbrGcJh+M95bxQQKwG9NsTcoe/vYhro4eJwEH5JKnrEoM\r\ncXmlFzOlN250Jy2OkLTjdA9L8oKPYrFpfx5+D3YAG/v/xyA2oBXG49mOKiCR\r\nEXtlGAn5pG2FMj8fWWdCM+r2Bl53QeHvwIbSh3rlthH4c+z8XtVkDLejnxR4\r\nYzVRuIWMCgYsz0+a/QVcVG0XAWSwnY7DZxn7sMbyulq1m5k8xUl9yJbZhW+2\r\nQupC/9oI0VgAq2aCKSu+5OpZV/VJsWM2JByIoSu0hHU9IrtTh2IPbjj+kWuH\r\nOgdCFw8M/pOW813p5oKgjhgV51FKhlrjPwqN73XlU2VQqTCuDvAuxTqi/kXP\r\nyxZvFKP5h+I9Vv8Fn7Sb/x8S8GgoG22wK/kkUVlRd0hb8fTuG70mNrO0KxMv\r\n9qcQg0oA4igulMIN59YgacY4tImsSbEDf7/e3p4Sc+OIlUQf0NZb1/Kofgaf\r\nyI/dNFO7USZRE270Jzw4K1VnOJNqcv0bT4g=\r\n=nesY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.10_1658813473441_0.318259420359454"},"_hasShrinkwrap":false},"2.8.11":{"name":"@ancademy/bespoke-server","version":"2.8.11","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.8.11","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"91773b052f2c1f3f095cb43fcea2778522d3de83","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.11","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-v5tILbtNGSNv+Rk2ognmzizQWgFgnf1h7shPRqEPZFL8aMxo9CY6HKwVNbT1r/IrjSEUPoWHBjo7UzTVVOoaNQ==","shasum":"dd8f93285ee0f0047e6b77b420516718451002e3","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.11.tgz","fileCount":29,"unpackedSize":71827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpbIE82DCqoxtnO9b4YgKNovFlFmbYrn9obBYoKSLFMAIhAK1oz0GHdsD5w+uqWHgxqdqM7X0JmZpKVkYjKfRNzI/C"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi51ZBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9sA/+OEE/z03lxjZHq6jWK+UbSXHwPMUmlpwyLyXJowbZhHLU0ppu\r\nsTbjSEmVcMiez68SvHkLtk6rbIqH5p8Bmu+dTTyJNbDCC+LLxemQ37p2t2O1\r\nmf1bbWnhyntONZpNrvv0pMbpYyV7+HWZM9EQjfV0coATIG7cdN/Z1XlHUZOT\r\nFrlH9jVvh/iwvd/1LNArU3exhxchqrIYsRfCOyOw1y9eTdRkA6zBJableQ1y\r\nNQy0DEDfH6ptnjjiLtGcqMPRrS9Ztk6E7ayoktH/xoL2c1HFc+ae4W2k3gtK\r\nApbSpRjclbXCjqeZtf67oa6PKiCo0jjExGMB5JkZmPAMOSBlfY2tvfaP5rN1\r\nvITF6Cjxa3EQY5QQhoVJVM6vnXCi+INZuTZJgdqqBN0hx0IOkdpVvL8Y3E/7\r\noyIHvhpic0yDvdAgQoNSy4HV0vZPIohAd7qJCmjiezU9+zx7X9etYXiuUmIR\r\n//Jc5ZdupOEEBVo8lPqMq/+thZHMAZv2H5IOB4ZBfSfG1gdWKN5vdWwGjicK\r\nYFOXSPKE29DToSuffdAWDNTq3bnAjG3qWW0gcIbuUiWafloWXKE4Koeapkyj\r\np7xRnIeTUhrrJHOTkh2lrdEh/mk/IGwMV+LlU7ZKGKUQbhEJzuP2FFuwp9YW\r\nKAH0xzg3iVNp2v1Z7FsO0NfKCwz2iBdi/GQ=\r\n=8dnt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.11_1659328064920_0.11040532510141188"},"_hasShrinkwrap":false},"2.9.0":{"name":"@ancademy/bespoke-server","version":"2.9.0","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.0","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b8dd9f22e8fa4ed4a38640461ad49ff97a1c4b25","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.0","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-1UFKKkmao/zF2N0Vt/90qwAYiH2/azPuvdefTlSsfPlsPRBNumEmgiNypFvdqMMfLLBWzzqmG/TXiUTN9p6RZw==","shasum":"f973b147c34502430789726560bde18d52c6ed0c","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.0.tgz","fileCount":29,"unpackedSize":71825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDO8RsJcuj5hEvT4hBCskT3Os37YXjZs0kkDyIpeTJCNwIgLfviWELGECt7R/sza8N3EqQVvd9gLrDZ/0I7G5N6j9Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA4jYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvOw//e6I72ta1Ab1zoYcgnAsm6PBou9wENhNuhMRgiCGOGHdh5ybo\r\nyNy6sEFpiCcnhn0n8NCdc6u2f1T0kYgxgmI4ubHA8qInBjEwKidwDqh54lYb\r\nXYJCDurIURwPYfEWOpWGmkPYSzZw11RcoBNAESy2VrSKnO0Ue+f+FzJ+UHdY\r\nGiB9ICtSHBR2xsoPyBcVO0l+FXjtxAa7Aq7zu4HLHqs96aleNZ6B7UNpE4C1\r\nB3+aDOVbNoiZarf6sFT1MZ11rExaJLLx857CkLCxSLdMy7WOo+AEI+w8Lur/\r\n7O8bxzNxk1+kH78YOy2nocoX0diODGhbyS9ozZbFN+/b7w4vuo5GWKGR5HK3\r\nfw4yHRYYrz+votl5k5zR7VPXaeD7grO7CMUXnpuSmgCAs3cb1wpV654eCKxT\r\ng2SRyYnLH+YjmO8tV8hHuBIyWTcEo5Zsp3m7h9Dl7z0hDgAmKJ1i3p/vMaiq\r\niU3Lt8nDo+1CAFHjqC0OMNXCW/e2rF7VpmUkoBqbxjjs2ZNH5xRdqWy/oDVl\r\nSr+GcHrr2gKS5jYB7oIWxwdTqrxIkbd50bXYZLsuyqmMoMnjYeE+pD5TIxjR\r\nYu2mY5DbGvP1xiQs0q5JVZPl/6Tb51NRxHeeuyIMUM98/K6Yw0xPteJMS0Z4\r\nQImvR1tbhAvKmmmYZUcCMAPIeQCMFQJKkFY=\r\n=NoqA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.0_1661176024209_0.6408053975741923"},"_hasShrinkwrap":false},"2.9.2":{"name":"@ancademy/bespoke-server","version":"2.9.2","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.2","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"27bd52d9ad9240f0fb153ceea23339f138c3583b","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.2","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-eTO0Qr5STYEnpcn3mCpgwFSwBNiJ0fwUZFAzMRddgQTslEhxaBgNSeOiD1xBXRkLwsXZMtF9sig2gGRFykYlEg==","shasum":"323c3ac6615a438efa9b84937dd05d58ea379ccd","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.2.tgz","fileCount":29,"unpackedSize":71825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0uOlKXMePWqyNIBD04V/4TPfsTPAsOWB0D5CGuMaSzAiEA7i3/EYgismICIqTig64M17PNX8vvFyGo13jG3SmGA40="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDZD6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr69w/9G12A8vjTdx8m6Jon4REIx1KS7nI47dwdHCPRyKs5DMJSznrR\r\n/zLDSYd2FWrdCAPbxcspdARb5mJy0941hd323PjWrzjl9Qpf5a4LbeR9ayEB\r\nWWWicWNeHsjtQ+OmxZ/vx1X1Myy8axGctFR7B74D3w+apwGZAtF3CQN1fZWa\r\nTeExHPtsEvZ1atMPzzBy5qEoiKWeoFuoiGXoBMGrbN0Kc+Eb+s9YewB/ST/M\r\n/8ky/eqXaMauwYZvdDziwInDGBV2nZodMuLHniX8ecS7Y1oDhIWwyZRihfzr\r\nRT0X6gSXdbvNODkSAI9wPufzV0CIMd9mkFwzv6woKcAV7JfdYW0NsUQluTKX\r\nvbg/BUXqgOMd0GDieueNGPzN4U5n13ApMc4n5MbEySrxSalRerQHwucW+HH6\r\nfvyi65ortuDzeqeHGL+1OvVt3GVslPg/4fB3Mlh7zSun+gwb8YrMhRKyy7Po\r\n32o3MMNecr86yGZJtVar7wY4g8IBklXi/QIsM7cNfJi7qKwOTlg1nG9d9mMN\r\nudn8UPcC/TXFLdmnV8E8LWKkYbxwVLRxVTyQiBhFI0z6w+NDXjP8KyMCWh7+\r\nWlzhxJdjXhbJZmACA5GknuXK0DRugnZdAu6WlN6drOLsVAUdZPPDsYtqnNME\r\n9AjZ9IIQsUZZbHczPCRkM+1r6W56rzFk5vk=\r\n=v6zy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.2_1661833466435_0.15481733393702513"},"_hasShrinkwrap":false},"2.9.3":{"name":"@ancademy/bespoke-server","version":"2.9.3","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.3","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"77dab41aec84a1a218ecf46076241156dece4943","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.3","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-SQRM0gxg6dB8D7mtoD3Fs9vZNPTW9miCA5A3yb+2golwTzyNS3r9yzqZ/x2llSJjCSq46Ysc4qVcCulkG4EXvQ==","shasum":"6c741f9c9ac6fbc2d604010f12a6833aafd4cd7a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.3.tgz","fileCount":29,"unpackedSize":71825,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1QN/H6CDKFvTgCsXNeNEI8KdEzKPQGMgW3fm7p74NFgIhAPqEcMek7+OQr504mQ14+xTGguSAgCdctxT/MCm/P3N5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDeAPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDHxAAonEx/wJdbEPHRe2T6nrcf8SJb8YFx4GjtLZkwL+WB9lFpbYx\r\n0xYgbf6GsTTa4S8/byuUWNUPfUN0kQ6P1gI4Xs6pat8pO21QLU1/dXVY3ZPm\r\nI8a0eAuMnO0y4Ha+YnfxOM2uDlfOaAj9CH3eUZcT2Er+zyfN4dQpEaaOz95Z\r\nUL7nEoJG8Kgh4ZrV2fudSOzVRfyOd2lMldUBPAotPh9EPceOG/yNybO9LWc7\r\n3ppM4ki0aJnVpErtzercm5aFJ7woCEjLy/BBdrrs+pCkntCSvAKod8ysC957\r\n9xRlSOIpJiZrXd2w4TbwW5F3HHZrLQlj36wTu8Qc5TWxrGfUemZyjKl8idWy\r\nWsKw5snLsJtHTza0MD1QUwcdgUWPrPpILZQicc3I+Fa8gs4o0i1tLJ75cBOw\r\nl/BD6FbB7ISbi8MSPD0T7xBTgQHTq9LWXTJMa5X0KS9r/d6h+W2t/V+BYo1F\r\ncAtKrsjta0H93xgqEV3daiBXKidlae+zPUVlEh1h8L3JGf6lpkZ8SiYxviTr\r\n24oLurO7fJKs5bA7I49y9bZVIVLoj2gWvNZQC53mNhuJCZg4VIlE14iSwGae\r\nWJp6MpKkKJJGnLo1Z0zeiMyHpIUjRD6k0Ey14uQqVE8rtvG7JUzC0F4xOhGL\r\nOaiaTHUg+6QTNNVB2MqUtmUqkBMlGe21CDQ=\r\n=bO4g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.3_1661853711353_0.4047602763012408"},"_hasShrinkwrap":false},"2.8.4-patch1":{"name":"@ancademy/bespoke-server","version":"2.8.4-patch1","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.1","@msgpack/msgpack":"2.7.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"bf5f1071d6f7efb8d64004a8045999395beae5d4","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.4-patch1","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-0ubEc8ygme+zaEJn0vZa3H0o/hRXEd9qAcY9697/4nyHqULmuhTNWltsGA5VQ5fzFSHHsh1RFJ7QiADi4fDeDw==","shasum":"105be2bb40ea4b49df24b7b1aa4cf89cd7f6983a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.4-patch1.tgz","fileCount":29,"unpackedSize":73262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFkRuWQle0GASr9r/xckYFxWVrRoMRLv2j8T4pcolPSLAiEAgY3I2MJZhcRdvXiSt8NgeSZ4o/S6W+Ffz+RUdhTyuxo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFtioACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjHRAAiZkeNzHv2hkeCxzsl/QWRLsZoGhKTuANW6M3pUFUpVk/rkzh\r\nI0btWjwnQlORA01K4cmXViNj/x0roMnAMUIMGH1/nbfNUwHZDjJa9d7ubTEf\r\nCDn7wDIoxEsUHwYSOX6GrKpjuzqqAGfBTA8v8v+hz2nxrfSCspfy+9WC6s7w\r\nf/2Vaa2zo3zkhMsYGEJcWjZvPAL/bxPwZWDD9FhtRLPPrY1zY7XM49tdH3de\r\nZYgiqdJF1KUmBk85ogyMUDcyDjFqHZkjwnQbHrGMuRYfSAHpErlAWoYflW7a\r\nSDEj9wce47iM/5zzGPtqHipgLOHXn5UL2sb86c5xev5361S/lM4DOUwoYIu4\r\nyxBZbe/IZ/MZx80RPny+1PGdfYIAGHJ0oXG383T5HlgS96I9P+Rjb8vt4uvz\r\nxrNogKbjWWnNWB3eeUYxEwiA6pgPWbLXvFcELLz+jdLVsMWl9UyZbOmGQ6i5\r\nOpJZeYgNEB0pbVYwBbsAgHp7/4t/DIpfgl5inWfnz9UArh4wvfgAedD78TjU\r\nCKWQ2lyOEyb7ZVnRlbI8/7ibvwFOK1/VmM/tyzZlcaRmIqhDBVV8kpDF4Z1q\r\naiBe6sFrEkHfdBShSULkTW9fMp+lx26i4EePE1Hr/juuDbsuOnLfpku/Z9YI\r\nhdRSWWwBRFSIzLrQmedOa9m3jZT+DowyHIw=\r\n=FvwH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.4-patch1_1662441640518_0.89501852554761"},"_hasShrinkwrap":false},"2.8.4-patch1.1":{"name":"@ancademy/bespoke-server","version":"2.8.4-patch1.1","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.0","@ancademy/util-server":"2.8.1","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"2.4.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@types/socket.io":"2.1.13","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"62326a95a5fdd911e5cb165f48ea742890dbe888","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.8.4-patch1.1","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-sYlUEsQ8fcPx5pMeFoFC34IssRqs9ug5LNySRRgnvubXjO0rkfs9dz5mmmwChIgIEzcRak+KRdpVKiduy4XMkQ==","shasum":"6a8a389183e82b5fbded432f4cb3e14de105724f","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.8.4-patch1.1.tgz","fileCount":29,"unpackedSize":73315,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4wY3W9+T39nPUDbWKzS+AW/XpLdpTVTO7VCElCre4SAiEA7mZ7UbEUeeKH6k+38qRE2pAOo7uWIMmU1EYsM7z7MJo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFtqOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqqag/+KbhNhacwOBWGG86uVOnSylnohEN/35JJ1FSvrknfsT9/2eWk\r\nTSD0gL/yUifSIgUUlwkFG8LZSIfwRO7BPyTz9LPhUTvGtiDpXYlnlpT/p6H+\r\nErSIwfqGkeJafFMw9p3w+JR2UO7Sh4cgAwh2Cw2USgYMtCjLLa8ibKoVdJkz\r\nY/I7nRHR0VpB+85kVJWuIRd1kKaWrM027nJJRpCKzNcnXETRehi249E0yHCk\r\nUC9VtIc5OctWm3EocwW8rV+i/ONi5ErtmiLWispegf6Sma72+DztM7atHjb/\r\nS39k+Wbc4apECpeSqosc7/8nGRjPf+QRgDCx9KaqXKPPpPnZe8FRUcB0marH\r\nerZF6JuQodm4BqMJ/6sPdbJnbm3yTAaZeJIWLC2yl669KloIz07XXm/Yrako\r\nxgyWUY2X1n+ThZEs91bq46PRl1FZsTBjASBhPbZP3aBvsSWG9tZ9YOCEQjtK\r\npCmgfxc8GUx6wQxpEKPFmBjxd87ylzeLWoN1gim+Qveoq2CB7Wm9lwgOdjyP\r\n3y6TAONIBlJpPi8J+kN8m8R/4FLMM6qOknuLhKc5zUaaaRTQ+VgRSfl6e/iK\r\n1cdr0BfHGNRdTahpVJPApAmBCYFtN31e/RuvzgjlZ/G1+aMeTV9wyh7it863\r\nmkUGq6hWvE85811mwZA+Rfj+EbJSbbXJJ6w=\r\n=bGaa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.8.4-patch1.1_1662442126540_0.788126884615479"},"_hasShrinkwrap":false},"2.9.5":{"name":"@ancademy/bespoke-server","version":"2.9.5","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.3","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"43b27c50949298d1905c33e5c549a31421251c23","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.5","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-yfkzZ1502OZOVuLNy2sw68mtDnkn0BgOcXXEyAFR3PN87V4BgNKqcirtsul2yvr86EDUppO8Xij19P/2BqCP6A==","shasum":"da8899fc9ef3ec9c6300c7e6e8e20f7eaef34abd","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.5.tgz","fileCount":32,"unpackedSize":73097,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbz99sCCQlFk8wcjlM9ofe7LIlrdZYNLCJOdE85ogefQIgHgn3BViYRkGr3I3nXg7hyjWwTHau4yvwdNdrAzjk518="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGEw4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBuBAAk51ILnvB2OZ6W1odjfWzxs6r8+hY2X36rSe+BasEfRvtn7r7\r\njLLyvUSNpEnYlpH0Mrpf34j3RAwGHFta05jBsLowXqptANJViOy2+mHmJ+/R\r\nJadGwy9kyPMuFPuWWqnxXVSnVZCXJ8T1KpHpT4g9jy2+s8K99V2OYETQlNJT\r\n3KYIibrqt3KnufMdlazllOTfx11bAFw7xnHM1HLS+a9LSAf1534+WOrqcylg\r\ny+qSmEboSivuA1EQPWU3YgcsSn88h1AiwwH9w2IzuyxaqCC1Ok/I5+wHAOWl\r\nC2wk/eE6QcSWdsFI7iRCuwSV400y+nis/xKDE3wBd2IdEDyxLNHKiEN0VAKo\r\n9RO11BsL4EMzchJjpsB6QRkB5K7AHjqNxwEeoerjot0Ik4hbfPeFlQBugEoa\r\n6HXTa2K/UJo9GXgVfX7z7NNakYyLDOYSVM6tMSUVoqRVmXHKZchSdJcXtQKQ\r\nQAIuWaa4vFCDylNW5mlvu8LipoSID+91Gn2nDY+eKoJAmQQc/YjTVnYW1kYI\r\ndU8t8n3jVmJDKJOX8BTeCMjvBTO11T+dwKtH/dV/Y2vrkggDxscFdMP7m3mG\r\n+F/h7nOcG2mNnf7qEuMpx217qlA31oabyU5/AQbYh6BOfPy/mRjBGYFif2Kl\r\nLjobUDGx5mCwmgSmvrxk4K86idHBAwtoamU=\r\n=3AzG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.5_1662536760069_0.03844483930961062"},"_hasShrinkwrap":false},"2.9.10":{"name":"@ancademy/bespoke-server","version":"2.9.10","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.3","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"c1d49635e0878cbcae2c230fca31e5c12450dc1d","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.10","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-P+g/UWISbTu1d9by59sgRvAH3vwvDbPlJ7Ba+TUiXz0LB3LNldBjT8e5g/mgP6yP7AW3rKMKhyW2UHJtNWlpeg==","shasum":"8e30d54e96b9f6155127fd9816329b10b2da6c83","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.10.tgz","fileCount":32,"unpackedSize":72977,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWHu12GjYFGGPkrNBET/JNBqpORBu95VN1hrmw/54wtAiBLLJw0jQbyj2fvFNxYkrYMuGBS3+eEOJ81u8BSskyFWg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfEUiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUYQ/8Ct+zNU//OZNVpLTmiUlDZE1FJuoMaTkT5HbEw5rjXZWT8hqH\r\nxGqg0mF8u1ECbniUkfRyGiOxrkwGKwbZUBJaiBn7D+5+ELmpjHIDcKq64aSQ\r\nuPZbQzUe4H7MtroaXAb+yhy700EeoYFbuv3kpr/+UzgLjqUB6ukAkka+yyLq\r\nBFSvFBz2Gl0c9CQcZcUMvjS6Zd7ySfF7kYEDTtPFRnspVZiuekzpDxaR/jnx\r\nNH3e9By7+caDixJgcH65SqVOkiBhWwhnU+TF9Uk6bx1jd6gNNPWim1nQWWxY\r\nmQIR0e5jlmDPl8o7yN51XxNY8o9UitIIA+eVIrQcEDUzY+9Mk/SrLsFBUXP7\r\nqEYQSVXodYQjd5hjTaZiYUAOwB+W5v9clt3GW97Ea/ethYdzYY0uYJECDZwo\r\n3z/mdUt2/5b8nGqaLy7c9Du69y9oSKbqxK2Ohun3ugfnzW6LP/dlXwMsRaHA\r\nQixx9jtAvPAZNLD4vb3I2z1cAeAAPM/EunW6weRyM2wWJoq5c9vfo4vRD6D0\r\nUtdTl/eSWow2StfOnQi6ym8vBLZoxNg1S6+KPymPhCklxWYaUc91Nz1m2HFa\r\n+NrD2TJkpUgQYhyp+nvafumWk9OHi1hYjgXBSszwMl0oFOH0CG3bYyb19FRN\r\ntZTZpm6H7vCzdgu3vR1pyiVOQqVUPHH2SGE=\r\n=Dvgv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.10_1669088546453_0.7960863010756565"},"_hasShrinkwrap":false},"2.9.17":{"name":"@ancademy/bespoke-server","version":"2.9.17","main":"lib/index","types":"lib/index","scripts":{"dev":"tsc -w","prebuild":"rimraf lib","build":"tsc"},"dependencies":{"@ancademy/bespoke-share":"2.8.11","@ancademy/util-server":"2.9.17","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.7.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"653ed4309f88b78338499b9d176817df9e6f8ec4","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.17","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-ITACT0VAMGcLFbBSRtcGm1cPkHy8YFugWoM8o0niZnTjaChc4ZqNFl9YF9ei4lLV0/cTPa11nZTTm+pLE+9Ozg==","shasum":"871dd6c4d24d92f9ad06cac8b72d319ee50b3d66","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.17.tgz","fileCount":32,"unpackedSize":72978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwAfZEn00stFmy+Hu4GObLvvtHb6O3sU5FMj02SUDyxAiEA/6mMe0UjVYe0VQq+/w4rGpvUxPhJtzUQRdix3AkGfqI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj13G4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHHhAAlCsgqhj83I9299VpDB5+k5p6G/ak7CfWyoyyIMnRBtJQI9nS\r\nPCB5x0lGonv12uDExvm1hpJzaSb3Pqk0hFCuDFCIp+lW5TurEJjva6bAeFYw\r\nKk0PClKF0w4sfmMrfyaLU2LDdouW6ZRsG4wdv6wtxSdHfpMG88nrn+gft2j6\r\nN/LFtQAAq8ECaYM3YXrSWX1jIpNf1HbyT6n2zUt3H8RR77kfEWy9P5E502Yz\r\njH+w1iwNDzNaKHZO2RBsTkgUzb1znPmpERBTx3bdY90cQY9YydcBnkQ4U1DP\r\n67dJ2+jWw/gxWuHGvYhjzd6IqUojKHkdNad6/jsFnMzXH22GAmhAnqGfFd6U\r\nqNp0nvuqsOsqUsyn1NVA+Qj3MGVFcxjx7kdfwKQfM9Zkc4ms1J25Z1/dsdii\r\n15QauUajcNjYbsQdwPSViAU/8czb/d5n0O6z87Uq6C1SKNYe+wrWa/KlXf04\r\nT6GfYmImyy/Gcc4msskWp+lIrH3FiosOI05PZK0jsJwrYoDmP59+WOo7WhOM\r\n0+00dtjiJMezHRfVA3kiIlqPO5w2CVutD/GLdNXOVDyDX+O2+MEg71+woiOL\r\nYbacJgiPx8r7TJbhtgoJI/mdK39o4HxD/d/V53nkznDFV4sNEfmIExc3SArl\r\ndhAsTwGnKkKwpjGa968BdhOGp/pc6UTUWWc=\r\n=g9Az\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.17_1675063736134_0.48624019462835477"},"_hasShrinkwrap":false},"2.9.19":{"name":"@ancademy/bespoke-server","version":"2.9.19","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.19","@ancademy/util-server":"2.9.19","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"052212852c0216a4711b3513add7ba3bd7646277","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.19","_nodeVersion":"16.15.1","_npmVersion":"lerna/6.4.1/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-SiAkSZzaBtMEfohMpftg+5u0ac0j8cLByhZyvGmJ0Q3daoPNDTovINawfB16HsORFo7eeCFKBy/Nhy89WbCu/Q==","shasum":"26b78006cad4ce26f38c02cb517005253ba01826","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.19.tgz","fileCount":32,"unpackedSize":72952,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICRyxgIC2Rwl7P5l4hocJHRbyUXFM+wEB6dhM3fQFyf4AiEA/E1gH9Mxu+ezkL7bx9iq+/dbYMKx66QWh4McJRFC4vs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7aryACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrV5Q/8D1eOEkmv369JhLTd+gxWlInaOfUEm2XsKQtf8E4eH8NZhB/k\r\nxh1/bhNyba6lZqBVF7vpXNC8g3afGq50/ApByEyljeqOFbEYPaN1527SuHjU\r\ndsoXuX7cVSkQn3jHcRtv0WbweL8ED7moysD9ax6LW06iBbSbe5uM7nh2v0MA\r\nC/Lknis98bQaTWevijQ+PDhwuGmXDowKQLQmlPdqTosNhq/GBfkWePs+3FW2\r\nJ1xyI6wFVcv44kIuI7DxXSI2G+/Sl3GPzzFRckRZNWnF5tX9cUx1e38VURe3\r\nkI5hxKttVfumGQkGL0//i8Yw3utSTpQ2gsT62Mq0QEpZ4J66uGgOadBmEpDT\r\nl718q0HTdWae5wFA51RHfyjFDhFpVgeuqc1HGpHw9uhZSC0ji+BLDhFCMYUG\r\n/kcCzy598JaF1GjDp63kkpQKheAsmutWMolig4Z9nc9rxpfclIlc/HM76yx2\r\nq+l+Piu3XtLP9nSOnZCPMz/5rMLW7ZPoWSKEyxNiKZ/VAe3nt+JjelmvwctO\r\n3YnBZ2r08pvdflbyMeVz7hl8a8MnGmoEMoHTd6yUc0rFoSNMiEwD5PZ5HXxy\r\n1ISE9klbrtER0yDwqy4kqEt9dRBvEhwYg4C7Q5YkKm9f0cqXLdsXJm1PLlW8\r\nnj6tbclVb83De1F6t3ob/z9BMqOM0YenNJ0=\r\n=MBBV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.19_1676520178116_0.24155162587884593"},"_hasShrinkwrap":false},"2.9.20":{"name":"@ancademy/bespoke-server","version":"2.9.20","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.20","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"1aeb2dda4bd10287fb58b6fb60008d880c940fe5","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.20","_nodeVersion":"16.19.0","_npmVersion":"lerna/6.4.1/node@v16.19.0+x64 (win32)","dist":{"integrity":"sha512-rioecghBIvUtEXDSCpoviafTAlI0vfwgaqblj7mE2G/WQaarSsqZe0N+ohS16l/TrrIc11CEtmTmvTR18cCH+w==","shasum":"85f5ddeb1d2fbcfa2583230ab5df0b1aa1a47177","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.20.tgz","fileCount":32,"unpackedSize":72978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAnFxeiyT3Iy8d6clQn8I7549W0NxtiKhIMgl6lCoMXRAiEAlbsJrPbmu5/cFPDZCcwbGWRngbMDZXGm/ztrug0ie3I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDvR+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolNw/7BlF1C/0Byim1+DBHeOEJ8Z4DW6w7WtzaXAYfTwOjlopNv4fu\r\nsCfWgSXhXIlg9KcVuvKY/HZ9Y33yqDWs53xP28WtU86mZzG71Jt0+JtrftE+\r\n8MVSFkobR9WxsZLHEGnzOhsQU/n8tnng+yH52hqlQXTdlQCGHJ1AvhMDDbsp\r\nEFeoPHc4s2MmY7HYtqbtrDkEB7wYwoUMixPhqc/S7B9N+va7RR5z/do1eVN8\r\nnIiBZULlHTFXWGz98zlyqpKX66pn7nH3mfJNMOAwDysneIe4+FJkvz6km0DH\r\niK58/qNvsNVaUhqjkNwcZ+DnEgsSPMxvd9roPsax84waUhT8iv1I2qVRrpzS\r\n5cQOX6sHSwDaKz3/5qQw0x7SSvOeSAZLDIriMnnUo0ngdvTWVODQzhFeKXlS\r\nKn4V9CyxenqRJS1ibKdlc9GHtOB+W0EYNOGI0zRdabpQPsydJci01yjCeQpk\r\neaoGvhtu0GWgyhkYQMPKyU0FJx2gOzdD+ltLSO+eXOKuYw5HMTZAszR6Y8K4\r\n6tCWbiK1yEA5oHjM+SxYC0Xyi9RjmH+d17/g0H3vo4tV29NoDwWRs6R6Jo3H\r\nxxHXXqCTNgHD9QrFSYXoiFVvVefInNkInWwvlcVPS7L/HwwJdg2oghPX++L+\r\n3dgrE9Fd4Q7cRDRy8x6U9CKOl6L8N6rJTh4=\r\n=eeYx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.20_1678701694226_0.3297237052635993"},"_hasShrinkwrap":false},"2.9.21":{"name":"@ancademy/bespoke-server","version":"2.9.21","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.21","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"0a8ccfe3df5d76537c9262c325883b11f1c36038","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.21","_nodeVersion":"16.19.0","_npmVersion":"lerna/6.4.1/node@v16.19.0+x64 (win32)","dist":{"integrity":"sha512-QAs4d8xifoDOX2DA0qqIYq1MNRXCeyLWcvE++cG6ux2NcrhgU35uH+EhmN5J8MJvID+vzwORqzeV5fFdjWFFhQ==","shasum":"cbfac836192f04ce1a47e601d190a38b184ebfba","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.21.tgz","fileCount":32,"unpackedSize":72978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMM2p2MEyLwDLGS8ZVKfVizRpbowiOTgJP0KNq8rZuHAIhAKhaVYya5ZkAr3LoqT1GnWniz7mfRSuPjPB5fSW2AOD0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkErLdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdxQ//XeasDk8SFhKujDFYr/Un0e5GmiXKS7vzBj1Pj5j18iTdXaNc\r\nIa42bv+XFclIuaZle71/OLcTJo3liwFzqPjtwwh2Wskiv+e5iCXsGzkpiv7h\r\nnRBZ5E5qiS0mPUaWAtv4VkO03ox683gVrpjZidb5VqVZNnu998MeAg9gyYpv\r\nOVTaQopqI/9sfFeM9qp86QvIrpNJBkXrHOVlmnIAV7PHUDfxd322ISKg+W6c\r\nTEOUCGLOkMiynzcsddFiAOmeCTbJ/JDTMrrbfd5QAro6x2gvdp8jLh8bVHBb\r\nZeYCv6fykXvhlhjEWFNG4WK7tiRg/w9oki68qcrOkkJLIT4h+6053fvHmRxB\r\n91fYwQ6+2QKaV/bZAtNumO6diJkIW0WzabOd5BlzLfJeTUwP8ZfMtmog5tr7\r\nS/es8Ez817DEU2Kdss0E7NwJciea9P/8M1sTtYI57Xhc21XPdTIyTekhDfkX\r\nNFTrJChdb6V49LKxV27lfkHjyjGuHc1AFSa4/In4Gk3Xdw2zGQDWod3mvRTd\r\nq/q2wctnTcaXEmJAb3sjNrtl1940VVrVeH7ab+P/3eYrbK4REBARxscGmE0T\r\n8P3i9cgpLEzIlYS14jRYDVMxVEfJ6s3Ejz+lqmoaE7j48+s/up622hbgFqZ7\r\n65KXT1coFMqANuXIvcEgTsoGotUROvbQKLI=\r\n=Oa9k\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.21_1678947037064_0.39079480283117407"},"_hasShrinkwrap":false},"2.9.22":{"name":"@ancademy/bespoke-server","version":"2.9.22","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.22","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"77181a587202f2f4c4c0e7e6c31c2f7877bef584","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.22","_nodeVersion":"16.19.0","_npmVersion":"lerna/6.4.1/node@v16.19.0+x64 (win32)","dist":{"integrity":"sha512-F0zivHE+V9geEIxQ0MiQ7o6fMbvsUTbOkVLSRHTWUPDz+IzN7OEiueHGxVlP899oz4sIN1nC4KSQR6/i+rUCOQ==","shasum":"74b9085114436d9721d1b3e08b64e7b1b5f297ee","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.22.tgz","fileCount":32,"unpackedSize":72978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeYUky0xnAwtNFYVz0J6b/6t28F1luz8GnXrvITr25MQIhAI1Vgirn1L8PjP9kqppg9SV3z/O7dzTfrCb0xsWvY31D"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN6xqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqm0Q//VLvlZFkFmBWpp+FOqPaWzON9f7Nb2uFtQtN6bt1ZJYq07CTs\r\nFOB2Hh4bmgOu7TMLn5Uls4u5Vs9y/ayUMHo6D4BDmeKwAKEnYJqBDDxSLEFk\r\nF3GSjw6A0fYapLNuVkhLsIbkdpXi9p/2GaW+rCO3byQoJai4Y8clPtb2ar0p\r\nsNzRiv/qgudb0J20gM1ta2iEQ0Oq0W+13ReT01M5GgwL0daaD1bwX1BKtqzF\r\n7T01ri/RuusyniGMzTV7dUPC8fDN/h/VyClYQfGQmqgkL+cHXyd+wBLA5043\r\npQNZcaU5Z7nV56OFCOhWLL9UsCS43FraeTaxtyK4c6WVZfqbKBSr69TECQTS\r\nHIXikRSH/j+XVXON3QxrM674+dp1ds0mGgNTrbxDV0elEqBtgGDVi3GlGtZF\r\nldrTxlMIaLh6iIIuz2P00wECEuVeLmjyjyCKKbaAGgA62GCTAz1QXHPTnAmQ\r\nVZx1btwpPIyyvrU917vHUgy3Bb6kMqQsj5A4nN8O9JhLzQeKB71xSgr+zOVq\r\n3P9leQ4aUDEscABNND+MLZrTgrT9Pmz2HdVSBK5Vok1hXs9JFmGPffMYnFGQ\r\ny4MXgPkXVHDjKziFZfpC8PnIpfvbOJyw85oxArvNK/pfwIncN+Wzgx+RZlmu\r\ncOZF7wU3x4bK7dsOK6fABtY32LULPPktpLk=\r\n=y8lC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.22_1681370218426_0.8410040865503374"},"_hasShrinkwrap":false},"2.9.23":{"name":"@ancademy/bespoke-server","version":"2.9.23","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.23","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"63c10b42f3ce37cce1aca002206daff8fd128a74","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.23","_nodeVersion":"16.19.0","_npmVersion":"lerna/6.4.1/node@v16.19.0+x64 (win32)","dist":{"integrity":"sha512-a2kGEzWBpUYlKl+awrJs8AT07Wji35lkc2VG/DF62hYGEqFeL1laTwPMx4EwggIhHZvvxEyuc0bRnMTO3R1MBw==","shasum":"017cb70a56b5c06176c47e1909fb5dc103b00fa3","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.23.tgz","fileCount":32,"unpackedSize":72978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSgqzWTPsWM/YOlRFUIhIIhrhmGlf5OF8fGP8Md+cBJAiBEaSBErLc2DOZCaoEeL8Gb9RS/KhjzWloaAh11Cvsezw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN6/CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPUw/7BkGt/jFtiTTRvPWo/M4E2ruCTon/SiRDHWtuE4DxzyzJYAe5\r\nSb+uCAz4YF2bKtJpDKbw6wdnOEQTmgqq+nnfLdRwIqIjP6aex066rt4yeanw\r\nJDU/eOj6ycQrkpKWzwXdbx9w3EtypH4hGv1za+PmtovSoxJ81Nmm6OekCB4l\r\nSXuOgH88Pbn4mqurSWItGVCqgWVAxX9UDolKTFWuG8Q+6jeimICpIsJACEOs\r\nGVNyuhrWbrVkmEatQ4W01FFFApvwgjhlelcrT+43LezHAi1E414/Bu3BuCUt\r\nnssmM5XvGNnhNkZmhwVCUusRVRciUJBg+4i8n6YHIP4r2sKt4dKMBB4/dKFX\r\nEvIMQYlHx7D1SnL+UMnjMCf9ZRtqMy/agaCW0b2T7yn1peyHO3527Dwq9ghA\r\nBgA/B0TswRxAyb6rhjeyGWeBxB1CTk50yBSHLnyhpKUAXLwDILliQSIJ01bl\r\n6xI1zvaXfTsk61Qs+sRBhdTBOcqhRCW11+wh4Jl786U/HWg99xQuK4KvaEVb\r\n5tSumkIztcfJPhEy7ZaRIyJQqlWfEb3W2v9H5zTZhGFkjB95ubQbxhiidn6O\r\n1N6tUHr5Td3NOY5MJW5TU8udI/AvJQSff+JecMHXAWsNOPa7IJfu7HttbY/R\r\nT2Cz68oK55ZXouaP1OYH9vwcqZQxG5aQvEo=\r\n=q8Vn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.23_1681371074359_0.8622874344358182"},"_hasShrinkwrap":false},"2.9.24":{"name":"@ancademy/bespoke-server","version":"2.9.24","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.24","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"b91d5333dca90cae4a00ab61a8be4aa46ab7d171","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.24","_nodeVersion":"16.15.1","_npmVersion":"lerna/6.4.1/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-FgFvtr5tkr26K6O5FtuA35FmtxvdtTcDQ6SltJ5TB4TZlMhwoDjbeqL+eVwiqueM59651I5/1C0lPO5nutoHgg==","shasum":"3edcd43e53180ce36dc7f78829cf75b1de0e7a19","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.24.tgz","fileCount":32,"unpackedSize":72952,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeWTrwTSM6ziSRTqF88jwTLOFmEPwc+E4PHI57PQlXPQIgMxqZkpnm29lqoDQ7nVNSq8BNEJxQu7SNHaiMEc7pynk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR5KoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprzQ//Syoher+3CQeGepHiz90Wx4PL0K2ZE8awqleBAIJtzwO7rwA4\r\nLNvNDM/d2TY9jbbYDKM5NS/ucROE5VbCT6lHkqyVUJOy6WKkpS4AnBjAmkiT\r\nR4pm/uBVmV1Lu4SS9HjXTP3bI1sEYRwz69Fw0cRomiHDv9u3nKPQONSKJyPX\r\nBGswacFgSasHSIGOVTOUPC6fn68iNqbaCZ7aXHYsGcYa10b581jMgQhyiDnZ\r\nTaCec//36CtcOcKkjvZmsK2rKoo5hM2hcTm2+hytL92YUKgeMOaYNU7GDADb\r\nuoc7GdaaXOh/ZFj+Zw69IuWLV1LSSfKYNeIE6bCvb+42yRh2/h53WW7lP2BO\r\nfsdwopd1WF5ZWJp2ebJ8lRsRPub1iCccI3r3fautEShzmhINzlFseayJXhqW\r\nsIOoqQdh0AikoVgXrB4Yr1oigTuM3YLFdjMIyE9wE4vCi6nsN/6kmfUpXNhn\r\nm+gQmy6KPTwvrh4+Lcne43FLBPg25xcGxvtWLFz3w7/0nxqcFYVA/NBzIRLh\r\nJRBmDLdO4VHz8U2fSrPczUHdiEKcC/2NxRyvuN8x0dmWntnOJsjlZPbRdBY+\r\nDwhFYUNGc4i9HzuXdYoRyD5fyli0LLX0YdIjiGJ6w2JGvVgf72ISGXLU5nce\r\nn2K0WFF277vB3EuGHOulmLilUTXHTZWrLEA=\r\n=DMOG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.24_1682412200499_0.7502173714488829"},"_hasShrinkwrap":false},"2.9.27":{"name":"@ancademy/bespoke-server","version":"2.9.27","main":"lib/index","types":"lib/index","scripts":{"prebuild":"rimraf lib","build":"tsc","dev":"tsc -w"},"dependencies":{"@ancademy/bespoke-share":"2.9.20","@ancademy/util-server":"2.9.27","@msgpack/msgpack":"2.7.2","async-lock":"1.3.2","lodash":"4.17.21","queue":"6.0.2","socket.io":"4.5.1"},"devDependencies":{"@types/async-lock":"1.1.5","@types/lodash":"4.14.182","@types/node":"14.18.18","@typescript-eslint/eslint-plugin":"4.33.0","@typescript-eslint/parser":"4.33.0","eslint":"7.32.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.4.1","jest":"26.6.3","prettier":"2.6.2","prettier-plugin-organize-imports":"1.1.1","rimraf":"3.0.2","ts-jest":"26.5.6","ts-node":"10.8.0","typescript":"4.9.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"gitHead":"8d521b02f645d15d57357cf4165b53ada8bf7378","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.","_id":"@ancademy/bespoke-server@2.9.27","_nodeVersion":"18.19.0","_npmVersion":"lerna/6.4.1/node@v18.19.0+x64 (win32)","dist":{"integrity":"sha512-MijLTkbEZ1ygnrGAXyacCl608QNeVnW4WQ1P4rFjd0mmUjOpN+HqXzvpCyH/r/cJ5hXqdHASuBwJOXEUo84yxQ==","shasum":"2183a19f64e8d586d44e4d2f12107815bf12400a","tarball":"https://registry.npmjs.org/@ancademy/bespoke-server/-/bespoke-server-2.9.27.tgz","fileCount":32,"unpackedSize":72952,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGBLqfnYFDadGeHUa9RfZ5FwyqR869KGjgr7+n4hFyzgIgNFiqKv9Gd5zoMWKfF9wdFvvSNKdfJDVg1XfzxFU8E74="}]},"_npmUser":{"name":"guokan","email":"pyromaniaxiii@gmail.com"},"directories":{},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bespoke-server_2.9.27_1705394692921_0.2766891479738762"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-16T04:02:20.084Z","2.0.9":"2020-06-16T04:02:20.550Z","modified":"2024-01-16T08:44:53.306Z","2.0.10":"2020-06-16T05:40:58.356Z","2.1.3-alpha.0":"2020-06-16T13:25:18.768Z","2.1.3":"2020-06-16T13:29:41.314Z","2.1.4":"2020-06-16T14:09:37.348Z","2.1.5":"2020-06-22T08:43:01.856Z","2.1.10":"2020-06-24T15:46:39.616Z","2.1.11":"2020-06-27T14:12:13.644Z","2.1.13":"2020-07-03T10:28:32.277Z","2.1.15":"2020-07-31T08:23:12.597Z","2.1.16":"2020-08-26T08:16:45.250Z","2.1.17":"2020-08-26T08:42:10.606Z","2.1.18":"2020-09-02T08:23:16.450Z","2.1.19-alpha.0":"2020-09-02T08:56:29.549Z","2.1.19":"2020-09-04T10:56:47.743Z","2.1.20":"2020-09-05T09:32:11.411Z","2.1.21":"2020-09-05T10:43:04.605Z","2.1.22":"2020-09-05T11:08:40.239Z","2.1.23":"2020-09-05T11:42:40.523Z","2.1.25":"2020-09-05T12:44:41.441Z","2.1.26":"2020-09-06T04:44:46.298Z","2.1.31":"2020-09-06T14:44:04.986Z","2.2.0":"2020-09-07T09:06:10.317Z","2.2.3":"2020-09-07T12:39:43.141Z","2.2.4":"2020-09-07T14:07:57.416Z","2.2.5":"2020-09-07T14:22:48.881Z","2.2.6":"2020-09-10T05:38:09.688Z","2.2.7":"2020-09-17T08:42:02.410Z","2.2.11":"2020-09-19T09:19:48.387Z","2.2.12":"2020-09-19T10:17:14.693Z","2.2.13":"2020-09-19T11:03:09.918Z","2.2.14":"2020-09-19T11:11:56.037Z","2.2.15":"2020-09-21T08:07:56.869Z","2.2.16":"2020-09-22T07:45:48.104Z","2.2.17":"2020-09-22T09:25:05.424Z","2.2.18":"2020-09-22T11:02:04.635Z","2.2.19":"2020-09-22T12:37:38.128Z","2.2.20":"2020-09-22T13:13:02.060Z","2.2.21":"2020-09-23T02:06:49.518Z","2.2.23":"2020-09-24T04:40:31.388Z","2.3.0":"2020-09-24T08:31:47.179Z","2.3.1":"2020-09-24T11:45:42.484Z","2.3.2":"2020-09-26T04:37:53.290Z","2.3.3":"2020-09-26T08:47:58.568Z","2.3.8":"2020-10-07T12:12:06.751Z","2.3.9":"2020-10-08T07:55:19.985Z","2.3.10":"2020-10-10T05:55:43.421Z","2.3.11":"2020-10-11T11:11:06.591Z","2.3.12":"2020-10-13T04:32:06.409Z","2.3.16":"2020-10-16T04:10:48.553Z","2.3.18":"2020-10-16T04:54:08.279Z","2.3.19":"2020-10-16T09:31:10.180Z","2.3.20":"2020-10-16T15:07:16.129Z","2.3.21":"2020-11-17T02:51:45.939Z","2.3.23":"2020-12-01T04:26:32.931Z","2.4.0":"2020-12-31T10:00:37.850Z","2.4.1":"2021-01-20T14:04:35.982Z","2.4.2":"2021-02-20T02:28:53.646Z","2.4.4":"2021-03-29T04:29:19.462Z","2.4.5":"2021-03-29T14:34:46.100Z","2.4.6":"2021-03-29T14:58:51.056Z","2.4.7":"2021-03-30T00:46:35.040Z","2.4.8":"2021-04-06T06:14:38.799Z","2.5.0":"2021-04-13T09:27:34.159Z","2.5.1":"2021-04-15T01:57:04.550Z","2.5.6":"2021-04-19T01:19:02.746Z","2.5.9":"2021-04-21T14:16:01.675Z","2.5.10":"2021-04-25T02:40:18.041Z","2.5.16":"2021-04-28T06:18:24.983Z","2.5.17":"2021-05-04T13:37:50.010Z","2.6.0":"2021-05-17T09:44:59.902Z","2.6.5":"2021-06-14T15:39:14.663Z","2.6.6":"2021-06-15T01:41:56.910Z","2.7.0":"2021-07-08T05:39:40.425Z","2.7.3":"2021-07-08T13:38:00.904Z","2.7.7":"2021-09-13T08:06:28.377Z","2.7.8-alpha.0":"2021-09-13T10:09:39.913Z","2.7.8-alpha.1":"2021-09-14T11:31:48.289Z","2.7.8-alpha.2":"2021-09-14T16:32:38.207Z","2.7.8":"2021-09-17T12:59:05.269Z","2.7.9":"2021-09-18T05:21:22.230Z","2.7.11":"2021-09-21T07:59:20.401Z","2.7.12":"2021-09-27T03:51:04.630Z","2.7.17":"2021-10-06T06:06:14.479Z","2.7.18":"2021-10-10T13:54:38.616Z","2.7.24":"2021-10-29T12:12:32.898Z","2.7.25":"2021-10-29T12:32:37.333Z","2.7.27":"2021-11-13T11:31:33.143Z","2.7.45":"2022-03-08T12:54:22.247Z","2.7.46":"2022-03-10T07:42:11.036Z","2.7.47":"2022-03-10T08:39:05.520Z","2.7.48":"2022-03-10T13:35:53.822Z","2.7.50":"2022-03-16T08:45:30.827Z","2.7.51":"2022-03-19T09:14:11.155Z","2.7.52":"2022-03-20T13:21:29.714Z","2.7.53":"2022-03-23T13:51:09.484Z","2.7.55":"2022-03-25T15:03:47.255Z","2.7.56":"2022-03-25T16:07:53.715Z","2.7.57":"2022-03-29T09:01:03.596Z","2.7.58":"2022-04-27T09:09:37.993Z","2.7.59":"2022-05-09T10:30:51.252Z","2.7.60":"2022-05-09T12:19:15.221Z","2.8.0":"2022-06-01T03:28:13.785Z","2.8.1":"2022-06-10T06:49:09.484Z","2.8.5":"2022-06-22T08:59:31.528Z","2.8.6":"2022-07-05T03:05:10.233Z","2.8.7":"2022-07-05T09:02:13.011Z","2.8.9":"2022-07-21T12:09:25.650Z","2.8.10":"2022-07-26T05:31:13.612Z","2.8.11":"2022-08-01T04:27:45.142Z","2.9.0":"2022-08-22T13:47:04.450Z","2.9.2":"2022-08-30T04:24:26.650Z","2.9.3":"2022-08-30T10:01:51.585Z","2.8.4-patch1":"2022-09-06T05:20:40.694Z","2.8.4-patch1.1":"2022-09-06T05:28:46.698Z","2.9.5":"2022-09-07T07:46:00.318Z","2.9.10":"2022-11-22T03:42:26.588Z","2.9.17":"2023-01-30T07:28:56.311Z","2.9.19":"2023-02-16T04:02:58.268Z","2.9.20":"2023-03-13T10:01:34.361Z","2.9.21":"2023-03-16T06:10:37.256Z","2.9.22":"2023-04-13T07:16:58.593Z","2.9.23":"2023-04-13T07:31:14.536Z","2.9.24":"2023-04-25T08:43:20.711Z","2.9.27":"2024-01-16T08:44:53.092Z"},"maintainers":[{"name":"guokan","email":"pyromaniaxiii@gmail.com"}],"readme":"# About\r\n**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database.\r\n\r\n## Features\r\n- **Multiplayer**: Game state is kept synchronized in realtime\r\n- **TypeSafe**: Declare player actions and states with strict generics\r\n- **Logs**: Game logs with the ability to time travel\r\n- **Non-intrusive**: Use React, PixiJS or anything other for view-layer rendering\r\n- **Availability**: Resume the game state after restarting\r\n- **Extendable**: Build regular http service with express\r\n\r\n## Prepare\r\nThis project runs on [NodeJS v10](https://nodejs.org) and uses [Mongodb](https://www.mongodb.com) and [Redis](https://redis.io) as the persistence layer, so we need to install them first.\r\n\r\n## Tutorial\r\nThis tutorial walks through the demo Tic-Tac-Toe, we use React as the renderer in this demo.\r\n\r\n### Init\r\nInit project according to the guide of **[bespoke-cli](../bespoke-cli/README.md)**\r\n\r\n### Concepts\r\n- **namespace** : The game will be mounted at the route : `/namespace`\r\n- **ICreateParams** : We can configure some parameters when creating a game, but in this demo it could be ignored.\r\n- **State**: The state of the world is divided into two parts, **GameState** is visible to everyone, while each player has his own **PlayerState**, they are passed around everywhere and maintained on both client and server seamlessly.\r\n- **Move** : **MoveType** and **IMoveParams** declare what actions will the players make and what parameters would be sent to the server.\r\n- **Push** : **PushType** and **IPushParams** declare what messages would be sent to players, which is independent of the state, and they won't be persisted.\r\n\r\n### Define State\r\nPlayers are divided into groups of 2, we record number of players and who is the turn in **IGameGroupState**, the piece player held in **IPlayerState**\r\n\r\n```ts\r\nexport enum Piece {\r\n    null,\r\n    x,\r\n    o,\r\n}\r\n\r\nexport enum GameStatus {\r\n    matching,\r\n    play,\r\n    result,\r\n}\r\n\r\nexport interface IGameGroupState {\r\n    playerNum: number\r\n    status: GameStatus\r\n    pieces: Array<Piece>\r\n    pieceTurn: Piece\r\n}\r\n\r\nexport interface IGameState {\r\n    groups: Array<IGameGroupState>\r\n}\r\n\r\nexport interface IPlayerState {\r\n    groupIndex: number\r\n    piece: Piece\r\n}\r\n```\r\n\r\n### Define Move\r\n\r\n```ts\r\nexport enum MoveType {\r\n    getGroup,\r\n    move\r\n}\r\nexport interface IMoveParams {\r\n    index: number // piece index\r\n}\r\n```\r\n\r\n### Client\r\nIn `Play.tsx`, as a player we can read `gameState` and `playerState`, and emit moves by `frameEmitter`, what you're doing next is to render your chessboard with React.\r\n\r\n### Server\r\nIn `Logic.ts`, we can init `gameState` and `playerState`, and then handle the player moves, just modify the state objects, they would be sync to client automatically.\r\n\r\n### Demo\r\nYou can find the complete code [here](../../example/TicTacToe)\r\n","readmeFilename":"README.md","description":"**@ancademy/elf-xxx** is a set of kit for multiplayer web game development based on NodeJS and TypeScript. It allows you to focus on your scene rendering and gameplay instead of bothering about networking or database."}