{"_id":"@fenyo/net-monitor","_rev":"35-fb6a81cb1c0123309228fb003b7a3bae","name":"@fenyo/net-monitor","dist-tags":{"latest":"1.3.12"},"versions":{"1.0.0":{"name":"@fenyo/net-monitor","version":"1.0.0","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript/"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-gr++NoS3/re1SAVArxDrcmShk/WYYTWEcSGHyuJMz6YJJQXtYcArRDfzSmWNAs0NzwY4ZErMOzgeoxkUZC+/0A==","shasum":"54bcd5150f0b431d6e9674116e2075a0b3ef345e","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.0.tgz","fileCount":5,"unpackedSize":13862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5ATMGNFM46P5BJaspSDYts7ey8ZzvAI1s9H0m5+puVAIhAOQgDcyOA/JIjQyiKh5yGxq8/yoM+y463SGJ3WxkjtJb"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.0_1519745387274_0.6556112117271382"},"_hasShrinkwrap":false},"1.0.1":{"name":"@fenyo/net-monitor","version":"1.0.1","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript/"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-lDCWJRRhILLrDo7JRFIqeZ1GiKpyBbNHVnbpKYhQh64bXZ0lo3VaMvjxBx40omiVViBE86UKGBu7ZvWhjSVZKQ==","shasum":"cf6ae8d27563fb96a72473e042e577d7febffe0c","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.1.tgz","fileCount":5,"unpackedSize":13862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqaXM2gPOYfzl34bSxDyFmiCAB9bQQaAIhj255FHC7xAiBybvgG9Otzrhn+UgGva11HRDBsq5dvf+lKt0S+xUv5dw=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.1_1519745697959_0.47217883296976004"},"_hasShrinkwrap":false},"1.0.2":{"name":"@fenyo/net-monitor","version":"1.0.2","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript/"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-P1+ORztZMyFq7Tug0G24E1RJJpKTiJC5zyLaGB2XlWmUwoOvc92ANWfG26YbOBu1wigkqhmXzJAaecw2bnVsIg==","shasum":"5d2da4357e83a46ec75b037748f76f106f79aabd","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.2.tgz","fileCount":5,"unpackedSize":13862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3uQGlaa8VArFaDXUZIrTF/PQ3f+IHxpLSGFi+R7QOywIgBnvHXeF2BP75lKQAlq/RGTVe/FH2BIVJv6X6v0ysjFs="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.2_1519745996041_0.46906601420758687"},"_hasShrinkwrap":false},"1.0.3":{"name":"@fenyo/net-monitor","version":"1.0.3","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript/dist"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.3","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-DQza34PNIEBQHNAZ6KjzcCvpg7w/xv7fJphifL3flEKpO3QvmpXg5yXgC4RZxlRmzfLZ/4NBpa0QWrgC128JNw==","shasum":"9377754aeb2058257c0add2bfcf299bcb617b3ce","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.3.tgz","fileCount":3,"unpackedSize":4496,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHY/uAhMAbm78w13P/Fk5/YFm4K1b90fxD/5ap5WyyhnAiEA85n4kdRwapJ2BATn5sKRSDdXM/xsGHDyf1YI8C7fewQ="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.3_1519746092350_0.45095754012714795"},"_hasShrinkwrap":false},"1.0.4":{"name":"@fenyo/net-monitor","version":"1.0.4","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","publish":"npm publish --access=public"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.4","_shasum":"24172e61dbd26a75def7fc2f0d414db3b280d50c","_from":".","_npmVersion":"2.15.12","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"shasum":"24172e61dbd26a75def7fc2f0d414db3b280d50c","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.4.tgz","fileCount":7,"unpackedSize":1503548,"integrity":"sha512-Tl8X7IK5+2Kf1Pfv87ADFC4blusrx+BET3aYVtTQuQ6Ke5ZqJF98LBqzYzns4DSoSxgMU07cx0X8XC+xK5W7xQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcaxbHmTcGCTWTr/9zASZhN9UFwoUGhU3DZEAcyaNkZAiAoZw7qjMpHYnIrmv0qT6vf2AuUfSAb4BI+LUsPCCofsQ=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.4_1519746298572_0.578227471178606"},"_hasShrinkwrap":false},"1.0.5":{"name":"@fenyo/net-monitor","version":"1.0.5","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","publish":"npm publish --access=public"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.5","_shasum":"3a05f34d23b71287ada4eca66f8c88a363de0ab7","_from":".","_npmVersion":"2.15.12","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"shasum":"3a05f34d23b71287ada4eca66f8c88a363de0ab7","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.5.tgz","fileCount":7,"unpackedSize":1503548,"integrity":"sha512-S2Ywzi7bN4FLxhFPvc+I4ZRn46JK0VKtOAsOgc1DhtAKhA/Jw9uEmFf5BbNtZPDnVmTgdABDvhsKiB3/aS0Lsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNCSdCs8Dz+3btoVJ2Rgxu3HJZ+VT/nf2wlA3WSc3+3AiEAvKHYXbvwBFBLthUBhvlCiYjJGqCHcckmX77bKaipI8w="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.5_1519746353637_0.5509307483290318"},"_hasShrinkwrap":false},"1.0.6":{"name":"@fenyo/net-monitor","version":"1.0.6","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","publish":"npm publish --access=public"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.6","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-/i1XJ6soNmAb83cPEtmR08MPzDe1xREKy0w9I7i3CikO5Ei2adBIDtDPCnsYDhQwJciesBsM/Y41cA4K7w7XIQ==","shasum":"a2a9429bfc8e2754dd4841386b432f0b2255d02b","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.6.tgz","fileCount":8,"unpackedSize":1503557,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6ljkRIOES2fM8nkBy/lybRgd4VwntXfrOhUtSULJnegIgTf9eyNEHWlwFZJF7eaHXylnKA7hw9L0EANoz3PKEJBM="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.6_1519746382523_0.8491063273609252"},"_hasShrinkwrap":false},"1.0.7":{"name":"@fenyo/net-monitor","version":"1.0.7","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.7","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-GDM9TM2oHPYJCcrC4NEOwVC5UaSJtKM2KuHuxrKIYjR7V5f9S1s/Wn9zjsVAneCu+uOiyXW31zWcw1JMlHS2MQ==","shasum":"8976b7b9cc049da3eca48a03fbe5e7795b9996d0","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.7.tgz","fileCount":8,"unpackedSize":1503511,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrgAM9tRDV4tYPFPkJB7Ad/QzlnqC9DhPuqa8qrFpUpAIhAIsPINLD/4xYdxzrJHWoleqR9j82/T3egvmRCAgvkgTB"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.7_1519746437084_0.1660470148305182"},"_hasShrinkwrap":false},"1.0.8":{"name":"@fenyo/net-monitor","version":"1.0.8","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-dev-server":"^2.11.1"},"gitHead":"c69ee5ed243374205819cae44cafecbf1116dbc6","_id":"@fenyo/net-monitor@1.0.8","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-f56XSdGKRxoDJW4t36E+G6infd1qbj9wz8W8x4T4BGeJbi3hH63mgozUZ95hm33JwPr/OCsJ5U9yfqweivRttQ==","shasum":"4832ee2390db85644e24c3d8d7075a7f74d1e21f","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.8.tgz","fileCount":8,"unpackedSize":1503586,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnLFtBvV04JMB9OvMBGTDXkOuPnvgMkLkI9GjYlZIIGwIgEUwsy/FJyenx9Ns8fhJy8MLECZG72G5lsb/1Rb4JxyU="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.8_1519746533140_0.13418535171735013"},"_hasShrinkwrap":false},"1.0.9":{"name":"@fenyo/net-monitor","version":"1.0.9","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"2a2a544cb2eebf1b4cf44bf962ff577089131459","_id":"@fenyo/net-monitor@1.0.9","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-3GVPhqtBchIa62EDHtc6bqp5oNwkik09DSIOW+9NDYMJ2Y7I/XC3za2GG3T3R2FAQh5Ky96pIEZYHPVQyh2xcw==","shasum":"fc402cb94916001a85471307509ed2edf5647b7d","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.9.tgz","fileCount":8,"unpackedSize":1503623,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYvdBxqVCr4H/xsrQ6Zg4sdzxKqp45bzKAiI3N03b8ywIhANvETuH6f6FassRxffdBFnr8Sxhn1omVtfhO9cL/eHSg"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.9_1519753409116_0.26932906012567837"},"_hasShrinkwrap":false},"1.0.10":{"name":"@fenyo/net-monitor","version":"1.0.10","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"6356d38cc3e326ca361f343cb1fdd892b18e4797","_id":"@fenyo/net-monitor@1.0.10","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-QH7pw3H1k7TA2MkIJWEOtzDqkmJjv7TRYsVy8ZODUsT+1sV1LI/T1tCIZevicOW6yEoSR4re7/Jxv9AamYGpmQ==","shasum":"dae309a0972420cce4ac1c2735e2fefc23c5caf4","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.10.tgz","fileCount":12,"unpackedSize":1604656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/KfKLkoh1DXmtJYfbFroSSWRrU4ZcEcpRMbVIkBBfSwIhAMACnDkD+EA0t4XXsFecUBNndFVfkabq/pWi05EDEuV8"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.10_1519838303570_0.6459027635790962"},"_hasShrinkwrap":false},"1.0.11":{"name":"@fenyo/net-monitor","version":"1.0.11","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"6356d38cc3e326ca361f343cb1fdd892b18e4797","_id":"@fenyo/net-monitor@1.0.11","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-WhgwGqNpsZpfRdkQPLCnJ0LG0Yvg1kXYkl1R3TLBtVXAFlcIQJikk/uvFlbhjvok8mRW8aA6pHm74OECT2Tp8A==","shasum":"261a1d89b6c64ce874ff64b8cef6452fa898d260","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.11.tgz","fileCount":12,"unpackedSize":1604656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFoM7DL2dHYh5k4yaJp5oxb+rE6SBSVWxypvvCpQaMa9AiEAjvfYRYdlB5aeiUTkgMLUABKRWuVSbPUuN451ePpQWIk="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.11_1519838973669_0.07728859344652417"},"_hasShrinkwrap":false},"1.0.12":{"name":"@fenyo/net-monitor","version":"1.0.12","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"999d721e8a73aac8d25bc076f69f54d1174ffba4","_id":"@fenyo/net-monitor@1.0.12","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-cBRB0Zr+56AZFdura5fISKriAljnB6MsttZp9B70Yw4v7bzx2wI2vcT7sRg33zBnlHBk+EELY2jwfiB26555og==","shasum":"4c2ee72a8f36676b4e5d8340f2b20e48ccd6ede7","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.12.tgz","fileCount":12,"unpackedSize":1610759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMUL7q/pdvzsU1juHLuoSCIfsDzBJlwD8XDdJgmvg87wIgIgUpPOe+H8YE3bepMDr/+I7vT7U0jJ0BjfL4gz3jVFU="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.12_1519850400767_0.7952012590787132"},"_hasShrinkwrap":false},"1.0.14":{"name":"@fenyo/net-monitor","version":"1.0.14","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"413515825f9d8d3a8a6c2ba2035d0a9d90984206","_id":"@fenyo/net-monitor@1.0.14","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-3FNxA4qCmCp4+3EW1tQEmqzCo80mQy1z8J/rYh0pn22WPZKbcv7RF/vkWcSDMHyw6Tngz7hLhJ1bjnG+aEdtEg==","shasum":"91bb80f296c9504476a7243b94841ace8920942f","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.14.tgz","fileCount":12,"unpackedSize":1611811,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATM+36ePVEy0EtAmUtWQkMtTJyuqGShyJuyhyCTXRZkAiEA42FMcM+sdU3aHmVxk4Qa3FvFT+jEl0/OHUR6bm3VxTQ="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.14_1520009338594_0.10803649065288434"},"_hasShrinkwrap":false},"1.0.15":{"name":"@fenyo/net-monitor","version":"1.0.15","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"e87d5b3be7d16e562df2c3924b79e448e582f927","_id":"@fenyo/net-monitor@1.0.15","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-r4HSrNQdSIOtXAPqqpEncObKfK8/ouDWxAjEKc4ge+DR/Hmb0wr7szslK9UTceh6cki6Bb5IiJwEdlcBtPX28Q==","shasum":"d00c19f03347b113cdbdafd6a409cf6328a6eddb","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.15.tgz","fileCount":12,"unpackedSize":1617887,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGAqoNAd+psvQQN7w0O+LRrZFfvzlKck4sQMreJYh/+AiBY98DcTD/cvIWXqmamdCVpZByoc+WTmWIEVGUL1P7RVw=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.15_1520017242891_0.9479735989664326"},"_hasShrinkwrap":false},"1.0.16":{"name":"@fenyo/net-monitor","version":"1.0.16","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"9b953e59be6d60b5c3bfc6a5f23f2b484cba5fa3","_id":"@fenyo/net-monitor@1.0.16","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-osiuoNj1HhPVPoosxmDa+3ACFcJlZw7V9gIAAyInnDKolkGqLecfhheIZNhL7Zh9MRaSosvkLNCFMhTbb0bA5Q==","shasum":"25f47d658b4f395661b69de7ef04aefe397b1b67","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.16.tgz","fileCount":12,"unpackedSize":1636463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ1PqbYhSfBebO7S1Rkv0zmiSTESiRBMc5qavM0ndd8AIhALdiimeixUDTTLPUI+i2kAVnqrxTs+i4z3HIgRvhAuGk"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.16_1520459526405_0.5107427510073184"},"_hasShrinkwrap":false},"1.0.17":{"name":"@fenyo/net-monitor","version":"1.0.17","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","file-loader":"^1.1.10","null-loader":"^0.1.1","uglifyjs-webpack-plugin":"^1.1.8","webpack":"^3.10.0","webpack-cli":"^2.0.9","webpack-dev-server":"^2.11.1"},"gitHead":"27caa773f0d0c0cff73e2e460ca1b08c9487fe76","_id":"@fenyo/net-monitor@1.0.17","_npmVersion":"5.3.0","_nodeVersion":"8.2.0","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-aJ/Db9xMgmXe+6ML2xefv/OtVK+/+mhP734stKz+sffCcWAXw+Nbh7OM5hz3v9xSNNaunwyq8mtoSh0NjnC8gg==","shasum":"f773db28eee3a58252af849eab0df1ad12db99d2","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.0.17.tgz","fileCount":11,"unpackedSize":1642498,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP7eeJQz+WqeioHV9ootGCQVgizztX/RKpP/cuzQZx2gIhAOFtqO9j7nd1hGTP9pIKbZfD3wp0b/9mDf/elqy11ta4"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.0.17_1520794466953_0.43730785855048726"},"_hasShrinkwrap":false},"1.2.0":{"name":"@fenyo/net-monitor","version":"1.2.0","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"1bcb7c2833aa6e4c4a4a67a399c06625bd5c4f39","_id":"@fenyo/net-monitor@1.2.0","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-wRI2dYPg9vCHNWNHXSXVlZUhFnCmu2Npa0N6Faj5XpDCf3A04pvVg45aV3IrzM4jQD8+QBVQ1cnLS4wknAJsDQ==","shasum":"817983271768f6d3604112b2d63a28a3a7ddb9d9","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.2.0.tgz","fileCount":12,"unpackedSize":1732481,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDR1YZFujV3d+fb0ekFWxddaSfe8IcoqtyOBdntzf+S8AiAHUPzyKIKtQh8jSs5NXxHWhLwusfg0xr1V4nLGDGGD0w=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.2.0_1521222158716_0.0807180555290723"},"_hasShrinkwrap":false},"1.2.1":{"name":"@fenyo/net-monitor","version":"1.2.1","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"d07e5fd688de0ff65827b02aff08428855f83771","_id":"@fenyo/net-monitor@1.2.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-nG9ZJFFCg2eYG/58hzC9Dx0+Jjf+4AxhfBTJhiqSc5+7pHpJbsQuFGqn/QI98E1N7qr3Kdk4Yhiz0QNdnE5I1A==","shasum":"0800687878772cad6e9cc671273a694924fbaea3","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.2.1.tgz","fileCount":12,"unpackedSize":2424264,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDeY69lzUVcwYzQmlGMyFNuPIzgIqkrkEm35uz8UJxI5AiEA8fd0cXrsfopxFcMD64GRfVTjoyKNDbfOwf4UQ/e02Qo="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.2.1_1521240059796_0.25405001984474773"},"_hasShrinkwrap":false},"1.2.2":{"name":"@fenyo/net-monitor","version":"1.2.2","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"118ca0ebb9841f339b2213b703ed426dee578659","_id":"@fenyo/net-monitor@1.2.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-/gKAgLyHYdS/5PA6W3o7NZvKT4m+idEC3BZD42WUPjhwF4JCmzqto6H0CBH0+R/dINSx8oLVu8mQUbuBkuMZWw==","shasum":"64c6c47d611271b994e84b047f50d26b1152e3b2","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.2.2.tgz","fileCount":12,"unpackedSize":2424120,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDm1UtGLKmzEYImycBu3DxBTgJ8RAnvn4OhPtJW6vbp/gIhAMLY6s6IUJIcH/QMoE3BGcv2q6bmD3hWrygzu9mbjqYe"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.2.2_1521240996138_0.07140003026050579"},"_hasShrinkwrap":false},"1.3.1":{"name":"@fenyo/net-monitor","version":"1.3.1","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"f0a7679e953c034130f9be9476cce67bf0fe79f8","_id":"@fenyo/net-monitor@1.3.1","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-UcV1gkXTv4cGT3h0Mv2crzZEd+K/EdqwEq55yOh/1dqBYM2mR+z5r4FHrUmkbfcRN6TA7zfAcz1nPxT5lAxJug==","shasum":"3b620cd42f834803d9102364215dbab456bae338","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.1.tgz","fileCount":12,"unpackedSize":2190285,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxz41bqZeZlBxkgAc4Zu0iM1bITUA3Rdf6GB/xuQaXNAiEAlMI3nGvxhFca72oZUe2+80+cw8m1urYdqaSVu7esF/c="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.1_1521394020948_0.624750065949059"},"_hasShrinkwrap":false},"1.3.2":{"name":"@fenyo/net-monitor","version":"1.3.2","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"b23011fbbae9f0ddca9d085fa68ea8dcec73701e","_id":"@fenyo/net-monitor@1.3.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-5xmeG14MsJrkv6tvySpyKa+YHBxzhfmC2c725huL5VCHsfwo11wFp3/cKiQWiCkZ4STXjLLMFER6zLASYCeo9A==","shasum":"3e37bb6d61f377b067e4d0a73eb5d799afde403d","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.2.tgz","fileCount":12,"unpackedSize":2190286,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC11Xmzijihzm5CNiARpe/FZIqO1+tO24jQfQoXWnzIwQIhANQybMaTavS6Xlqlk3n2epLEW3zvkjA3yExdGIHHlxw/"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.2_1521405622098_0.6858543646486288"},"_hasShrinkwrap":false},"1.3.3":{"name":"@fenyo/net-monitor","version":"1.3.3","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"5fde1d6876d49627b1a9c8e924aa12fc7beeb6b2","_id":"@fenyo/net-monitor@1.3.3","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-6AiGJj5j34aoCEG8mdEKuAKo0YxkgBdycQwm7ssxub4lzq4pnPOHhjH4sguNmr+lml37xKh+rNCXJl1YIvvQFg==","shasum":"3445b7e62df9c3e9e3dd4fa42111da632b8bf151","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.3.tgz","fileCount":12,"unpackedSize":2190428,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChPQME0NYSqvzAR9SuX1fCv3UZ5zoba+I60KREMLcoVQIhAJedqXpT0zsBt4nQ2p7WSuzWdSA1I/YJ4zedYVM3russ"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.3_1521442939485_0.8887149528655871"},"_hasShrinkwrap":false},"1.3.4":{"name":"@fenyo/net-monitor","version":"1.3.4","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"files":["src/main/javascript"],"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.1.1","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.1"},"gitHead":"5fde1d6876d49627b1a9c8e924aa12fc7beeb6b2","_id":"@fenyo/net-monitor@1.3.4","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-QXTlsk8sl8KcrjSs7Us7ZbMXE9E2GcDWshTesnrj/iXEvGvvEuXmm2hLk8n9PZrNE1bxQkYnk+18Za6HphRrOg==","shasum":"e87327f4f7508cdfb308a51b8c37f000ac052083","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.4.tgz","fileCount":12,"unpackedSize":2190428,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBvD4TRMsLivMsThwFpcHaYudxMAGjz4nIrnDID8QoTVAiAsPMqE/S6BCQs6ra+agz2FlPXGarIRpeOyxsQAtIlxhQ=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.4_1521442993953_0.9663390780839936"},"_hasShrinkwrap":false},"1.3.5":{"name":"@fenyo/net-monitor","version":"1.3.5","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.1"},"gitHead":"6f5a5fce62223855bff798f4d02afb4078aca693","_id":"@fenyo/net-monitor@1.3.5","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-bQZoq40oIup6MtciGVJL2cT5CiLkfVWhGGMijf2Cfj3ej/P2jdjmiRKqvi8ONSrz7XtXzMH+aKj4eokTqFPjXQ==","shasum":"b012a712d50100cbc593cca38d59b120e010c5aa","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.5.tgz","fileCount":12,"unpackedSize":2250525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0Cg5CRA9TVsSAnZWagAA42cQAJl/GEpFosr4AOd5bCvL\n2aBAN7npvSU/TRpEd6TIsEpl48S3CR8BNqkY/lP/Ay2EO7K+h+qgXmp8X/QF\nB0koPJxW4zbZgvB+whAjsGwCvyv4G6ALLFlB6U0j9EIutCsUvzEWZh0j6gxG\nws4ZDqo+86Z1OynNQx7h9BCP0BXcHI3gXWeqsnpr4dXODoWua563S8dw+/YH\nYY33CowB9d3WYtD8b34Tlfib6ecSvPlaJeR+RyY1kyChNVYlXxzyTxnHQr3L\nQmEjd1mncGLRsbR5gh0LlfItqYaj7/nxKnLVXx0foP6CN4VJPIBsRZeCuvZm\nns9ylmUV+Npy8sgjVEXjdhPWXAJhZk1mKUaLPKGLEfy60JeuLZKBteHKcwv1\nJDWh9+fCwU0yWgEi6e+53EgL+otQ7xwyN/pgPiGLtQ/nuKuLE9J184k3Gztq\noWP+e2LippRrDKxHYVfZT4esVQeQ9WghRCriWlwtlNaOaGmoT69l4XD+je6B\nLtj1bQTACkIkP1e7N7Yrh+tbA+o6Py1HxTxVTQhs4h0EZaWy6gXqkr3kzq3h\n4cJLc1WWEaiw5uswW3CNrjPGxs9yvMNgKZlkiHYGSr4z78Zbfh2aitI/eETQ\n52rUgSxQbziWBd4xB45RL45U2x8H8/92a5rWOXRSLIjUm5JBu4f1CTRYFAjB\nJQ1S\r\n=gonH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAH6xxqFPFhTeigvEzi0od0LtVyhLf/s0zfOlXX9/8QlAiEAy2fXEXO/3X903rQzv0X2KAnJlwZj7Iq9UFfdWMGNtgA="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.5_1540368440962_0.42179205455335844"},"_hasShrinkwrap":false},"1.3.6":{"name":"@fenyo/net-monitor","version":"1.3.6","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.10"},"gitHead":"ba663502d23fffd1c4e4147f369a07d83aca2252","_id":"@fenyo/net-monitor@1.3.6","_npmVersion":"6.4.1","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-pqc/HdgHodKN9Pilr7lDOogJXm9ckaraeypTwDuczE1+jigaZuBS14lCm2vySfylnLd2rnBvmc8gQgirXpZ3zA==","shasum":"3794daed1da9f543df7a6bbebc4a5f0969a0aba3","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.6.tgz","fileCount":12,"unpackedSize":2192478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9BWVCRA9TVsSAnZWagAAcfsP/RcbRNwPY4F/PXYrRvZE\nmj5aALbNYDCMKBKAzNJcmbPbG2FswMDz4mAT4wvLPSfjVyqKI4CH05Aud8M2\nb74B81RG4jeTXiPdoQmmB3qaJgm7SeLOfTAXSr2ncEI55HqQDGU+JGrUTYBJ\nBD7HKs5WxIQDxQLUu99CBoS5IaSkxRLbk6OvyDs4onbtqr/ZhoQC370TV6Xb\n6D4nooABZFDMwOQFNQugUajJ9voR8K4BIWg7168W3JebvJwoqVYc9/1ggdEI\nmWrssDnhYV5YKEHwv4c96Z7ZOO0vIGjR5KYerzcn4Pptir7EvE7VSfMPYNvx\ncD6lr+bWx5kua7DcODU381qu/DzMo5Z221Z2PJpH2+u8a1geGE0KlllaWBwE\nnKaQ/S+R05KJMuxirm8cHdG69qoLpIQ5mCIJtAktCSexn+XBG2/08tsdO6Hq\ni/wvy/d6CywglV2d2Qxa2on+YagsqTj4rw4RWi0K8tnia6zb60iRA89UhWxL\nrJeZ101aaIgLF6UN/powD4/2idgr5Lg7ViZR55Q/YQrDEflo15tBVAnsOiI8\n8DDmjf9le8zA994NJYBLN3Vjf+GDMyxX3wLbeT2bCh4q0I2yllh/opEKTm2u\ngtW7UAmpl10KJYqKS8KLKudq07RwkEyA1VH5d7bfmnd5DQmSlYCP/JD1QOlT\nXbMT\r\n=UIaX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGGfgBZboqyn9unLd1PtK5/kZMDeb/SHVKb7FjrBR+mAiAHS/tmZex+rk2kpnFwvxBXiUy/ucj2YZXpPXWgWiL4KQ=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.6_1542722964413_0.17229736922051098"},"_hasShrinkwrap":false},"1.3.7":{"name":"@fenyo/net-monitor","version":"1.3.7","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.10"},"gitHead":"1eb10bb23fa0cfd1cf87e083729922e09fbe5b3d","_id":"@fenyo/net-monitor@1.3.7","_npmVersion":"6.4.1","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-1UMl0Hc3nEx4tpKQby+wyfMwDtonzuNLzc4q0zhe2ZcuEnL0qRy4OMpniAdRWo04xF1/DWTyVQwe3fUIlmfJYQ==","shasum":"8ffe779216702361dfe6f992edbd63f3da639518","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.7.tgz","fileCount":12,"unpackedSize":2192478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9KaVCRA9TVsSAnZWagAAuZgP/01zHxmKWKmeWbxT3eta\ndJwmLeZnCkvASSF8QcunR6Om8P+Cepgqc7d9myzxhTDCcBQDod+LZIGw7ZpK\n2X2N51bic+yQq63RX+u/TuGozcNWfRtjB0Pm0YeSZ83QmhPI6jploC/ultNX\nmpNt89D6DaNE7TUZB92kWLw4/5As1SvnFrgJCpsXlzuXD0SA7NDzTIv4Gmmo\nyTLqXPDnzFSYAfmMMu48D/8XFmhGFsZtu+OqvwQ6kUWNnxeIHBt1yXpuIhqU\nGhf6lIp7upKtm7lT/F8xD/RqngRuzUuqa9bMWBFU1THJeT/czZGW3Iq5PnR3\nx8zfiMwWbwbda4eW8+NPtd9vcrlegvfbctLyUvX4bnW4wfJou/jrJfHn/9ES\n6QSn44LWsYBTQeEY1Wq+Gz+iuRoYrBlHezAWQtvhsZYQDX5+hm/V1xjae1RQ\ndLaXj51AvT5uPxBcHwNUJfzEj9ESGcYeBcmXtnj82SdZdKb/t4FHcYsL5CuF\n3nW0l0OmWSD25t+iKq06mxqwP2mIOcRRNZkV6HHABI9ZPjzeNjySdoqkqh0s\novdmR2GiyYyVemYIU6npZzJWHKllKmUXBOSEaRt3dImCQBvmohKhWE/t5ZU4\n1HkQPpGR2/n1zv+Xf85YcJKwnA32c15yD6o6Jbd761QFEC/5ST5yDdbulih4\n6zJo\r\n=Bbl0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH9jk3EQikiShOFX/Oc9/1om83oy0zug117rY2iDfFnQIgd2ewSNIXdcOAXOcQPcnuzjbmu2eRZwb1F+cP730AOLg="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.7_1542760084503_0.06541748037656037"},"_hasShrinkwrap":false},"1.3.8":{"name":"@fenyo/net-monitor","version":"1.3.8","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.10"},"gitHead":"5d841d92eb561919d3f99965e1a58d7d35a50a33","_id":"@fenyo/net-monitor@1.3.8","_npmVersion":"6.4.1","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-hw/0N+qTrKSu5H6NPGdsr+kHJKMO+2z4AnWkbVNM5RyBZRBoJtSY+6dm5pXyDoU2rKiUd0yXfisepQFo+93w6Q==","shasum":"6fb1dbc71070c6ac5a6e082149b802c9d77bec44","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.8.tgz","fileCount":12,"unpackedSize":2191780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9KrECRA9TVsSAnZWagAAqX4P/0v8J6pr0wMC1SMXzcdV\n9SGizlE7NEDxvErXzNuLCGd+mouq1Xc0HK2YaDqrSUxBCP71mMzxV3/zzmOk\nMBsbwZi74S+rmesf8DD9HB22x5x/Vyf/Y/EjyIGwhJ9JrF1esIW18NmwLOU+\nVLKwYexgeWJ97gqeant73krVCiyZ2zxhfNTi8H7eGbdkjp758XW/kYiBzz4v\nfcOD3ZUQtRZ9uq3sTFr7q/KaYTLcrvJeIwmjao4c+Tut1r0JzdNLp3zTIFIa\nIPK7yuwDW9qJK68n2rU7tFpQTPeyouftSSBLB0d1d9u9ycNLxtlm4A85/qqS\nfm0x6XJMLFsNt4BoDMYob1C8q4G/2S2oc4znLRWByyexm4B2vHz5zw03COc3\nDpiTCmsFJc8lLPeFM6Z24a63Y2/pkwHfpydSyQro/+j24rISnOAR7Z1eg+zX\nHd42xJgoOcuZqSG6X2sg+3QAwQzBfZ8U8vjN/82ynbCa1AS5HiOk5CP6gaXS\nowTg12uGZY/Xxk71W2wGAT6lbo0c9JETCvruUTsgPlnYlYMYP5h4SxqYeDpb\nUBlYbAKYTC226NSCZmAaAU3T8QyR36Ywh/JYUoCOQ3fkcogvXz8eiSIYJPps\nlPPuIuDehnJLBiQhe4YBExLcQ5/dZ4+mGdyUUAfV1Rsg52oK61SP6eHL42C0\nunTT\r\n=WMXQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICkIhgtT9wAkXuoLFVXpAMRft1/MN4u5RHxSqAbHR9RDAiBP9YqOWSkoBa27MPPvXK9egqrdA3PKLGUuU1vocVJW3A=="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.8_1542761155665_0.8218401736681911"},"_hasShrinkwrap":false},"1.3.9":{"name":"@fenyo/net-monitor","version":"1.3.9","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.10"},"gitHead":"ad702def831f0999f7923e725719fe490ab47591","_id":"@fenyo/net-monitor@1.3.9","_npmVersion":"6.4.1","_nodeVersion":"9.6.1","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-TSNLdwkf4Qdll+8n16dJAiykjLmS8KK0WgjpkBWIMbgVh0sDEjX2WCaNzzWCRnA9UPv9je2Sceb2Rcj/XfV8Pg==","shasum":"2f65bccfa524f92b67421de238689d2befa4dc13","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.9.tgz","fileCount":12,"unpackedSize":2191780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9KyxCRA9TVsSAnZWagAA3IAP/iMvTqgCUY+rnpEDsf5O\nJ1GuNaZh2lQpisseE7oJtBrEUKBiOOcMmoWrKO69f+b6fSJUjlzHPMCoK7zU\nHzgaCLkPb56X51Z5CJHFR/OB9KBL+lMtYwHtc7wCjABpl9yhhzj5RrCQ5AAC\nDOvdRoA7Iv8NTqWXEQtC3f8+e+TU3mGPHuop1VAcH7djycImjb3OqzFMso5z\ne/ycY9+gNSR9Meez7KN3lue6NfAWVzaUWbweDBeLXyL0rPdIpnSg8X5n/TFo\nJTPG+LZcKEVFJKWOkff3ehPk+r/XvHYAmietAEkeiOYJ29hZjhCRDxvtoiEn\nxj4nB2+ljarA5aM4Pvin84kDpp89OVwbpJc53a4Rn8Z+95qn70oAM0LUfyyk\nbWF/QmwkTYXOJmX3uNZTeuFMNBzo+LEwhc73umhzxbRCl+XiQCeV9QwPA720\nv0EGmdCsaYZBU1HdNP3yDNq2++qBguvhP7vs9e/7lnlXJznbmir8t1O7p495\n6REOj55jDY1T4waDnJrORvMx2Pe+8E1GxTWnrkkS2ttdchKWzHFAhc0KgUND\nNeByZCA4ArldzCSIIqgInF86iXyKKzWDXff5T1JKkNkF1U5lztwgyEhYaIch\n1v9QySslEXnd1WNXHJt7Kxhtf0dQ9VfWpCa4quV7dxnfobAJy5qzdE9YV8Hu\njDnr\r\n=w0z2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYYn/J6FVh9CQZ53lJRygevPfNF+wpGwOfmJZSPnn1DAIgFa2Ev/qKEIFxT4zjwRaZ5ERvWm5ZRktX15InVE/5Cn0="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.9_1542761648452_0.10513534320156159"},"_hasShrinkwrap":false},"1.3.10":{"name":"@fenyo/net-monitor","version":"1.3.10","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.2.1"},"gitHead":"ad702def831f0999f7923e725719fe490ab47591","_id":"@fenyo/net-monitor@1.3.10","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-55RWBv6UENE3OupVIoM4Lv4wenAwwUW8xVbPnL7vpViUxyMMpvb4SW+Uvb9U2ARRTf0tJE4+Ezju4jJ6jdshBA==","shasum":"ebbb531fb14177ff3ffc9d737599d7c32bcfcb20","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.10.tgz","fileCount":12,"unpackedSize":2191780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmUGKCRA9TVsSAnZWagAAQeQQAJ6erxCA/ICYrUoCKyqv\npxgQf+VWnH07/HBs1/5dwixovuCTdE3zmoyrX7ziATsmQR6Xt2WPNgnCusGm\neTAlYQNSXbup8MAbbC67z06LtcMDTQpYk/+/7x028F2f4fwNvF4LumkTfzIH\nLcxaIBQdF5wBMofh/hc+guuBIeVOnPcLH+nh8wcw8teXImkXonEG/ehUmXyV\nL7alGx91hU8VNcWVL4cF6yX4YNLFLKL+xhXxuLarSr88qk+WL39gN6OAsymb\nDGV5HzkYxPAjWtGAK1kkqWnRwBi48UaTKsBbNgll7RpNHRofJFZofodD8gLF\nP+ACnMgsiazFqHjYAj2RkRYNykbQClNYVB5sRKgEOsSO2P5eDJ8SFf5EXdPL\n2tlu91oofFkAt0SQz6ipcaPcZ7BbVQYMrMh1wGJTxLuZNnnY+huIiUo2rH7R\nAY0k/1IWG+CKkpzDUetYwtUdjYPUymT9057oV++/PGyAcICJ5HyDgWmwdeMs\nT/g8AJIcsAQd6khpYHXKWo/7Jiw7O9YY+nuwBEFjqVrUOkOyHiMNLsSdbRvt\nEtY+6fM0gX9HEP3CCN/fqQkkcVRGtPTqcOLv6wla8zv29xlk6vW3oemdcW6W\n9qaltphqg+aRac0lP7LoFYBDuQ54uCWm9mFDeC5aaPXRv0KgEV0BjuU55Yrb\n6v4E\r\n=+Q+m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDpXpKgcbWD5lwOrqrL1E7iFWaj3GS60TfaWBUKFnxABAiEA1K5QYNTvSNu0LKdfXHWdt7XpZJq34GEQRg2qp4TRfxU="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.10_1553547657741_0.8771965626137379"},"_hasShrinkwrap":false},"1.3.11":{"name":"@fenyo/net-monitor","version":"1.3.11","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.2.1"},"gitHead":"d1d010b5247041dfd4313aeab857a51ed1a705a8","_id":"@fenyo/net-monitor@1.3.11","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-t+dctgGcy9LLGtTbCQbhiEsp9Fd26ceuxudh83oEZjH0KpYFQxqUqnekyKNSX6HlBU7YEaXyyJ2+cKxTTeEOCg==","shasum":"a683fa60934183a02be0eeb75c2b4555251dcbaf","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.11.tgz","fileCount":12,"unpackedSize":2191780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmU2PCRA9TVsSAnZWagAA9YIP/1loziySa6NTfSc/O9XW\nKG8SSXm9BIg2b94CpDu0sDaXAxnW3VQqMF9QOCvm+BxOQzouvF5jYTcrDWp9\nDRe/gWGfjsmwMY3JLZ9TA7CVsIFcJChIPg3SHW3WQiPIM/ahza2I+craKTLm\nDubSEB8To2CfVruJCuRrdjOiXEwYFhnrxf0Ph7wPSClCW203pWhuPdF5I+Lu\nK1Q9Ro7Rr/Rwhr/17Y9PNeFOo7YAEP6t6nhA91cIO8ERic1g+aIibp1rzD9P\n9DNPf7RuqRU/VuGW4vtcmXT7jwUhLfD2KfNr7MRTW2T9rkixz8CbsOiO1jw0\nOeKjjszbDdMOZbarcf6U8wKGbbJjJoQyS6ch+kIvDUtssoxJtmUvgflrnqv2\n0FZvVCgWsqqNbfixjZHfeb9udzwak3hATdXr9WiNW2kO83Zwbw2BPlsb0/m1\nHCPLlBScnvpfof6PjSuHHAPjL/aIPDIw7R2T/Qu50cyXKdkw7mGlkPwngWUv\nf+XBUxJVWRcHndqeOyTpttxXdNqhx0g/riOQ22FtipBZu6XFnoisyHdiSkC7\nLwS7cZxUb5B0xySQsrfzbS3p7guAi2a6DWdCaJW5fVmTVEgLyRHpj+/lkthe\nXPmpZuyERT+ESPeULsgEsiX5Kx2TxCAhv85FRBv0gsHHRS7GqdLOzjJwsAwF\nIUif\r\n=wn4T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKqp/EJnLM+cfybHgSnMVTPDWMrfpS45aRoZuo59uNcAiEA6n3Dy6L7kFnUvFhf+V7FEPrmdvTWwdtw4P0aAzHR6Xk="}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.11_1553550735019_0.5941273362944259"},"_hasShrinkwrap":false},"1.3.12":{"name":"@fenyo/net-monitor","version":"1.3.12","description":"dynamic time series with JS and JEE","main":"index.html","keyword":["snmp","network","graph","chart"],"homepage":"https://github.com/AlexandreFenyo/net-monitor/","bugs":{"email":"support-net-monitor@fenyo.net"},"author":{"name":"Alexandre Fenyo"},"repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"scripts":{"build":"babel src/main/javascript/src -d src/main/javascript/dist","watch":"webpack --watch","dev":"webpack-dev-server --config webpack.dev.js --port 8082"},"license":"BSD-2-Clause","dependencies":{"chart.js":"^2.7.1","jquery":"^3.3.1","moment":"^2.20.1","webstomp-client":"^1.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-core":"^6.26.3","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","uglifyjs-webpack-plugin":"^2.0.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.2.1"},"gitHead":"886dfa18a8cb879d65b2d0addc7b4e95ab18013c","_id":"@fenyo/net-monitor@1.3.12","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"fenyo","email":"npm@fenyo.net"},"dist":{"integrity":"sha512-TZfkW8a98K9vUxr3XZ3rnu2IVIyjQJXZ8cJbpwFoHWdmntgiv/OgDD6FOHJ+FHJMMxuU1J/KbOcxrrLn5Xggpw==","shasum":"f9eef1816760d8d6f6a763442b95aa17a973a77e","tarball":"https://registry.npmjs.org/@fenyo/net-monitor/-/net-monitor-1.3.12.tgz","fileCount":12,"unpackedSize":2191780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmU9ECRA9TVsSAnZWagAAckAP/1wQAqmQPVx9rvEGapKG\nD0m54dtMYq2rRzMiT9Z2mPTdtaLXUrz/t5lcQKvmO7napLwC+tHt6IxBKPb9\nGDsO2p0ZTKmcC5uWixQ6YplOENZ6EL9RVfKE+Pv8MTFKZP0TuGO6MDkVgBxQ\nfMLEvC8/P2i5bbD1/Js9/hXhTL0lAOcvasfaQzDaZxweE/1sCD0qHL53Ht7y\ncjiHopK7nqFuqTFBqRRwIYIf0205Va/lyZZ/JnakhQf9FDCBC7bP8mxl7W6k\nD6QsblHBJLJUokgC18MLMap5cZ5WkkqUp/VvEOKLBGtKgQ4tNx6IKU4eRA2G\nezcQolZWlggiKfP0PcoX7tGV4FRZA2rN75hRh+HM9Ikf+0yHE38pkPLojDQv\nGSh8QpXZ7zJ3jki2LiUrINgkr55gHsBuEI0PsVwhDVozNMLCVYadtnK08Pd2\nZBweYgz4ixdSO9u2J9O0p+mg/qCm7w8mWrqSE/t+kBNXrfIK+NaFSXP2/HYi\na/lWe5dwVDif/0NEUSnqQle4tqFBiaftJRZCCAiqFAaIUuUidkbHJ64p95MA\n2WZm50jtpWXLYI1P/x9Vtgj1vvhp1Jq8gQ5QHEZ7Nwbf922XjJmFut3gBOaB\nxcEfAgDbiA7eu2Imis0D+7MKi9jPmwtFaNBgnN416VnaHYIi7Jh3tfwsoddi\nQc8f\r\n=SGBH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkTC3FSXgeaEYK0NSQdCDNpgSi7Ym5QgWMogaNMtwPGQIhANZ9t6BzZY+Vkova1HHl9rRHGWKqvWGDEIFaq2z/Sazs"}]},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/net-monitor_1.3.12_1553551171246_0.3091657057455741"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-27T15:29:47.214Z","1.0.0":"2018-02-27T15:29:47.338Z","modified":"2022-06-12T17:53:03.611Z","1.0.1":"2018-02-27T15:34:58.110Z","1.0.2":"2018-02-27T15:39:56.702Z","1.0.3":"2018-02-27T15:41:32.499Z","1.0.4":"2018-02-27T15:44:58.704Z","1.0.5":"2018-02-27T15:45:53.853Z","1.0.6":"2018-02-27T15:46:22.596Z","1.0.7":"2018-02-27T15:47:17.234Z","1.0.8":"2018-02-27T15:48:53.297Z","1.0.9":"2018-02-27T17:43:29.253Z","1.0.10":"2018-02-28T17:18:23.956Z","1.0.11":"2018-02-28T17:29:33.745Z","1.0.12":"2018-02-28T20:40:01.008Z","1.0.14":"2018-03-02T16:48:58.732Z","1.0.15":"2018-03-02T19:00:42.998Z","1.0.16":"2018-03-07T21:52:06.544Z","1.0.17":"2018-03-11T18:54:27.052Z","1.2.0":"2018-03-16T17:42:38.835Z","1.2.1":"2018-03-16T22:40:59.895Z","1.2.2":"2018-03-16T22:56:36.358Z","1.3.1":"2018-03-18T17:27:01.465Z","1.3.2":"2018-03-18T20:40:22.251Z","1.3.3":"2018-03-19T07:02:19.651Z","1.3.4":"2018-03-19T07:03:14.127Z","1.3.5":"2018-10-24T08:07:21.116Z","1.3.6":"2018-11-20T14:09:24.722Z","1.3.7":"2018-11-21T00:28:04.675Z","1.3.8":"2018-11-21T00:45:55.883Z","1.3.9":"2018-11-21T00:54:08.586Z","1.3.10":"2019-03-25T21:00:57.850Z","1.3.11":"2019-03-25T21:52:15.239Z","1.3.12":"2019-03-25T21:59:31.389Z"},"maintainers":[{"name":"fenyo","email":"npm@fenyo.net"}],"description":"dynamic time series with JS and JEE","homepage":"https://github.com/AlexandreFenyo/net-monitor/","repository":{"type":"git","url":"https://github.com/AlexandreFenyo/net-monitor/net-monitor.git"},"author":{"name":"Alexandre Fenyo"},"bugs":{"email":"support-net-monitor@fenyo.net"},"license":"BSD-2-Clause","readme":"# net-monitor\n\nIn a nutshell:\n\n![net-monitor](https://raw.githubusercontent.com/AlexandreFenyo/net-monitor/master/docs/animation.gif)\n\n# Live demo\n\nTwo live demos displaying the ingress and egress throughputs of my ADSL box at home are available here:\n\n- blank background, 120 seconds displayed: https://fenyo.net/newweb/net-monitor/freebox-outside-white.html\n\n- black background, 30 seconds displayed: https://fenyo.net/newweb/net-monitor/freebox-outside-black.html\n\nRun in JSFiddle with live data: https://jsfiddle.net/jsfiddleeowyn/1cu172ya/\n\nSee a short video of net-monitor running on a small display based on a Raspberry Pi in kiosk mode: https://fenyo.net/newweb/net-monitor/net-mon-on-rpi.mp4\n\n# Purpose\n\nnet-monitor is a client / server toolkit. Its purpose is to let you include HTML animated networking charts into your web applications and single pages. It comes with a SNMP v1/v2c/v3 manager and is fully compliant with IPv4 & IPv6.\n\nIt is made of two main parts:\n\n- a JavaScript client library (module): net-monitor.bundle.min.js;\n- a server running in a servlet container, that collects data and feeds the client library with them.\n\nThe implementation is very efficient: clients (i.e. browsers) do not poll the server. Instead, clients subscribe to their desired topics (data sets) from a message broker, on top of WebSockets.\n\nTherefore, a very large number of clients can be connected to the same server without performance issues.\n\n# Concepts\n[![general description](https://raw.githubusercontent.com/AlexandreFenyo/net-monitor/master/docs/general-700.png)](https://raw.githubusercontent.com/AlexandreFenyo/net-monitor/master/docs/general.png)\n\nBefore using net-monitor, you may start reading this chapter to get informations about its core concepts: data sets, probes, charts, views, managers and lifetime configuration.\n\n## data set\n\nA net-monitor data set is a named time series (i.e. a set of time stamped collected data), maintained in the net-manager server memory. A data set typically contains numerical network throughput values collected from a snmp agent. A maximum data lifetime is associated with each data set.\n\nThe only way to create a new data set is to add a value to a named data set that has not already been created. Only probes (see below) can add a value to a data set, therefore only probes can create a new data set.\n\nFor integrity purpose, data sets can only be updated by one of the following two mecanisms:\n\n- A new data value, timestamped with the current instant (corresponding to the instant the data is added into the server memory), can be added by a net-monitor probe (typically using its internal snmp manager) or by an external web service request to the server (the client browser can act as an external probe while calling `NetMonitor.pushValue(...)`).\n\n  No data can be added with a timestamp in the past or the future. Therefore, the probe or the web service request that adds a new data does not need to specify a timestamp.\n\n- When two data values become older than the data set lifetime, the oldest one is removed. Therefore, there can only be one data value older that the data set lifetime, at most.\n\n  Keeping one data value older than the lifetime of the data set is useful to correctly draw a line chart representing the data set over its life time: to draw the first segment, having a timestamped value outside the canvas is necessary.\n\n**To sum up, a data set has a name, a life time and contains a set of timestamped data, maintained in the net-monitor server memory. It is created by a probe, when adding a new value to a named dataset not already instanciated.**\n\n## probe\n\nA probe collects real-time data and pushes them to its associated data set.\n\nThere are two probe types:\n\n- internal probes:\n\n  Such a probe runs in the net-monitor server and is associated to a data set. Each time it collects a data, this data is pushes into the data set. There is currently one type of internal probe: SNMP probes, that collect network interfaces throughput.\n\n    Internal probes are configured with a constant lifetime, that is the lifetime they specify when pushing a data to the data set. It is a static value that must be greater or equal to 0 second, or -1 to refer to the global default lifetime configured in the server.\n\n- external probes:\n\n  External probes can run anywhere, they just invoke a REST/JSON web service on the server to push some real-time data to a data set.\n\n  External probes **may choose to specify** a lifetime when pushing a data to a data set. This lifetime can change over the time. Not specifying a lifetime or specifying 0 means that in case the dataset already exists, no change for its lifetime is requested. I the dataset does not exist, its initial lifetime will be set to 0, therefore only one data value will be kept in this dataset until another lifetime is specified.\n\nThere are typically two types of external probes:\n\n- daemons that collect data not available through SNMP and push them to the server,\n- your JavaScript application running in the client browser and calling `NetMonitor.pushValue(...)`.\n\n## chart\n\nA chart is a JavaScript object that the [Chart.js](http://www.chartjs.org/) JavaScript library uses to display time series using a html canvas.\n\n## view\n\nA view (or chart view) is a net-monitor JavaScript object running in the browser, that associates a chart to a subset of a data set. This subset contains only the data with a timestamp in the range from now to the latest X seconds. X denotes the lifetime of the view, that must be greater than 0 second, and that corresponds to the time scale of x-axis of the view. There is a one-to-one association between a view and a chart.\n\n## manager\n\nA manager is a net-monitor JavaScript object running in the browser, that lets you delegate the management of many couples of chart views and data sets. From the point of view of a manager, there is a one-to-one association between a chart view and a data set.\n\nIf you want to display multiple charts associated to the same data set, just create multiple managers. This may be useful to display different views of the same data set, for instance a short-range view populated with the last 60 seconds of data, and a long-range view populated the 2 last hours of data.\n\nHere are the operations a manager does, when asked to manage a new chart:\n\n- The manager first creates the view and its associated chart.\n\n- The manager uses a WebSocket to connect to a message broker in the server, in order to subscribe to new data pushed into this dataset.\n\n- The manager connects again to the server and downloads, from this dataset, the data values that are not older than the lifetime defining the time scale of the view and, if available, one more data value in order to be able to draw the left-most segment of the graph. Therefore, the manager maintains a local copy of a subset of the data set.\n\n- Then the manager draws the values from this local copy on the chart.\n\n- Each time the manager receives a new value from the message broker, it adds the value to the locale copy of the data set and draws it on the chart.\n\n- Regularly, the manager moves the data displayed on the chart to the left, for the drawing to follow the x-axis time scale. If some data is no longer useful for drawing the chart, it is removed from the local copy of the dataset.\n\nIf you want to change the time scale displayed by a view with a chart, just ask the manager to unmanage the view and create a new manager to do the job again.\n\n## lifetime\n\nUp to now, we have encountered four types of lifetime:\n\n- the global default lifetime configured in the server: used by the server when a lifetime value is needed and no one is given.\n\n- the lifetime associated to a data set maintained in the server: this value defines the duration before data are discarded from the data set (remember that a data set may contain at most one data older than the life time of the set).\n\n- the lifetime that a probe specifies when pushing a new value into a data set.\n\n  - external probes: it can change over the time and must be greater or equal to 0, or omitted.\n\n  - internal probes: it is a constant value greater or equal to 0 (-1 means global default lifetime).\n\n- the lifetime of a view, that is constant and defines the time range displayed by the corresponding chart. It should of course be greater or equal to the lifetime of the associated data set.\n\nHere are the rules that define the life cycle of the dataset lifetime:\n\n- when a probe pushes a new value to a data set with a name not already associated to an existing one, a new data set is created with this new name. Its initial lifetime is the one specified by the probe for this value, or 0 if the probe has omitted to specify a lifetime.\n\n- when a probe pushes a new value to a data set that has already been created previously, and when that probe specifies a lifetime greater than the current data set lifetime, then the data set lifetime is updated (increased) to this new value. Otherwise, no change occurs to the data set lifetime.\n\nTherefore, the data set lifetime can only be increased, decreasing it is forbidden. This rule is important to avoid views displaying a larger time scale than the available dataset range, after having changed the lifetime configuration of an external probe.\n\nHere are the rules **you** must follow, to display data values correctly in every situations:\n\n- When you add a data value by means of an external probe, push the data with a lifetime that is greater than the greatest time scale among those of the views that already do or later will display the corresponding dataset.\n\n- When you configure an internal probe, associate with it a lifetime that is greater than the greatest time scale among those of the views that already do or later will display the corresponding dataset.\n\n# Server configuration\n\nThere are two configuration files for the server side:\n\n- _log4j.xml_: logging rules file. Optional (there is a default one).\n- _config.json_: general properties and SNMP manager configuration file. Mandatory.\n\n## Installing configuration files\n\nDepending on the installation way (with Docker, from the WAR archive, from the sources, ...), you need to find the correct way to feed the server with the configuration files. See the _Server installation chapter_ to find the specific way to do that.\n\n## writing configuration files\n\n### log4j.xml\n\nThe default logging rules configuration file looks like this:\n````xml\n<log4j:configuration xmlns:log4j=\"http://jakarta.apache.org/log4j/\">\n\n\t<!-- Appenders -->\n\t<appender name=\"console\" class=\"org.apache.log4j.ConsoleAppender\">\n\t\t<param name=\"Target\" value=\"System.out\" />\n\t\t<layout class=\"org.apache.log4j.PatternLayout\">\n\t\t\t<param name=\"ConversionPattern\" value=\"%-5p: %d %c - %m%n\" />\n\t\t</layout>\n\t</appender>\n\n\t<!-- Application Loggers -->\n\t<logger name=\"net.fenyo\">\n\t\t<level value=\"info\" />\n\t</logger>\n\n\t<!-- Root Logger -->\n\t<root>\n\t\t<priority value=\"warn\" />\n\t\t<appender-ref ref=\"console\" />\n\t</root>\n\t\n</log4j:configuration>\n````\n\nNote that if you set a configuration that generates a high log rate, you should remove the `%d` part of the ConversionPattern because of performances issues with the `SimpleDateFormat` implementation of the standard JDK: for better results it is recommended to use the log4j date formatters.\n\nIf you want to inspect / debug the net-monitor behaviour, replace the level value for the `net.fenyo` logger by debug.\n\nIf you want to inspect / debug the other components (Spring MVC, WebSocket implementation, STOMP message broker, ...), replace the priority value for the root Logger by something like info or debug.\n\n### config.json\n\nThe config.json contains the whole server configuration in JSON file format ([RFC-7159](https://www.ietf.org/rfc/rfc7159.txt)).\n\nThe default lifetime is specified in the default_lifetime property.\n\nThe internal probes are specified as an array of probe configuration parts, in the probes property.\n\n````json\n{\n\t\"default_lifetime\": 86400,\n\t\"probes\": [ ... ] \n}\n````\n\nThere is currently 3 types of internal probes:\n\n- SNMPv1\n- SNMPv2c\n- SNMPv3\n\nHere are the mandatory keys for any SNMP probe: dataset, lifetime, type, version, agent, oid and rate.\n\n- dataset: data set name\n- lifetime: lifetime used when a data value collected from this probe is pushed to the data set\n- type: must be `snmp`\n- version: must be `v1`, `v2c` or `v3`, depending on the SNMP version of the agent\n- agent: DNS name, IPv4 address or IPv6 address of the agent\n- OID: an OID of type Counter like IF-MIB::ifInOctets.[INTERFACE_INDEX] or IF-MIB::ifOutOctets.[INTERFACE_INDEX]\n- rate: the rate (unit: per seconds) at which the manager probes the agent to look for a new value\n\nThe rate should be about ten times the update rate of the OID value, for the manager to collect the data just when it changes. This is important since net-monitor computes throughputs by dividing by the delay the difference between this new value and the previous one. Therefore, the computed delay must be accurate to get a correct throughtput value.\n\nFor SNMPv1 probes, one more key / value is needed, to specify the community.\n\nTherefore, here is an example of a SNMPv1 probe:\n\n````json\n{\n  \"dataset\": \"set1\",\n  \"lifetime\": 3600,\n  \"type\": \"snmp\",\n  \"version\": \"v1\",\n  \"agent\": \"10.69.127.247\",\n  \"community\": \"public\",\n  \"oid\": \"1.3.6.1.2.1.2.2.1.10.10101\",\n  \"rate\": 10\n}\n````\n\nHere is an example of a SNMPv2c probe:\n\n````json\n{\n  \"dataset\": \"set1\",\n  \"lifetime\": 3600,\n  \"type\": \"snmp\",\n  \"version\": \"v2c\",\n  \"agent\": \"10.69.127.247\",\n  \"community\": \"public\",\n  \"oid\": \"1.3.6.1.2.1.2.2.1.10.10101\",\n  \"rate\": 10\n}\n````\n\nWith SNMPv3 probes, you must not set a community secret but specify a username, a security level and, depending on this level, some algorithms and some secrets.\n\nFirst, define a  username as a value for the key `username`, then define a value for the key `sec_level`, among `noAuthNoPriv`, `authNoPriv` and `authPriv`.\n\nWith `authNoPriv` and `authPriv`, you must define:\n- a value for the key `auth_algo`, among `MD5`, `SHA128`, `SHA224`, `SHA256`, `SHA384` and `SHA512`\n- a value for the key `password_auth`\n\nWith `authPriv`, you must also define:\n-  a value for the key `auth_priv`,  among `DES`, `3DES`, `AES128`, `AES192` and `AES256`.\n- a value for the key `password_priv`\n\nNote that one username must have the same auth and priv secrets on every SNMP agents.\n\nHere is an example of a configuration file with 3 probes: two SNMP v2c and one v3:\n\n````json\n{\n\t\"default_lifetime\": 86400,\n\t\"probes\": [\n\t\t{\n\t\t\t\"dataset\": \"set1\",\n\t\t\t\"lifetime\": 3600,\n\t\t\t\"type\": \"snmp\",\n\t\t\t\"version\": \"v3\",\n\t\t\t\"username\": \"user4\",\n\t\t\t\"sec_level\": \"authPriv\",\n\t\t\t\"auth_algo\": \"MD5\",\n\t\t\t\"priv_algo\": \"DES\",\n\t\t\t\"agent\": \"10.69.127.247\",\n\t\t\t\"password_auth\": \"password1234\",\n\t\t\t\"password_priv\": \"password1234\",\n\t\t\t\"oid\": \"1.3.6.1.2.1.2.2.1.10.10105\",\n\t\t\t\"rate\": 10\n\t\t},\n\t\t{\n\t\t\t\"dataset\": \"set2\",\n\t\t\t\"lifetime\": 3600,\n\t\t\t\"type\": \"snmp\",\n\t\t\t\"version\": \"v2c\",\n\t\t\t\"agent\": \"10.69.127.248\",\n\t\t\t\"community\": \"public\",\n\t\t\t\"oid\": \"1.3.6.1.2.1.2.2.1.10.10101\",\n\t\t\t\"rate\": 10\n\t\t},\n\t\t{\n\t\t\t\"dataset\": \"set3\",\n\t\t\t\"lifetime\": 3600,\n\t\t\t\"type\": \"snmp\",\n\t\t\t\"version\": \"v2c\",\n\t\t\t\"agent\": \"10.69.127.248\",\n\t\t\t\"community\": \"public\",\n\t\t\t\"oid\": \"1.3.6.1.2.1.2.2.1.16.10101\",\n\t\t\t\"rate\": 10\n\t\t}\n\t] \n}\n````\n\n# Client API\n\n## Creating a chart\n\nSee below the chapter _Client integration_ and choose a way to import the net-monitor JavaScript module (script tag, ES6 module, common JS, ...).\n\nWe suppose here that you have imported this module as the named object `NetMonitor`, the following way for instance:\n\n````html\n<script src=\"javascript/public/net-monitor.bundle.min.js\"></script>\n````\n\nTo create and manage a chart, you first need to declare an html canvas with an id, like you would do with Chart.js.\n\nWe suppose here that you have created the following two charts:\n\n````html\n<canvas id=\"myChart1\" width=\"800\" height=\"200\"></canvas>\n<br/>\n<canvas id=\"myChart2\" width=\"800\" height=\"200\"></canvas>\n````\n\n## Configuration object\n\nTo manage these canvas, you must not call the Chart.js API but the net-monitor one.\nAs said before, a manager can handle several charts, using views. So you need to create a configuration object that defines global parameters for this manager, and an array of views.\n\n### global parameters\n\nHere are the global parameters:\n\n`dispatchUrl` (optional): this parameter is used to help the browser locate the dispatch servlet in the net-monitor server when the base URL (http[s]://[hostname]:[port]/[context]) of the web page that makes use of net-monitor is not the same that the base URL of the server side of net-monitor. This dispatch servlet is used to access web sockets and web services on the server.\n\nFor instance, suppose that the html page using net-monitor has been loaded from http[s]://[hostname]:[port]/[local-part] (ex: https://myserver.com:4443/myapp/app.html). When dispatchUrl is not used, the net-monitor JavaScript client computes the server URL using the protocol, hostname and port from the URL of the page, adds the context `/net-monitor/` and finally adds the servlet name `dispatch`. Therefore, this lead to https://myserver.com:4443/net-monitor/dispatch. In case the net-monitor server is published at another URL, for instance http://myotherserver:8080/net-monitor, you must set dispatchUrl to http://myotherserver:8080/net-monitor/dispatch.\n\n`dispatchUrlWebSocket` (optional): this parameter is used to let the net-monitor client library connect to the dispatch servlet web socket with a distinct URL that the one used to connect to the dispatch servlet web services. This is typically useful when using a reverse proxy in front of the dispatch servlet and this reverse proxy does not support web sockets.\n\n### views\n\nEach view associates a dataset with a canvas id and some more parameters:\n\n- the lifetime the view must display (unit: seconds),\n- the top label (optional),\n- the bottom label (optional).\n\nFor instance, here is a view displaying the last minute values of the server data set named set1, on the canvas with id myChart1:\n\n````javascript\n{\n\tid: \"myChart1\",\n\ttopLabel: \"chart 1: last 60 seconds of data set 1\",\n\tbottomLabel: \"dataset 1\",\n\tlifeTime: 60,\n\tdataSet: \"set1\"\n}\n````\n\n### full example\n\nHere is an example of a configuration object used to manage both of the charts myChart1 and myChart2 we have talked about before:\n\n````javascript\nvar charts_conf = {\n\t\t// optional URL to access the dispatch servlet:\n\t\tdispatchUrl: \"http://my-server.com:8080/net-monitor/dispatch\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"myChart1\",\n\t\t\t\ttopLabel: \"chart 1: last 60 seconds of data set 1\",\n\t\t\t\tbottomLabel: \"dataset 1\",\n\t\t\t\tlifeTime: 60,\n\t\t\t\tdataSet: \"set1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"myChart2\",\n\t\t\t\ttopLabel: \"chart 2: last 30 seconds of data set 2\",\n\t\t\t\tbottomLabel: \"dataset 2\",\n\t\t\t\tlifeTime: 30,\n\t\t\t\tdataSet: \"set2\"\n\t\t\t}\n\t\t]\n};\n````\n\n## Managing a chart\n\n### create a manager\n\nTo create a manager that handles the views defined in a configuration object, just call `Manager.manage(charts_conf)`. This will return a manager object, that can later be used to process different actions.\n\nThis new manager creates the chart, displays initial values and manages new values.\n\n`Manager.manage(...)` is typically called when the page is loaded.\n\n### example\n\n````html\n<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"UTF-8\">\n    <title>two animated graphs with net-monitor</title>\n    <script src=\"javascript/public/net-monitor.bundle.min.js\"></script>\n    <script>\n      var charts = {\n\t\t// optional URL to access the server:\n\t\t// dispatchUrl: \"http://localhost:8080/net-monitor/dispatch\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"myChart1\",\n\t\t\t\ttopLabel: \"chart 1: last 60 seconds of data set 1\",\n\t\t\t\tbottomLabel: \"dataset 1\",\n\t\t\t\tlifeTime: 60,\n\t\t\t\tdataSet: \"set1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"myChart2\",\n\t\t\t\ttopLabel: \"chart 2: last 30 seconds of data set 2\",\n\t\t\t\tbottomLabel: \"dataset 2\",\n\t\t\t\tlifeTime: 30,\n\t\t\t\tdataSet: \"set2\"\n\t\t\t}\n\t\t]\n    };\n    var manager;\n    </script>\n  </head>\n  <body onload=\"manager=NetMonitor.manage(charts)\">\n    <canvas id=\"myChart1\" width=\"800\" height=\"200\"></canvas>\n    <canvas id=\"myChart2\" width=\"800\" height=\"200\"></canvas>\n  </body>\n</html>\n````\n\n## Unmanaging a chart\n\nSimply call `NetMonitor.unmanage(manager)` to unmanage the chart. This will destroy the Chart.js chart instances (the charts disappear), close the web socket to the server and clean associated data.\n\n## Using the browser as an external probe\n\nYou can push a value to a data set with a call to `NetMonitor.pushValue(manager, dataSet, value, lifeTime, callbackDone)`.\n\nArguments:\n\n- manager: the manager that manages a view associated to the data set on which the value must be pushed,\n- dataSet: the data set name,\n- value: a numeric value corresponding to a throughput,\n- lifeTime (optional): lifeTime for this value,\n- callbackDone: a callback function called by the manager when the value is added to the data set.\n\nHere is an example of a html button adding the value 123 to a chart and logging a message to the browser console when it is done:\n````html\n<button onclick=\"NetMonitor.pushValue(manager, 'set1', 123, undefined, function () {console.info('value pushed')})\">add 123 to set1</button>\n````\n\n## Customizing a chart\n\nThe Chart.js configuration properties can be accessed directly using `NetMonitor.getChart(manager, dataSet)`.\n\nHere is an example of a chart customization:\n\n````javascript\n#set border color to mauve\nNetMonitor.getChart(manager, 'set1').data.datasets[0].borderColor = Color(\"#7743CE\").alpha(.8).rgbString();\n#set background color to black\nNetMonitor.getChart(manager, 'set1').data.datasets[0].backgroundColor = Color(\"#0000\").rgbString();\n#remove the legend\nNetMonitor.getChart(manager, 'set1').options.legend.display = false;\n#change the grid color to white\nNetMonitor.getChart(manager, 'set1').options.scales.xAxes[0].gridLines.color = Color(\"#FFFFFF\").rgbString();\nNetMonitor.getChart(manager, 'set1').options.scales.yAxes[0].gridLines.color = Color(\"#FFFFFF\").rgbString();\n#use straight lines instead of curve ones\nNetMonitor.getChart(manager, 'set1').data.datasets[0].lineTension = 0;\n````\n\n# Server installation\n\nThe net-monitor server is made of three components:\n\n- a REST/JSON web-services server\n- a [STOMP](http://jmesnil.net/stomp-websocket/doc/) message broker over [RFC-6455](https://tools.ietf.org/html/rfc6455) [WebSocket](https://en.wikipedia.org/wiki/WebSocket) technology\n- a [SNMP](https://tools.ietf.org/html/rfc1157) v1/v2c/v3 manager\n\nAll these components are packaged in a single servlet that needs a servlet container to run into. [Tomcat](http://tomcat.apache.org/) is the prefered container for this purpose.\n\nThis servlet is requested by the net-monitor JavaScript client library.\n\n## Install with Docker\n\nUsing Docker is the prefered way to install net-monitor.\n\n### download the image\n\nBefore running a container with the net-monitor image, you may pull the latest image from [DockerHub](https://hub.docker.com/r/fenyoa/net-monitor/). Anyway, running a container with this image will fetch the image if not already pulled.\n\n```shell\nuser% docker pull fenyoa/net-monitor\n```\n### run a container\n\nBefore running a container, fetch the following informations:\n\n- the TCP port number you want the servlet container to listen to:\n  you will have to forward this port to the port 8080 inside the container\n\n- the _config.json_ configuration file:\n  you will have to map this file to the container root directory (`/`, not `/root`)\n\n- optionally, the _log4j.xml_ logging rules file:\n  you may map this file to the container root directory (`/`, not `/root`)\n\nSuppose you have chosen port 8888.\n\nYou can now run the container this way, **in foreground**:\n\n````shell\nuser% docker run --rm -t -i -p 8888:8080 -v $PWD/net-monitor/config.json:/config.json -v $PWD/net-monitor/log4j.xml:/log4j.xml fenyoa/net-monitor\n````\n\nYou can run the container this way, **in the background** (detached mode):\n\n````shell\nuser% docker run -d -p 8888:8080 -v $PWD/net-monitor/config.json:/config.json -v $PWD/net-monitor/log4j.xml:/log4j.xml fenyoa/net-monitor\n````\n\n## Install from the WAR archive in the Cloudflare CDN\n\n### base URL\nThe [Cloudflare](https://www.cloudflare.com/) base URL that contains each build is https://eowyn.eu.org/cloudflare/\n\n### select the correct build\n\n**For compatibility purpose, the version of the net-monitor servlet must be the same as the version of the net-monitor JavaScript client library.**\n\nTherefore, when selecting the net-monitor-[VERSION].[standalone|bundle].[min|dev].js client library, choose the corresponding net-monitor-[VERSION].war web archive with the same version.\n\nThe latest web archive build corresponding to the latest client library build is https://eowyn.eu.org/cloudflare/net-monitor-latest.war\n\n### update the archive with the configuration file\n\nBefore pushing the net-monitor WAR archive in a servlet container, you **must** update the _META-INF/config.json_ configuration file contained in the archive.\n\nYou do not need to explode the archive to do that, you can simply use `jar` to update the configuration file the following way (we suppose you have a configuration file named _config.json_ and the WAR file in the current directory):\n\n````shell\nuser% mkdir META-INF\nuser% cp config.json META-INF\nuser% jar uf net-monitor-*.war META-INF/config.json\nuser% rm -rf META-INF\n````\n\n### update the archive with the logging rules\n\nBefore pushing the net-monitor WAR archive in a servlet container, you **may** want to update the _WEB-INF/classes/log4j.xml_ logging rules file contained in the archive.\n\nYou do not need to explode the archive to do that, you can simply use `jar` to update the file the following way (we suppose you have a logging rules file named _log4j.xml_ and the WAR file in the current directory):\n\n````shell\nuser% mkdir -p WEB-INF/classes\nuser% cp log4j.xml WEB-INF/classes\nuser% jar uf net-monitor-*.war WEB-INF/classes/log4j.xml\nuser% rm -rf WEB-INF\n````\n\n### run the server\n\nRefer to your servlet container documentation (tomcat is a good choice) to find [how to publish the net-monitor war file](https://tomcat.apache.org/tomcat-8.0-doc/deployer-howto.html).\n\n## Install from the sources\n\nSee the chapter _Build client library and server from the sources_ below to make a build.\n\nBuilding with Linux + Maven, you will find the WAR archive here: _net-monitor/target/net-monitor-*-SNAPSHOT.war_\n\nBuilding with Windows + Eclipse, you can [use Eclipse to export the project as war](https://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwcrewar.html) to get the archive.\n\n### run the server\n\nRefer to your servlet container documentation (tomcat is a good choice) to find [how to publish the net-monitor war file](https://tomcat.apache.org/tomcat-8.0-doc/deployer-howto.html).\n\n## SSL/https support\n\nThe easiest way to publish the server onto SSL/https is to add Apache httpd as a front-end for the Apache tomcat application server, and configure Apache httpd to listen to port 443 with a public certificate and a private key.\n\nThe communication protocol between those two components should be:\n\n- AJP for everything but  WebSocket connections,\n- a transparent proxy for WebSocket connections.\n\nTherefore, you need to configure the AJP TCP port used by Apache tomcat (for instance TCP/9001). For instance, when running Apache tomcat with maven, launch the following command with the AJP port as a parameter:\n\n````mvn -Dmaven.tomcat.ajp.port=9001 tomcat7:run````\n\nThe http port tomcat7 listens to is defined in the `pom.xml` file (8080 by default).\n\nOn the Apache httpd side, you need to handle:\n- requests to `/net-monitor/dispatch/socket` with the proxy_wstunnel module,\n- other requests to `/net-monitor/` with AJP.\n\nHere is a snippet of the `httpd.conf` configuration file:\n\n````\n#enable the websocket tunneling module\nLoadModule proxy_wstunnel_module libexec/apache24/mod_proxy_wstunnel.so\n#enable AJP\nLoadModule proxy_ajp_module libexec/apache24/mod_proxy_ajp.so\n#nested ProxyPass rules must be set in the correct order\nProxyPass \"/net-monitor/dispatch/socket\" \"ws://127.0.0.1:8080/net-monitor/dispatch/socket\"\nProxyPass \"/net-monitor/\" \"ajp://127.0.0.1:9001/net-monitor/\"\nRedirect \"/net-monitor\" \"/net-monitor/\"\n````\n\n# Client installation\n\n## Install from the JEE server\n\nIf you have installed the JEE server that comes with net-monitor, you already have installed the net-monitor client on it, and its dependencies.\n\nSuppose that the server is running on host `host` and port `port`:\n\n- the bundle build is available on:\n  http(s)://host:port/net-monitor/javascript/public/net-monitor.bundle.min.js\n\n- the standalone build is available on:\n  http(s)://host:port/net-monitor/javascript/public/net-monitor.standalone.min.js\n\n- the dependencies, for use with the standalone build, are available on:\n\n  http(s)://host:port/net-monitor/jquery/dist/jquery.min.js\n  \n  http(s)://host:port/net-monitor/moment/moment.js\n  \n  http(s)://host:port/net-monitor/webstomp-client/dist/webstomp.min.js\n  \n  http(s)://host:port/net-monitor/chart.js/dist/Chart.bundle.min.js\n\n  \n## Install from the npmjs repository\n\n### package managers\n\nYou can install net-monitor from the [npmjs repository](https://www.npmjs.com/) using your favorite package manager: [npm](https://www.npmjs.com/docs/orgs/) or [yarn](https://yarnpkg.com/) (avoid using [bower](https://bower.io/blog/2017/how-to-migrate-away-from-bower/) for new client side modules). This will install net-monitor and its dependencies.\n\nYou can also access the dedicated page on npmjs: https://www.npmjs.com/package/@fenyo/net-monitor\n\n### npm\n\n`npm install @fenyo/net-monitor --save`\n\n### yarn\n\n`yarn add @fenyo/net-monitor`\n\n### select the correct build\n\nThere are two different builds available:\n\n- A bundle build with dependencies: \n`src/main/javascript/public/net-monitor.bundle.min.js`\n\n- A standalone build:\n`src/main/javascript/public/net-monitor.standalone.min.js`\n\n## Install from the Cloudflare CDN\n\n### base URL\nThe [Cloudflare](https://www.cloudflare.com/) base URL that contains each build is https://eowyn.eu.org/cloudflare/\n\n### select the correct build\n\n- Standalone builds are available using this template:\nnet-monitor-[VERSION].standalone.min.js\n\n  Example: https://eowyn.eu.org/cloudflare/net-monitor-1.0.10.standalone.min.js\n\n  The latest standalone build is https://eowyn.eu.org/cloudflare/net-monitor-latest.standalone.min.js\n\n- Bundle builds are available using this template:\nnet-monitor-[VERSION].bundle.min.js\n\n  Example: https://eowyn.eu.org/cloudflare/net-monitor-1.0.10.bundle.min.js\n\n  The latest bundle build is https://eowyn.eu.org/cloudflare/net-monitor-latest.bundle.min.js\n\n## Install from the sources\n\nSee the chapter _Build client library and server from the sources_ below to make a build, then fetch the JavaScript builds from the repository  src/main/javascript/public\n\n# Client integration\n\nnet-monitor can be integrated with plain JavaScript or with different module loaders, into your web application. The examples below show how to load net-monitor in different systems.\n\n## script tag with bundle build\n\n````html\n<script src=\"javascript/public/net-monitor.bundle.min.js\"></script>\n<script>\n    var charts = { ... };\n    var manager = NetMonitor.manage(charts);\n</script>\n````\n\n## script tag with standalone build\n\nNote that the dependencies are also installed on the server.\n\n````html\n<script src=\"jquery/dist/jquery.min.js\"></script>\n<script src=\"moment/moment.js\"></script>\n<script src=\"webstomp-client/dist/webstomp.min.js\"></script>\n<script src=\"chart.js/dist/Chart.bundle.min.js\"></script>\n<script src=\"javascript/public/net-monitor.standalone.min.js\"></script>\n<script>\n    var charts = { ... };\n    var manager = NetMonitor.manage(charts);\n</script>\n````\n\n## ES6 module\n\n```javascript\nimport NetMonitor from \"@fenyo/net-monitor\";\nvar charts = { ... };\nvar manager = NetMonitor.manage(charts);\n```\n\n## common JS\n\n```javascript\nvar NetMonitor = require(\"@fenyo/net-monitor\");\nvar charts = { ... };\nvar manager = NetMonitor.manage(charts);\n```\n\n# Build client library and server from the sources\n\nIf you want to contribute to net-monitor, you can build the client and server software from the sources with the following recipes.\n\n## Linux + Maven\n\n### first installation\n\nNote: this example is for Linux Ubuntu 16.04 LTS.\n\n- Download the sources\n\n  Download from github: \n\n    `user% git clone https://github.com/AlexandreFenyo/net-monitor.git`\n  \n- JavaScript part (client module for use in browsers):\n\n  - Install a **recent** version of Node.js:\n\n    - Bind to a recent node repository:\n\n      `root# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -`\n\n    - Install node from this repository:\n\n      `root# apt-get install nodejs`\n\n      Note 1:\nif you do not bind to a recent repository, the node version installed may be too much older to work correctly.\n\n      Note 2:\na recent version of npm has been installed, as a dependency of this recent Node.js.\n\n  - Populate JavaScript module dependencies into `node_modules` repository:\n\n    `user% npm install -D`\n\n  - Use webpack and Babel to transpile, add polyfill, minify and package the JavaScript module:\n\n    `user% npx webpack`\n    \n    This will create `src/main/javascript/public/net-monitor/net-monitor.min.js` from `src/main/javascript/src/net-monitor.js` and relative dependencies in `node_modules`\n\n- Java EE part (application server):\n\n  - Install a recent JDK to build the JEE application:\n\n    `root# apt-get install openjdk-8-jdk`\n\n  - Install maven:\n\n    `root# apt-get install maven`\n\n  - Build with maven:\n\n    `user% mvn clean install`\n\n    The generated WAR file is built here: `net-monitor/target/net-monitor-0.0.1-SNAPSHOT.war`\n\n  - Run this application with tomcat:\n\n    `user% mvn tomcat7:run-war`\n\n- Access to the generated resources:\n\n  - Now, you can access the demo application on: http://localhost:8080/net-monitor\n\n    From a remote host, use: http://HOSTNAME:8080/net-monitor\n\n  - The module is available here: http://HOSTNAME:8080/net-monitor/javascript/public/net-monitor.min.js\n\n### updates\n\nAfter having updated some source files, just run the following command lines to take updates into account:\n````bash\nuser% npx webpack\nuser% mvn compile install\nuser% mvn tomcat7:run-war\n````\n\n## Windows + Eclipse\n\n### install Eclipse\n\nThe [sources available from GitHub](https://github.com/AlexandreFenyo/net-monitor) can be imported in [Eclipse](https://www.eclipse.org/) as a project with [Spring MVC](http://www.springframework.org/) and  [Maven](https://maven.apache.org/) natures.\n\nFollow these instructions:\n\n- a recent JDK (1.8.x or higher)\n- a version of [Eclipse](https://www.eclipse.org/) (Neon.3 or higher) including STS ([Spring Tools](https://spring.io/tools/sts))\n- add a tomcat (8.x or higher) server to Eclipse:\n  - in Eclipse IDE, go to menu **Window > Preferences**.\n  - expand the **Server > Runtime Environments** node in the _Preferences_ dialog.\n  - click **Add…** to add a new server runtime environment.\n  - In the _New Server Runtime Environment_ dialog, select **Apache > Apache Tomcat v...** (the latest version of Tomcat to date) and check the option _Create a new local server_\n\nNow, go to menu **File > Import**, choose _Projects from Git_ and clone net-monitor from https://github.com/AlexandreFenyo/net-monitor.git\n\nFinally, publish the net-monitor project into the tomcat server: open the _Servers_ view, select the server, right click and select **Add and Remove**, then add the project.\n\n### install and run the client-side tools\n\n- install Node.js and npm: see https://nodejs.org/en/download/\n\n- Install webpack:\n\n  `c:\\> npm install -g webpack`\n\n- Populate JavaScript module dependencies into `node_modules` repository:\n\n  `c:\\net-monitor> npm install -D`\n\n- Use webpack and Babel to transpile, add polyfill, minify and package the JavaScript module.\n\n  `c:\\net-monitor> webpack --verbose`\n\n    This will create `src/main/javascript/public/net-monitor/net-monitor-*.js` from `src/main/javascript/src/net-monitor.js` and relative dependencies in `node_modules`\n\n- Finally, run webpack in listen mode:\n\n  `c:\\net-monitor> webpack -w`\n\n### start the server\n\nYou can now start the server and visit the demo on http://localhost:8080/net-monitor\n\nNotes:\n- if you apply changes to the Java sources or resources, Eclipse will automatically reload the servlet.\n- If you apply changes to the `webpack.config.js` configuration file, you should restart webpack and restart the server.\n- If you apply changes to the JavaScript sources in `src\\main\\javascript\\src`, you need to wait for webpack to apply changes into the `src\\main\\javascript\\public` directory. Then refresh the project in the _Project Explorer_ window (select the project and type F5), for Eclipse to publish the new bundle and standalone builds.\n\n## debugging JavaScript client library\n\nTwo debugging builds are available from the [npmjs](https://www.npmjs.com/) repository, the Cloudflare CDN and the JEE server: just replace _min_ with _dev_ in the path to the JavaScript resources.\n\nThose builds are:\n- not processed with [Babel](https://babeljs.io/)\n- not minified\n- not transpiled, so written with a subset of pure [ECMAScript® 2015](http://www.ecma-international.org/ecma-262/6.0/)\n- free of any Polyfill\n\nFor instance, on Cloudflare, you can access the debugging resources here:\n\n- standalone debugging build:\n[https://eowyn.eu.org/cloudflare/net-monitor-latest.standalone.dev.js](https://eowyn.eu.org/cloudflare/net-monitor-latest.standalone.dev.js)\n\n- bundle debugging build:\n[https://eowyn.eu.org/cloudflare/net-monitor-latest.bundle.dev.js](https://eowyn.eu.org/cloudflare/net-monitor-latest.bundle.dev.js)\n\nUsing the standalone debugging build is the easiest way to update and debug this software.\n\n## developing on the client side\n\nTo develop on the client side, using Eclipse may not be the best way to take into account JavaScript and html code updates immediately. Therefore, using tools specifically designed for JavaScript developers is a better idea.\n\n### set-up an initial environment\n\nFirst, install npm.\n\nList global npm packages installed:\n\n````shell\nnpm ls -g\n````\n\nRemove global packages installed:\n\n````shell\nnpm remove bower -g\nnpm remove webpack -g\n...\n````\n\nClean up packages and dependencies:\n\n````shell\nrm -rf node_modules\nrm package-lock.json\n````\n\nUpdate dependencies and devDependencies in `package.json`\n\nUpdate npm:\n\n````shell\n% npm -v\n5.6.0\n% npm install npm@latest -g\nC:\\Users\\fenyo\\AppData\\Roaming\\npm\\npx -> C:\\Users\\fenyo\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npx-cli.js\nC:\\Users\\fenyo\\AppData\\Roaming\\npm\\npm -> C:\\Users\\fenyo\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js\n+ npm@5.7.1\nadded 533 packages in 39.69s\n````\n\nCheck for npm dependencies just installed:\n\n````shell\n % npm ls -g\nC:\\Users\\fenyo\\AppData\\Roaming\\npm\n`-- npm@5.7.1\n  +-- abbrev@1.1.1\n  +-- ansi-regex@3.0.0\n  +-- ansicolors@0.3.2\n  +-- ansistyles@0.1.3\n  +-- aproba@1.2.0\n...\n````\n\nInstall dependencies in net-monitor:\n\n````shell\n % npm install -D\n...\n% ls node_modules\nchart.js/  chartjs-color/  chartjs-color-string/  color-convert/  color-name/  jquery/  moment/  webstomp-client/\n````\n\nAdd the following dev dependencies in package.json: babel-cli, babel-core, babel-loader, babel-polyfill, babel-preset-env, webpack, webpack-cli, webpack-dev-server.\n\n### common operations\n\nRun webpack:\n\n````shell\n% npx webpack\n````\n\nRun a development server:\n\n````shell\nnpm run dev\n````\nor\n````shell\nnpx webpack-dev-server --config webpack.dev.js --port 8082\n````\n\nThe development server runs on port 8082, therefore you can launch the net-monitor server with Eclipse on port 8080. This way, the net-monitor server answers to http requests sent to http://localhost:8080/net-monitor and to web socket connections sent to http://localhost:8080/net-monitor/dispatch/socket.\n\nConnect your browser to the development server: http://localhost:8082/src/main/webapp/index-dev.html\n\n# Support\n\nBest-effort support is available here :\n\n![support](docs/support.png)\n\n----------\n\nwritten with StackEdit - Support StackEdit\n\n[![](https://cdn.monetizejs.com/resources/button-32.png)](https://monetizejs.com/authorize?client_id=ESTHdCYOi18iLhhO&summary=true)\n\n[StackEdit](https://stackedit.io/) is a full-featured, open-source Markdown editor based on PageDown, the Markdown library used by Stack Overflow and the other Stack Exchange sites.\n\n<!--stackedit_data:\neyJoaXN0b3J5IjpbLTU0NzAzMjQzN119\n-->\n<!--stackedit_data:\neyJoaXN0b3J5IjpbLTE1MjQ4MjA0MzNdfQ==\n-->\n<!--stackedit_data:\neyJoaXN0b3J5IjpbMzc3NDM0ODI4XX0=\n-->\n<!--stackedit_data:\neyJoaXN0b3J5IjpbLTU1OTg2ODkyNF19\n-->\n","readmeFilename":"README.md"}