{"_id":"fmjs","_rev":"132-7532d729136cbf0aae5357e895fec9c6","name":"fmjs","dist-tags":{"latest":"5.10.1"},"versions":{"0.1.8":{"name":"fmjs","version":"0.1.8","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@0.1.8","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"}],"contributors":{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"desc":"Fusionary Common JavaScript","dist":{"shasum":"b3080185442ac2fda846f03a5096aeb0384ba389","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-0.1.8.tgz","integrity":"sha512-ixI0FB3YYmZWOVeERozSScQdvuoe45XmGd2OoynRyz+GF+3zmM0tFDjDzIppbXRlnFO5kaqBiuowOznDTv7KCA==","signatures":[{"sig":"MEUCIQDxko9FpFvj+ipRGZFyVGl+9USgj+qP+cUrZiYU00P6qQIgXG20M8CIUyP5p4WnTwYGNvWtGVoHUliYiYVGuPxaGMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"b3080185442ac2fda846f03a5096aeb0384ba389","gitHead":"cc8db967ce71d4968f5ca4ce945d1f977df012f9","scripts":{},"_npmUser":{"name":"fusionary","email":"labs@fusionary.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0":{"name":"fmjs","version":"1.0.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.0.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"df8446f0b8722f1c3f83edb1ed4b061f108bbdbf","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.0.0.tgz","integrity":"sha512-GQV8NI0wiat708VMlw2J27I1JjN8xYfdrGgny8Mtz0LDf3YC6GkSBhthkL//THsL/7+pgjfJUAjdmQr6nvP5JQ==","signatures":[{"sig":"MEUCICr2nW0nqVrp1Tn215pdE83679Pl+d+NnbLOe3pU1TokAiEAs/gh7+oCWkpNFHlYD2IdZZF6kX1qX2SLNXkrlvbW37c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"df8446f0b8722f1c3f83edb1ed4b061f108bbdbf","gitHead":"b493b746af0dc2379f37527252599957bca993a3","scripts":{},"_npmUser":{"name":"fusionary","email":"labs@fusionary.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"fmjs","version":"1.0.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.0.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"8ebc6f0cd249c941ecdee3fca5f69f8e45c429e5","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.0.1.tgz","integrity":"sha512-pVu025mYVsSVWxU3Q/6QEKYeWWUnIMIkxtwBU6BgFfT9S7SK7DSoLi4r5ROXcXKirSAoW8uC6E/7j8ReKytsjA==","signatures":[{"sig":"MEUCIQDNlLFq+v7TmQuwBlrQYaDMXgCXVtbX39rgBYtL/E3tbAIgb0PG1xkNnTSjSWCEBuu45zy/zBUiHWUbewEvNrZufAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"8ebc6f0cd249c941ecdee3fca5f69f8e45c429e5","gitHead":"40dd50eb7b07a09c40d02684ab3465e9773f337c","scripts":{},"_npmUser":{"name":"fusionary","email":"labs@fusionary.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.2":{"name":"fmjs","version":"1.0.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.0.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"a3f97e42d8451eaadde6153edddc7fb7853a41e8","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.0.2.tgz","integrity":"sha512-nfy0UN/6Pcd0z21RNCK15LaFeon8MrT42xz4Hw4N+bQiWlL9Jw8mL+Vz/y9GwpiCgdD+i9Yj6x5wfZVMD3xm/A==","signatures":[{"sig":"MEYCIQC39AcN/r07IozZxdbKIdFV9mnAOjFjY0TuawgBb3WcsgIhALDz7Ajk8CvkLhqAdHE0fTAYOOdYObPxSMTwnF8S8VpL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"a3f97e42d8451eaadde6153edddc7fb7853a41e8","gitHead":"ec0f1c7d9856c9a9bd0ed5d339cea989479e9609","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.3":{"name":"fmjs","version":"1.0.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.0.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"8367a9c8e2a29903db1bda53b3e1b1d220ef74d1","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.0.3.tgz","integrity":"sha512-iqFEfd2xclxHwF2h4/PSNvR1NBhV7+4GPC6/+Kp2o43tN68wTVQrR601MPO+59l9eKM8z7gXiesPkDo39/9bgg==","signatures":[{"sig":"MEUCIADm+ASlX5mOKU1xPkBMXV08s5+81A80jwmrv6hECyCCAiEAxacr/BtTl5Cjh677BpVcSN0JfTJEk8Pn5wBtf2pDMA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"8367a9c8e2a29903db1bda53b3e1b1d220ef74d1","gitHead":"dfe2141e140fd61161b769abdbb4099772816974","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"fmjs","version":"1.1.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"0bdb9d0a6ec6b0686141410334577af5c6f4aa4a","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.0.tgz","integrity":"sha512-aPpRs7HPBrbO2OvpyvykDpGPRxuE1Ik+ZENA9fQPDpnDR9fYbhet6+pzivJTesDq5eFCY6DXzOBYRAL00pHKzg==","signatures":[{"sig":"MEUCIQD/aX6HljxelwMkEKD4Oh1gzTg4i9bz4MxmJDCiow1DoQIgGTJSLTbOeG8TXibpyfurGRepY13wbY/ffBypoBtMNkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"0bdb9d0a6ec6b0686141410334577af5c6f4aa4a","gitHead":"f55320fbc85c528b7d39ef6a557aa761245caf3b","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.1":{"name":"fmjs","version":"1.1.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"acdc3502762e41776f456f12ead4675572a91a42","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.1.tgz","integrity":"sha512-DVBfQFoHeLzU8g6KbWThIlVTnFgy9cBYWT8T38vHOVtlCM5B31WhSIn1v/tUzG52Oq87l55MG6dR+WOZ9wZBCA==","signatures":[{"sig":"MEUCIQDTaXhFSwSNDCZ9znMw/nMGJp2gPO+N1WB5crgrWn9MxwIgPEqQzM8T13mOOnPrlg6MOxzXFG+A9utBJQ3LDrSCG4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"acdc3502762e41776f456f12ead4675572a91a42","gitHead":"ea41f2648ea49f36c7dac73fb093407bfbd2bcc0","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2":{"name":"fmjs","version":"1.1.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"7393f9aa5e5295425db601c6e751f876b0ac24f0","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.2.tgz","integrity":"sha512-fA4T8gRmyRJ/VWtjk4bSb5V7QUZ7ZaVTtiqA8NRJdXeQDLIIjV6PKfViA8/alCHVX0f5CsOgOrUWoCHoQK/TDQ==","signatures":[{"sig":"MEQCIBA9yyRhQEmt4MtKRhTpz0TZ0e+8gM3/OREXbh4T2DdAAiArliDUFUBijg8tK66XdodK7FSiEMof3wW2X5QCA2MlVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"7393f9aa5e5295425db601c6e751f876b0ac24f0","gitHead":"4eb32a0ef7b13e7d5bfdcaece551883e99e5c079","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.3":{"name":"fmjs","version":"1.1.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"27b5286d7f0ffaf592c491618ab86623cc0fad8a","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.3.tgz","integrity":"sha512-yMiDSzm+Iz8qCN9hx1+kZlZgcuR09jXDx+uUgc4Um/ow7h1GnTg0VY7mbEiFfZVh+OD57kvEPPXAAr6sbBu/Ow==","signatures":[{"sig":"MEUCIGGLQRD0IfSFJEo8Q0H4N4HTW8gCfnxExc0K9Vqbqkg4AiEA2+2/NxIs0Oy31/WxKnwlGUm+JSWWJVdrueTWKq+eXC0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"27b5286d7f0ffaf592c491618ab86623cc0fad8a","gitHead":"8e111b01c8d7b7dcd0bba6ec1720d517185685eb","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.4":{"name":"fmjs","version":"1.1.4","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.4","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"749339968e3668a58c535a8bb4580436cdeddd04","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.4.tgz","integrity":"sha512-LjDR4UiZKEYv0qgf6RjhtTif36rkjfvzk2Sfwt7N9k/xkyENveyixMAOXOrd8RAlEvLIlW8jhkRTk2dnqDDmqw==","signatures":[{"sig":"MEYCIQCm6NgFdSH5IjJkwN8qRnrqjMCY5tO4BPtxZUNMX9WEjAIhALfeh68FIrWXmh94g56WvnElJ0/hMQUMCEhtC6Qt9YVb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"749339968e3668a58c535a8bb4580436cdeddd04","gitHead":"776c37bdcea016ffcd51750a36949e7cd980e9d7","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.5":{"name":"fmjs","version":"1.1.5","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.5","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"801a686468ec573055eb9d9dd122bae09aa4d831","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.5.tgz","integrity":"sha512-Zf9GoXbSt0FSCU0nfig5uQ2p0Aq3k+jOHh4U1wYedBn699kEYL7YaEd2qxnjDB/Gh9ei1RWKLmJPd7NuIQmHBA==","signatures":[{"sig":"MEQCIDGwXLJbCgofrJhmH6tfOGG2sxdZBirWb3GPu+UrgRkEAiB3c8FOrxlk8KsR8dBruy9F2ZE/c1IpG4ulnCCYodRCQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"801a686468ec573055eb9d9dd122bae09aa4d831","gitHead":"b909aab0c444e6c95b7715824ed8b350dd72eda0","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.23","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.6":{"name":"fmjs","version":"1.1.6","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.1.6","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"18694e916a7d095401e5484f4ced3ffe80a48afe","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.1.6.tgz","integrity":"sha512-FKS8tGy3ujL7S2mGlIhKkxBHp3rn3BzOWt2rxCL9vG/HCBbW172xT4MLSh/Vir53fBnSNGQcDo3c3pJyHf4BvA==","signatures":[{"sig":"MEUCICUQBGoNtbT4G7YPtOKLOekGC4J/wmdDyB62+NCFqF7SAiEAjVgLZ0YoG6ibOoWniwQpDS1sjDZCCnAB4buUcwT+z2Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"18694e916a7d095401e5484f4ced3ffe80a48afe","gitHead":"d5a8ba89d9f2f361a42ccdbba318266ed90b360d","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.0":{"name":"fmjs","version":"1.2.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.2.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"7268bd20246b9b8c2aedb293c1df1ce5745ef8f9","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.2.0.tgz","integrity":"sha512-ZoiDe/PEEQHf5EE+yF4kkOZOzX9kt+MP3+IDyyiggv1BNoe00W51Cra50+1GvjaZ+3SvY4Arv39lJmnYB7yLtQ==","signatures":[{"sig":"MEUCIQDh33xp9M8lFLeudqf9w8uMrmCnuvSSQRih0IPno/Ld1gIgAyoWTyC1QD1RjRLhxidKjHhETwAWC5PttwGx+D8HEUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"7268bd20246b9b8c2aedb293c1df1ce5745ef8f9","gitHead":"3777bcc4019babc7cb2d0b88e96bf5c785cf2c15","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.1":{"name":"fmjs","version":"1.2.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.2.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"6688d4de411e7502cca43755ef24902584707dd8","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.2.1.tgz","integrity":"sha512-qWEhkraCEAuSg4m0lwFl+FQCE+1RNfYuf6OyMW+EE5TtTzP6AALtNko+4atFFvkGRZNWq2EyfEfGxW4hRBnawA==","signatures":[{"sig":"MEQCIDkHZ78qxCFfywSeY+34prO5nhXLvCQNAL5tOc+oxMX9AiAMxkVU4BUAQ8NM1B/Z0/LnKZFs2/Ap+PSeDOnnoQfM5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"6688d4de411e7502cca43755ef24902584707dd8","gitHead":"4a542cd42152c50fa0bffaa1feec03c9e35f53bc","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.2":{"name":"fmjs","version":"1.2.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.2.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"c1bc352a445301ffc31c72321bee25cff5028e42","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.2.2.tgz","integrity":"sha512-bCFId+i7Zm3EVEoRZDPH9jKXvwf5H/O//aUl1BiLmqFOfvCWbkEaUHtGZmpmgFHbhymXrNk1WRFFiTEpZ5uLzg==","signatures":[{"sig":"MEQCIB97OmyQ5quf8R888b5rSGXFIHcrEOjUfIXbLXiJp1rxAiAhUls0cf3pGUWc1Grvy04i/HVLTLLpyKvvPb3WFUJDkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"c1bc352a445301ffc31c72321bee25cff5028e42","gitHead":"ecc32662d00da081cafb992507e4548af97f73db","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.3":{"name":"fmjs","version":"1.2.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.2.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"620d46331881019cbb8f917741a4db7602a1bccc","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.2.3.tgz","integrity":"sha512-jxCLbdcyTVKCcxDZayO6c2EeszlPB5gaDk2L13AFFZjcMOIC0UKVDK1Hpenijqb5m+U0Zj2bDxOC6OgWdOg1bg==","signatures":[{"sig":"MEQCIHndfkqmcIe1COq5ULSgJIRn5rFCfW3Q+mhWJPpY4ts+AiAV34+JXzH8d95D1jYxJVPxg8PIuiGGEwpD43d98XRGNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"620d46331881019cbb8f917741a4db7602a1bccc","gitHead":"069501f2f459babaa6eb3ac6212b23587fddb23b","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.0":{"name":"fmjs","version":"1.3.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"7530225ea41328f1a301e9c5f3617488becffb09","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.0.tgz","integrity":"sha512-VuMsb38FbLMuf9fBCck6P246G5zLSCtiHHoj0jpJ2kjby/Sq1WBMRPuFtRUy8eOqj4xxbzpnsu5NHkJFewccMg==","signatures":[{"sig":"MEUCIH/Ltxodsdd6nf8q9ffkiS9CgtmpISIaUKRhWt77TXtuAiEAgF9lkZbhzmJBQsI6CE7T5Mr3ZuPUnLb0teeXie60k7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"7530225ea41328f1a301e9c5f3617488becffb09","gitHead":"acc6f4442b4ddd27ac7dea28d0d3861c2dda195c","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.1":{"name":"fmjs","version":"1.3.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"884bf5fa604d714071e8c13be3039c8c0517fcc4","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.1.tgz","integrity":"sha512-ILI0XT8dz3HKcqQNcBuuJUK1E+qiBhIadreM0XUZgLEcc7DtThummWz7do6aekvAZw48v4/H3/OIi3CPpOqhNg==","signatures":[{"sig":"MEUCIQDfPkdpRyAY39dlkKFQaqQxm/ZHXll+99Qd06LVAXHF8gIgHQHgHgdnguUehKyan8rMZQF23HtS9WB6FRQm+IJ8gJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"884bf5fa604d714071e8c13be3039c8c0517fcc4","gitHead":"ccfbbcc7c7f4aac93395551a092affb8d6903d0c","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.2":{"name":"fmjs","version":"1.3.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"95e858a0b38aaa4922a7a2860b9f0ac13d9ba836","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.2.tgz","integrity":"sha512-BEfWTeZct8M2meX+x12u/XtXFjrZ3FMUeMoaRg9o3ojKc6hdW8Y7mGLbC0ToO+SMst+qj2ppF/nMBU92MF1bzA==","signatures":[{"sig":"MEQCIALMJCOx8BHd0Yp95CIp/Eft9/17PFYImBM2sjtKgseGAiA/r1FcKUpay9Kr/lt+nFw8VjWzPCrPVCapsQ0kSCnwYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"95e858a0b38aaa4922a7a2860b9f0ac13d9ba836","gitHead":"88be848c85855749892cec3c581a20043c24dc57","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.3":{"name":"fmjs","version":"1.3.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"414947eb88447b2f997aeca785232f96047cf887","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.3.tgz","integrity":"sha512-PjNGl9B/Ms64XBcoQqpue3/kXn4IqqXDvyuxkkJ8q5b/irYpcWn19qDFF3581uAJzTEfP4PVC0sgiudGs8eKEg==","signatures":[{"sig":"MEUCIQDInAh/AjwYD1Se6RUmitWJcHns4JPOn0CjqSnnCtThswIgDFpyZx1t0Z4nrG6JyN+NvjhbyDajC1Z4w3ysnk0Kp8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"414947eb88447b2f997aeca785232f96047cf887","gitHead":"bf5b57658edbe65c6f3b2ca813dddb1ac0240971","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.4":{"name":"fmjs","version":"1.3.4","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.4","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"e60c4437a5e1f5c2a0a8fd349d178c6879779cbc","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.4.tgz","integrity":"sha512-M+sfuC3lUx8lafBIRRyGYQ2mVPNrK360Gpn7nNGh0rWiA5/HrcsbI17IwElwKlDqrfHaUbsZAwbaRATo2TTQfA==","signatures":[{"sig":"MEQCIAls8a4TlBwKNCXDB59Z37t6t9y13BJKqC+Q4cPA+jBaAiAB66a4yFCrM6srxZN4+OkdLID6+a9rgzXy48Bt2NNSDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"e60c4437a5e1f5c2a0a8fd349d178c6879779cbc","gitHead":"c8da662545939b14b61f732e59ef54740fc93e81","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.5":{"name":"fmjs","version":"1.3.5","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.5","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"4f5cf15484c0185e849cdeb6610f3cde571bf4e6","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.5.tgz","integrity":"sha512-4AJD5RTFGz7G5EStIRM7BJ2XoGIRGHIuWO8L9EUl8/hejd8bDLCKqHQoDu9k91SZAhP1UXoaof5zlI9HBi6wHQ==","signatures":[{"sig":"MEUCIQDxS4JTEiSMXnBjH7apXBqy6Lgn0DL251e2YZmDoUQpSgIgZpGyVUeDhX6SbwMd2L1IHYqctx+Vy3lLxyGrKiapIsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"4f5cf15484c0185e849cdeb6610f3cde571bf4e6","gitHead":"4552ea231a5dc661b2cfe807966b1aa2bea13bda","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"1.4.28","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.6":{"name":"fmjs","version":"1.3.6","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.3.6","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"d92b0308fb0f32aaaf1765ae6d447e0d8a947710","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.3.6.tgz","integrity":"sha512-70E3WL+DaRdoMGGu0Tr/2KMKxKt8YZ2WotUYbDfPhzFs4KWxK1g59cR5kME4fgdWDovfbfAUEBYiGXTnnx1RqA==","signatures":[{"sig":"MEYCIQDui1VqNeB+K58ki3A+veuIzFfetc70YVDvnX3PWhYUpQIhALCxTnJ/SE03xgUZfcXFmK3PGPNYI0RpSEcUCBxxJTnS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"d92b0308fb0f32aaaf1765ae6d447e0d8a947710","gitHead":"e6ef4c5c918f0c7b547f5fdaeeca2e02434c2368","scripts":{},"_npmUser":{"name":"fusionary","email":"labs@fusionary.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.1.5","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.10.33","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.0":{"name":"fmjs","version":"1.4.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"12dd327df75e6be95a66afded10b1a589c24ce14","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.0.tgz","integrity":"sha512-GVK0gYVP/kGCGjsHVNddcxFTQ+rW+FraXrt7z8biFNsqr/2LHRz2fH3bYr5FI9hkY0ls80pDOABDMYK1msVHWg==","signatures":[{"sig":"MEYCIQD9MdCoz3ioXmJ/Bd7Tm66JLSc6XXzdV03j9HkijI662QIhALo/5lTcsbBIDEGIH5BsHEapRlu+FrO51wK+V1oXjWFt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"12dd327df75e6be95a66afded10b1a589c24ce14","gitHead":"f25027ef994f6f20c147fcd4904a8fd45205cc9f","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.5.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.1":{"name":"fmjs","version":"1.4.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"a48dbd65275125cddfe260ab62b6628fb155d778","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.1.tgz","integrity":"sha512-Nyuwdviax1zmV2ryrWZ1ZHws7sBpM9XUf/yyf0Wxfs0jG1l5DdMYHm4XPMCZYxGoVnOkDpqJ9tldWvQjh+zBfw==","signatures":[{"sig":"MEQCIBJX1Zs9d63O+mTdwvblc7M2dy3mhY2dSk/vkHOd4YTVAiA36YAX6mrwHiZ56qoycQMvFGz3PC8k8ouRkUrIBQrHEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"a48dbd65275125cddfe260ab62b6628fb155d778","gitHead":"1327dcec3637cc341598aadec1ffc417fdfea056","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.5.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.2":{"name":"fmjs","version":"1.4.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"c05b85fdf639f200758a2577623492bbfd32a915","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.2.tgz","integrity":"sha512-PS7dEvyZ/dzw6iEKtk8fR8iJHDvcKgaIBmFzot5jteRKhBflg3U2I+jrggWsDuo+yKmsyIjPIPp4RqY7LEgxrg==","signatures":[{"sig":"MEQCIEZRIsM8FG4n6+2UPPxyZuCpLRkKlgPvJvp+cS1yZfvsAiA9m1tCUGtgeYrT8qAlm7Bsgn+xri4M4GJ8MRoKu6s4Aw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"c05b85fdf639f200758a2577623492bbfd32a915","gitHead":"5793e9383fcd1b38915953a79e827b7f9946fea4","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.9.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.3":{"name":"fmjs","version":"1.4.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"f211e1cb531c977b5d4ea514f9f9e1fd2ea500bb","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.3.tgz","integrity":"sha512-uu0LIrTMMTmFV4ffcafxwhjdZXxfEvP+5sh5Oh4RPRzwF/zJ+cXcyx29zxmQFTURAX79fgaadbM6raDyO5323Q==","signatures":[{"sig":"MEQCIG7iTrpiMLQvGVn0vudZCLE6YR6ZiWsvJGCpQLSAs60YAiBI/rrQP1W6kYG+k1JAEKw7iJ1M6ih5x+8l4pCjb9e08Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"f211e1cb531c977b5d4ea514f9f9e1fd2ea500bb","gitHead":"90fb6bf50cbbdd7b06110a49251f1c4ffc93983c","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.9.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.4":{"name":"fmjs","version":"1.4.4","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.4","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"39b61ba1d30536e2ba6f02f12aa9fc9c0ca0bfc5","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.4.tgz","integrity":"sha512-vcjoyvaB3OeJd3GxGGkWee1E1IoW9OByJJIVLPwkM6zd7XbqRPdhztkk6mzVqrUImI6ZvxphISV2KJENFssUeA==","signatures":[{"sig":"MEQCIAWBfzl7VHGjBNFABEmSQmDgBe8DuRaVt2Huf+daWKu1AiAl6yEkHxqUGZ7JF34Dzp64HhgkamLVU29Fwe05IR7/Tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"39b61ba1d30536e2ba6f02f12aa9fc9c0ca0bfc5","gitHead":"6b53069ab17f623ad9db324511713a157eb1a81b","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.9.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.4.5":{"name":"fmjs","version":"1.4.5","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.4.5","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"334c0bb97268081b8440173aacb76ecc92e4715f","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.4.5.tgz","integrity":"sha512-YN74Xx9jJK3kXBP04VHgZGVij+/z8AIhAHr/FcpLmsOHs+gBoVVV2QJ+KAtRhuy0jJ+P93hjiHt0YKyVQjDlJA==","signatures":[{"sig":"MEQCIGfbjmRTSG7Q+kmTI8ihb9tMM2qeVOWvqbykPvx24fyDAiAF951aeRxQRW+ULephVxlrZcwzzX0RmP/V+PXcnCDzkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"334c0bb97268081b8440173aacb76ecc92e4715f","gitHead":"0d5f86a3cc9e9f68d6dec0b95c9cfc3eb585da1c","scripts":{},"_npmUser":{"name":"fusionary","email":"labs@fusionary.com"},"repository":{"url":"ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.5.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.5.0":{"name":"fmjs","version":"1.5.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.5.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"378d6a4500ab9e4700e255a677baa75ab09000cd","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.5.0.tgz","integrity":"sha512-NiP7sxce2dS0KrtX1Ytph+cKRemhytuOdgNnMJ+h1A7VahykmoFYLXmQ2gn1Ki/jGIMimTbSYuRdhKKSbIekpA==","signatures":[{"sig":"MEQCID3puZRxa7tv4mvsT6QTQM9eOYmTB4jMI1PtA9t890jbAiBPYC4iRB0CauYj0b3kCLWNq0qRA3N9+IdjPS3BnqMJlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"378d6a4500ab9e4700e255a677baa75ab09000cd","gitHead":"5a53e745a7841fc7346b370fa79e8176563ad3f1","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"2.10.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"0.12.4","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.6.0":{"name":"fmjs","version":"1.6.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.6.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"e63f41a74d58e834cb85d1ce0f4b35e55482256c","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.6.0.tgz","integrity":"sha512-D6iuRmDnG+rs74PyaafqGD7cYx36E0ICvcT9Ux7oK2jAW0ZUZ3J80t8zvD1rt9FPxD2edP8C7wtfsbFADCGmGw==","signatures":[{"sig":"MEUCIBnCGlrnM5dq8D4NH+oKNl2DCELqfqMCxJSIV/Vhvv95AiEA2faWbfWj+jdxo9eganl8dluCBS33GDl4rp8xncoNFPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"e63f41a74d58e834cb85d1ce0f4b35e55482256c","gitHead":"15f2bb62f5d79c05ee7ff5cbfd1b9b39d448bdc1","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.3.12","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.2.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.6.1":{"name":"fmjs","version":"1.6.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.6.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"b84a7bd1cae6d4828103a1ee4ce1248fa066f489","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.6.1.tgz","integrity":"sha512-F/q4JDcUK2/6cPGe74iy7iIS53Z8T1hXuQVy6mYtj7jerqYmRI7FnV4FFyDO7Vz4Y9cu6Rzuh8h1eZG/Cbradg==","signatures":[{"sig":"MEQCICFkkXq8LZSY5koJJ3r2o30PlgTa9CWCstQJEFGO1h7zAiA8qjT6B6gWTlmur3g0I3RuZKBPtsFl+oZqzZ9M+SOeDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"b84a7bd1cae6d4828103a1ee4ce1248fa066f489","gitHead":"2e6fdee208c706a6f54978e0d34738916a91cf67","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.3.12","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.2.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.6.2":{"name":"fmjs","version":"1.6.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.6.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"76036a9aabe6d035060fdf3f834047f7b7f5c807","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.6.2.tgz","integrity":"sha512-mmQnggB8N1pxaZaC5UcKLVqHbQYyvSOyzaywXip6RkMnGQfqZP5zrr0FwGbxHnUItppr1TfmMF+EJnQy2OD8Yg==","signatures":[{"sig":"MEQCIBIGxKPhYpTiPV85uF7vuM2h9uNHTucCyutRoa3FONIfAiBufh5QbMdTeVy1Gm4PTe+eP2cGqHEp8qp1rqiw3od8bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"76036a9aabe6d035060fdf3f834047f7b7f5c807","gitHead":"613ae6fd76f9892e6fca83e1924aa70fb5ae103c","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.6.2.tgz_1456255616278_0.47916064597666264","host":"packages-5-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.6.3":{"name":"fmjs","version":"1.6.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.6.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"d5b6e2bbfe9d7f1ed00ffebe1a3abcf78704084f","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.6.3.tgz","integrity":"sha512-PQz4x8dLpl8jPDqoEp3Yg5d/RH9h10uyi84s2BU0Hzx4u1GK7lfFqXz1FbNedLp+2SwaZQ8pwnkVRa5gkCyXdg==","signatures":[{"sig":"MEUCIQDRGsrs22UTDV+tGGxV4P+onSPJKWTYM7IJp9D8vLRajwIgA8fC6XZ1Je/k+3o0Hy7fKMeC1tJCWP2GQb5tSa7Onls=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"d5b6e2bbfe9d7f1ed00ffebe1a3abcf78704084f","gitHead":"ff2a3c98c133f2a3dc8fc26444b8a78cbc922633","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.6.3.tgz_1457208259538_0.7564959488809109","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.6.4":{"name":"fmjs","version":"1.6.4","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.6.4","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"861e439abee121f9c399b333e8c418955f9e9e38","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.6.4.tgz","integrity":"sha512-XfuKcPuveOF6CgqKP8bozQPIrtIDTqWJ8mf+J6ig3Jk9S+8nzNRKUycFfBM13CK2/FuSrxOv4rOy2qZ+WRbKjg==","signatures":[{"sig":"MEQCIFnjcZpmS2BDckIWrf5d9lKT7MEe/yqOpRuF8I1oOY7VAiAUOQIQQFpRdGccBQD1JEtIK73WBLIW6W7/kVh0jLGgWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"861e439abee121f9c399b333e8c418955f9e9e38","gitHead":"7f04ee2152a415d6d92902599da713b38b9631ce","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.6.4.tgz_1457208383895_0.01972330780699849","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.7.0":{"name":"fmjs","version":"1.7.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.7.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"f9008c86f9a19b329df179df65200ccfe28589e2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.7.0.tgz","integrity":"sha512-kw8EHJuu9qveeMmKrPHQzr4NflFoSr4XVbg+DMjWV16YQlwvcoJg7BdOWRoBi3YsXzDNoZF+85B27h7lZDLDIA==","signatures":[{"sig":"MEQCIEJgMtv4pjBeOO1GRufMhybfM6FvW3/EngDhjEEA9IHGAiA7UY9xVBBeLBDETB3YYQGbDCpVuGpn6n/xf8IEX7GW/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"f9008c86f9a19b329df179df65200ccfe28589e2","gitHead":"af3af00675aae8dcf7fc3c5c714840e474c04912","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.7.0.tgz_1457554492268_0.5603197566233575","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.7.1":{"name":"fmjs","version":"1.7.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.7.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"46be21d9c86d98a7ebed9a82e3d999a601c71710","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.7.1.tgz","integrity":"sha512-0Fk92nRx7Jex6sZHvXV5sQc4ZkS0w5EG6F2yWw30685/UySy+B/hc91xJxk9cFjekKx7M/tY5E5YlK0BVyCHkQ==","signatures":[{"sig":"MEQCIDRrEzvAAtfJhvmP5QOxJqYjFjjnx9zALScnUKdro2NRAiAiaXipPHjXcC7hXTwppnbNNje1dxf5Bw/vcguqx7gc3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"46be21d9c86d98a7ebed9a82e3d999a601c71710","gitHead":"7cd3283398c64527a73d6d28a36d3d85a378ae94","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.7.1.tgz_1457555761633_0.4259295570664108","host":"packages-13-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.7.2":{"name":"fmjs","version":"1.7.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.7.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"a4e9abd134eec0416e26a4c110a67437b5c8b7ed","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.7.2.tgz","integrity":"sha512-Y7TDiRyiekPMFFhg+xUYuTiGOdVDf+WicKiZ/Y6IG1+9oZczOqJsEpvDnATdtMZZtEcAUW+IKBbMKCnthqwnjw==","signatures":[{"sig":"MEUCIGFw3aYldpzS2rO1ixPkD5yiN+XuAqcZI2XPvLqmGp38AiEA37s8fuBX9Ficgcm3z6OTrcV1rgyvaj2i66VzNi5ZneM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"a4e9abd134eec0416e26a4c110a67437b5c8b7ed","gitHead":"545097af072264b7af43696cc42c3035352c1eff","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.7.2.tgz_1457577416960_0.23824648186564445","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.7.3":{"name":"fmjs","version":"1.7.3","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.7.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"3cff62d67d0f4f30f1b03ef9350907ae2124b585","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.7.3.tgz","integrity":"sha512-e+P45yTJ6zfXmc+NFZaPGFCsOPvurtgg5uCe6dVz1buQIgcQgAERBoJRABAjyYywK1JObwYZ5BO5KW2Z7yS7IA==","signatures":[{"sig":"MEUCIG9ndn2l09gktLtlPpLWa7v92dbIe3qoZ/xPFCSDpMXaAiEAkR9JACK338jixXP2jEzopDhlgCCKolXM3fL+6JoqyVs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"3cff62d67d0f4f30f1b03ef9350907ae2124b585","gitHead":"6fa7efc8110b5b2d38a4c5ba9b79092dfa989804","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.7.3.tgz_1457578923080_0.3237415412440896","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.7.4":{"name":"fmjs","version":"1.7.4","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.7.4","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"6478cb7af6df99939eedd8747c7a4b98e090a392","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.7.4.tgz","integrity":"sha512-1jEC7rJTTaKVooJeavyXBcUnkW2ZD6t7sIubhkA6mmlAD5+zdQE22u5KbXp6o9yurm/6+BGYhAE83Celrac4ww==","signatures":[{"sig":"MEUCICxxlqDrGBwzZrFhCxS9YkqpsczXD4fDyyxvjq29ODfhAiEAw/5VKbg2U3yO/xrYzS6q3cr6jPJeXY+o9eqc7p8i/SI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"6478cb7af6df99939eedd8747c7a4b98e090a392","gitHead":"1e1158adeecfd7715e2c138b2b9a484ab868e311","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.7.4.tgz_1457646809808_0.33632770366966724","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.8.0":{"name":"fmjs","version":"1.8.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.8.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"9ccd65cdfe80bdb386781ed6c44454686cd6f978","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.8.0.tgz","integrity":"sha512-wN8/XhZmuEkNZqOoety3NT4FpYZpEF0LZ7lSwOe9lJc0keG4vsmgu8nkk9WxJZCxJhww3IgJh6+GpYPCiITYLA==","signatures":[{"sig":"MEUCIAsdXwYvOWSx5hEfq7++x/Ef1OE4jMnsu/Y3ke/4SRZXAiEA0vjgxxNXTkgQ8C4nvRrrxNrGKTwKaDHRAd1tiketJoc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"9ccd65cdfe80bdb386781ed6c44454686cd6f978","gitHead":"e53fa11a0dd2ef42b3c6033db2c97bc58dd716c2","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.8.0.tgz_1458056229863_0.9111496540717781","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"fmjs","version":"2.0.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@2.0.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"62e27b183c9ff7a2d9da52fd74429f9472785b08","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.0.0.tgz","integrity":"sha512-fmriZlqrVYPYXYMo3u1R0q8y4FUyxz1y+vML1yUz35i3Dfwo7Xp/20wol+YYApNjavHZOFr0O1xGi2X+NaeGMA==","signatures":[{"sig":"MEQCIDklsnGmMJfb/YM9SYt+dUHlVmCNh5vYV9luDxzKsEqNAiBkPAkE5NNMPg+Wh+F1HjzSFNt+CsnsAwkTujK6PaQy0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"62e27b183c9ff7a2d9da52fd74429f9472785b08","gitHead":"90d2a795bb42f3ce77da921d5dea30d58f3dddf2","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.0.0.tgz_1458760536317_0.1496322243474424","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.1":{"name":"fmjs","version":"2.0.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@2.0.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"1505b7002cf9403e4383b97a5211d1b84793c450","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.0.1.tgz","integrity":"sha512-2g8H3x+TKkRNklcYjE6XGu61rpJEdxnL60R8u+rT6dk0zhW4uf7towt6nQp8aPYuXEenwzHCE1+6hf9jPvfGBw==","signatures":[{"sig":"MEUCIQDltP/KhqC+436TKH5tJQGnDWluOJr1ghaufDCBoqMOsQIgcWvpruTx2cPAtuaI4hKufARTsDPJTVuATmwJRU4N6Vs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"1505b7002cf9403e4383b97a5211d1b84793c450","gitHead":"1d3d5f3307ef102632095ea50d1ce15e02267806","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.0.1.tgz_1458760627013_0.03472347278147936","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.2":{"name":"fmjs","version":"2.0.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"license":"MIT","_id":"fmjs@2.0.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"fd090c3cf97485534c5b11ee4fb79ee08462bbdc","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.0.2.tgz","integrity":"sha512-SoNqiFBrZuy1DetknKnuEAYO2369SkUp3kviZkhQkNbszQR49Y3DFe3GTYS0EsC92JYC+pT6dxakggtNo5CKMw==","signatures":[{"sig":"MEUCIBz55QHf7qqNig9VlmUquo2q10De7AH6b6TtgSiHjw4BAiEAto8xPxyzs9Znogtc4pLEo5XIqCT7digwti1bQDi33Y0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"fd090c3cf97485534c5b11ee4fb79ee08462bbdc","gitHead":"8a03d1c606b512b1795e96c0be2a7a194333ae79","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.0.2.tgz_1458834828403_0.3634863281622529","host":"packages-13-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"fmjs","version":"2.1.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.1.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"5316fbd9b155ced270eee41b98ecefe525d0c324","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.1.0.tgz","integrity":"sha512-/nXgMLiBgDGyywSUfo+MS8G2mdp6Q+2uCYNNEBiIdDtoZSneTvOpAgqmGeuKy7NNORp2W4TlUk9/j3JTHbAy8w==","signatures":[{"sig":"MEYCIQCI/xXUbZ+frAMAXinPRg3qLpDrjDL9rGt2PK6MHoOh1wIhALhpUxePla1yDYLjmxIyAF0bdQN1N5DSY4nzBG6n80qQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"5316fbd9b155ced270eee41b98ecefe525d0c324","gitHead":"2249d29c05d95870fba064ee0340f1c0b54b44da","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.1.0.tgz_1459178630464_0.5464017949998379","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.1":{"name":"fmjs","version":"2.1.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.1.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"460ab5912c6b82d96424075c8d7011541e16714d","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.1.1.tgz","integrity":"sha512-ZWGF0hO34bntkNKziPJoPARQiC177qAiDNd9rQKWMOFpBf/Szim60LmJxBHxy1iU9VzMeA9WhJQX6XXpl85K1Q==","signatures":[{"sig":"MEYCIQCXjqiQTI01mLP87ryf1Kve34/Itv+Tr/5/gIDyMGEpKwIhAL3W/S3gFz/kpAtR2ICJdA2J8/915qlK3YLXMWXxBf6i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"460ab5912c6b82d96424075c8d7011541e16714d","gitHead":"8b2f98d5e19d4a6d7ca7f410459ae7cd186a4d71","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.1.1.tgz_1459179593116_0.38798663299530745","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.10.0":{"name":"fmjs","version":"1.10.0","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.10.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"01cf7712815d5e49a4988e0a7f55c453da434e92","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.10.0.tgz","integrity":"sha512-270JwqqhFMBMsl5GdLJyRrGEJAR6K77QYaWRXE8URcAGvP+zBDb1+LJ8QnggmxEMAlZICWDN2YVhZCeGg/P3SA==","signatures":[{"sig":"MEUCIQCHZOD00yvDzuLBleaHGCgmXMARWA5S5/MFDCIJllPL1QIgMmyraFYqs/hNitMZn7Nv7RvgbAgDk+e9vB/IH9VW62I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"01cf7712815d5e49a4988e0a7f55c453da434e92","gitHead":"15d898fdcb1d20d6e7b59c376822225a14a0569f","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.7.1","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.5.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.10.0.tgz_1459179805600_0.4731976811308414","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.0":{"name":"fmjs","version":"2.2.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.2.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"161092304babb536b94afb626d1aeb5a73265947","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.2.0.tgz","integrity":"sha512-BrgQvaRzGHfREFvFej+QDg3Ggy89vmySNJ/zRbhMWr+gwgszXSwKp0hwX3c3y40PrCrl8iyjwwh4s7GEI5rGZw==","signatures":[{"sig":"MEUCIEPKEdYBd4o6lC9Az5QMqGiAydaudxNM+kisJeLQumX/AiEA+FStv17cbc3fuXdpHytv1Hlef24iI9EqNamQvonfmGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"161092304babb536b94afb626d1aeb5a73265947","gitHead":"2205a4ecb6bab2ae8b522eeb6fc98fcc22b3e6ca","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.5","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"5.9.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.2.0.tgz_1460580537107_0.35633092117495835","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.10.1":{"name":"fmjs","version":"1.10.1","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.10.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"7efbfd9e03b5853cec85c54fa2cc4ef1c0856074","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.10.1.tgz","integrity":"sha512-JxSGKy+AYZY5HPsRtcluPh0lucVyxR7lxIyXl3QQ5huviTiMrTa9mh61zzp3ZC8Byyckenxlc88KtAQ3apiQXA==","signatures":[{"sig":"MEUCIA9Af1FFUVE+4QauL4C15TWkKRv3+ibg2gSvEnSKJlNkAiEA/pWthZWSUDtbZ5+8IFZXMNZKFj7eK3i3lqI221vzTtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"7efbfd9e03b5853cec85c54fa2cc4ef1c0856074","gitHead":"608c7d67b80fbb10046f33fbd0829c0ed4a81afb","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.5","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.9.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.10.1.tgz_1462804365487_0.8446629866957664","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.0":{"name":"fmjs","version":"2.3.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.3.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"d326ff08bd85aa9703fa0115c2318969871a3366","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.3.0.tgz","integrity":"sha512-S/7fsQRuOeUfZY0FsESKexSla4Ww+kyF1Ft2NpXZiDAsiHs85BU4RLLx9trqvd2YLqAPYVmooV+QEIo+cdufDw==","signatures":[{"sig":"MEYCIQC3YwhSMzMXqZyAGs30Ojd17U9mnYEG+m3gxW1Mw1hSygIhAL0W/Vf2xuFfJJCWELfySBX4Uo06yXcAQweXGSNLmuz5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"d326ff08bd85aa9703fa0115c2318969871a3366","gitHead":"bbb76b2b01ca3c6f0393791eb67cb00a8919bca6","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.5","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"5.9.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.3.0.tgz_1462805357267_0.35728598083369434","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.10.2":{"name":"fmjs","version":"1.10.2","author":{"url":"http://fusionary.com/","name":"Fusionary","email":"labs@fusionary.com"},"_id":"fmjs@1.10.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"contributors":[{"url":"http://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"8d579c98779079cca6ff0366e2efcd12a239ed58","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-1.10.2.tgz","integrity":"sha512-ygod9LIyJiioJBnFbAv+qTM11IyCjUBPCIitdxqQKbI3Uh4zv5gEvsHHt1VHMZHyVXeoCU+UROz8uvNmUEETBA==","signatures":[{"sig":"MEYCIQC82Pm8x0kQuCBYQW+24Aw8fkvT5BJdXQ53g806jge2pgIhAInhpSrYl0anO+QyNg9fS3D+un/7F/LyKibRPxTxiHys","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","title":"Fusionary JS","_shasum":"8d579c98779079cca6ff0366e2efcd12a239ed58","gitHead":"f085e4c6424108778a357b441acf5ec2985d46a2","scripts":{},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.5","description":"Common Fusionary JavaScript functions, all in the FM namespace","directories":{},"_nodeVersion":"5.9.1","dependencies":{},"devDependencies":{"grunt":"0.4.x","matchdep":"~0.1.2","grunt-wrap":"~0.3.0","grunt-notify":"~0.2.7","grunt-version":"~0.3.0","grunt-contrib-copy":"~0.5.0","grunt-contrib-clean":"~0.5.0","grunt-contrib-qunit":"~0.5.2","grunt-contrib-watch":"~0.5.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.6.0","grunt-contrib-uglify":"~0.2.4","grunt-contrib-connect":"~0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-1.10.2.tgz_1462805882821_0.1614578366279602","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.1":{"name":"fmjs","version":"2.3.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.3.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"d50c345de9c10a77de9419468c5a6a76db36e5bf","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.3.1.tgz","integrity":"sha512-PyehZ6pA8vNH1jZISavYB5Vp4Bxqh7h4F+q88zqou2cmPRHvI9iHVBtYEr1rPnfOQnlxMjOrnPkmzGSBq/uBfA==","signatures":[{"sig":"MEQCICAkCOyjWExrzlKaCtt/DHFfpk9wTgbaotmBtpWzH1T4AiB0tVAWNQqPncxkwQquNFGH83HDOiXlCi9/Uc2aklgnIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"d50c345de9c10a77de9419468c5a6a76db36e5bf","gitHead":"e9018f88aed84f06eac553b6bf9d98f48776c278","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.6","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.1.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.3.1.tgz_1463149350732_0.6940010960679501","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.2":{"name":"fmjs","version":"2.3.2","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.3.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"b0fb98ec7c3a3768a4ff4c5a42ef115a523ddfad","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.3.2.tgz","integrity":"sha512-W0ZAYg7osIccwtl0m3O73Gqlih1ZJHgpCAcfXL7CopN6wbwEIVIitTbMbXjpni+bjXtbaCv4iTw5GxP7+CCx+Q==","signatures":[{"sig":"MEUCIQDRUAUZWEvIzfIvYvU6k8OWshnzB+OF4sy0xDvUfcQKTQIgF1JS49VeAFRLtDkqOym17tc2TCqJicpNuJb5qfwBM24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"b0fb98ec7c3a3768a4ff4c5a42ef115a523ddfad","gitHead":"228719c8fabfd533c468cc495d8c1ff1fd6c5c89","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.6","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.1.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.3.2.tgz_1463529405789_0.9533083748538047","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.3":{"name":"fmjs","version":"2.3.3","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.3.3","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"4313c4f1ddafaedcf367a6a17fe29ed2323f38ec","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.3.3.tgz","integrity":"sha512-dNSMEOECXUaramy/JGdUZ9yKkdmSHetjncSube1yCCMZ6jymVlgSG1VVn8mzf1Ydv5YyqshnA6bN/fRioNII6w==","signatures":[{"sig":"MEQCICLosbb3ScKuHwOD1PDgyGMUHN0vqJiiNIpxPceL2UM0AiAUGpndmg7ubM2uxdpz5CvrHZIZhuKOZkpsr/cMq9qz0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"4313c4f1ddafaedcf367a6a17fe29ed2323f38ec","gitHead":"fe2e4429bb4e5090ac50336afb79ee34553c6118","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.9","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.2.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.3.3.tgz_1469020918261_0.48097208817489445","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.0":{"name":"fmjs","version":"2.4.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.4.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"ce47dbc1b95bdc83f812379389ba0af5416b547d","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.4.0.tgz","integrity":"sha512-egHfyPHvIemZNLoa67P3OmDxwWrZiTufd2cij/yIq20AizXYKYVGdXmsgs5GkTfz/+dTicRGrUwjxQIGdQWSTQ==","signatures":[{"sig":"MEYCIQCOwSh5txw1h3kLAwv12qzHVOJIw4V/f4fhrLwqKg0WxwIhAMVoa8dinRhTE1eUvic73vaf/USSoiftz3C2Ih3qi9rg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"ce47dbc1b95bdc83f812379389ba0af5416b547d","gitHead":"b39307e8f5e7b75b11f63d9b306141f87440f3ba","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.9","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.2.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.4.0.tgz_1472070816060_0.4243677048943937","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.5.0":{"name":"fmjs","version":"2.5.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.5.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"4c99f800ff0a48ce8cf73754460e4509aebc0976","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.5.0.tgz","integrity":"sha512-lFL4LmE4tAjUKH7b7ucNdmrCpW5xQTPRD8KjWWyJuch9cXOX+YsII1kFoWFlt8FnjuqBs1urnOMltBFDLA3FYQ==","signatures":[{"sig":"MEUCIQDblADmyVn6iNhGqzwE7s3MYB0II9rcgItjp+3Dnj56mAIgUubn9FF9U3zGucalhqTLy9XRl4LpMvyWqx6Nyqb5DvQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"4c99f800ff0a48ce8cf73754460e4509aebc0976","gitHead":"aa108a3b36ce30f8fd7c890691de8f995a255143","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.8.9","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.2.0","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.5.0.tgz_1472154908864_0.8954510868061334","host":"packages-16-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.5.1":{"name":"fmjs","version":"2.5.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.5.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"369ffbfd348713fd14fb2d87a432945d97e1be5b","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.5.1.tgz","integrity":"sha512-+q7Vru6dCr//G8qLp9FEu9Q5OdgNCUQtexzn5jMfuFLpdlVTkXohV46UsOv2d9nZ5lwPrZqL3BhlJ5Uuhromxw==","signatures":[{"sig":"MEUCIQCnOZFskS0Twv1Kbx67LirPqf4U7uhxyaUjW5BjW7l5IQIgA9XI/G7dS6LfhbaEeCi0V/DZKomba+kgWy1mnmecgmQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"369ffbfd348713fd14fb2d87a432945d97e1be5b","gitHead":"2a2ff30188e8c755d11ff2a0404f67bed4df5123","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.10.9","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.9.2","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.5.1.tgz_1483634915098_0.5357136826496571","host":"packages-18-east.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.6.0":{"name":"fmjs","version":"2.6.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.6.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"f0c1a014dd48668551d678e08fe1ca0a680e004e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.6.0.tgz","integrity":"sha512-fa+KHPWVU78Cf5Pj8F0pE8RlBTlXfsHmOsZcM9nuKlRO7XrL0XlwrCxvCQ7098vMhJsv7goBXmOracIbFm1xiQ==","signatures":[{"sig":"MEUCIBU14JtcKoOCCxIUaX5AikhwX8F/vcw75qCgzRh048IxAiEAj2WTms0SvtMcUKYGdBO6YTIDmua3k4jqVi1FFZyEO4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"f0c1a014dd48668551d678e08fe1ca0a680e004e","gitHead":"fbb76ddbb5b101941ecd359b8abc2d99a4e4f16b","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"3.10.9","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.9.2","dependencies":{},"devDependencies":{"grunt":"0.4.x","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","babel-loader":"^6.2.4","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-jshint":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.6.0.tgz_1484071806181_0.8646306381560862","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.7.0":{"name":"fmjs","version":"2.7.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.7.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"2af8a19b7583e076fd3c2e2844ffaf60f3a1054e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.7.0.tgz","integrity":"sha512-ngECyGDWPerILhuKS2TGMphKweFR/SobzovA8GCmUP4avCTCs0BM3TKLO6aOxuAEw5M8XYw8PoCBM75rCgmNzQ==","signatures":[{"sig":"MEQCIEklxeRGGqZOTfKNPeKpygIaPRbw/k/5eYM5JPwPCGYVAiAhMztgiOHu4zCAvnNnV+ZyiaYVRoh1DCDRCVtVxCkJug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"2af8a19b7583e076fd3c2e2844ffaf60f3a1054e","gitHead":"c082b77636e6a7fc9e01534bd040d28996745463","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"4.0.5","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"6.9.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.7.0.tgz_1494947700168_0.7851047515869141","host":"packages-12-west.internal.npmjs.com"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.7.1":{"name":"fmjs","version":"2.7.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.7.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"d5920b975b7def8531a7f809c8b0d86c1fb4691e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.7.1.tgz","integrity":"sha512-RAewRVaG3qWNqRMXlWEx4McloTrQYYytX3rF89nSvHDyhS+H97WtL683otBU29Z1/5/+Dv8Rewx2Gh2sO+Ms9A==","signatures":[{"sig":"MEUCIQC6TVIaNPcfaWs7XqdQLiB6KZ5i5ZLKqexkgKZTXjhg0gIgP+PPsasgxRqBfwl1WqkpOyQ22yNTgrfxEtL5c5GUGpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","_from":".","title":"Fusionary JS","_shasum":"d5920b975b7def8531a7f809c8b0d86c1fb4691e","gitHead":"2f168a311b5132aa0e5c2426342bdc06afcc237d","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"4.2.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"7.10.0","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.7.1.tgz_1498703811760_0.05818138690665364","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.7.2":{"name":"fmjs","version":"2.7.2","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.7.2","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"03eb3fd261aad4f55034fbede4daffe14cb47ee3","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.7.2.tgz","integrity":"sha512-wG5kB4G/hU+qiidkB1CdDXcgbMgtzsWEPHq8VeHuQjgpsagHP6vkQ2Dy3MN/a/wc/zemS9E07og8ySZGnxnSsg==","signatures":[{"sig":"MEYCIQDSB8nIjM3G0wOFIWfZ4oGNrH5lKfjAnwb+W55Duxw6kQIhANpXmxcs2+sY1AH1swupuiYfZhok5lv2wGQy5U6uytPn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"fed3662bb288463474d8219121f8bb60df68f1f9","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.3.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.7.2.tgz_1501698230220_0.25671928958036005","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.8.0":{"name":"fmjs","version":"2.8.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.8.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"de74cd502f7da880e31da6aaf841bd77a98ab66b","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.8.0.tgz","integrity":"sha512-tr6OYQLsLVfy486KG4pEmcbZ+OlBy03Ajn9+Fkrg2GmHP/PNwayiYzOpp5E3Unq+iHnwsyUeMuz0TkFNcC1tkQ==","signatures":[{"sig":"MEYCIQCixVGjO21JAkhUGWimk69++0yxPnqGubs+CCUF98ez2gIhAJGczYAMMxgegy2uptO4VHJr6cNhrkknCr4ZZWQc1Edv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"b85a62f8aa1eb5ca996f390336f15838291af640","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.3.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"peerDependencies":{"jquery":">=1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.8.0.tgz_1501768702614_0.9235648838803172","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.9.0":{"name":"fmjs","version":"2.9.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.9.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"bf205cd8e1db0bcc7320c8f234c62a345cc51bfa","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.9.0.tgz","integrity":"sha512-/whRxZe4GVin8w5T3DNPLwba5n/GfvL2zUgRnLIqwCp+zDEe85R6ucOPGz8hQplOtNT0ekofik7LKcOlveUmjA==","signatures":[{"sig":"MEYCIQC6YLozNzPwy1dBTOVPGWQgT9H8dxvzY9rQcLDpTIu2pgIhAJCEvWXt3raXAstIKhvnnej/xQf2jK3x7xSY1KaO0zGU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"a7667bc8b4019cbbedbf7143689b28668c400144","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.3.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"peerDependencies":{"jquery":">=1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.9.0.tgz_1502305254780_0.5616076504811645","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.10.0":{"name":"fmjs","version":"2.10.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.10.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"6bcf1b048d57abab354a97725b51f299a0c70e42","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.10.0.tgz","integrity":"sha512-rdnBeKN0XjHmrt/KXiYOOnXdoDRevwtAAXP3cKFrV7rbUwUJEQH3tjlg3RPFv6iXGaynF6V2DPQMsu5Qkyuetw==","signatures":[{"sig":"MEQCIBNecQ5vxyXXzjKcNQDUvizTuBbczxcUBO+57qkzRdUeAiA0pNtPJU68nE2yWtLu2pR4waM+M2kMV2047/IiLf5SOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"bea659c4bd79ffd264d179928c55e94f1e259369","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.3.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"peerDependencies":{"jquery":">=1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.10.0.tgz_1502465348275_0.0014516250230371952","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.10.1":{"name":"fmjs","version":"2.10.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@2.10.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"abd9faa8dd652191c6f6f543be51f60ef586a0c1","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-2.10.1.tgz","integrity":"sha512-Tn2JVD+K35NgGUosf3SFSGnXgLkoG9zeL0Zhthsf1u782ANXpd34sKTi6qaxrJJ8PR7xHkdomzxqHOM+/6Igyw==","signatures":[{"sig":"MEYCIQCDYspGZHnlp4Ek8Oyk0mzSEjzyBqE58T6WTY0kGLRFeAIhAI9kfu1mz2EV6zXiORObR1fzgDu0mG8/TFz5MIVwHXq4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"dc62ee70116c55888ab41a11d3c744c56c50bb10","scripts":{"prepublish":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","eslint":"^3.18.0","webpack":"^1.12.14","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^6.2.4","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","grunt-version":"^1.0.0","grunt-webpack":"^1.0.11","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^1.1.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"peerDependencies":{"jquery":">=1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-2.10.1.tgz_1505228915863_0.9919168625492603","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.0":{"name":"fmjs","version":"3.0.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@3.0.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"70f96e36827779ff1a8bc1371f3c2ffe716b6918","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-3.0.0.tgz","integrity":"sha512-QwMuxFZkAyJfQeCFQ9xcGmK7/LnW/IWaUu2dLG2wd4cLzXLwo5Mv91dsapAuycbdZiOD1f3EA7R62y++qK00GA==","signatures":[{"sig":"MEYCIQDs+z6vajwnoTL7REguQbxZ3uyVpTRh0Bs+prBIlfM4PAIhANS++8zDN7Rq3D1ePAyfpyjz9EEpA8MUnbtN3N432gxQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"ae26da940b6a2cfa58d130b8338541e59132ccf7","scripts":{"test":"npm run build:mocha && npm run test:mocha","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:nodetest"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-3.0.0.tgz_1506909180649_0.5240810110699385","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.0":{"name":"fmjs","version":"3.1.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@3.1.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"b0244e35c59071d63744d8b1d4905e983846747e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-3.1.0.tgz","integrity":"sha512-OmNNJfutcG1GTga/ZkvllaCRzo/Tu4AQfiTrtCyNOBS+8nbpIu1zdHc7zPoo5ORjODsnf5f5rfcic+iGz4nG9w==","signatures":[{"sig":"MEUCIQC6DumH+EBM+Xe4cL4MekJQO4+MNuCoEsyqWpHcXAjqhAIgByztaEhqNMGEmNxDBvWEyIB/qi/V+nvVYm3U+9lOiJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"746ced881965d4ad9caf40a1e3d1d1bdf50d22ac","scripts":{"test":"npm run build:mocha && npm run test:mocha","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-3.1.0.tgz_1507259599234_0.22951924288645387","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.1":{"name":"fmjs","version":"3.1.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@3.1.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"360344ff06ab6e77a986325dbac1b2aaae3d05e3","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-3.1.1.tgz","integrity":"sha512-TBgEMKc5F2P18KVA/xjNZfbPNvK0oL2AVcbmG/bhHPbZ52sRmSp6KYSetDZKY6Wx18S71i/XIfJXR8xqSmZaXw==","signatures":[{"sig":"MEUCIEubdzYyvYt3mpI1U3rBWOm3IxQdFLNNt3YrSJHwCrE6AiEA+AaI1yn+8WD7DbZXbv3TBaExPyfJqHVZwoUOEOIvH/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"8e30538f5e06d4ce28cde95c67ef21b3d0b2ef27","scripts":{"test":"npm run build:mocha && npm run test:mocha","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-3.1.1.tgz_1507302968626_0.5451680498663336","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.0":{"name":"fmjs","version":"4.0.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.0.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"aca0b7e92881f4860165241db547bdb3dff74e97","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.0.0.tgz","integrity":"sha512-Scxj7UEjHS9OfUxsS+rss0mpbNO90CCn8U1kH0t/Ke7EvMhVAHcj1wmv5EcCjn8A7xZMazn3mzW+4EBOTYX4hg==","signatures":[{"sig":"MEYCIQCtUzTEq1sA74+mG7K0ND5PLMg8PlMeuChWTG0nllMiUwIhAP47NY99L/sZl8ZZ77/a8X4s6ZSuS+FIoP/QBbYP+mZT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"8bc78c54f20bffdb5c3a562fcb69f1e75f2cbe16","scripts":{"test":"npm run build:mocha && npm run test:mocha","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.0.0.tgz_1507309803841_0.7904779436066747","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.1":{"name":"fmjs","version":"4.0.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.0.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"81f211fe98b20cc7b404f15a3247ca37657e5d7c","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.0.1.tgz","integrity":"sha512-wcVtGTU6K67EXeqatlKCtN7uIfqv7c10TV+2Mxh1MblPBEwPwKJNCk5t1YBQ6ZXH/DWx2FguObcBl1vB9PVsig==","signatures":[{"sig":"MEUCIQDRIug0JNh0xhAA8u01rnPu7ELktJ3ZiT2JaPORArWipgIgEB2wesTVVZDdJK+e04t+GMw09liOrGeqZHWBb2O62+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"0e72f757fdba25bf567b12a2c4f4af357946e000","scripts":{"test":"npm run build:mocha && npm run test:mocha","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.0.1.tgz_1507312881116_0.3760631962213665","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.1.0":{"name":"fmjs","version":"4.1.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.1.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"88e9a68d9758198727236a81f1148efc6b23572e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.1.0.tgz","integrity":"sha512-gxXEj1NJgZqa9E0B7T0pbS30udoC0B0mQbwmP98FK+4Kn/hQk2kvi6jfQaFfOPZ64Hrzj0L6nWazOMiMwDm9EA==","signatures":[{"sig":"MEQCIFYspFrg1kq749/spf2wtafmZ/0LgG5+1VkhMepFbdt/AiB7CkXUXyKG2dcG/cKkZXoMLbNj64P5roUIvTedExEdtg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"f6ed6ce48aecb3a351a82babd359c2b1d9e06e4f","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.1.0.tgz_1507516446559_0.46172024752013385","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.0":{"name":"fmjs","version":"4.2.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.2.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://bitbucket.org/fusionary/fmjs#readme","dist":{"shasum":"f00c161dc1aa0c6f012c170d734c98648ae86ba0","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.2.0.tgz","integrity":"sha512-PcCV2pEKP8PQfBsqG6MVP2LrQR+i4VkDhaIE4ne6OJYlxxAZro1SDtVmE0XFoAs/T1sIUv2X/6kPhloOOAIs3A==","signatures":[{"sig":"MEUCIQD1phZiBkrT2oEvF4nPbvWP3Y3WW8gBNUJhhY1feuUgYgIgO7pEGuczY/i5R6Dn6zUFVAN/Bri7P80L4Ulzqji9Ra4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"0f9ef66fc42a476907f4f715ca9e33c138e04451","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@bitbucket.org/fusionary/fmjs.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.2.0.tgz_1507562693015_0.39722933736629784","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.1":{"name":"fmjs","version":"4.2.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.2.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"142879cf42ae0030a7033b6d01e3672f95a7f64b","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.2.1.tgz","integrity":"sha512-v9egZzEhAEgxZ//k77ZckyqO0I4Gn3vq1QoEjZSkkt/NjUsZiLinIk8Y1BQzVZgpq3RP+5/8AauNif6tF6vDhw==","signatures":[{"sig":"MEYCIQD2hZpFXOdnFdHTn2M4cVh86plO7UsGzdRSsTbted0TuQIhAProojuBP5utP0d8+SB4au3arWTq/tM+n0LUJ7S1NvBR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"e97ac6ee2dfb931906b7c6d7086509d25247c3ca","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git@gitlab.fusionary.com:fusionary/fmjquery.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.2.1.tgz_1507572791780_0.7042108904570341","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.3.0":{"name":"fmjs","version":"4.3.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.3.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"313b970b1e7c217d4c3bb5a47a3c299b1a7bead3","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.3.0.tgz","integrity":"sha512-zvcYwnM9xcI0f3gk1+CWae6nYmnEidQYcMh4vB3/zwHGd+QRD9L2m3Sva30P6ethDDrxZWm04q6Hhp7uM4U7xw==","signatures":[{"sig":"MEUCIHeAIYn8hStEg/+laGVOHqC+dUo85Bf/nx25erbeHUTnAiEAr+as0sQci7zel/VhhZYpap5JPhUZOe45StVq2JxIfj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"41992d30caf526d4a3dfc94dc8cc379766ee7139","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git@gitlab.fusionary.com:fusionary/fmjquery.git","type":"git"},"_npmVersion":"5.4.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.3.0.tgz_1507908598835_0.7115891149733216","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.4.0":{"name":"fmjs","version":"4.4.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.4.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"62f6097ca570c05f1a7e828c7cca4c3f99cca0e5","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.4.0.tgz","integrity":"sha512-9WhtV0W9xE+fOzCdEO8HttEq+peiOE1TjLB9Kbg9KVyMMFS/FxmUU2CcHz7oyqntib9Ncsr019piDEvww8jgLg==","signatures":[{"sig":"MEUCICzNCJV9oUfoL1f24LWCnSx9T8JgjjSWwA1lGCUfJQ24AiEAzrn/asmlbfHIi39ENX/5MYCwBHZ9GCHJ9zt1Mkz/UzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"988b55f3c643eb7b7e26b6ece8535f9918b48ddb","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git@gitlab.fusionary.com:fusionary/fmjquery.git","type":"git"},"_npmVersion":"5.5.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.1.4","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.4.0.tgz_1509045442717_0.6144379742909223","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.5.0":{"name":"fmjs","version":"4.5.0","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.5.0","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"7167900c42b2bf8ce882bb0b5ea1dcc9083c203e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.5.0.tgz","integrity":"sha512-w/SP0A48hrImU7l3DpkgbpHoWgjDzeOgQ1/bvPzB4+/LiAnwzwX9PNcBMW2E3WzIUeQhzlrx/SAXhZTh7PU8yw==","signatures":[{"sig":"MEUCIEixYQcl7QUKmaGfpXTtA6ixZRbtIF5RtoXqeJK3E2D7AiEAw53qPGvWMUrZE0QPDRQOcz7rA6idWxiozvVj/yOd/I4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"1143c2f77335a25a39d7476441dbcd79d54e8b64","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git@gitlab.fusionary.com:fusionary/fmjquery.git","type":"git"},"_npmVersion":"5.5.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.9.0","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.5.0.tgz_1511067369599_0.5317853381857276","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.5.1":{"name":"fmjs","version":"4.5.1","author":{"url":"https://karlswedberg.com/","name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.5.1","maintainers":[{"name":"fusionary","email":"labs@fusionary.com"},{"name":"kswedberg","email":"kswedberg@gmail.com"}],"dist":{"shasum":"6b1a20d039a9a0293fc1534421eddf2550948d90","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.5.1.tgz","integrity":"sha512-QqfW6SZvZEA+/gFEmDNiMiPdJkaqqRxqUjKVJnZ69tLZagAHwSVEtRtmGaiDj5AA6x4S4s6X6XPnCzq5ALyVXQ==","signatures":[{"sig":"MEYCIQDYjA1Xo0vLdGkoN/h0ViR03IHLTKIymwVlzfcALzXrAQIhAPzvmdZRf5BbTJQFDOE4pus3GfkS7g7KtavXnoOFzlY3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"36176b44d86c1e401276560cdacdcf980b87b9bb","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","prepublish":"grunt prepub","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git@gitlab.fusionary.com:fusionary/fmjquery.git","type":"git"},"_npmVersion":"5.5.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"8.9.0","dependencies":{},"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.0.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs-4.5.1.tgz_1511124408560_0.605368074728176","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.6.0":{"name":"fmjs","version":"4.6.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.6.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"97bd31cefa54e7f2ff9758592e56440fd2aec6fa","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.6.0.tgz","fileCount":64,"integrity":"sha512-r7V2ac9F6jLL4iN+N9rGuLwt2ZmxQqmJnqD8c6GOPOz8qQ0oSkxUEprAdzVUZE5ypMwqSOIWUkiOJ2Ayg90Dug==","signatures":[{"sig":"MEQCIBPKwudsDKhTxyqRb6UTmZaGAo9YzMUFhkKW9bYJhdduAiA3BBkbnA7kBzMNPUYf6kr2lHVvJnUjlMitfyVWv6q0lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDtNWCRA9TVsSAnZWagAA/OAP/0t9ew/9HMAaTK8RY9vv\nE1sfzbwEh0LRXna3f2Zfz0piF+9JnMtzEJ8bYi2+tGU9lFeLM9XzIcnDKvOD\nZiJKBZNnGdn3Kk7k5iczJVBIEqrBuOpJAzNcZDTHkmj30mIXWCuQYXpJbrlW\n2kvQpkg+kZNxzjQwcKqANjdp7H7tm35EAEbcs5wtbIGgB6sJ2V8bvPm0ZvnT\nWqEVZ5l2tv50xWtUX5ldt7t3Iwv7dUT63NF5Q5kvjVtgM2j30R/J3xzfmoR8\nG8uq2d/juk7J0rvcxTaLuBbyNCgwKsxvFSZGYrk6+hK3WwvBakI+8815unQv\nH8IooU43A+Mvd9QjuX9OY9UcZMYXcaENxP0fIbOSmwCuYj8xFPUjDtorW1lL\nAN9TBhLrC3CzGwsi43b89p2BU/z3TwLmjwi/FjXK6NKE+vBoAgLo1yUqwU/5\nlqqLimTbkFwvmakQW50/5mYUjQ+TTf2VJgmkrux24DY/puWXtn55OvVq+FW7\n7w6mTYIXQyTl3dBsPdowu7GT1NuBciNpB+cSfh1I5YL+kDFnM0PYxDAwk17Y\n6LeByoaQuqJLEeJDOT+tC0fYvgxI8v5vgmDR8rlkLYHdXQLs3avdPAi4lloD\n1PhxX+S40gIBHMwPYFoywPnWXlGx3yC7Nh0CjRc04jrfFHVjmdF5COTLlJko\nLTsg\r\n=2JbF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"48382c1d1af6adae73dbb0a8659840ca39d38b80","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.4.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"10.9.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.6.0_1544475478225_0.7962640067244922","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.6.1":{"name":"fmjs","version":"4.6.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.6.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"b74058029cdb98d73807e98e9f97fea9ba239d3b","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.6.1.tgz","fileCount":64,"integrity":"sha512-RTZxLIefUvjytpRZYAP58rhHJJuYCRFjpLeIaEELRI4JL7By6S+zomv1WRcbyapnh506pP8/fI64OH7L8STSOQ==","signatures":[{"sig":"MEUCIQC3kztSC9DnJtww/r2FBzdfmnEkNxBN9ih+u4uWhPIqNAIgCV8evVntysFDVMxFwC7MWHgQ8iCkt2zJy7qRgfe+iFQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEU43CRA9TVsSAnZWagAAS14P+wetsh36HosQKxeB2Mue\n7SjU5arUu/1Nw2pKUdYR8WFLqoB3u/ovTX48FrYeb9dcRbrx4ITagXD8rQ90\nlcn8fVr+yncn3F7kstNgfFzHj19K8j+YEABXai3Ak7YEgfowkxU2HT3cvr6C\ntlMiE9mzxXnAtCelkLvXfuBfeOm0ni9u1i4syk6oZM+Ul2kBSRBvNQR4T5IK\nRhMyr74Z05OEnjtqAx8GzqyLaj/eujUtvUNsh7pFaRSvSq0AjoXdwjMjYUAK\nguPEoxnXleiKxeUHKjp54DHOF2ao8ysxKxs8PNlR+xu2zWqQee0rqzmYahdr\nj65/kZZNtQ5jUhPLL3wonZm2GqC+PurAkCi+jtiQFYpsDDKennk8rYOc6W6c\nKxaxNA/nzJPFtuTss8P0S9qI6gTmVT+Z5kWjP7Vvb1oaU+9B0BA5vQeHHg1D\nLXHyxF5ynND+e6jeAOJbikeDkceyLR5GSGOiGKHfXJuWjtc6+kgj5MCoMUBo\nOOlNmXWGp9LbXQ5bIp7G451m2WPorc92qKpQfpw4lu5MwNb1Jtf5Xy6IpC1I\nSmt66FybaKQ4q8jjFeZNvEDv4Y87/WY5QlXnaHtbLDv/2AtHg2A/S93n1JvW\nE37NiMEuB84nQApFTK8gxXOkjmDr8TP9bFkKSz75xq96PYMHf3OZlp57BnU5\nyq1W\r\n=sLKP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"b7b187e2419575e6b3da1954c91a0629d64e89f9","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.4.1","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"10.9.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.6.1_1544638006835_0.43519887517372036","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.7.0":{"name":"fmjs","version":"4.7.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.7.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"fa237d737e6d3eee31b56a85a6170bc4c0dfdae2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.7.0.tgz","fileCount":67,"integrity":"sha512-xAp16ZCi2CpA7eYCA8XlX/lnUwWLT5qmEQsHzGR2++2yFPm8hU6lsnVjNAWA+fs9YTMSASqVxDKDWrYB1LVoMg==","signatures":[{"sig":"MEUCIQC4FPolVNtCjEEmdp4BY/7PbX2NRaGX5DrBZZWDe3N+MAIgGyNkg2HutEY3aqZa4O++zn6LTwtpWXZhODpEzJjRhak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmS/4CRA9TVsSAnZWagAA1gMP+wQegt6q2FbtCKP/pePw\nOoDbiVk+7x+7FRSdXOGU8yYJDkaQZc7IeHkg4C+h3WB/HkXcNhSUPB0zye4y\nyVOuVk5Dw7bic6i9yQsjF+73Y4KjNaOJwKCgX7kFKvb2mdCnpxtX1VPH6z8y\nB7fIAxiP2gFwS7BQbsOOsQCiITSf72EpoSN3jXTRNkgNKmu86NICqSZ3u2zV\nMVUMWeedy2vhaTPwT4Ku5sWZd5BHFgNpJhZc/LpzNv6jqPqK4KACVGFYrXrb\npoXF3bikh+Oq4pqJkrUEBpK1RJY/OLEEdYQESXc+J8TTSByt+nNjhSZDwkS5\nztBBWEcY86ygs1G07W5wuyWJJ8IFvTWMbtpNfj8rHWBFUpv2Bw9ucFF6h/tc\nSZQkoA5y7d2sigZWppLhXVJVaz2TxgIXGfygxqYQXgOo7SP+Xu+UUKLClnyO\ndDoRRgGv9fN5/hRyDSw4DFgEE9kHQu9x+dMjH3d3rSWJb5oop4PbZmmk+Knb\nUzYh0lEBO/p1K+W4soqO68O7Vw4IZGHXAhI57/GFIoVF67Jds8kKptJv/Tg7\nLKT+65qF2e7XrKQBVcnw4Da6AYVKkcVe43RklVcIZCmtFjx1og98e3W/pipa\noAqjRdx6U/1McrlrWKRsGqyxmkVma/Jqo18jSzf//NNbgNN6asERsDKX9Qou\nawME\r\n=me0C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"29b11a919feb838879a624be607a4e7af065ce70","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.9.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"10.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.7.0_1553543159404_0.8291419592228662","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.7.1":{"name":"fmjs","version":"4.7.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.7.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"095332aae1343b3b363976ca55cfead716338d7d","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.7.1.tgz","fileCount":67,"integrity":"sha512-Bq8omCqmWndy+Uvux8HTCByWs+r2OzP8mpCnGJlJhutkpr2nQIsSw7uxTgoEtYmU/GWrXvxX8gJ9Fxgg7F09TA==","signatures":[{"sig":"MEYCIQDFqMhrn0ht2Sr31hovri7itu4G2P0+WSUxktbehUN8GQIhAP7xyNY/Z+Pe/0DlO5OoUbzEniUC8wtx2Yrqx2zeJ+eL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0xb5CRA9TVsSAnZWagAA+poP/iDOtNic6caiTY7KKi4g\n4pi6eZ/HKNP9bTpzn+WDG26707BXcdiT1s9rh8NmETv3KzLCijXEqSS1tW+G\nQVNY/1cJT78RA5WT8AARGfe8WBz1PUFgb/ResZQbgpJ4C+jjrpX/0wyW2LzP\nVKaf5JaKLBQ6HgVAMkfcW+bRIdeuz9TZmQeIK0/KIOgsTSgTcRNazkTM4mmv\nMI6pFAPyG3Oghv+JhOI93NVzPA+IM6pRXJFDRJARKPUkHQKv1NNRZ2Mji35B\nx20IZrvxfo3VeTU7bHYM5Ggv36YSJc3Ci5BuSJ+gtzgqygKoVCaTOfetJ5Yq\n+1SDdiRe5Vxf+uloYZU9b4SWwqAnTJCNBLMgzxFFZwhjLbKkozj5hJ47WrzB\nsCIq0bBaPWw+/6iksdHVGTctV8LgZwvGtKvJulMJmc3iZmshmVBoLniTgvSa\n0VVUYxAVYYibr7uY456SFxfCy4oo484dDlofkGoGIrImeb8TQARbFekc1S/I\n2PEQ6PUhg9KtzOO9D1WY+shZr6AnsZklbYPOOBdpnJhRdSrsn6HidHr1yFD1\nk1fuUVez0XrcQ+H76/mPt1w9IlIhBv0A9WVbO0obzJKCFpHYCK2Wcjh0JOqd\nNGt3ikbx6BV8Z+cY3xlXtV4QUhb6K8UORffmunyJwLkU1kwGIy/lhHQyaPW7\nybVS\r\n=3jbx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"5458002c720466ca35ebe5778ba32e0b03a99e45","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.9.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"10.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.7.1_1557337849097_0.6573350591431752","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.7.2":{"name":"fmjs","version":"4.7.2","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.7.2","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"8a2f72ee84d604e0f2a51c4b38b1b0d5c193c3c2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.7.2.tgz","fileCount":68,"integrity":"sha512-Xe/Mcu0idssRdJVpsyZMklM14bL2eccDqXK40wEtFU5N9O5wBxq8ErH1UhvvF9cnLEofd31LS03cXrGKG4k6Dw==","signatures":[{"sig":"MEQCIDmw0CHee0xzc+j2J+nonE4oU5uyKuS2ZbF4GUBgTLx8AiA7D8AN5bQXrCaopiwyHU26JIuqv8MOVXuwcF7Tley2bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":337918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0xpsCRA9TVsSAnZWagAABhEP/RR63h4CDyroUgJ74Uhi\nQRVmL5wML69dszDhF/pdDGGfc64X3YwoFwSgat+ovRLX5xWs2YMqBWLwvXxc\n4yuzN2XShhvaZFqPGbQOfaVKV4E2EWVlMQ43U4f3TAhjVp6N1jXKLtCGnUYf\nw+DPKdlIYOyuReWfASDryRE5c5/OP8Br872zNi2IzE7sU7MMictKWYq8ZhD/\nVDNpyhUVRts8tfGzBVxc3mSVel0mvB23gzwqsTIdJ6GW1VOpYKnqVp+9H51c\ncItqy+A9AYV8wNEqurVnb031/M6gYIG2r+fmOD7Oezkfr13tVewSF/VgJl8Q\n3qTx92McclXUHFxqNSPioJs1AKV+jDO6m3J3jDJad6ItHcPLAQKlILxSuAsa\n+1ZKmBGDk96RaqwKNR0rrz/FiqW6ycqAAiyLo/oYND6gyEoSWjZvVoBVXz2O\npb45ynMZoSJ/enXJ8c/IN9qq1SHFkhqnjCTWyrK5NstJjUOjguFVfwIu6wKt\nw0KtleCDmRW7Y312xxZWAYml0rkIPDbWQL9MXVwH3ymLOlY+xZ7ntMei2MjI\nLQfx1hupmqtBRcHnvH9KpWtqsMfd74S0rCfZoNwRB2mddD0X9p7MP7zqzt+Y\n4iJJ/kJ1D+fBhntmo5xo1MsOpQZ93mHxyV81V2vkrduCEYOLrQtJYC8wcvw+\nifrX\r\n=bybg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","gitHead":"e76f3a0707bf2602ccf5624e7bcc15b616c3dde5","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.9.0","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"10.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^3.18.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^19.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^1.3.0","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.7.2_1557338732033_0.9146003456668323","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.7.3":{"name":"fmjs","version":"4.7.3","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.7.3","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"c03d2f7ad59f727a262741ff45fa3f9694ab74b9","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.7.3.tgz","fileCount":64,"integrity":"sha512-maQOGtyPJt1QcGuRuzh4aOF8W9sX6SCoW2WXLZgeSD93nQLk4TN5OxmbY0gVHEO8ClruytfywK+ju34mYuetbA==","signatures":[{"sig":"MEUCIBBO3OuW1GQn49xPNgMs5jMv1uW6NGXHB6giM0fnjkCDAiEApL0TFVCDvSUzt3O9UN6qqkXkwJYuiE7KBBeQa5NjTPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlkK1CRA9TVsSAnZWagAA/zoP/1Bla4DWaZ9b/wSOypMM\nlR7bLtyjzi5j/KSP9qXJiv2M7opABZmWyxf7zs7OewNre1UURY8h0xajsYPR\nCCUZdSBN2GIIvytERoa2qa0xoIXu6vT04kokp0iBMqYIaxofLyfBHAWT2gC6\nrZ2s3dLa2VKJ1XpIZMCIDI79w136goEKmoaeA0OOcHQjRFWxGf5PdfsnhUvY\n2Uo8diVC02vj7lef9WUmPXbFlzfZ9l0zzTsZqNtfjDRr4ujzzVUxP/sawbn3\nTdr9p7RK/PGdvOR1SVkqiyfSq6DXAhlD8+mFxYS/UilykeKbDJIiYb/qQe/+\nadaIh5fElHU/443Q01Z2O6bRkQpBaTfKaXyeruUnakG4HHW3PuQWAisMx2wh\nf3lUdK34A4g3hrfqXoCIy6K6rnJX7N0n9i8AR36Z7E+e8u+y7j+CWfv7mRlc\nhDjaAsw11Y5TXtIwRXAHBgMzPtlMEhz4tTYHfqp237mI0UqQQbqOzNIPGH1i\nUzH1eueHTy+/tNNZfTRTL09tfojxmfRPp/IDQtMRhLP89d8Z9FQfSQV0qvQI\nshQlbeExmw3JduF0mWsU93Gh2UN/DFtr+fItZGUvbdseT+1E0YTUrYeA/7Zs\nsLgwWqspuaAkrUVOV08zloTtZgnr5nQYal965yectcbNWaLomkU6j1cl0XOG\n0dS1\r\n=NvfW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"f3409ab5ceac4764fa26c5960bec4c13b532c203","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.11.3","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.9.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.1.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^22.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","jsdoc-to-markdown":"^5.0.0","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^3.1.1","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.7.3_1570128565196_0.6799722185186328","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.8.0":{"name":"fmjs","version":"4.8.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@4.8.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"c5ee964c60622cf674ac5a605e0113cbd24c23c1","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-4.8.0.tgz","fileCount":66,"integrity":"sha512-zjte73Aa8rztzRZmKLXoOmUuhKisuxvBqcihtQ2NfRllTrJ6OSxOb9LxRLS2fP+hq8g0Sy3OVGPBmpbpYyTAmA==","signatures":[{"sig":"MEYCIQDuV9AjA25PxjCm3bKCVsrkh9GDuM4ZkCRAotBxCyW/PgIhANBYT/5C0yjbqV0GEiNgFX+1EEkosFfQAZmuVk3bQXwu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":338031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1FI6CRA9TVsSAnZWagAAaaEP/14sHn4JaH8gwL5oKELH\nwLtUhEYfb4XeRTx2aR7MykMigFAVGPzsEeVYMrFVXRdOvTOWZqlX5Fq74mjT\ns6AKb+3UFKRiQpDl7qwD7f6Un+zUOMcOToGk5njXrlS4pM07cHx5mzIvqHKF\nLDsOEQK/+nlTGb03XJZ4lPpgHMvAK/SPQ64VM2fAKwZ6HOL8msnjm+RCheWj\n500abKLZhwVu+izjXpLlqlJYgmAHJEQTqwl+7lAzK3QOCoSlphSvWaiNVzcM\neOtVRwIPaUfaM0jFCX7Z/j/kJCCPUg1GznXdZh+IorN7552UReTOiHrURhZE\nO6BZErwYvWFwO6zbfy79YTZeacIcoU9Arkm9fYU7gX+gPs3/N/2ys7rzq5Cw\ngY62QlluTZ06qINpeeQnmT9dPRyMCnmU1WiLCjKojafbPJrOscOUJXjiQYOf\ns9E2O4S5Y19D7h1sRJbxlzQTVBqrld6a8itGsf+xsuA9ZzSBi77k3qvHASH9\namwpWQxsozWoHszcGpEJI1VruwLsm+fdb91akyVO0ucbQkmE7K9zG7jKo0V+\nMfWyyDaGp9chyk2jXCEjF9SFR9Q8enPK9M2Iw+H2GZzTOHGs0a4kTpzYJgGI\ntvckebQHtzm10/5IAK4yA2NjfnvuA1q4Ok4AUXaE3gIFBpZPpB9oukVTGLFI\nODZF\r\n=Osoa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"d0070f12f59d35211aa134046321f55c8e58ea18","scripts":{"test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","mocha":"npm run build:mocha && npm run test:mocha","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.11.3","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.9.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.1.0","qunitjs":"^2.4.0","webpack":"^3.6.0","matchdep":"^1.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.0","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^22.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.0.0","grunt-webpack":"^3.1.2","babel-polyfill":"^6.7.2","jsdoc-to-markdown":"^5.0.0","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-qunit":"^2.0.0","grunt-contrib-watch":"^1.0.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-contrib-connect":"^1.0.0","eslint-config-kswedberg":"^3.1.1","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_4.8.0_1574195770268_0.06945923131260945","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.0.0":{"name":"fmjs","version":"5.0.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.0.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"5d3b93932350a0b665732a49b9bd7fbc993d4e2d","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.0.0.tgz","fileCount":74,"integrity":"sha512-qogLsB6yvtsh0STGCUGuoKNDNxOeXObNFLd1nsOE8ZnfgozIk9YMQRI2RF22kIeSZWYi4hu3LYbXZQStCwkY5A==","signatures":[{"sig":"MEUCIQC/lofI+5dEIr0VwylhJstLAC64uV5ZTvrmiqbhDoBiUAIgDEn1Ehf9oN8PwqqsGbUTUEbzgIUwJpfK7LeRdKzouLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDl5wCRA9TVsSAnZWagAAWGwQAIir6o5WrbtOTMKJNFZv\ngJxbwxeuMSEhsLBqEUkk7TxTRjrc+nBtsJHLhDevenJtHiNS0RrvOKJyccXs\nAErqmlVRUCJkR/IMKDVb1E8gRRyq7wxukrG3YrA23gkodAptsY9258HXHDVN\ncY+v2WW7VQ3eWOYia5jqUAr4NCGEbQ4jIXw53n1zA91jlVDNGHKdV8xfz0gS\nIzAGs9RNwqsEtHvpH3aZCt0ET0m5OMnHuoO84yPLhBZJ1DzGiFPC8yP2oge1\nL9zATA267q//giKOCQSReCague4/5e6cj0LqzooUFQiC8fqrQfpuEVpUBq2D\ntg1hckPKwBBaiqqSsCkJRyPg28evfhhKZBl2IruL44SrPjQcSMJoObTwRPIL\nCCd+Kx2AYV8cS4BLrlzUkridmAYdNKm8kMeEIziJvYRhGsMg1dbpi5SSf1ak\nKMiqsPi1EuIfY3OTV1ci2idxFARXheDHaXKyvwCnt6OWfLKinUtLnKVzAhAf\nT0zUQ5bAFJ7a2m7c6S4PkZCJd6fzCmrjdOdmjJOj5XeMrLZo++fYqC7FSDH7\nfKab4vRZwYcJ306aANeebwX338fwh+WP8Z0VFMbCErthq0bcNjRdnjIF69WF\nvExxOaIe/RrBypfhpMVnxV3Qj+AxDpA7/YBx8+u5sZcYscUOYGO3NBClZL4K\n1MSB\r\n=4BsO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"e1b5dde6eae4ef6abe032a512941329ad6220472","scripts":{"docs":"npm run tmp-readme && npm run clean-readme && rm ./scripts/README.md","test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","mocha":"npm run build:mocha && npm run test:mocha","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","tmp-readme":"jsdoc2md --partial scripts/partials/*.hbs --template scripts/README.hbs --files src/*.js > ./scripts/README.md","build:mocha":"TEST_ENV=node grunt webpack:mocha","clean-readme":"node ./scripts/clean-readme.js","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.4","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.1.0","qunitjs":"^2.4.0","request":"^2.88.0","webpack":"^3.6.0","fs-extra":"^8.1.0","matchdep":"^1.0.1","through2":"^3.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.1","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^22.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.3.2","grunt-webpack":"^3.1.3","babel-polyfill":"^6.7.2","jsdoc-to-markdown":"^5.0.0","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^2.0.0","grunt-contrib-qunit":"^3.1.0","grunt-contrib-watch":"^1.1.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^4.0.1","grunt-contrib-connect":"^2.1.0","eslint-config-kswedberg":"^3.1.1","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.0.0_1577999983396_0.33354040250354866","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.0.1":{"name":"fmjs","version":"5.0.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.0.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"31ea4af830687fca9af4a903bad90c2ad7f67fd7","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.0.1.tgz","fileCount":56,"integrity":"sha512-KskMVMzteoTMcVsdrLLb4RDwgUgazHXefMlWjuahNzZh/HZ6SDeHpuLQyKb35HSBtBx8KrxQ6csv7SM7DXeL7g==","signatures":[{"sig":"MEUCIQC5s3zg8iO95ngF0cxhWf11gSsHfD2YT8k+QTSwHzdenwIgdmQpkwvTkqS7A/+JLQG9rD/B85RkH6dSESTD5mqg+oU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":455390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeD7DICRA9TVsSAnZWagAAXDoP/0oqrFedyHdrc/oJH1/3\nzOh1t/5uDyZdLED2+0mjxgs4k3+xHbjP2O4FtxA0EBUTIasMPd1h9Ay/ftsK\nWnavnViQlagufBsqYGpKIzzPw3N7Yd6Rx+sQNFTmgQqhQoqxg6ypANg8SFqh\nzeSXs/ko1lSDJi1l0QaiwMj2YYOnu8Zpt4cLQiQORYIX1So02CjRRWec9ate\nx3LcEUdxw1IBwbnI5iv30XmourAgVcI9V37dLqkoBvrHk3XrAr+GcpCxtWOr\n9YRQpL/hRKCCbyrWZiO6ycdrsOIuw+J/W1Wij6RpjPuVj/4f2xF33ecC9og0\nsNaDUXVVO/VewTUkgdL4N5CS9UO7Fk+gRMIcL/OFDmpkW0VqHjynVbvY8jKN\n8AtpKlsiX3955XHiESUX90ji8rTIWGeHeHZE/yH+wKTIWK/DSm1ow2cnX2Y+\nr/gMpB57gKqDkUofbzsIFXzUO4yBYuii8EtlhQLBuHz6RIYIOVsdXQ3lcbAo\nAKc2pF7nClrZWHo/V2Q9+H6nAxY+qBeayyOP3JeHSLF4FX0ehAJRmWtxxv5V\nbgMEa7bptC5dGh5GUis04k24PpOTDx99JgLWQ8HLmelbOqBU99aleWh+uJqY\nML+FKTsjKwXymvzB8zOknfNAwp9mSzSumoY71UZyRqmrQSJJkZLUv2M8Bp1X\nBU5a\r\n=XTk0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"5a486c53cfc08cc1447594d776a26c367386207a","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","test":"npm run build:mocha && npm run test:mocha && npm run test:cjs && grunt test","mocha":"npm run build:mocha && npm run test:mocha","cjstest":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage cjstest/mocha.js","test:cjs":"grunt cjs && npm run cjstest","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:mocha":"TEST_ENV=node grunt webpack:mocha","prepublishOnly":"grunt prepub"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.4","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.1.0","qunitjs":"^2.4.0","request":"^2.88.0","webpack":"^3.6.0","fs-extra":"^8.1.0","matchdep":"^1.0.1","through2":"^3.0.1","babel-core":"^6.7.2","grunt-wrap":"^0.3.1","json-loader":"^0.5.4","babel-loader":"^7.1.2","grunt-eslint":"^22.0.0","grunt-notify":"^0.4.5","jsdom-global":"^3.0.2","grunt-version":"^1.3.2","grunt-webpack":"^3.1.3","babel-polyfill":"^6.7.2","jsdoc-to-markdown":"^5.0.0","grunt-contrib-copy":"^1.0.0","mock-local-storage":"^1.0.5","babel-plugin-lodash":"^2.2.1","babel-preset-es2015":"^6.6.0","grunt-contrib-clean":"^2.0.0","grunt-contrib-qunit":"^3.1.0","grunt-contrib-watch":"^1.1.0","babel-preset-stage-1":"^6.5.0","grunt-contrib-concat":"^1.0.0","grunt-contrib-uglify":"^4.0.1","grunt-contrib-connect":"^2.1.0","eslint-config-kswedberg":"^3.1.1","babel-plugin-transform-runtime":"^6.6.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.0.1_1578086599887_0.3528157432626944","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.1.0":{"name":"fmjs","version":"5.1.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.1.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"0cfde50ccbcbb8e6246f5d2bb163431fe2f80c88","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.1.0.tgz","fileCount":57,"integrity":"sha512-UtA1T2cslwV4zNVCd0hvTp+wa1pWbR9Tju4juWt1q9jX2O+lox0iT+pqCKGfJwUzrhb9odeWV80cyuHqQGN/Ew==","signatures":[{"sig":"MEQCIFxkiUo/m1eqKsv9kL01ONU03Mjzylv8kOCOHjRs4aDhAiAbScDS87aIwYWCJR10aejFHfiIkRYOi/v726+/u4kRRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":444394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEp/kCRA9TVsSAnZWagAAxGIP/A/kENHZBagIHx4vGyvA\nE91XG4S/ups5Bc4RMEiH9F/2pnMCnADNk8TzWP0CPIe5KGxquUT4PlzyS5lH\na58yEB3+HCGZzviMSVM7WFCRUv4RdV9tiMF352iah2CLVRTNp9tVJKxWOGnw\n8GbM7aGigNwA5M46I0KmLsFtSpF541JD6ID4DOIgF8S6EJGHVNWPvyeac1ht\ni75rBNN89hdjdMhMmFca+RrGAB72nEhDcNAp24R9pnBoV+663rBLCYKvq8GR\nTJyhsaY2WcmgHh2O2wNx4TersYbMFR1hRzohAGPTnDR1LGAQHqnNMMM6A75M\nMtMHT3tLFnBiKuqhiRoCyrBuljimF9Wkndq/Rsz0HrrMAdR5vtAbWngp7oPw\nT+99Jx44l5VI0HboFWKdSrZfLumtpf1w15vAE/9xYxkdBHBY0tfDDD/k0XAC\nwkqfKFbM5B9sy0X/fgz+84kTcCyAz+MINmjTk0ZPY8HDJPpJg0BcG1IjATs4\nrEPb2eLCnw/xjo/iOHmLGXo1FLFaLFTvYL3XEcWsThVBzcdYemy4hWAHI7Um\nZ8Fh232O8xP3QRmzRb1gX+ZvFe9rC5OkaIo6qTygAyuMC4ouJIqcPuvc9rzw\nHyg5GDMu2vktG2q8W7sPz2m03/32FK34GY3ITwLBJ5ak3WCp1zxktwtqXGYl\nhFJQ\r\n=+6wk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"c5395277ba3604ccb8fb67a166c6a67ff6c35b59","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.27.14","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","rollup-plugin-copy":"^3.1.0","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-delete":"^1.1.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.0","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.1.0_1578278883831_0.6256943872940302","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.1.1":{"name":"fmjs","version":"5.1.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.1.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"cec56a668cf3a0663044192ad1601dc3f89502c2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.1.1.tgz","fileCount":57,"integrity":"sha512-DY87GU0qLgXrSgpPQyYXndlISSPzlPQhB2HKYxCZrpTj4ND/fF81Fv21yyTg8WgOyNwg/gGJ5WzZsLLhmZZcFg==","signatures":[{"sig":"MEUCICu3vYWrtbyGAs/7602jnD5osQSrDh9BJE3nzy/aZxv1AiEA1nhWitaSbel7YeklPqUBpwGFBEUwA+4K6axdCUQK8vY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE1Z/CRA9TVsSAnZWagAAnosP/A7vezcnsaOSlE3PyGzR\n4h1AgfFb/CmaJT+r3te2lT+iZ/k7ZOtR1xFvCaAgI/xWzycDzXToSWGtMxKQ\nBbHUeuHlq7e+o1tSR/fdYKcujt2WuLr0LIGo7AIRFViuCNdPRcLqWTRhBayW\ngaQWVRq3PoxTHfcGyOaYSYMN94bSwVMHh0noN0VsQshylEgBLlfFgL4FGPab\nHeJPaDLjmS91DTmFG33Dl9980Ih8T9HU4CFPFpuSad5gKzQ48QFZW9QSlgSc\nIJnuzNII8UVhQ6GlIYSH2DSIk+u7evj52Iw+Dr0uL6fTJfOZyIPZu9GdpyYe\nFLn5AgoIXFgx7X2T/d3x6W2A9zsu2ZL6HlfGDPy87pBkd17EZDo53bzr0O0Y\nrJXDXS5TOjBsaOY6lquK+S0SpxA+3e3W/VcKk8hlALwtavCthwzN3Hfey66f\nwgm1oq3HzhPvxVUnJd4+Avmyx87rbtFnB/k/B1GOdH71jv37+KV6JNwKopcb\n99f/VRU2l9D2sC9Th3McRjHTtn2SOpH0F8dZtOqlDS5mloRgUcJtW6FXNuvw\npO45/BOEL14QQdKRmBQuivBTDAwjOlWSLHgcW/bWSFYyAAdypjgkHA2KKPQ7\njRRfU9ntmAKNsSPaD82XmcnoIh1k7q7KYX53xGdAGG2y+Vr82YFX/pidhy3t\nbfcO\r\n=ICGh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"a7c62eee2ea130ac506c4f64a853d4f3afbc4cbb","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.27.14","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.0","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.1.1_1578325630974_0.3888819855613075","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.2.0":{"name":"fmjs","version":"5.2.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.2.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"2fa8a1477298476085dd8deffdf70fd0554862b2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.2.0.tgz","fileCount":59,"integrity":"sha512-G7qwOODws8eXfCU4YI/whTevTNGkVgCrzlup8qHveBubyM9Pg8Js/5wcq2tOjKCoR21KnpXB3QcH8qEtQDaVaw==","signatures":[{"sig":"MEUCIQC1a8EK5i2SYJbomVSAr+ImULdl3wPWu/qjWpb4V87sWwIgO7NvbONntueRU3WUCuPdC7JVYbiObfu7x7VovJDcTzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE320CRA9TVsSAnZWagAA8UoQAI45sBm9mfYtriyKmDyG\nnvJoIp0NIidh8C96yfjHPQA0gy/lFwgnWFoHSfRRV7MFYHhnYoZx3AaxbRBX\nl4V5DbRC1vwRo4MuSxGP9ob2EqjTol03PvjD3oGeSNZrqtyeSDDTGdAaS+DH\n3WWOWvnO24WZZGGugVMobXR5RxhMPaO47gx4ojp9p3aSZciUoXr/EvRML9FO\nxbY0iwmZHo8wxSqQ+nJLejs9LbMqVw0a70TAWDohhuCf4ZrKU/Vfk5shwmiX\nyh/33Fujy++btbtQdcbh1kOmd85/nmaFHRAXAEF1bgsr9Ehi7kxi3XpJVRkI\nSRy+FmaeJzWhusuSRZQSrG5VZYvA1QixQduOYdcQIfEecOiYfR51QVBbFRsK\n6g80c32/qkEidTUg6irf8zfI+3xEWhNK1vmg6UZJvFf08FAG1GpBFUFqkGTG\nE7M+dd0hqHTTZEN2V2nyam1lssM58WcB4MnShn+et3CXxaTvkoS6fFBqZlXL\n2tKA22E3U6T5EAkPTvA5qCp6Ubst1xftIcQMtdV+QFJzttR/ZzBL42JUQNB5\nU3vc5+zOGH9m44Mgb5c/W6Ou5QuIeJqv8DTIkbZk4arf71DdEP08wC/eOr9k\nUyG+IwU9sNKTfzBQcE0vFjtVH2yyLC6c5F7RR2khQI+f1kZChrXPzPTcWYHp\n2Xz7\r\n=4kug\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"7c8d5b5c6e416d6dc6f14307cda679cad1105d9d","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.27.14","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.0","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.2.0_1578335667677_0.7528765195764244","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.3.0":{"name":"fmjs","version":"5.3.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.3.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"d4cd032926539ebc30d64c8bc39916ad44e60149","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.3.0.tgz","fileCount":59,"integrity":"sha512-6PBar/QIPOI793/W53neE/Phn1JgWv/AT+PQ5reO7/tE0Qj5LQcMSXLQFK1SIl7BuPIufcnoggjzUWqU1dw2NA==","signatures":[{"sig":"MEUCIQDN7fKk1jCru7SRqNfncAMC+UH+ByYA29z+ZXysmnZdqAIgWJNh/nc/ghxiQUNp2OzlQQolLKxdgU8pfNGmBvSeePc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFMdgCRA9TVsSAnZWagAAv+0P/iVCqLaYnjOCrs4E0TFC\njt9IgcwgPCkIQTXLE/NNjnMDt3fGtA1Glq2loTzy2cwqQOgNK5UKdYwI6KdU\nbgyV3FB/1rk25rIRcV0G1bmI/WSUJN+GEnxakFUz8Rw9DyFuqcvG6GhGlUxL\n+gDMgiImyfqhn+uJBEy7XhVXXMdf/JmVM7IxaiUmg1dFi+sUaS5/YrGfR7/N\nqMbMUhC6GzS9IbLm+Sv9O+JS4ycAgfJcpc/8hmo8RbkQmRxZnUBthpJiJhln\nXc0DFgO1zcqXPqpVZX+qeMvWr7KPRp/bBVmNgwPcyS5vcmFEkHO/SuCs3xTv\nEfo8m1e6/XqIALCAiThHCmS6gDM5furQJAyadsT1GdTLxO2e6105jI+hIzbP\n4/a1QLfkvZY8l86O2BNnjOusph7BhfWb+o0O4Gm5iEYsxCqFfwjka9xBbLJM\nkcxqBQIYgchzgv6OBWTVxltARgwMwgBpdSLvNj7DtqGT3q8TwWkc0WiELUXW\nLb2wzKGMstZ8thO+ywYVrO4M4SeT+/+VSpfuOHXvQbcNx9YHeHApHCZTlbAC\nxFUBCvBzwUp0q9ljUK7Kdcbn8uDuvCsb2ZDtdAvpPHWcrL11iLu/KqyosCpU\nHD99a35o762sg10wwo82HIKQSS5nY2u+wfbeMywyEG0UxDp521aUdsw0es5X\nhHTs\r\n=YFM3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"54f6e29a8d3a5a8cb8cfb405472da1d056bbf0e3","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.27.14","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.0","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.3.0_1578420063648_0.3715496914191485","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.4.0":{"name":"fmjs","version":"5.4.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.4.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"d445bd3413c25835127c6fde05ae7cafe3447209","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.4.0.tgz","fileCount":59,"integrity":"sha512-PJBXv0kl3WhF1IRniWaHiafsrKLZ2pA+N+vqysjVzFMRBj/GUZYGdQrgzDEm/naDA1diru6MDZy+egrNWZ/43Q==","signatures":[{"sig":"MEYCIQCdkXonSyfOYNpTH1uCZxm1iTUOi13G7YRs+nJ1hslLMwIhAMbpgGkl584z75/q6/TWcZ+lt6Dy8A7HS4e2JeyI7wzQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeG99MCRA9TVsSAnZWagAA2FIP/iYAf+AVpX3/TWnxCFlY\naNanRd1UpwV+JzhSe39gl/Lt4RtfgyAdJ9oLYhbB//36HO7bXxgZGrQ4lcvV\nlL6rST0pvU0uIojUd+YJFYxBcx1b0U2UpbFOGRNW82DhxXcqxTSRPv9yUbNq\nshEmAaxbNjDHJkWfYUKozYty7f1raMaKaVgdVeezGmEdRFYYSn5cmXOyigWZ\n0P96aTjmVjMgg/TLT144Qjg37FLMSDvSW6cSeGdhg/LENJ8JnTbDseV5HAcv\nmdvyWJJi10hdmXepFKEpfh9+3M+g7DOUp7Basgw80JOpw2V/XU6la+YBmJFD\noPdUnDW1+ebge62a99VlC2ab8KgeLf1sw+QMoaxqTtEE2CS0jCN8/Agdqx+a\nF+k7DKBEtCFLhY+mFmXP/Y9XHaYMpOwbyTEiF+pxyBJwLktCN5Flfpz4uTO+\nl0HZ4s5x8ufkqK6KLMxUHrfTpP8D0Qfir1WXrO24Sg0gYbZXiUbLBjQGs+Ck\nuTMe8rwU3u6h92dYRCX0sEitnFrnUwIobK8RfcnLG9l25cOXIQPPTcvSnkfT\n4dsN+wZ6SB/UFKXeu9BM5iHinp5QU4sY89hDfq3sdgGm/ExvIxR/M3LU5SE+\neeczgUYTyUdEeAOsVUTl0YeKpjtoxgzRR437ejPZUpeNQxAosb59EQJ9MMpL\nqh6x\r\n=/5Io\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"12b7dc6c7fb8aafb74b20ada8d2e276252a9ee8b","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.4.0_1578884939935_0.1531895568070505","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.4.1":{"name":"fmjs","version":"5.4.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.4.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"8db37a0be5bbfd1b74e86531ee43740cbd397a24","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.4.1.tgz","fileCount":59,"integrity":"sha512-a51gNlasjNwjsT60YgsXBnI4cWr0ypCPApBlMktoFVE58fOS/XC4q2J1fQhVRxXliefYSiL0jGVy9sGihBgERw==","signatures":[{"sig":"MEUCIQCiI5EZv9wK5OMFpsfCS5Y9PYsN5wQkA8AJSlQZJrzfvQIgFG/VFlf2+bwmHGrohQrL0LAwQrIUmHEWLCVYcVlIW0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHdAECRA9TVsSAnZWagAA8WoP/AzxuGN72EweKceeVRet\nRAzTN/EBwgLh/Xoi8oMXCgaU1kb/L5VZIWJQBdosUWuAepc8vzT2lShHIerG\nVZZImvilJ/sdEBakYjx6n/7osIh1Ypvk58//up7lxw2nYsoSx1ISeUlzio+h\nXjaiSnASf5gsJgJ0C42003wkQCjOPqtU6yRc6iS7RZrHBzomRL4QVTw+eQLs\nssyYbmLUS6Kw64bos3xpzungZXvVddLNdpUn/uAuCu5Dhm/rGJHbHGtQsPyu\nIumPrGzI7P42a4vdrFRj3867GsozUMuftQ4Dd1aPnWGhNiNeZ3P+v2FKyYxJ\nXrbOFIH+XusYA2TTlcmzKtyGlO5FXLRpNtPBpE737j2XRROlkPeyJrKoMGdL\nDqTFgfv2wpQQPUHK8lVNblceIaSNA8ODa9m/UhAxMxxbyDxUN7m+f5JPRHrA\nE/ZNK4y30GNsQMkfyji8ypMRaoeZjGekq9fcg6oPcQisOiJwXt84uzxV//SS\nZgPybR09swCMww44TzLzgIQYqY/1f1LxtGrYzQhtGqwuqnSQn44rZEi0IOpt\n2rsYPQv9FTqed6YudBSWkvpCT6Tk4eqSJGF7hGbl7WOgjkFH8hfyg/Sl7ucp\ncRbqzucbbhIbGKqTrvayEP84A3Ge/dCys0Mm6vOqNd2duqRokmht75fSCzCS\nob4T\r\n=pqZK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"1466486b01bd63ecf36aecbcc626b092bf44cac9","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.4.1_1579012099582_0.012958491885524781","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.4.2":{"name":"fmjs","version":"5.4.2","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.4.2","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"0dc2e0abe8eebc3ee7145eba9050b1d6227ca5a7","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.4.2.tgz","fileCount":59,"integrity":"sha512-gpzG/ryL9Q0eWPTN6v+i/sYaMZlsavc42ty9WNP6BoRKzVJyoimFDPs+wuJFEdeYkEOn/1iTIdPyDw6cktTBug==","signatures":[{"sig":"MEUCIEBc46CA57lvoT3w8whAm2f2Iky0YEBh0XXZqRgrnrevAiEA3qYLXI7+hStTwgRbjt7JMuKnY78C3hDjQWAkFfUiUOM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHgDBCRA9TVsSAnZWagAAYvIP/R0zhxkJmalAI1TwrwB6\nDOra0yQVelVB0JcSRiWT++550RHwFDqf0/5Obuw5iv48vZXYQLHGoQRBU+6T\nUV0O177iLjAXJ4g0DDVl2AUph7Zwnd9hslC2JNNlv4QJNocBx618UuYIj3Uy\nBpUOOhmarVzeW0EfScmoTFtIu5dLvqh1x+ucBT/YtGe1xidaX7UVcsoZl5Gq\n8rGgeJ5zeq7OdAyXIpm0dpXvkd4rpSrLBEYwoxnfH2K4FvuVhipmLnYt4xsU\n1iy0EcvCUWniYeEu1MoImK+IoB4yRMdhYM5FDqCnR0NECBIP4VGxRNDF/sqh\nkOWVo5YnN8CTdI1wNTVxavIcl+wB0xblMkNdCl2gWkr2fS1DAfr9Zx/oIT4O\n2EG1UGjEygDW+HeiLjV/re+VaVfur+aYzXRVty4NiFrdwR1/gVOZxGvUsbdA\nEIevJoiOYB7zS/q8ibQgWRtChUIhKQE3pQ5ENqy0lRyVbMg2V+NcgFxpszZp\nq3d9ec1WW0REMgLN1x0Unl6m5u0b7u12nc7HOhR0mwatur0eeHsOrnf6jFaR\nyN91PYUt0MVcC5260Xbvpdmmx53WgqA6UdjapfemNaax2MtgE1qLaJcBBU2C\nVHqVo/yZDzW4fHtaw4KVwDYXUg2NtswjSnObLMTo1omWWboiBlFbN5x7jzvE\nGOb3\r\n=aE9Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"c0c09e413ddd7bf507b99d740f64f84d3ec9896e","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.4.2_1579024577315_0.4214703692347208","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.4.3":{"name":"fmjs","version":"5.4.3","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.4.3","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"3056e087a0b8d6030ecca4f79935b49db06efd69","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.4.3.tgz","fileCount":59,"integrity":"sha512-UyD7JZEneoZIxFvj8adTWpCVB9kLC8eO3OK8KbgRu8VdI8QA/LrdWn8wKBX4Pp/Qiwf6FjtlGpMzrVY99t6KUg==","signatures":[{"sig":"MEUCIFhtl/bREdzx3emNRYOwyZYTkzVTEBloZbFtAToLZ4wHAiEAnUBb8EQrZCCOOYQ7SXSncTcvW0V8AjqVg5yWDTYBJ+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIejpCRA9TVsSAnZWagAAm1YP/jcN57FN7rE7bcJJOC8X\nfVRkoUZcPGFJWDnIqOyvvPxm8LihGwHLkJMP5D9ErJN33PBWY15NGrECpGru\nIUPv/3xxTq27pcT3HbH70ca5jliQSKUgiRojTdFwy4ncYzNf6GKf2z5aTk0/\npy8ZXGfRDfNpeBYsF0VggD3Xo3RoQ/TMUaxY+yKlEw0oOty+naVPzA9b/PqK\nwdx2O1C7klUTP0Ez00zrigiAThzK9ww+hvW5tvebYfXjk7FvU7lgkyIUW6UF\nz3WVSlaQGvMo2BvdLUnvVHQ9zeYzVS+x3HWhRvQyWDkOaDwm2u46PZLz9Mnx\nhXjdqcTxeVkyqScE3M0gTq01PqFKDlkFqUwjkhxbRwM2YjZTyxwanB3FgDcH\now8MmWhE8V1Ck7ORoy/f7FRvrAvp5uY76OdX2xBxqOMt97P5jDskQaggRJzI\n6BUsGJ2eFGk8oWg5Kwnh3bS9WNBs0qjMcmjI4Rjji382Jg3GrXuzMUsPXpgb\nl+V/jvk8kHzkYme7Vgn1l14iZmFTxmPiTc2DkM4h3LkWT/GzkmTtS+0jWWqW\nLhW6lzvKiGp+P5FP8xS3YrscVV0G9hkarJw5M0z5G+PTJ6MPOegemPbaRTBA\n91vmLeK2IxAlh70Hh1HfKPP9cGuxliddW2NCPR6i25Hq48nZ4PMxbEV1rXpR\nDuhZ\r\n=3Uuk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"764dfce25fc12f4bceb1ab7aec6daa96023978af","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.4.3_1579280616251_0.06241579784481699","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.5.0":{"name":"fmjs","version":"5.5.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.5.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"b223aba6d8b1c0f56df5f9fd3482cc8587d3cdfb","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.5.0.tgz","fileCount":59,"integrity":"sha512-DTy+zwugsRn0/O5vqADR1O9qlboBHucQfsZyZquBjIH2DwyJMoT425nFDopWPGhP5OEBdRqTXqc0PQp/UHia0Q==","signatures":[{"sig":"MEQCIEUFNNtI08Mf1+plNj7afhAw3MRAgw5jQLjcrQJCdeorAiBd6twZzWLOZP5AR+2Dj4+o25RXH9q9aIiUaqeRqKJfYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJQ8aCRA9TVsSAnZWagAAfPEQAKUgP4JJssRxzUBm09XN\nVHCSDfO+0F8VDn+tjxYAp8OF2cS5WKOw65NN8Q4nebmX3NhZPt7ky1Rl6+vP\nkGM3whhp/Ic5MHS4ZYHJrkHmDnivYVvTX/wSH3HwgDq+wSDSZZeOrhDUU0vM\ntEa/SBSD7IRmq2jcmRNWTblB+AKb7feglNltiA51v0wne/0RJSd/o3yPGXVY\n2H6iiK9c4ez+vzpiGtfsfeWVn7Ps+UpAGxwNc9lveoWCWGkx+6xtaXCmtRr0\n6uUm4kpBaLqWxFVprWmDyWUt+IBYnjFQxJ3egK/WLvgUlVTh+YPuOSXYIHd7\nvVnVEP+Udb+6Ss7a1l9YctVwA41s9xwFV62CHPA10Nkk2nSEERU0Z1t8QnGP\n3fLhOiyQV9uY7iYOhoaXdckZz5Hrf73Zc29321EdOZ9jl0XDfZC3amW7rqYe\n+dnRQZkt33qzJdW49pgcYV5l2Y4XjGPKjMPJtogZpi3giCYvOrETTQK00x+V\n5RWWeeKwa90mRRI/NKxfLB9eVn91szBIwhaX/pphrjDQfbq2kTAj4hArio1q\navqay6640En5vyP01AgIu5TGQdw6psGJDSRPXlNvbIR/xWO8Ug0W2MEcix0X\nBasPDpKYFJkKcCupXAnBX5jixeHfSDsZJHSv0sU59nl54qZpLipqfSPjdeIJ\nFc0e\r\n=EPmP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"10ec954aef95ee4b284e8b8fe5af2187aad709d0","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.5.0_1579487001813_0.7040195879736038","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.5.1":{"name":"fmjs","version":"5.5.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.5.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"6e652f0565d1d6b288ae63e7421f2db4f8c8cfe4","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.5.1.tgz","fileCount":59,"integrity":"sha512-+z39iGWdSij4SC05bmFGQC9lpbNZziRPe7FFZUsvQavxmjZNTtdWIEoKhW36kihPpt4gWxcRZ7/R7TYphZaT9A==","signatures":[{"sig":"MEUCIQCZL/iR+VySm4lBCRgV0KFeNKQuTUMzPphkOjW4s1dWJwIgPh3zYeb0X9NhDorLCFUqR3c/puVSEpodFxlPlBwR3xw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJRChCRA9TVsSAnZWagAA1mQP/2WtyrKqkYkkKKHMWLkp\nO6/mRHJsLg7KnfLoN5XZwH2bVUD0vQG6ndudEHlFlqEvfPioO0Gbm2Uy6NzV\nKZ8VyDfaEqP7W4nVzmK9Mmux105sBfRa1B3XYmeRU3IxgO5+igFGy4b6tGfw\nUjXp2Ve/BNx22LWuQoz1VPNUyHjc3vH4kHEQiko7Krqsw0cYyI3mGfRx6mCr\nwJrPT6OsyweBPuIlWwbIVteg72OD8Odl8T28GppWdgbcyoYWinB4VAuMPlLT\ns4bqqerUfEM5OxkoEi6DtUE12MU5vbOpNs6tTJlviDBAYGybvoZSYxlkLw3r\ncRKiDAoXOTNgIYGy0m+Uo8omg7VeCl/eK+fRjs2/G+ZXBA5OXmw5zVrapniS\n5R3mzBeFiTx+789k3TJcBi2NBpZQ6gDKxlokYV7eU2HRICKm3fl2UDTtOWnK\n5c/4xywU0X9Bxf+awrSO625pin4y4dwpuDCS+l+47XJDGs26EGWFgrTgUpm4\niKYk+1dHPFLFA1oJK+uSVVZplacvzlSd+icWc63jMXkEfpGlaUFdN3R/WeKY\nM8TONaEvbT75Sk103nFjPz9snlsFcY+TdlkxxjJUGHritrZs+tKYUj3dXE6n\nI3HBfMZdZcUQG0DilGfuMRn62dbEf8yUIdtI+sH1DTbWOSSokqM4MAzWydOp\nNo7J\r\n=GvRg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"c34acb8bfc6b9d4e3c347e260160cb13245f5965","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.5.1_1579487392380_0.5841155027632421","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.5.2":{"name":"fmjs","version":"5.5.2","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.5.2","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"ab383f093fe381ebe927759a6f5d08808c9cee9e","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.5.2.tgz","fileCount":59,"integrity":"sha512-UdcqIFRc0cLZJxoAtNyqwsQXUv+OwIijQITIr1Udih8zEtW8iib+qcN6pKqzbpk9M5Wd4VmBuOadysYTx89dBA==","signatures":[{"sig":"MEUCIAuuWu/dIUC2Kgjv9gkuoYlSj7vhHdQiFkKsNZBBDqf+AiEA8qjiSEina0m3N49at5tT/rLbqQvUuyJN/a7TKznNtgM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJbIGCRA9TVsSAnZWagAAQFkP/2ngDkmJANbRsbzDs4FK\nlEcPvtwVKinfcLUgmh4afkFv+Yto4/MdadeQ5DU+RyyQbNUcR5qvP2+AiS6V\nHCM7r3xjjthMBZgpVvPEG0puqrfdC83mdACsjsA+LmqJDgb/astwWBqHULLF\nuUEM6OnALC7SEHrAAPwYN92B3PgIxjb4qfQn+KRClRbTTFoMyB5Qo+00mNaN\nZTWCCl9LXCTSRYTY13e8KG/v8Xic8qvtWNF4l4aU3fEXMSbnbePjeInWUIdU\nxl0WkC2koxLkIJ6jmtbblZ+Mm6BR4M/lqqMtYd8FQwnVYTRUsQaYwe4hVdtx\nrWkzedGRNPRVO87n+Y8LKKDJoMBpGmKlunEpIXgucmqARrYD4OQfJVfCc9bu\nazxKqAQt7Fm/V95BDfBbWO+kOqZauQklBAk9AmvIec4JAzlOx56d6HBQToPI\ngd8ha7D4ttVyU9xh+HGV3X/s8/JbwyUxiNGJneVEeWGUcNFYWlNyYu69Mans\ns4WRCTuOYX4+jdNkdCY3aE9c9faUG5BKDeyreT6Ixi/wWRnfBp8OUpYHQYaK\nIFF9USkgtdStNDW8rZjNsCJOx/j+bpbSXoTHgTrEdt3s8mDrSczoo6oQdIS7\nEYKVFMSLb3t0kE/STLXcK3wc1XpIGtqHdOZWPxFEyYq89+PKPCdCDGX9OZOx\nU1fY\r\n=SsmB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"6f8315a4abd9ceb48dc22b232d337717173cfe0b","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.5.2_1579528709759_0.4645233594461349","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.6.0":{"name":"fmjs","version":"5.6.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.6.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"2ec52cf5e0d936ced046f5ba1c1cdf657fa1efca","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.6.0.tgz","fileCount":59,"integrity":"sha512-hGLaj77mZot7rOYCglhOPfv680zYADNBb2PFM7+70V5PcI4w4qPNA8t/rfEbVFtRqT6RM/Ql5P4IlfT5XBqk7Q==","signatures":[{"sig":"MEUCIFz6YNTWQPDCaghLXm6ONW/BuRGxsk9w/rJH9xDl5QMjAiEAmrS6fYrPo7EyofZ88XpETJ6KOh7b/LlSpKsKlvBE25Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKfBBCRA9TVsSAnZWagAAVucP/AqySeN8ZBPOjZw7yDFH\nDhOj+WaP8NEofil3rOtz0J8heKLDECYm1LmY2meeDSGSjCSkN50qVq7ZLog5\nVbx2bLbZGb31bTbbBrDpu6iyaJE+UuzHzOEPnRqPzMVQzVf6ePT/AxY40QXS\nushYNQLME0qvffAzAL21hI/WpA36Lavvnt2AIsUpNigEDMS7EB9EzOdQS9H5\nQO35/t3rukybUVdu1nnQf0l7nVOCRs1xNvLy2uI2dUYwBm9Nr0Rs/LxR99YU\nSq0xxha4F+oumtx3g8tfM9S18AriM3ZWc+r0pg6b9uA2oHcWzAOJ13WKNxwb\nunhqvLBlPiIt4EpJbWyJxm/vIHK1K4OPMtmByNaXFwibDqRqbzQ6+mz95cb4\nnL1ST+6PgnaYIgDum+SC/Qc713bDh+zm2ma15g75t6WqaEQaTVGYxLIJKbY7\nUBEY+msxaZnK891jSC2js1eJkPLBOGnIYbUytV7+aRnrQR2motULWCd4bcqg\ndu7u0/CYwssSZiiu9eGjf87dWE4dDKmstwWmBLwSMN/uE7c+FOjRY8gybWd9\nQ2QqJDyoBJoXumXTTS0Uyd1oiEX+48NaFmLfoVy17/hN0OWBFqYcCzZo69BD\nVByaQzHJkO7zLVS78cSsTyuegDmgcRrBw26q/6FYwx+ddFyQACoeqTYKHh21\njU2c\r\n=Fyou\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"26bfbedd1b74f7159b153510b1f40620662a7804","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.6.0_1579806784504_0.34596419720454596","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.7.0":{"name":"fmjs","version":"5.7.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.7.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"3ce60d9c6166ab50de8ae0b9dec98e5714833626","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.7.0.tgz","fileCount":59,"integrity":"sha512-W4HU+p43Qe74vuQtweHJ28mZuEAkVF6/Q4BV5+1hwei6Ks92q7OFpuHqEN3ah8wwSPJJGO+64NTAYgBw0AGGUg==","signatures":[{"sig":"MEUCIBF0alFrQRqgOSPlVBd+7OuFNwM596Ubv+mmLy5SmvXRAiEA8sj97BIcXK2vQQ+2gBcy/zN+XiY6RnGnybcA9TsnTrI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNzAaCRA9TVsSAnZWagAArxUP/AmxyTYkI3loBkTadNHF\nwlJZNfTP/8kOJEIJBwDswiMi1u7kwzMDSQsRBATaRCtZmL/FhEPh5D733pKz\nhDroXsX85E94VAn+HAq9c6zhrX+rzthYIkDmIStH6EYp5xv6pUfVNEkRBdTt\n+ZqMB2z9eUGh6QrSG9bFLZJBDQephLfrmO4WDI4T499HKK4Ssfbyd296uYYd\n6kdWn7tUvSH4zpXguff0zQPaOZC1Poyl0oGmILj9Qh4xsnF6j26UPtx+YVjI\nNJutZQODkg60i4L+FEPN4TiL2wVnRvFXY33Nq9KLFltRvKic4YBT6rFi+9TL\nFcxq5614lE/vURvywp4JkwrQSMuTte1jjScHwtnE0Xsb7o3U2AeZJIJHvizz\nj4mC9430PmC0VUGj5MlZurcv47Zq97Kp0F1M4GlG3cw7LTP/NkD69uMRezZ+\noiVYVXy+IGrTi9PE4q6KP81QZBIfiZMSKCIcmZXtIqtHhdisuGkw97+Kz1xv\ny8wuelAY+n3jkRWir2uTPi5qwVNG7f8cI0U9dXdFPm7PULrtmAtAGqOssyBv\niKp2ylazC1lIfZCvqS/kkn5d52xsJuuKbU8xTTvX9Q3oivOcWpDyWr5TayMJ\nS9O39cqLRxUH14HrvK9mc+Hqk1Oau6IfLGRbUBeNj42lWXx5E9a9wzJDmiSk\n8CvX\r\n=3mMe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"8437f3857e3549a6178f7b708b1aacc9e8f99004","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.7.0_1580675097938_0.11159424278064534","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.8.0":{"name":"fmjs","version":"5.8.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.8.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"a9e1fa6b3121827d957c947f4e9977be5fb739d2","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.8.0.tgz","fileCount":59,"integrity":"sha512-nB5j4jeqvWBrVCOQYl68IOY56WkCAV90bbKDZ4/CrpwPOYUIJQKeI3IEKJRRj7aRO4sq3/IWL112/n3kGKDQcA==","signatures":[{"sig":"MEQCIEr5y2jqaU+y9LYdFbDf7QuxQW7/rWmy1ynBdfX6xo3VAiB7VWw+Z6oujTOKf16Myx7CpgHxGeqlhNyBeo1aGBzXcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":530412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOMrACRA9TVsSAnZWagAAjosP/jhM4JEpN+nxpery6L/0\nMcG6XAK33U9WjtoHiDkdxXp+TZEGBBmnK6FTn39EOzhrgwUEOWyfEl0S3UBZ\nYvEAnLV4FGW3EEfiHisLeEQbAw335IevK9jtlBUWT8UCBVQGKPRLOHkOzrQl\nqVnW1qWydA3EFkjdpALMM6HJRhJOlgcCyWIU4a8wfcyfs8mf+9EZIlNbeAaB\ne0sJMKoBzDBXktM9IiJH5Rqmj29g87MO9XA5rLAdAUnXu3UKtqbC4HRDFGRR\nSsv+DioIMOUMNC3Zndvz1QV84oEL6vTgeiNHh/gv4Af1V9LtGWENIJ1lZeTJ\nTnkz0ri5IEDX8yLTeKKTwTA9AaaFxldXvwtL0cYsItcjeQHpHYjwMSqLMq0j\nOhhlKck1T3i5Enoo8ZrTeHT1qPiuzK955VNGnD1vxT1kVa4GZU/OrzILOw9p\ngR/FcNv6gQDyS1amEJEjJNHPFyvXGEyMZ3PNt3ZVPamVoJURxqURKPVGT4zw\nnp8a7ySp+61/fYpw8B8mMeB7ajUvQ7iaGfciZYENLKuPiOrAgBJ8vLxG5PoX\nzAE7C6Plm/Kb2NWjlXJyrq+yfhxOMcOd/eqjrLmaIoekVcMTaJWklJ8OA8sL\n0xdSv2f1FTAv3j2+fWB54AfmRL4DRmGZK3CioTWEyrpPJdljtRy7ysdPUBNL\npZQh\r\n=83ap\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"da2d3162b9b2bd82865623cc915a67ecd1b22946","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.7","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.8.0_1580780223580_0.6109776677648462","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.9.0":{"name":"fmjs","version":"5.9.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.9.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"07d8cfb38652b3b7da7fdef25ab9a5e3ddd71cbc","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.9.0.tgz","fileCount":59,"integrity":"sha512-JYw65ye1CQLCjq/cdgXbtN9IEV95Fi5n82NxsIyuFktLjeFd+NghdYtF39VY7fLeriPIfdZGUMhbvvLKOQgnSw==","signatures":[{"sig":"MEQCIEmVrKtX/ZdxViF5FWXeLec350zsjxSHYtTn/vsP95+LAiAE26vvKu9R2afAwdVH9xKQxjgIgiWn14MgirN63nmaAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":534861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTtS+CRA9TVsSAnZWagAAcYoP/RpCs/dGegzh8JOXCZTY\nthyxlvAn5eY8Kfv8hcgDriVxFdmxEgXVS2jCa8BUsUlpJdBtzvxB4Bd5bsyh\n2hYiKIloLsgD8NLUcc6rAUm/MrWA6P9jOySDjBNwRdxnsaDQlbTBOBCWYg5T\nz329w9lz58JxTV/Tnifxw/YOGSVednJh3ebxtv3J59Jhwhm8+AIV4qYN7SiZ\noqMiOPpGuxOzlcqNf+62WOphCvvC3dL9R5T9U8OC3i1QoG5YjKr4ZOuO4TZr\n21vpLEDHwG9FtCJTycvQd8tF152rBU81UkPS9TJUL1X4KMtjmueN6acAkOXR\nRNik/ToK5CwoAr7CUo5YRmclyG4YM2h4hBNnmafyWpgfzE1Ubp3JJ5yi8EFi\nQFnw1WSoY7pG8FaR4iGxHH2SI/uFzG0xO0K1uQ6ez96Q+drAziguWTm0CeOm\ndkCesU7hV1NqTzJqffmF0sWVXSK3/ZukwhFkfU7VWcASYjtbagTR1X+yJ6fI\nnTTdTA4w031NEGUFhauVyOPHl4BIBixUrt363RrTDDv0y0P0Kl+/TTHSz6wv\nxdtIwgb9dprONwMefvsDVPi5PKMqQswqek/kLqzaI5uuL0Xvvti1SRmFK0UL\nRfttcp/IhvWL6HDtBKWxuKlrJ5pF1keBfdBUd3Hm4QXn3FWJNiLIdGw6BhLM\nimeC\r\n=Od+C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"ebf37d4fba682c6e6c6fadb1f01fb5267e196faf","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.13.7","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.9.0_1582224573829_0.36640625050825104","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.10.0":{"name":"fmjs","version":"5.10.0","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.10.0","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"ab3a0b670b6bb1ca391615f586af31b016e3d7a7","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.10.0.tgz","fileCount":59,"integrity":"sha512-pGrimL7ZOuCYfCS0yGUUEqTnfix9lA7fugtz3fhDqjuIUr4Xhx7+bQ8PDTtzOGTcFFtwOE3VxV2Xam9YNvmYgg==","signatures":[{"sig":"MEUCIQCdpdMY0jorHwYASiMyWoQjZD9mKWtH1Sg2zKcbM9xquwIgXJY72u/PmSr4w+qwU0ANEAU4z93Fkzrn7eDJmDIT7Uo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":544363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehKJVCRA9TVsSAnZWagAAmhsQAJ5zIzNtymlmnpLP5GKN\nkynM2qciBhDhRlLm4diaCNWF1Mk0ys87SaYXi2PY8+zcAsHcGXeDtyPdHXU4\nCrrSy5ZxxF0vSsNjjHV7GiV+GrcAPWfD9PRppQdOXM2nkK4Aw4LPaFwG0lsT\nq3LstVEGjt9tDEtSa5kXhkAE0NufFmPvA00EGsYlefQsbJyeZpSpmSPMYNh8\nl7Lh47BviBraVC4V7NuzJnYYvaHV3V7BURRSA2MJo2siKTAeB3aXTVcPK1fh\nRdBxzoaTSa+I3XbcIjdzmPNUA3AxtXp+mhrNEVGmum9fKzyH8eoyeUnirOYv\nNBECoO77G8CLYeQuQmf4LjmaIfQMCCU7fd70C8tMOXlj+f8RLGoKj9/mhjWa\nnTYkvSWu1ey95ERSKt5FLla2JqNqEB1dFPsm6Chw/wKNgPndzZjxu8FoysuL\nBDikGwbdrAuOJK6qPt79QDQyL5VReYu1Dn6WnTs0nlRGtzpprnnkKUqHr9jw\nSApcJZV7XijcKPsb0pDpnI/rnOLcQSNC48RjcrHf52NTkQlABMYCiwYBfzhp\nzoF6pB3YXUmLX0Bz+BFC9mzdPAu2Qxjdp8o/d9HeayU6q28qlwuOHvaQmoVG\ndpW9NrfUKGWak3md5cQts2VjYEqk+A8+r/VF1v3QNTBQuzl/gr51teD06iPg\ndKWk\r\n=f2kK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"9de74acbc11e34812bd4bb4931f0f917359a8740","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.14.2","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.13.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.10.0_1585750612770_0.6663506503518575","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.10.1":{"name":"fmjs","version":"5.10.1","author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","_id":"fmjs@5.10.1","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"homepage":"https://gitlab.com/kswedberg/fmjs#readme","bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"dist":{"shasum":"2fb32b97f615245180ee605b3ac5898d878911f3","tarball":"https://registry.npmjs.org/fmjs/-/fmjs-5.10.1.tgz","fileCount":59,"integrity":"sha512-lRTeJ6v5CrGkEReGlaC8SHILLfwuc2eypf8wViq+ZmSwkug0pM1BZBNAKXK9pleiMtwWQ5s8Mc2N24yHjFWgPA==","signatures":[{"sig":"MEQCIFKaCMxspQ3526BegXdng1gUSDiGLUi77m+Raw81j+jAAiBeTKS9s6386PXbU6ZtkBmBcpsWbSx0CUFBPvDt26nX0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":545278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2kGBCRA9TVsSAnZWagAAcZIP/1Kv2Yw3/q8sopfthIgL\n/DmEyJNei9Ra8a/Z/KOt4/ZebZn5/CiDB+hO1G1eI+7hWfLQ5icn0HWNr7/i\nb2qyE0LN+H0PPswriMqmB+xXCz23UsunsDfkmc9P6PnRXCtzW7hY1Ctj4UnZ\nMuGWeXikjBlDN6z8IMG6tq7gyqvRnQzuk7UdVruzPr4WB+vpJM1stFmSCZM3\nyr1CXJQlWYEnSw6/oCnZeESRpBAtscC13tdgaXa3YhfXjbLYc7eSp/Aflv3G\np/VaRch4QSE6GdnAQIGT+n7iVTd25vroT+EgsM6GS1SgAdEkfHjGbQZVwCbe\njfAdqG/r5EfuwysRXsgWnraZLhpaxqeeTuZ07Gekgp70cOTHQgG+CAtSTbqD\nAHGHRp8zLsitF1huw5uxcno0oCgn4oV5yfS9wR6pRTNc0ES0fMzxw+n7uDlA\nK+Z0sRGOnJWCLUw/qG8JlgcmgQhyf0vGak3EVY2WBe8OkhTNcOMKBK6mbWy8\n28AxFMNHNmQPaVm0+WLFcq8Itwk7gcJaPsJVRkn5WmdoqPZ2n06kvjKA7jT3\ntnepTTOoW7T+Lq5f4eM7pnccFUY5+nn7T6Y5SU254piaYYmUizT4OqZky0+Z\nvQI2yMiiMQR+/DwCLZOPE2hsGIxEnGfAOBqOWR7vonnadrrYD1Xv1VDE0Fg/\n3aAy\r\n=5igw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/fm.js","title":"Fusionary JS","module":"index.js","gitHead":"eada7ad2087c59b8dfe074f87e347b0ce31a2251","scripts":{"docs":"node ./scripts/build-docs.js && rm ./scripts/api.md","lint":"eslint -c .eslintrc.js {rollup.config.js,test/,src/}","test":"npm run build:scripts && npm run test:mocha","build":"yarn lint && NODE_ENV=production rollup --config rollup.config.js && yarn docs","serve":"nodemon --watch test/index.html --watch test/qunit ./scripts/server.js","watch":"node ./scripts/watch.js","build:es":"NODE_ENV=production rollup --config rollup.config.js --format es","build:cjs":"NODE_ENV=production rollup --config rollup.config.js --format cjs","build:dist":"NODE_ENV=production rollup --config rollup.config.js --format iife","test:mocha":"TEST_ENV=node mocha --timeout 5000 --require jsdom-global/register --require mock-local-storage test/mocha","build:scripts":"yarn lint && NODE_ENV=production rollup --config rollup.config.js","prepublishOnly":"npm run build:es && npm run build:cjs"},"_npmUser":{"name":"kswedberg","email":"kswedberg@gmail.com"},"repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"_npmVersion":"6.14.4","description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","directories":{},"sideEffects":false,"_nodeVersion":"12.17.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^3.0.0","jsdom":"^11.3.0","mocha":"^3.5.3","eslint":"^6.8.0","rollup":"^1.29.0","nodemon":"^2.0.2","qunitjs":"^2.4.0","request":"^2.88.0","chokidar":"^3.3.1","fs-extra":"^8.1.0","minimist":"^1.2.0","through2":"^3.0.1","jsdom-global":"^3.0.2","jsdoc-to-markdown":"^5.0.0","mock-local-storage":"^1.0.5","@rollup/plugin-buble":"^0.21.0","@rollup/plugin-strip":"^1.3.1","rollup-plugin-banner":"^0.2.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^5.1.3","@rollup/plugin-replace":"^2.3.0","@rollup/plugin-commonjs":"^11.0.1","eslint-config-kswedberg":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fmjs_5.10.1_1591361921107_0.9584476715768553","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2014-08-01T14:42:07.431Z","modified":"2024-09-17T16:42:16.647Z","0.1.8":"2014-08-01T14:42:07.431Z","1.0.0":"2014-08-01T20:01:56.186Z","1.0.1":"2014-08-07T19:09:41.207Z","1.0.2":"2014-08-16T14:45:42.895Z","1.0.3":"2014-08-26T17:48:55.659Z","1.1.0":"2014-08-29T13:49:49.641Z","1.1.1":"2014-09-09T21:10:04.004Z","1.1.2":"2014-09-15T21:34:53.012Z","1.1.3":"2014-09-16T15:56:28.741Z","1.1.4":"2014-09-21T19:54:09.497Z","1.1.5":"2014-09-29T14:12:14.906Z","1.1.6":"2014-10-11T02:04:16.542Z","1.2.0":"2015-01-30T14:44:07.352Z","1.2.1":"2015-01-30T15:28:01.050Z","1.2.2":"2015-02-19T02:21:42.505Z","1.2.3":"2015-02-19T02:22:14.710Z","1.3.0":"2015-03-08T19:36:18.473Z","1.3.1":"2015-03-08T19:55:23.491Z","1.3.2":"2015-03-09T16:45:51.030Z","1.3.3":"2015-03-13T16:00:42.957Z","1.3.4":"2015-03-23T18:00:47.705Z","1.3.5":"2015-03-23T19:46:36.809Z","1.3.6":"2015-04-13T20:54:41.459Z","1.4.0":"2015-05-05T20:22:46.504Z","1.4.1":"2015-05-05T20:57:41.933Z","1.4.2":"2015-05-14T15:03:36.070Z","1.4.3":"2015-05-14T15:31:32.928Z","1.4.4":"2015-06-01T17:22:00.137Z","1.4.5":"2015-06-03T19:24:40.088Z","1.5.0":"2015-08-24T18:45:33.428Z","1.6.0":"2016-01-18T17:39:49.005Z","1.6.1":"2016-01-22T17:22:25.592Z","1.6.2":"2016-02-23T19:27:00.733Z","1.6.3":"2016-03-05T20:04:22.920Z","1.6.4":"2016-03-05T20:06:27.158Z","1.7.0":"2016-03-09T20:14:54.822Z","1.7.1":"2016-03-09T20:36:03.986Z","1.7.2":"2016-03-10T02:37:00.559Z","1.7.3":"2016-03-10T03:02:05.645Z","1.7.4":"2016-03-10T21:53:32.588Z","1.8.0":"2016-03-15T15:37:13.648Z","2.0.0":"2016-03-23T19:15:38.891Z","2.0.1":"2016-03-23T19:17:09.266Z","2.0.2":"2016-03-24T15:53:51.018Z","2.1.0":"2016-03-28T15:23:53.160Z","2.1.1":"2016-03-28T15:39:55.697Z","1.10.0":"2016-03-28T15:43:26.466Z","2.2.0":"2016-04-13T20:48:59.691Z","1.10.1":"2016-05-09T14:32:46.630Z","2.3.0":"2016-05-09T14:49:18.478Z","1.10.2":"2016-05-09T14:58:05.679Z","2.3.1":"2016-05-13T14:22:33.374Z","2.3.2":"2016-05-17T23:56:48.498Z","2.3.3":"2016-07-20T13:21:59.785Z","2.4.0":"2016-08-24T20:33:39.022Z","2.5.0":"2016-08-25T19:55:09.543Z","2.5.1":"2017-01-05T16:48:35.765Z","2.6.0":"2017-01-10T18:10:08.356Z","2.7.0":"2017-05-16T15:15:02.204Z","2.7.1":"2017-06-29T02:36:53.739Z","2.7.2":"2017-08-02T18:23:51.460Z","2.8.0":"2017-08-03T13:58:26.428Z","2.9.0":"2017-08-09T19:00:56.034Z","2.10.0":"2017-08-11T15:29:09.587Z","2.10.1":"2017-09-12T15:08:38.033Z","3.0.0":"2017-10-02T01:53:02.499Z","3.1.0":"2017-10-06T03:13:20.432Z","3.1.1":"2017-10-06T15:16:09.941Z","4.0.0":"2017-10-06T17:10:04.998Z","4.0.1":"2017-10-06T18:01:22.158Z","4.1.0":"2017-10-09T02:34:07.708Z","4.2.0":"2017-10-09T15:24:54.227Z","4.2.1":"2017-10-09T18:13:12.954Z","4.3.0":"2017-10-13T15:30:00.134Z","4.4.0":"2017-10-26T19:17:23.861Z","4.5.0":"2017-11-19T04:56:10.793Z","4.5.1":"2017-11-19T20:46:49.318Z","4.6.0":"2018-12-10T20:57:58.441Z","4.6.1":"2018-12-12T18:06:46.999Z","4.7.0":"2019-03-25T19:45:59.543Z","4.7.1":"2019-05-08T17:50:49.255Z","4.7.2":"2019-05-08T18:05:32.148Z","4.7.3":"2019-10-03T18:49:25.349Z","4.8.0":"2019-11-19T20:36:10.405Z","5.0.0":"2020-01-02T21:19:43.804Z","5.0.1":"2020-01-03T21:23:20.110Z","5.1.0":"2020-01-06T02:48:04.046Z","5.1.1":"2020-01-06T15:47:11.157Z","5.2.0":"2020-01-06T18:34:27.873Z","5.3.0":"2020-01-07T18:01:03.811Z","5.4.0":"2020-01-13T03:09:00.149Z","5.4.1":"2020-01-14T14:28:19.794Z","5.4.2":"2020-01-14T17:56:17.417Z","5.4.3":"2020-01-17T17:03:36.545Z","5.5.0":"2020-01-20T02:23:22.137Z","5.5.1":"2020-01-20T02:29:52.591Z","5.5.2":"2020-01-20T13:58:30.461Z","5.6.0":"2020-01-23T19:13:04.620Z","5.7.0":"2020-02-02T20:24:58.059Z","5.8.0":"2020-02-04T01:37:03.797Z","5.9.0":"2020-02-20T18:49:34.029Z","5.10.0":"2020-04-01T14:16:52.877Z","5.10.1":"2020-06-05T12:58:41.257Z"},"bugs":{"url":"https://gitlab.com/kswedberg/fmjs/issues"},"author":{"name":"Karl Swedberg","email":"kswedberg@gmail.com"},"license":"MIT","homepage":"https://gitlab.com/kswedberg/fmjs#readme","repository":{"url":"git+ssh://git@gitlab.com/kswedberg/fmjs.git","type":"git"},"description":"A bunch of JavaScript functions that we use a lot at Fusionary. ","maintainers":[{"name":"kswedberg","email":"kswedberg@gmail.com"}],"readme":"# Fusionary JavaScript\n\n[![view on npm](http://img.shields.io/npm/v/fmjs.svg)](https://www.npmjs.org/package/fmjs)\n\nThis repo contains a bunch of plain JavaScript functions that we use often at Fusionary. They are mostly provided as ES6\nmodules, but a subset of them are also offered as CommonJS modules so they can easily be used in a node.js environment.\n\n## Install\n\nIf you want to install fmjs via npm or yarn, go ahead:\n\n```bash\nnpm install fmjs\n```\n\n```bash\nyarn add fmjs\n```\n\n## ES6 Modules\n\nIf your bundler supports ES6 module tree shaking, you can do import any function like this:\n\n```js\nimport {$, debounce, deepCopy} from 'fmjs';\n```\n\n(Note: For Webpack, you might need to configure it to treat fmjs as ES6)\n\nOtherwise, for any of the [modules](#modules), you can do this:\n\n```js\nimport {example1, example2} from 'fmjs/example'\n\nexample1('foo');\nexample2('bar');\n```\n\nor this (not recommended):\n\n```js\nimport * as examples from 'fmjs/example'\n\nexamples.example1('foo');\nexamples.example2('bar');\n```\n\n\n\n## CommonJS Modules\n\nThe following [modules](#modules) &amp; their corresponding functions can be used in a node.js environment:\n\n* array\n* color\n* math\n* object\n* promise\n* string\n* timer\n* url\n\nYou can require them from their respective files in the `cjs` directory, like so:\n\n```js\nconst {example1} = require('fmjs/cjs/example');\n\nexample1('foo');\n```\n\nor like so:\n\n```js\nconst examples = require('fmjs/cjs/example');\n\nexamples.example1('foo');\n```\n\n<a name=\"modules\"></a>\n---\n\n## Modules\n\n* <a href=\"#module_ajax\">ajax</a>\n* <a href=\"#module_analytics\">analytics</a>\n* <a href=\"#module_array\">array</a>\n* <a href=\"#module_color\">color</a>\n* <a href=\"#module_cookie\">cookie</a>\n* <a href=\"#module_dom\">dom</a>\n* <a href=\"#module_event\">event</a>\n* <a href=\"#module_form\">form</a>\n* <a href=\"#module_jsonp\">jsonp</a>\n* <a href=\"#module_math\">math</a>\n* <a href=\"#module_object\">object</a>\n* <a href=\"#module_promise\">promise</a>\n* <a href=\"#module_selection\">selection</a>\n* <a href=\"#module_storage\">storage</a>\n* <a href=\"#module_string\">string</a>\n* <a href=\"#module_timer\">timer</a>\n* <a href=\"#module_url\">url</a>\n<a name=\"module_ajax\"></a>\n\n## ajax\nES6 Import Example:\n```js\nimport {getJSON} from 'fmjs';\n\n// or:\nimport {getJSON} from 'fmjs/ajax.js';\n```\n\n\n* [ajax](#module_ajax)\n  * [ajax([url], [options])](#module_ajax..ajax) ⇒ <code>Promise</code>\n  * [getJSON([url], [options])](#module_ajax..getJSON) ⇒ <code>Promise</code>\n  * [postJSON([url], [options])](#module_ajax..postJSON) ⇒ <code>Promise</code>\n  * [postFormData([url], [options])](#module_ajax..postFormData) ⇒ <code>Promise</code>\n\n<a name=\"module_ajax..ajax\"></a>\n\n### ajax([url], [options]) ⇒ <code>Promise</code>\n\nLow-level ajax request\n\n**Returns**: <code>Promise</code> - A resolved or rejected Promise from the server<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [url] | <code>string</code> | <code>location.href</code> | The URL of the resource |\n| [options] | <code>Object</code> |  |  |\n| [options.dataType] | <code>string</code> |  | One of 'json', 'html', 'xml', 'form', 'formData'. Used for setting the `Content-Type` request header (e.g. `multipart/form-data` when 'formData`) and processing the response (e.g. calling JSON.parse() on a string response when 'json'); |\n| [options.data] | <code>Object</code> \\| <code>string</code> |  | Data to send along with the request. If it's a GET request and `options.data` is an object, the object is converted to a query string and appended to the URL. |\n| [options.method] | <code>string</code> | <code>&quot;GET&quot;</code> | One of 'GET', 'POST', etc. |\n| [options.cache] | <code>boolean</code> | <code>true</code> | If set to `false`, will not let server use cached response |\n| [options.memcache] | <code>boolean</code> | <code>false</code> | If set to `true`, and a previous request sent to the same url was successful, will circumvent request and use the previous response |\n| [options.headers] | <code>Object</code> | <code>{}</code> | **Advanced**: Additional headers to send with the request. If headers such as 'Accept', 'Content-Type', 'Cache-Control', 'X-Requested-With', etc.,  are set here, they will override their respective headers set automatically based on other options such as `options.dataType` and `options.cache`. |\n\n<a name=\"module_ajax..getJSON\"></a>\n\n### getJSON([url], [options]) ⇒ <code>Promise</code>\n\nSend a GET request and return parsed JSON response from the resolved Promise\n\n**Returns**: <code>Promise</code> - A resolved or rejected Promise from the server<br />\n\n**See**: [ajax](#module_ajax..ajax)\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [url] | <code>string</code> | <code>location.href</code> | The URL of the resource |\n| [options] | <code>Object</code> | <code>{}</code> | See [ajax](#module_ajax..ajax) for details |\n\n<a name=\"module_ajax..postJSON\"></a>\n\n### postJSON([url], [options]) ⇒ <code>Promise</code>\n\nSend a POST request and return parsed JSON response from the resolved Promise\n\n**Returns**: <code>Promise</code> - A resolved or rejected Promise from the server<br />\n\n**See**: [ajax](#module_ajax..ajax)\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [url] | <code>string</code> | <code>location.href</code> | The URL of the resource |\n| [options] | <code>Object</code> | <code>{}</code> | See [ajax](#module_ajax..ajax) for details |\n\n<a name=\"module_ajax..postFormData\"></a>\n\n### postFormData([url], [options]) ⇒ <code>Promise</code>\n\nSend a POST request with `FormData` derived from form element provided by `options.form`\n\n**Returns**: <code>Promise</code> - A resolved or rejected Promise from the server<br />\n\n**See**: [ajax](#module_ajax..ajax)\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [url] | <code>string</code> | <code>location.href</code> | The URL of the resource |\n| [options] | <code>Object</code> | <code>{}</code> | See [ajax](#module_ajax..ajax) for details |\n\n<a name=\"module_analytics\"></a>\n\n## analytics\nES6 Import Example:\n```js\nimport {analytics} from 'fmjs';\n\n// or:\nimport {analytics} from 'fmjs/analytics.js';\n```\n\n<a name=\"module_analytics.analytics\"></a>\n\n### analytics\n\nLoad the google analytics script and set it up to track page views. If the document title has \"page not found\" in it (case insensitive). It'll prepend `/404/` to the url for the page-view tracking.\n\n\n* **Warning**: untested\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| id | <code>string</code> | The google analytics ID |\n| [type] | <code>string</code> | The only possible value for the `type` argument is `'legacy'`. |\n\n<a name=\"module_array\"></a>\n\n## array\nES6 Import Example:\n```js\nimport {isArray} from 'fmjs';\n\n// or:\nimport {isArray} from 'fmjs/array.js';\n```\n\nCommonJS Require Example:\n```js\nconst {isArray} = require('fmjs/cjs/array.js');\n```\n\n\n* [array](#module_array)\n  * [isArray(arr)](#module_array..isArray) ⇒ <code>boolean</code>\n  * [inArray(el, arr)](#module_array..inArray) ⇒ <code>boolean</code>\n  * [randomItem(arr)](#module_array..randomItem) ⇒ <code>Any</code>\n  * [pluck(arr, prop)](#module_array..pluck) ⇒ <code>array</code>\n  * [shuffle(arr)](#module_array..shuffle) ⇒ <code>array</code>\n  * [collapse(array1, array2, ...arrays)](#module_array..collapse) ⇒ <code>array</code>\n  * [merge(array1, array2)](#module_array..merge) ⇒ <code>array</code>\n  * [intersect(arr1, arr2, [prop])](#module_array..intersect) ⇒ <code>array</code>\n  * [unique(arr, [prop])](#module_array..unique) ⇒ <code>array</code>\n  * [diff(arr1, arr2, [prop])](#module_array..diff) ⇒ <code>array</code>\n  * [chunk(arr, num)](#module_array..chunk) ⇒ <code>array</code>\n  * [pad(arr, size, value)](#module_array..pad) ⇒ <code>array</code>\n\n<a name=\"module_array..isArray\"></a>\n\n### isArray(arr) ⇒ <code>boolean</code>\n\nDetermine whether \"arr\" is a true array\n\n**Returns**: <code>boolean</code> - `true` if arr is array, `false` if not<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | item to determine whether it's an array |\n\n**Example**  \n```js\nimport {isArray} from 'fmjs/array.js';\n\nif (isArray(window.foo)) {\n  window.foo.push('bar');\n}\n```\n<a name=\"module_array..inArray\"></a>\n\n### inArray(el, arr) ⇒ <code>boolean</code>\n\nDetermine whether item \"el\" is in array \"arr\"\n\n**Returns**: <code>boolean</code> - Boolean (`true` if el is in array, `false` if not)<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Any</code> | An item to test against the array |\n| arr | <code>array</code> | The array to test against |\n\n<a name=\"module_array..randomItem\"></a>\n\n### randomItem(arr) ⇒ <code>Any</code>\n\nReturn a random item from the provided array\n\n**Returns**: <code>Any</code> - A random element from the provided array<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | An array of elements |\n\n<a name=\"module_array..pluck\"></a>\n\n### pluck(arr, prop) ⇒ <code>array</code>\n\nTake an array of objects and a property and return an array of values of that property\n\n**Returns**: <code>array</code> - Array of values of the property (if the value is `undefined`, returns `null` instead)<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array from which to pluck |\n| prop | <code>string</code> | Property to pluck |\n\n**Example**  \n```js\nimport {pluck} from 'fmjs/array.js';\n\nlet family = [\n  {\n    id: 'dad',\n    name: 'Karl'\n  },\n  {\n    id: 'mom',\n    name: 'Sara',\n    color: 'blue'\n  },\n  {\n    id: 'son',\n    name: 'Ben',\n    color: 'green'\n  },\n  {\n    id: 'daughter',\n    name: 'Lucy'\n  }\n];\n\nlet names = pluck(family, 'name');\nlet ids = pluck(family, 'id');\nlet colors = pluck(family, 'color');\n\nconsole.log(names);\n// Logs: ['Karl', 'Sara', 'Ben', 'Lucy']\n\nconsole.log(ids);\n// Logs: ['dad', 'mom', 'son', 'daughter']\n\nconsole.log(colors);\n// Logs: [null, 'blue', 'green', null]\n```\n<a name=\"module_array..shuffle\"></a>\n\n### shuffle(arr) ⇒ <code>array</code>\n\nFisher-Yates (aka Knuth) shuffle. Takes an array of elements and returns the same array, but with its elements shuffled\n\n**Returns**: <code>array</code> - The array passed to `arr`, shuffled<br />\n\n**See**: [knuth-shuffle](https://github.com/coolaj86/knuth-shuffle)\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array to be shuffled |\n\n<a name=\"module_array..collapse\"></a>\n\n### collapse(array1, array2, ...arrays) ⇒ <code>array</code>\n\nCollapse two or more arrays into a single, new array. Same as `merge()`, but not limited to two arrays.\n\n**Returns**: <code>array</code> - A new collapsed array<br />\n\n* **Warning**: untested\n\n**See**: [merge](#module_array..merge)\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array1 | <code>array</code> | First array |\n| array2 | <code>array</code> | Second array |\n| ...arrays | <code>array</code> | Additional arrays to collapse |\n\n<a name=\"module_array..merge\"></a>\n\n### merge(array1, array2) ⇒ <code>array</code>\n\nMerge two arrays into a single, new array. Same as `collapse()` but only works with two array arguments.\n\n**Returns**: <code>array</code> - A new merged array<br />\n\n* **Warning**: untested\n\n**See**: [collapse](#module_array..collapse)\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array1 | <code>array</code> | First array |\n| array2 | <code>array</code> | Second array |\n\n<a name=\"module_array..intersect\"></a>\n\n### intersect(arr1, arr2, [prop]) ⇒ <code>array</code>\n\nReturn a subset of `array1`, only including elements from `array2` that are also in `array1`.\n* If `prop` is provided, only that property of an element needs to match for the two arrays to be considered intersecting at that element\n\n**Returns**: <code>array</code> - A new filtered array<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr1 | <code>array</code> | First array |\n| arr2 | <code>array</code> | Second array |\n| [prop] | <code>any</code> | Optional property to compare in each element of the array |\n\n**Example**  \n```js\nconst array1 = [{name: 'Foo', id: 'a'}, {name: 'Bar', id: 'b'}];\nconst array2 = [{name: 'Foo', id: 'z'}, {name: 'Zippy', id: 'b'}];\n\nconsole.log(intersect(array1, array2, 'name'));\n// Logs [{name: 'Foo', id: 'a'}]\n\nconsole.log(intersect(array1, array2, 'id'));\n// Logs [{name: 'Bar', id: 'b'}]\n```\n<a name=\"module_array..unique\"></a>\n\n### unique(arr, [prop]) ⇒ <code>array</code>\n\nTake an array of elements and return an array containing unique elements.\nIf an element is an object or array:\n* when `prop` is *undefined*, uses `JSON.stringify()` when checking the elements\n* when `prop` is *provided*, only that property needs to match for the element to be considered a duplicate and thus excluded from the returned array\n\n**Returns**: <code>array</code> - A new filtered array<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array to be filtered by uniqueness of elements (or property of elements) |\n| [prop] | <code>Any</code> | Optional property to be tested if an element in `arr` is an object or array |\n\n**Example**  \n```js\nconst array1 = [1, 2, 3, 2, 5, 1];\nconst uniq = unique(array1);\nconsole.log(uniq);\n// Logs: [1, 2, 3, 5]\n```\n<a name=\"module_array..diff\"></a>\n\n### diff(arr1, arr2, [prop]) ⇒ <code>array</code>\n\nReturn a subset of `array1`, only including elements that are NOT also in `array2`. The returned array won't include any elements from `array2`.\nIf an element is an object or array:\n* when `prop` is *undefined*, uses `JSON.stringify()` when performing the comparison on an object or array\n* when `prop` is *provided*, only that property needs to match for the item to be excluded fom the returned array\n\n**Returns**: <code>array</code> - A filtered array<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr1 | <code>array</code> | Array for which to return a subset |\n| arr2 | <code>array</code> | Array to use as a comparison |\n| [prop] | <code>string</code> | Optional property to be tested if an element in `arr1` is an object or array |\n\n**Example**  \n```js\nconst array1 = [1, 2, 3, 4];\nconst array2 = [2, 3, 5, 6, -1];\nconsole.log(diff(array1, array2));\n// Logs: [1, 4]\n```\n<a name=\"module_array..chunk\"></a>\n\n### chunk(arr, num) ⇒ <code>array</code>\n\nFrom an array passed into the first argument, create an array of arrays, each one consisting of `num` items. (The final nested array may have fewer than `num` items.)\n\n**Returns**: <code>array</code> - A new, chunked, array<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array to be chunked. This array itself will not be modified. |\n| num | <code>number</code> | Number of elements per chunk |\n\n<a name=\"module_array..pad\"></a>\n\n### pad(arr, size, value) ⇒ <code>array</code>\n\nPad an array with `value` until its length equals `size`\n\n**Returns**: <code>array</code> - The array passed to `arr`, padded<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array to pad |\n| size | <code>number</code> | Total length of the array after padding it |\n| value | <code>any</code> | Value to use for each \"padded\" element of the array |\n\n<a name=\"module_color\"></a>\n\n## color\nES6 Import Example\n```js\nimport {rgb2Hex} from 'fmjs'\n\n// or:\nimport {rgb2Hex} from 'fmjs/color.js'\n```\n\nCJS Require Example\n```js\nconst {rgb2Hex} = require('fmjs/cjs/color.js');\n```\n\n\n* [color](#module_color)\n  * _static_\n    * [hex2Rgb](#module_color.hex2Rgb)\n  * _inner_\n    * [rgb2Hex(rgb)](#module_color..rgb2Hex) ⇒ <code>string</code>\n    * [rgba2Hex(rgba)](#module_color..rgba2Hex) ⇒ <code>string</code>\n    * [rgb2Luminance(rgb)](#module_color..rgb2Luminance) ⇒ <code>number</code>\n    * [getContrastColor(bgColor, [darkColor], [lightColor])](#module_color..getContrastColor) ⇒ <code>string</code>\n\n<a name=\"module_color.hex2Rgb\"></a>\n\n### hex2Rgb\n\nConvert a hex value to an rgb or rgba value\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| hex | <code>string</code> | Hex color code in shorthand format (e.g. #333, #333a) or longhand (e.g. #333333, #333333aa) |\n| [alpha] | <code>number</code> | Optional number from 0 to 1 to be used with 3- or 6-character hex format |\n\n<a name=\"module_color..rgb2Hex\"></a>\n\n### rgb2Hex(rgb) ⇒ <code>string</code>\n\nConvert an rgb value to a 6-digit hex value. If an *rgba* value is passed, the opacity is ignored\n\n**Returns**: <code>string</code> - Hex value (e.g. `#ff780a`)<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| rgb | <code>string</code> \\| <code>array</code> | either an rgb string such as `'rgb(255, 120, 10)'` or an rgb array such as `[255, 120, 10]` |\n\n**Example**  \n```js\nrgb2Hex('rgb(255, 136, 0)')\n// => '#ff8800'\n\nrgb2Hex([255, 136, 0])\n// => '#ff8800'\n\nrgb2Hex('rgba(255, 136, 0, .8)')\n// => '#ff8800'\n```\n<a name=\"module_color..rgba2Hex\"></a>\n\n### rgba2Hex(rgba) ⇒ <code>string</code>\n\nConvert an rgba value to an 8-digit hex value, or an rgb value to a 6-digit hex value\n\n**Returns**: <code>string</code> - Hex value (e.g. `#ff780a80`)<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| rgba | <code>string</code> \\| <code>array</code> | either an rgba string such as `'rgba(255, 120, 10, .5)'` or an rgba array such as `[255, 120, 10, .5]` |\n\n**Example**  \n```js\nrgba2Hex('rgba(255, 136, 0, .8)')\n// => '#ff8800cc'\n\nrgba2Hex([255, 136, 0, .8])\n// => '#ff8800cc'\n\nrgba2Hex('rgb(255, 136, 0)')\n// => '#ff8800'\n```\n<a name=\"module_color..rgb2Luminance\"></a>\n\n### rgb2Luminance(rgb) ⇒ <code>number</code>\n\nConvert an RGB color to a luminance value. You probably don't want to use this on its own\n\n**Returns**: <code>number</code> - The luminance value<br />\n\n**See**\n\n- [getContrastColor()](#module_color..getContrastColor)\n- [StackOverflow](https://stackoverflow.com/questions/9733288/how-to-programmatically-calculate-the-contrast-ratio-between-two-colors) for more information\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| rgb | <code>string</code> \\| <code>array</code> | RGB value represented as a string (e.g. `rgb(200, 100, 78)`) or an array (e.g. `[200, 100, 78]`) |\n\n<a name=\"module_color..getContrastColor\"></a>\n\n### getContrastColor(bgColor, [darkColor], [lightColor]) ⇒ <code>string</code>\n\nReturn darkColor if bgColor is light and lightColor if bgColor is dark. \"Light\" and \"dark\" are determined by the [rgb2Luminance](#module_color..rgb2Luminance) algorithm\n\n**Returns**: <code>string</code> - Contrasting color<br />\n\n* **Warning**: untested\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| bgColor | <code>string</code> |  | hex code (e.g. #daf or #3d31c2) of the color to contrast |\n| [darkColor] | <code>string</code> | <code>&quot;#000&quot;</code> | The dark color to return if `bgColor` is considered light |\n| [lightColor] | <code>string</code> | <code>&quot;#fff&quot;</code> | The light color to return if `bgColor` is considered dark |\n\n<a name=\"module_cookie\"></a>\n\n## cookie\nES6 Import Example:\n```js\nimport {getCookie} from 'fmjs';\n\n// or:\nimport {getCookie} from 'fmjs/cookie.js';\n```\n\n\n* [cookie](#module_cookie)\n  * [getCookie(name)](#module_cookie..getCookie) ⇒ <code>string</code>\n  * [setCookie(name, value, [options])](#module_cookie..setCookie) ⇒ <code>string</code>\n  * [removeCookie(name, [path])](#module_cookie..removeCookie)\n\n<a name=\"module_cookie..getCookie\"></a>\n\n### getCookie(name) ⇒ <code>string</code>\n\nGet the value of a cookie\n\n**Returns**: <code>string</code> - value The value of the cookie<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | The name of the cookie whose value you wish to get |\n\n<a name=\"module_cookie..setCookie\"></a>\n\n### setCookie(name, value, [options]) ⇒ <code>string</code>\n\nSet the value of a cookie. Use either expires or maxAge (or max-age). NOT BOTH.\n\n**Returns**: <code>string</code> - The new cookie<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| name | <code>string</code> |  | Name of the cookie |\n| value | <code>string</code> |  | Value of the cookie |\n| [options] | <code>Object</code> |  | Optional object |\n| [options.path] | <code>string</code> | <code>&quot;/&quot;</code> | Path within which the cookie can be read. Default is '/' |\n| [options.domain] | <code>string</code> |  | If not specified, browser defaults to host portion of current location. If domain specified, subdomains always included. (Note: don't use leading \".\"). Default is undefined. |\n| [options.expires] | <code>number</code> |  | Number of days after which the cookie should expire. Default is undefined. |\n| [options.maxAge] | <code>number</code> |  | Number of seconds after which the cookie should expire. Default is undefined. |\n| [options.samesite] | <code>string</code> |  | One of 'strict' or 'lax'. Default is undefined. |\n| [options.secure] | <code>boolean</code> |  | If `true`, cookie can only be sent over secure protocol (e.g. https). Default is undefined. |\n\n<a name=\"module_cookie..removeCookie\"></a>\n\n### removeCookie(name, [path])\n\nRemove a cookie\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| name | <code>string</code> | Name of the cookie to remove |\n| [path] | <code>string</code> | Optional path of the cookie to remove. If not provided, all `name` cookies in `location.pathname` or any of its parents will be removed. |\n\n<a name=\"module_dom\"></a>\n\n## dom\nES6 Import Example:\n```js\nimport {addClass} from 'fmjs';\n\n// or:\nimport {addClass} from 'fmjs/dom.js';\n```\n\n\n* [dom](#module_dom)\n  * [toNodes(element(s))](#module_dom..toNodes) ⇒ <code>array</code>\n  * [\\$(selector, [context])](#module_dom..$) ⇒ <code>Array</code>\n  * [\\$1(selector, [context])](#module_dom..$1) ⇒ <code>Element</code>\n  * [addClass(el, className, [...classNameN])](#module_dom..addClass) ⇒ <code>string</code>\n  * [removeClass(el, className, [...classNameN])](#module_dom..removeClass) ⇒ <code>string</code>\n  * [toggleClass(el, className, [toggle])](#module_dom..toggleClass) ⇒ <code>string</code>\n  * [replaceClass(el, oldClass, newClass)](#module_dom..replaceClass) ⇒ <code>string</code>\n  * [getOffset(el)](#module_dom..getOffset) ⇒ <code>Object</code>\n  * [setStyles(el, styles)](#module_dom..setStyles) ⇒ <code>Element</code>\n  * [setAttrs(el, attrs)](#module_dom..setAttrs) ⇒ <code>Element</code>\n  * [getAttrs(el, attrs)](#module_dom..getAttrs) ⇒ <code>Object</code>\n  * [toggleAttr(el, attribute, [toggle])](#module_dom..toggleAttr) ⇒ <code>string</code>\n  * [prepend(el, toInsert)](#module_dom..prepend) ⇒ <code>Element</code>\n  * [append(el, toInsert)](#module_dom..append) ⇒ <code>Element</code>\n  * [before(el, toInsert)](#module_dom..before) ⇒ <code>Element</code>\n  * [after(el, toInsert)](#module_dom..after) ⇒ <code>Element</code>\n  * [createTree(options)](#module_dom..createTree) ⇒ <code>Element(s)</code>\n  * [remove(el)](#module_dom..remove) ⇒ <code>Element</code>\n  * [empty(el)](#module_dom..empty) ⇒ <code>Element</code>\n  * [replace(oldEl, replacement)](#module_dom..replace)\n  * [loadScript(options)](#module_dom..loadScript) ⇒ <code>Promise</code>\n\n<a name=\"module_dom..toNodes\"></a>\n\n### toNodes(element(s)) ⇒ <code>array</code>\n\nConverts a selector string, DOM element, or collection of DOM elements into an array of DOM elements\n\n**Returns**: <code>array</code> - An array of DOM elements<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| element(s) | <code>Element</code> \\| <code>NodeList</code> \\| <code>array</code> \\| <code>string</code> | The selector string, element, or collection of elements (NodeList, HTMLCollection, Array, etc) |\n\n<a name=\"module_dom..$\"></a>\n\n### $(selector, [context]) ⇒ <code>Array</code>\n\nReturn an array of DOM Nodes within the document or provided element/nodelist\n\n**Returns**: <code>Array</code> - Array of DOM nodes matching the selector within the context<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| selector | <code>string</code> |  | The CSS selector of the DOM elements |\n| [context] | <code>Element</code> \\| <code>NodeList</code> \\| <code>array</code> \\| <code>string</code> | <code>document</code> | The selector string, element, or collection of elements (NodeList, HTMLCollection, Array, etc) representing one or more elements within which to search for `selector` |\n\n<a name=\"module_dom..$1\"></a>\n\n### $1(selector, [context]) ⇒ <code>Element</code>\n\nReturn the first found DOM Element within the document or provided element/nodelist/HTMLCollection\n\n**Returns**: <code>Element</code> - First DOM Element matching the selector within the context<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| selector | <code>string</code> |  | Selector string for finding the DOM element |\n| [context] | <code>Element</code> \\| <code>NodeList</code> \\| <code>array</code> \\| <code>string</code> | <code>document</code> | The selector string, element, or collection of elements (NodeList, HTMLCollection, Array, etc) representing one or more elements within which to search for `selector` |\n\n<a name=\"module_dom..addClass\"></a>\n\n### addClass(el, className, [...classNameN]) ⇒ <code>string</code>\n\nAdd one or more classes to an element\n\n**Returns**: <code>string</code> - the resulting class after classes have been removed<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element for which to add the class |\n| className | <code>string</code> | class to add to the DOM element |\n| [...classNameN] | <code>string</code> | one or more additional className arguments representing classes to add to the element |\n\n<a name=\"module_dom..removeClass\"></a>\n\n### removeClass(el, className, [...classNameN]) ⇒ <code>string</code>\n\nRemove one or more classes from an element\n\n**Returns**: <code>string</code> - the resulting class after classes have been removed<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element from which to remove the class |\n| className | <code>string</code> | class to remove from the DOM element |\n| [...classNameN] | <code>string</code> | one or more additional className arguments representing classes to remove from the element |\n\n<a name=\"module_dom..toggleClass\"></a>\n\n### toggleClass(el, className, [toggle]) ⇒ <code>string</code>\n\nAdd a class if it's not present (or if toggle is true); remove the class if it is present (or if toggle is false)\n\n**Returns**: <code>string</code> - The `className` property of the element after the class has been toggled<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Element on which to toggle the class |\n| className | <code>string</code> | The class name to either add or remove |\n| [toggle] | <code>boolean</code> | Optional boolean argument to indicate whether className is to be added (true) or removed (false) |\n\n<a name=\"module_dom..replaceClass\"></a>\n\n### replaceClass(el, oldClass, newClass) ⇒ <code>string</code>\n\nReplace oldClass with newClass\n\n**Returns**: <code>string</code> - The `className` property of the element after the class has been replaced<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element for which you want to replace oldClass with newClass |\n| oldClass | <code>string</code> | The class name you want to get rid of |\n| newClass | <code>string</code> | The class name you want to add in place of oldClass |\n\n<a name=\"module_dom..getOffset\"></a>\n\n### getOffset(el) ⇒ <code>Object</code>\n\nGet the top and left distance to the element (from the top of the document)\n\n**Returns**: <code>Object</code> - Object with `top` and `left` properties representing the top and left offset of the element<br />\n\n* **Warning**: untested\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Element for which to get the offset |\n\n<a name=\"module_dom..setStyles\"></a>\n\n### setStyles(el, styles) ⇒ <code>Element</code>\n\nSet one or more styles on an element.\n\n**Returns**: <code>Element</code> - The original element, with the styles set<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | element on which to add styles |\n| styles | <code>Object.&lt;string, (string\\|number)&gt;</code> | object of styles and their values to add to the element |\n\n<a name=\"module_dom..setAttrs\"></a>\n\n### setAttrs(el, attrs) ⇒ <code>Element</code>\n\nSet one or more attributes on an element. For boolean attributes ('async', 'required', etc.), set the element's property to either `true` or `false`\n\n**Returns**: <code>Element</code> - The original element, with the attributes set<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | element on which to add attributes |\n| attrs | <code>Object.&lt;string, (string\\|boolean\\|number)&gt;</code> | object of attributes and their values to add to the element |\n\n<a name=\"module_dom..getAttrs\"></a>\n\n### getAttrs(el, attrs) ⇒ <code>Object</code>\n\nGiven an array of attribute names, get an object containing attribute names/values for an element\n\n**Returns**: <code>Object</code> - Object of attribute names along with their values<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM Element. If NodeList is provided, uses the first element in the list |\n| attrs | <code>array.&lt;string&gt;</code> | Array of attribute names |\n\n<a name=\"module_dom..toggleAttr\"></a>\n\n### toggleAttr(el, attribute, [toggle]) ⇒ <code>string</code>\n\nAdd an attribute to an element if it's not present (or if toggle is `true`); remove the attribute if it is present (or if toggle is `false`)\n\n**Returns**: <code>string</code> - The attribute name if it has been added, `undefined` if it has been removed<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Element on which to toggle the attribute |\n| attribute | <code>string</code> | The attribute to either add or remove |\n| [toggle] | <code>boolean</code> | Optional boolean argument to indicate whether the attribute is to be added (true) or removed (false) * |\n\n<a name=\"module_dom..prepend\"></a>\n\n### prepend(el, toInsert) ⇒ <code>Element</code>\n\nInsert an element as the first child of `el`\n\n**Returns**: <code>Element</code> - The inserted element<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Reference element |\n| toInsert | <code>Element</code> \\| <code>string</code> | DOM element or HTML string to insert as the first child of `el` |\n\n<a name=\"module_dom..append\"></a>\n\n### append(el, toInsert) ⇒ <code>Element</code>\n\nInsert an element as the last child of `el`\n\n**Returns**: <code>Element</code> - The inserted element<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Reference element |\n| toInsert | <code>Element</code> \\| <code>string</code> | DOM element or HTML string to insert as the last child of `el` |\n\n<a name=\"module_dom..before\"></a>\n\n### before(el, toInsert) ⇒ <code>Element</code>\n\nInsert an element as the previous sibling of `el`\n\n**Returns**: <code>Element</code> - The inserted element<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Reference element |\n| toInsert | <code>Element</code> \\| <code>string</code> | DOM element or HTML string to insert as the previous sibling of `el` |\n\n<a name=\"module_dom..after\"></a>\n\n### after(el, toInsert) ⇒ <code>Element</code>\n\nInsert an element as the next sibling of `el`\n\n**Returns**: <code>Element</code> - The inserted element<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | Reference element |\n| toInsert | <code>Element</code> \\| <code>string</code> | DOM element or HTML string to insert as the next sibling of `el` |\n\n<a name=\"module_dom..createTree\"></a>\n\n### createTree(options) ⇒ <code>Element(s)</code>\n\nProvide an object, along with possible child objects, to create a node tree ready to be inserted into the DOM.\n\n**Returns**: <code>Element(s)</code> - The created Element node tree<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | <code>Object</code> |  |\n| [options.tag] | <code>string</code> | Optional tag name for the element. If none provided, a document fragment is created instead |\n| [options.text] | <code>string</code> | Optional inner text of the element. |\n| [options.children] | <code>Array.&lt;Object&gt;</code> | Optional array of objects, with each object representing a child node |\n| [...options[attr]] | <code>string</code> | One or more optional attributes to set on the element |\n\n<a name=\"module_dom..remove\"></a>\n\n### remove(el) ⇒ <code>Element</code>\n\nRemove an element from the DOM\n\n**Returns**: <code>Element</code> - DOM element removed from the DOM<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element to be removed |\n\n<a name=\"module_dom..empty\"></a>\n\n### empty(el) ⇒ <code>Element</code>\n\nEmpty an element's children from the DOM\n\n**Returns**: <code>Element</code> - DOM element provided by `el` argument<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element to clear of all children |\n\n<a name=\"module_dom..replace\"></a>\n\n### replace(oldEl, replacement)\n\nReplace a DOM element with one or more other elements\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| oldEl | <code>Element</code> | The element to be replaced |\n| replacement | <code>Element</code> \\| <code>Array.&lt;Element&gt;</code> | An element, or an array of elements, to insert in place of `oldEl` |\n\n<a name=\"module_dom..loadScript\"></a>\n\n### loadScript(options) ⇒ <code>Promise</code>\n\nInsert a script into the DOM with reasonable default properties, returning a promise. If `options.id` is set, will avoid loading  script if the id is already in the DOM.\n\n**Returns**: <code>Promise</code> - Promise that is either resolved or rejected. If `options.id` is NOT provided or if no element exists with id of `options.id`, promise is resolved when script is loaded. If `options.id` IS provided and element with same id exists, promise is resolved or rejected (depending on `options.onDuplicateId`) with no attempt to load new script.<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| options | <code>Object</code> |  | An object of options for loading the script. All except `complete` and `completeDelay` will be set as properties on the script element before it is inserted. |\n| [options.src] | <code>string</code> |  | The value of the script's `src` property. Required if `options.textContent` not set |\n| [options.textContent] | <code>string</code> |  | The text content of the script. Ignored if `options.src` set. Required if `options.src` NOT set. |\n| [options.async] | <code>boolean</code> | <code>true</code> | The value of the script's `async` property. Default is `true`. |\n| [options.completeDelay] | <code>number</code> | <code>0</code> | Number of milliseconds to wait when the script has loaded before resolving the Promise to account for time it might take for the script to be parsed |\n| [options.id] | <code>string</code> |  | String representing a valid identifier to set as the script element's `id` property. If set, the script will not be loaded if an element with the same id already appears in the DOM |\n| [options.onDuplicateId] | <code>string</code> | <code>&quot;resolve&quot;</code> | One of 'resolve' or 'reject'. Whether to return a resolved or rejected promise when a script with an id matching the provided `options.id` is already in the DOM. Either way, the function will not attempt to load the script again and the resolved/rejected promise will be passed an object with `{duplicate: true}`. |\n| [...options[scriptProperties]] | <code>boolean</code> \\| <code>string</code> |  | Any other values to be set as properties of the script element |\n\n<a name=\"module_event\"></a>\n\n## event\nES6 Import Example:\n```js\nimport {addEvent} from 'fmjs';\n\n// or:\nimport {addEvent} from 'fmjs/event.js';\n```\n\n\n* [event](#module_event)\n  * [addEvent(el, type, handler(event), [options])](#module_event..addEvent)\n  * [removeEvent(el, type, [handler], [options])](#module_event..removeEvent)\n  * [triggerEvent(el, type, detail)](#module_event..triggerEvent)\n\n<a name=\"module_event..addEvent\"></a>\n\n### addEvent(el, type, handler(event), [options])\n\nA wrapper around `addEventListener` that deals with browser inconsistencies (e.g. `capture`, `passive`, `once` props on `options` param; see param documentation below for details) and handles window load similar to how jQuery handles document ready by triggering  handler immediately if called *after* the event has already fired.\nFor triggering window load, this file MUST be imported before window.load occurs.\n\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| el | <code>Element</code> |  | DOM element to which to attach the event handler |\n| type | <code>string</code> |  | Event type |\n| handler(event) | <code>function</code> |  | Handler function. Takes `event` as its argument |\n| [options] | <code>Object</code> \\| <code>boolean</code> | <code>false</code> | Optional object or boolean. If boolean, indicates whether the event should be in \"capture mode\" rather than starting from innermost element and bubbling out. Default is `false`. If object, and browser does not support object, argument is set to capture property if provided |\n| [options.capture] | <code>boolean</code> | <code>false</code> | Indicates if the event should be in \"capture mode\" rather than starting from innermost element and bubbling out. Default is `false`. |\n| [options.passive] | <code>boolean</code> |  | If `true`, uses passive mode to reduce jank. **This is automatically set to `true`** for supported browsers if not explicitly set to `false` for the following event types: touchstart, touchmove, wheel, mousewheel. Ignored if not supported. |\n| [options.once] | <code>boolean</code> |  | If `true`, removes listener after it is triggered once on the element. |\n\n<a name=\"module_event..removeEvent\"></a>\n\n### removeEvent(el, type, [handler], [options])\n\nA wrapper around `removeEventListener` that naïvely deals with oldIE inconsistency.\n\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| el | <code>Element</code> |  | DOM element to which to attach the event handler |\n| type | <code>string</code> |  | Event type. |\n| [handler] | <code>function</code> |  | Handler function to remove. |\n| [options] | <code>Object</code> \\| <code>boolean</code> | <code>false</code> | Optional object or boolean. If boolean, indicates whether event to be removed was added in \"capture mode\". Important: non-capturing here only removes non-capturing added event and vice-versa. |\n| [options.capture] | <code>boolean</code> |  | Indicates whether event to be removed was added in \"capture mode\" |\n\n<a name=\"module_event..triggerEvent\"></a>\n\n### triggerEvent(el, type, detail)\n\nTrigger a custom event on an element for which a listener has been set up\n\nDerived from emitEvent(): (c) 2019 Chris Ferdinandi, MIT License, https://gomakethings.com\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | DOM element on which to trigger the event |\n| type | <code>string</code> | Name representing the custom event type |\n| detail | <code>Object</code> | Object to make available as the `detail` property of the event handler's `event` argument |\n\n**Example**  \n```js\n// Using this module's addEvent() function\n// Add a custom event handler\naddEvent(document.body, 'myCustomEvent', (event) => console.log(event.detail.weather));\n\n// Later…\n// Trigger the custom event\ntriggerEvent(document.body, 'myCustomEvent', {weather: 'sunshine'});\n// Logs: 'sunshine'\n```\n<a name=\"module_form\"></a>\n\n## form\nES6 Import Example:\n```js\nimport {getFormData} from 'fmjs';\n\n// or:\nimport {getFormData} from 'fmjs/form.js';\n```\n\n<a name=\"module_form..getFormData\"></a>\n\n### getFormData ⇒ <code>Any</code>\n\nReturn the set of successful form controls of the provided `form` element in one of four types: object, string, formData, or array.\n\n**Returns**: <code>Any</code> - The set of successful form controls as the provided `type`<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| form | <code>Element</code> |  | The form element |\n| [type] | <code>string</code> | <code>&quot;object&quot;</code> | One of 'object', 'string', 'formData', or 'array' |\n\n**Methods**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| .object(form) | <code>function</code> | Return form data as an object of key/value pairs |\n| .string(form) | <code>function</code> | Return form data as a query string |\n| .formData(form) | <code>function</code> | Return a `FormData` instance |\n| .array(form) | <code>function</code> | Return form data as an array of objects with `name` and `value` properties |\n\n**Example**  \n```js\nconst myform = document.getElementById('myform');\n\nconsole.log(getFormData.object(myform));\n// Logs:\n// {\n//    email: 'name@example.com',\n//    gender: 'female',\n//    meals: ['breakfast', 'dinner']\n// }\n```\n**Example**  \n```js\nconst myform = document.getElementById('myform');\n\nconsole.log(getFormData.string(myform));\n// Logs:\n// email=name%40example.com&gender=female&meals[]=breakfast&meals[]=dinner\n```\n**Example**  \n```js\nconst myform = document.getElementById('myform');\n\nconsole.log(getFormData.array(myform));\n// Logs:\n// [\n//    {\n//      name: 'email',\n//      value: 'name@example.com'\n//    },\n//    {\n//      name: 'gender',\n//      value: 'femail'\n//    },\n//    {\n//      name: 'meals[]',\n//      value: 'breakfast'\n//    },\n//    {\n//      name: 'meals[]',\n//      value: 'dinner'\n//    }\n// ]\n```\n<a name=\"module_jsonp\"></a>\n\n## jsonp\nES6 Import Example:\n```js\nimport {getJSONP} from 'fmjs';\n\n// or:\nimport {getJSONP} from 'fmjs/jsonp.js';\n```\n\n<a name=\"module_jsonp..getJSONP\"></a>\n\n### getJSONP(options, callback(json))\n\nFunction for those times when you just need to make a \"jsonp\" request (and you can't set up CORS on the server). In other words, x-site script grabbing.\n\n\n* **Warning**: untested\n* **Warning**: requires setup on server side\n* **Warning**: not entirely safe\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| options | <code>Object</code> |  |  |\n| options.url | <code>string</code> |  | URL of the jsonp endpoint |\n| [options.data] | <code>Object</code> |  | Optional data to include with the request |\n| [options.data.callback] | <code>string</code> | <code>&quot;jsonp.[timestamp]&quot;</code> | Optional value of the callback query-string parameter to append to the script's `src` |\n| callback(json) | <code>function</code> |  | Function to be called when request is complete. A json object is passed to it. |\n\n**Example**  \n```js\ngetJSONP({url: 'https://example.com/api/'})\n```\n<a name=\"module_math\"></a>\n\n## math\nES6 Import Example:\n```js\nimport {median} from 'fmjs';\n\n// or:\nimport {median} from 'fmjs/math.js';\n```\n\nCommonJS Require Example:\n```js\nconst {median} = require('fmjs/cjs/math.js');\n```\n\n\n* [math](#module_math)\n  * [add(array)](#module_math.add) ⇒ <code>number</code>\n  * [subtract(array)](#module_math.subtract) ⇒ <code>number</code>\n  * [multiply(array)](#module_math.multiply) ⇒ <code>number</code>\n  * [divide(array)](#module_math.divide) ⇒ <code>number</code>\n  * [mod(dividend, [divisor])](#module_math.mod) ⇒ <code>number</code>\n  * [average(nums)](#module_math.average) ⇒ <code>number</code>\n  * [median(nums)](#module_math.median) ⇒ <code>number</code>\n  * [min(nums)](#module_math.min) ⇒ <code>number</code>\n  * [max(nums)](#module_math.max) ⇒ <code>number</code>\n\n<a name=\"module_math.add\"></a>\n\n### add(array) ⇒ <code>number</code>\n\nReturn the result of adding an array of numbers (sum)\n\n**Returns**: <code>number</code> - Sum<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.subtract\"></a>\n\n### subtract(array) ⇒ <code>number</code>\n\nReturn the result of subtracting an array of numbers (difference)\n\n**Returns**: <code>number</code> - Difference<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.multiply\"></a>\n\n### multiply(array) ⇒ <code>number</code>\n\nReturn the result of multiplying an array of numbers (product)\n\n**Returns**: <code>number</code> - Product<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.divide\"></a>\n\n### divide(array) ⇒ <code>number</code>\n\nReturn the result of dividing an array of numbers (quotient)\n\n**Returns**: <code>number</code> - Quotient<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| array | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.mod\"></a>\n\n### mod(dividend, [divisor]) ⇒ <code>number</code>\n\nReturn the remainder after dividing two numbers (modulo)\n\n**Returns**: <code>number</code> - Remainder<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| dividend | <code>number</code> \\| <code>array</code> | A number representing the dividend OR an array of [dividend, divisor] |\n| [divisor] | <code>number</code> | Number representing the divisor if the first argument is a number |\n\n<a name=\"module_math.average\"></a>\n\n### average(nums) ⇒ <code>number</code>\n\nReturn the average of an array of numbers\n\n**Returns**: <code>number</code> - Average<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| nums | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.median\"></a>\n\n### median(nums) ⇒ <code>number</code>\n\nReturn the median of an array of numbers\n\n**Returns**: <code>number</code> - Median<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| nums | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.min\"></a>\n\n### min(nums) ⇒ <code>number</code>\n\nReturn the number with the lowest value from an array of numbers\n\n**Returns**: <code>number</code> - Minimum value<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| nums | <code>array</code> | Array of numbers |\n\n<a name=\"module_math.max\"></a>\n\n### max(nums) ⇒ <code>number</code>\n\nReturn the number with the highest value from an array of numbers\n\n**Returns**: <code>number</code> - Maximum value<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| nums | <code>array</code> | Array of numbers |\n\n<a name=\"module_object\"></a>\n\n## object\nES6 Import Example:\n```js\nimport {deepCopy} from 'fmjs';\n\n// or:\nimport {deepCopy} from 'fmjs/object.js';\n```\n\nCommonJS Require Example:\n```js\nconst {deepCopy} = require('fmjs/cjs/object.js');\n```\n\n\n* [object](#module_object)\n  * [isObject(obj)](#module_object..isObject)\n  * [isPlainObject(obj)](#module_object..isPlainObject)\n  * [deepCopy(obj, [cache])](#module_object..deepCopy) ⇒ <code>Object</code>\n  * [extend(target, ...object)](#module_object..extend) ⇒ <code>Object</code>\n  * [getProperty(root, properties, fallbackVaue)](#module_object..getProperty) ⇒ <code>\\*</code>\n  * [isEmptyObject(object)](#module_object..isEmptyObject) ⇒ <code>boolean</code>\n  * [setProperty(root, properties)](#module_object..setProperty) ⇒ <code>Object</code>\n  * [forEachValue(obj, fn)](#module_object..forEachValue) ⇒ <code>undefined</code>\n  * [pick(obj, props)](#module_object..pick) ⇒ <code>Object</code>\n  * [omit(obj, props)](#module_object..omit) ⇒ <code>Object</code>\n\n<a name=\"module_object..isObject\"></a>\n\n### isObject(obj)\n\nIndicate if the provided argument is an object/array\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The argument that will be checked to see if it is an object |\n\n<a name=\"module_object..isPlainObject\"></a>\n\n### isPlainObject(obj)\n\nIndicate if the provided argument is a plain object\nDerived from lodash _.isPlainObject\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The argument that will be checked to see if it is a plain object |\n\n<a name=\"module_object..deepCopy\"></a>\n\n### deepCopy(obj, [cache]) ⇒ <code>Object</code>\n\nDeep copy an object, avoiding circular references and the infinite loops they might cause.\n\n**Returns**: <code>Object</code> - A copy of the object<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The object to copy |\n| [cache] | <code>Array.&lt;Object&gt;</code> | Used internally to avoid circular references |\n\n<a name=\"module_object..extend\"></a>\n\n### extend(target, ...object) ⇒ <code>Object</code>\n\nDeep merge two or more objects in turn, with right overriding left\n\nHeavily influenced by/mostly ripped off from jQuery.extend\n\n**Returns**: <code>Object</code> - The merged object<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| target | <code>Object</code> | The target object that will be mutated. Use `{}` to create new object |\n| ...object | <code>Object</code> | One or more objects to merge into the first |\n\n**Example**  \n```js\nconst foo = {\n  one: 'singular',\n  two: 'are better'\n};\n\nconst bar = {\n  one: 'taste',\n  choco: 'hershey',\n  saloon: 'wild west',\n};\n\nconst merged = extend(foo, bar);\n\n// merged is now:\n// {\n//  one: 'taste',\n//  two: 'are better',\n//  choco: 'hershey',\n//  saloon: 'wild west',\n// }\n\n\n// because foo was mutated, it is also:\n// {\n//  one: 'taste',\n//  two: 'are better',\n//  choco: 'hershey',\n//  saloon: 'wild west',\n// }\n```\n<a name=\"module_object..getProperty\"></a>\n\n### getProperty(root, properties, fallbackVaue) ⇒ <code>\\*</code>\n\nGet a nested property of an object in a safe way\n\n**Returns**: <code>\\*</code> - The value of the nested property, or `undefined`, or the designated fallback value<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| root | <code>Object</code> | The root object |\n| properties | <code>Array.&lt;String&gt;</code> \\| <code>String</code> | Either an array of properties or a dot-delimited string of properties |\n| fallbackVaue | <code>Any</code> | A value to assign if it's otherwise undefined |\n\n**Example**  \n```js\nconst foo = {\n  could: {\n   keep: {\n    going: 'but will stop'\n  }\n};\n\nconsole.log(getProperty(foo, 'could.keep.going'))\n// Logs: 'but will stop'\n\nconsole.log(getProperty(foo, ['could', 'keep', 'going']))\n// Logs: 'but will stop'\n\nconsole.log(getProperty(foo, ['broken', 'not', 'happening']))\n// Logs: undefined\n};\n```\n<a name=\"module_object..isEmptyObject\"></a>\n\n### isEmptyObject(object) ⇒ <code>boolean</code>\n\nDetermine whether an object (or array) is \"empty\"\n\n**Returns**: <code>boolean</code> - `true` if object has no keys or array no elements<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| object | <code>Object</code> \\| <code>array</code> | The object to test |\n\n<a name=\"module_object..setProperty\"></a>\n\n### setProperty(root, properties) ⇒ <code>Object</code>\n\nSet a nested property of an object in a safe way\n\n**Returns**: <code>Object</code> - The modified root object<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| root | <code>Object</code> | The root object |\n| properties | <code>array.&lt;String&gt;</code> \\| <code>String</code> | Either an array of properties or a dot-delimited string of properties |\n\n<a name=\"module_object..forEachValue\"></a>\n\n### forEachValue(obj, fn) ⇒ <code>undefined</code>\n\nLoop through an object, calling a function for each element (like forEach, but for an object)\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The object to iterate over |\n| fn | <code>function</code> | A function to be called for each member of the object. The function takes two parameters: the member's value and the member's key, respectively |\n\n<a name=\"module_object..pick\"></a>\n\n### pick(obj, props) ⇒ <code>Object</code>\n\nReturn a new object containing only the properties included in the props array.\n\n**Returns**: <code>Object</code> - A copy of the object, containing only the `props` properties<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The object from which to get properties |\n| props | <code>array</code> | Propertes to get from the object |\n\n<a name=\"module_object..omit\"></a>\n\n### omit(obj, props) ⇒ <code>Object</code>\n\nReturn a new object, excluding the properties in the props array.\n\n**Returns**: <code>Object</code> - A modified copy of the object<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| obj | <code>Object</code> | The object from which to get properties |\n| props | <code>array</code> | Propertes to exclude from the object |\n\n<a name=\"module_promise\"></a>\n\n## promise\nES6 Import Example:\n```js\nimport {peach} from 'fmjs';\n\n// or:\nimport {peach} from 'fmjs/promise.js';\n```\n\nCommonJS Require Example:\n```js\nconst {peach} = require('fmjs/cjs/promise.js');\n```\n\n<a name=\"module_promise..peach\"></a>\n\n### peach(arr, callback(item,i)) ⇒ <code>array.&lt;Promise&gt;</code>\n\n\"Promised `each()`\" for iterating over an array of items, calling a function that returns a promise for each one. So, each one waits for the previous one to resolve before being called\n\n**Returns**: <code>array.&lt;Promise&gt;</code> - Array of promises<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| arr | <code>array</code> | Array to iterate over |\n| callback(item,i) | <code>callback</code> | Function that is called for each element in the array, each returning a promise |\n\n<a name=\"module_selection\"></a>\n\n## selection\nES6 Import Example:\n```js\nimport {getSelection} from 'fmjs';\n\n// or:\nimport {getSelection} from 'fmjs/selection.js';\n```\n\n\n* [selection](#module_selection)\n  * [replaceSelection](#module_selection.replaceSelection) ⇒ <code>Object</code>\n  * [setSelection(elem, [startPos], [endPos])](#module_selection.setSelection)\n  * [setSelectionAll(el)](#module_selection.setSelectionAll)\n  * [getSelection(el)](#module_selection.getSelection)\n\n<a name=\"module_selection.replaceSelection\"></a>\n\n### replaceSelection ⇒ <code>Object</code>\n\nReplace the selected text in a given element with the provided text\n\n**Returns**: <code>Object</code> - Selection object containing the following properties: `{start, end, length, text}`<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| elem | <code>Element</code> | Element containing the selected text |\n| replaceString | <code>string</code> | String to replace the selected text |\n\n<a name=\"module_selection.setSelection\"></a>\n\n### setSelection(elem, [startPos], [endPos])\n\nSet the selection of an element's contents.\nNOTE: If startPos and/or endPos are used on a non-input element,\nonly the first text node within the element will be used for selection\n\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| elem | <code>Element</code> |  | The element for which to set the selection |\n| [startPos] | <code>number</code> | <code>0</code> | The start position of the selection. Default is 0. |\n| [endPos] | <code>number</code> |  | The end position of the selection. Default is the last index of the element's contents. |\n\n<a name=\"module_selection.setSelectionAll\"></a>\n\n### setSelectionAll(el)\n\nSets the selection of **all** of the element's contents (including all of its children)\n\n\n* **Warning**: untested\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | The element for which to select all content |\n\n<a name=\"module_selection.getSelection\"></a>\n\n### getSelection(el)\n\nReturn an object with the following properties related to the selected text within the element:\n* `start`: 0-based index of the start of the selection\n* `end`: 0-based index of the end of the selection\n* `length`: the length of the selection\n* `text`: the selected text within the element\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| el | <code>Element</code> | An element with selected text |\n\n<a name=\"module_storage\"></a>\n\n## storage\nES6 Import Example:\n```js\nimport {Storage} from 'fmjs';\n\n// or:\nimport {Storage} from 'fmjs/storage.js';\n```\n\n\n* [storage](#module_storage)\n  * _instance_\n    * [getLength()](#module_storage+getLength) ⇒ <code>number</code>\n    * [get(key)](#module_storage+get) ⇒ <code>Any</code>\n    * [set(key, value)](#module_storage+set) ⇒ <code>string</code>\n    * [remove(key)](#module_storage+remove)\n    * [clear()](#module_storage+clear)\n    * [getAll()](#module_storage+getAll) ⇒ <code>Object</code>\n    * [keys()](#module_storage+keys) ⇒ <code>array</code>\n  * _inner_\n    * [Storage](#module_storage..Storage)\n      * [new Storage([type], [namespace])](#new_module_storage..Storage_new)\n\n<a name=\"module_storage+getLength\"></a>\n\n### getLength() ⇒ <code>number</code>\n\nGet the number of items in the storage\n\n**Returns**: <code>number</code> - The number of items<br />\n\n<a name=\"module_storage+get\"></a>\n\n### get(key) ⇒ <code>Any</code>\n\nGet and JSON.parse the value of the storage item identified by `key`\n\n**Returns**: <code>Any</code> - The JSON.parsed value of the storage item<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| key | <code>string</code> | The key of the storage item |\n\n<a name=\"module_storage+set\"></a>\n\n### set(key, value) ⇒ <code>string</code>\n\nSet the JSON.stringified value of the storage item identified by `key`\n\n**Returns**: <code>string</code> - The stringified value that is set<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| key | <code>string</code> | The key of the storage item |\n| value | <code>Any</code> | The value to be set for `key` |\n\n<a name=\"module_storage+remove\"></a>\n\n### remove(key)\n\nRemove the storage item identified by `key`\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| key | <code>string</code> | The key of the storage item to remove |\n\n<a name=\"module_storage+clear\"></a>\n\n### clear()\n\nRemove all storage items\n\n\n<a name=\"module_storage+getAll\"></a>\n\n### getAll() ⇒ <code>Object</code>\n\nGet an object of key/value pairs of all storage items\n\n**Returns**: <code>Object</code> - All storage items<br />\n\n<a name=\"module_storage+keys\"></a>\n\n### keys() ⇒ <code>array</code>\n\nLoop through all storage items and return an array of their keys\n\n**Returns**: <code>array</code> - Array of the keys of all storage items<br />\n\n<a name=\"module_storage..Storage\"></a>\n\n### Storage\n\n<a name=\"new_module_storage..Storage_new\"></a>\n\n#### Storage([type], [namespace])\n\nConstructor for storage functions.\n\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| [type] | <code>string</code> | <code>&quot;local&quot;</code> | Type of storage: either 'local' or 'session' |\n| [namespace] | <code>string</code> | <code>&quot;fm&quot;</code> | Namespace for keys to prevent potenial collisions with storage items used by libraries, etc. |\n\n<a name=\"module_string\"></a>\n\n## string\nES6 Import Example:\n```js\nimport {slugify} from 'fmjs';\n\n// or:\nimport {slugify} from 'fmjs/string.js';\n```\n\nCommonJS Require Example:\n```js\nconst {slugify} = require('fmjs/cjs/string.js');\n```\n\n\n* [string](#module_string)\n  * [stringTo(value, [type], [options])](#module_string.stringTo) ⇒ <code>Boolean</code> \\| <code>Number</code> \\| <code>Array</code>\n  * [pluralize(str, num, [ending])](#module_string.pluralize) ⇒ <code>string</code>\n  * [changeCase(str, type)](#module_string.changeCase) ⇒ <code>string</code>\n  * [slugify(str)](#module_string.slugify) ⇒ <code>string</code>\n  * [commafy(val, [separator])](#module_string.commafy) ⇒ <code>string</code>\n  * [rot13(string)](#module_string.rot13) ⇒ <code>string</code>\n  * [hashCode(str, [prefix])](#module_string.hashCode) ⇒ <code>number</code> \\| <code>string</code>\n  * [base64Encode(str)](#module_string.base64Encode) ⇒ <code>string</code>\n  * [base64Decode(str)](#module_string.base64Decode) ⇒ <code>string</code>\n\n<a name=\"module_string.stringTo\"></a>\n\n### stringTo(value, [type], [options]) ⇒ <code>Boolean</code> \\| <code>Number</code> \\| <code>Array</code>\n\nCasts a value to the specified `type` or to best guess at a type if none given\n\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| value | <code>string</code> | Value to cast |\n| [type] | <code>function</code> | (Boolean|Number|Array) |\n| [options] | <code>object</code> |  |\n\n<a name=\"module_string.pluralize\"></a>\n\n### pluralize(str, num, [ending]) ⇒ <code>string</code>\n\nConverts a singular word to a plural\n\n**Returns**: <code>string</code> - Pluralized string<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| str | <code>string</code> |  | Word to pluralize |\n| num | <code>number</code> |  | Number of items |\n| [ending] | <code>string</code> | <code>&quot;s&quot;</code> | Optional ending of the pluralized word |\n\n<a name=\"module_string.changeCase\"></a>\n\n### changeCase(str, type) ⇒ <code>string</code>\n\nChanges the case of the provided words according to the `type`.\n\n**Returns**: <code>string</code> - Converted string<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| str | <code>string</code> | String that will be cased as determined by `type` |\n| type | <code>string</code> | One of 'title|sentence|caps|camel|slug' |\n\n**Example**  \n```js\nconst oldMan = 'the old man and the sea';\n\nconsole.log(changeCase(oldMan, 'title'));\n// Logs: 'The Old Man and the Sea'\n\nconsole.log(changeCase(oldMan, 'sentence'));\n// Logs: 'The old man and the sea'\n\nconsole.log(changeCase(oldMan, 'camel'));\n// Logs: 'theOldManAndTheSea'\n```\n<a name=\"module_string.slugify\"></a>\n\n### slugify(str) ⇒ <code>string</code>\n\nSlugify a string by lowercasing it and replacing white spaces and non-alphanumerics with dashes.\n\n**Returns**: <code>string</code> - \"Slugified\" string<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| str | <code>string</code> | String to be converted to a slug |\n\n**Example**  \n```js\nconsole.log(slugify('Hello there, how are you?'));\n// Logs: 'hello-there-how-are-you'\n\nconsole.log(slugify('  You? & Me<3* '));\n// Logs: 'you-me-3'\n```\n<a name=\"module_string.commafy\"></a>\n\n### commafy(val, [separator]) ⇒ <code>string</code>\n\nAdd commas (or provided `separator`) to a number, or a string representing a number, of 1000 or greater.\n\n**Returns**: <code>string</code> - number formatted as string<br />\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| val | <code>string</code> \\| <code>number</code> |  | Number to be formatted as a string |\n| [separator] | <code>string</code> | <code>&quot;,&quot;</code> | punctuation to be used for thousands, millions, etc |\n\n<a name=\"module_string.rot13\"></a>\n\n### rot13(string) ⇒ <code>string</code>\n\nROT13 encode/decode a string\n\n**Returns**: <code>string</code> - The encoded (or decoded) string<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| string | <code>string</code> | String to be converted to or from ROT13 |\n\n<a name=\"module_string.hashCode\"></a>\n\n### hashCode(str, [prefix]) ⇒ <code>number</code> \\| <code>string</code>\n\nConvert a string to Java-like numeric hash code\n\n**Returns**: <code>number</code> \\| <code>string</code> - The converted hash code as numeral (or string, if prefix is provided)<br />\n\n**See**: http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n\n| Param | Type | Description |\n| --- | --- | --- |\n| str | <code>string</code> | String to be converted |\n| [prefix] | <code>string</code> | Optional prefix to the hash |\n\n<a name=\"module_string.base64Encode\"></a>\n\n### base64Encode(str) ⇒ <code>string</code>\n\nReturn a base64-encoded string based on the provided string.\nIf the browser does not support this type of encoding, returns the string unchanged.\n\n**Returns**: <code>string</code> - base64-encoded string<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| str | <code>string</code> | String to be base4 encoded |\n\n<a name=\"module_string.base64Decode\"></a>\n\n### base64Decode(str) ⇒ <code>string</code>\n\nReturn a decoded string based on the provided base64-encoded string.\nIf the browser does not support this type of encoding, returns the string unchanged.\n\n**Returns**: <code>string</code> - decoded string<br />\n\n\n| Param | Type | Description |\n| --- | --- | --- |\n| str | <code>string</code> | base4-encoded string |\n\n<a name=\"module_timer\"></a>\n\n## timer\nES6 Import Example:\n```js\nimport {debounce} from 'fmjs';\n\n// or:\nimport {debounce} from 'fmjs/timer.js';\n```\n\nCommonJS Require Example:\n```js\nconst {debounce} = require('fmjs/cjs/timer.js');\n```\n\n\n* [timer](#module_timer)\n  * [HOUR](#module_timer..HOUR) : <code>number</code>\n  * [DAY](#module_timer..DAY) : <code>number</code>\n  * [YEAR](#module_timer..YEAR) : <code>number</code>\n  * [debounce(fn, [timerDelay], [ctx])](#module_timer..debounce)\n  * [unbounce(fn, [timerDelay], [ctx])](#module_timer..unbounce)\n  * [throttle(fn, [timerDelay], [context])](#module_timer..throttle)\n  * [raf(fn, [context])](#module_timer..raf)\n\n<a name=\"module_timer..HOUR\"></a>\n\n### HOUR : <code>number</code>\n\nConstant representing the number of milliseconds in an hour\n\n\n<a name=\"module_timer..DAY\"></a>\n\n### DAY : <code>number</code>\n\nConstant representing the number of milliseconds in a day\n\n\n<a name=\"module_timer..YEAR\"></a>\n\n### YEAR : <code>number</code>\n\nConstant representing the number of milliseconds in a year\n\n\n<a name=\"module_timer..debounce\"></a>\n\n### debounce(fn, [timerDelay], [ctx])\n\nSet up a function to be called once at the end of repeated potential calls within a given delay\n\n\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| fn | <code>function</code> |  | The function to trigger once at the end of a series of potential calls within `delay` |\n| [timerDelay] |","readmeFilename":"README.md"}