Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gremlin

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gremlin - npm Package Compare versions

Comparing version 2.3.1 to 2.3.2

3

CHANGELOG.md

@@ -0,1 +1,4 @@

## 2.3.2
- Fix an issue with payloads containing utf8 special characters (@PommeVerte)
## 2.3.1

@@ -2,0 +5,0 @@ - Fix a missing feature from previous release

3

lib/GremlinClient.js

@@ -297,2 +297,3 @@ 'use strict';

var serializedMessage = this.options.accept + JSON.stringify(message);
serializedMessage = unescape(encodeURIComponent(serializedMessage));

@@ -446,2 +447,2 @@ // Let's start packing the message into binary

exports.default = GremlinClient;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9HcmVtbGluQ2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBV1k7Ozs7Ozs7Ozs7Ozs7O0lBR047OztBQUNKLFdBREksYUFDSixHQUEyRDtRQUEvQyw2REFBTyxvQkFBd0M7UUFBbEMsNkRBQU8sMkJBQTJCO1FBQWQsZ0VBQVUsa0JBQUk7OzBCQUR2RCxlQUN1RDs7dUVBRHZELDJCQUN1RDs7QUFHekQsVUFBSyxJQUFMLEdBQVksSUFBWixDQUh5RDtBQUl6RCxVQUFLLElBQUwsR0FBWSxJQUFaLENBSnlEOzt3QkFNbkMsUUFBZCxLQU5pRDtRQU1qRCxxQ0FBTyxtQkFOMEM7OztBQVF6RCxVQUFLLE9BQUw7QUFDRSxnQkFBVSxnQkFBVjtBQUNBLGVBQVMsS0FBVDtBQUNBLFVBQUksTUFBSjtBQUNBLGlCQUFXLEVBQVg7QUFDQSxjQUFRLGtCQUFSO0FBQ0E7T0FDRztBQUNILFlBQU0sS0FBSyxNQUFMLElBQWUsQ0FBQyxLQUFLLFVBQUwsQ0FBZ0IsR0FBaEIsQ0FBRCxTQUE0QixJQUEzQyxHQUFvRCxJQUFwRDtNQVJSLENBUnlEOztBQW1CekQsVUFBSyxVQUFMLEdBQWtCLE1BQUssT0FBTCxDQUFhLE9BQWIsQ0FuQnVDOztBQXFCekQsUUFBSSxNQUFLLFVBQUwsRUFBaUI7QUFDbkIsWUFBSyxTQUFMLEdBQWlCLG1CQUFLLEVBQUwsRUFBakIsQ0FEbUI7S0FBckI7O0FBSUEsVUFBSyxTQUFMLEdBQWlCLEtBQWpCLENBekJ5RDtBQTBCekQsVUFBSyxLQUFMLEdBQWEsRUFBYixDQTFCeUQ7O0FBNEJ6RCxVQUFLLFFBQUwsR0FBZ0IsRUFBaEIsQ0E1QnlEOztBQThCekQsVUFBSyxVQUFMLEdBQWtCLE1BQUssZ0JBQUwsQ0FBc0I7QUFDdEMsZ0JBRHNDO0FBRXRDLGdCQUZzQztBQUd0QyxZQUFNLE1BQUssT0FBTCxDQUFhLElBQWI7S0FIVSxDQUFsQixDQTlCeUQ7O0dB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dXJjZXNDb250ZW50IjpbIi8qanNsaW50IC1XMDc5ICovXG4vKmpzbGludCBub2RlOiB0cnVlICovXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuXG5pbXBvcnQgdXVpZCBmcm9tICdub2RlLXV1aWQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBoaWdobGFuZCBmcm9tICdoaWdobGFuZCc7XG5cbmltcG9ydCBXZWJTb2NrZXRHcmVtbGluQ29ubmVjdGlvbiBmcm9tICcuL1dlYlNvY2tldEdyZW1saW5Db25uZWN0aW9uJztcbmltcG9ydCBNZXNzYWdlU3RyZWFtIGZyb20gJy4vTWVzc2FnZVN0cmVhbSc7XG5pbXBvcnQgZXhlY3V0ZUhhbmRsZXIgZnJvbSAnLi9leGVjdXRlSGFuZGxlcic7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuXG5jbGFzcyBHcmVtbGluQ2xpZW50IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgY29uc3RydWN0b3IocG9ydCA9IDgxODIsIGhvc3QgPSAnbG9jYWxob3N0Jywgb3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgdGhpcy5ob3N0ID0gaG9zdDtcblxuICAgIGNvbnN0IHsgcGF0aCA9ICcnIH0gPSBvcHRpb25zO1xuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgbGFuZ3VhZ2U6ICdncmVtbGluLWdyb292eScsXG4gICAgICBzZXNzaW9uOiBmYWxzZSxcbiAgICAgIG9wOiAnZXZhbCcsXG4gICAgICBwcm9jZXNzb3I6ICcnLFxuICAgICAgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBleGVjdXRlSGFuZGxlcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBwYXRoOiBwYXRoLmxlbmd0aCAmJiAhcGF0aC5zdGFydHNXaXRoKCcvJykgPyBgLyR7cGF0aH1gIDogcGF0aFxuICAgIH1cblxuICAgIHRoaXMudXNlU2Vzc2lvbiA9IHRoaXMub3B0aW9ucy5zZXNzaW9uO1xuXG4gICAgaWYgKHRoaXMudXNlU2Vzc2lvbikge1xuICAgICAgdGhpcy5zZXNzaW9uSWQgPSB1dWlkLnYxKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXVlID0gW107XG5cbiAgICB0aGlzLmNvbW1hbmRzID0ge307XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oe1xuICAgICAgcG9ydCxcbiAgICAgIGhvc3QsXG4gICAgICBwYXRoOiB0aGlzLm9wdGlvbnMucGF0aFxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlQ29ubmVjdGlvbih7IHBvcnQsIGhvc3QsIHBhdGggfSkge1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgV2ViU29ja2V0R3JlbWxpbkNvbm5lY3Rpb24oeyBwb3J0LCBob3N0LCBwYXRoIH0pO1xuXG4gICAgY29ubmVjdGlvbi5vbignb3BlbicsICgpID0+IHRoaXMub25Db25uZWN0aW9uT3BlbigpKTtcbiAgICBjb25uZWN0aW9uLm9uKCdlcnJvcicsIChlcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcikpO1xuICAgIGNvbm5lY3Rpb24ub24oJ21lc3NhZ2UnLCAobWVzc2FnZSkgPT4gdGhpcy5oYW5kbGVQcm90b2NvbE1lc3NhZ2UobWVzc2FnZSkpO1xuICAgIGNvbm5lY3Rpb24ub24oJ2Nsb3NlJywgKGV2ZW50KSA9PiB0aGlzLmhhbmRsZURpc2Nvbm5lY3Rpb24oZXZlbnQpKVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gIH1cblxuICBoYW5kbGVFcnJvcihlcnIpIHtcbiAgICB0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYWxsIGluY29taW5nIHJhdyBtZXNzYWdlIGV2ZW50cyBzZW50IGJ5IEdyZW1saW4gU2VydmVyLCBhbmQgZGlzcGF0Y2hcbiAgICogdG8gdGhlIGFwcHJvcHJpYXRlIGNvbW1hbmQuXG4gICAqXG4gICAqIEBwYXJhbSB7TWVzc2FnZUV2ZW50fSBldmVudFxuICAgKi9cbiAgaGFuZGxlUHJvdG9jb2xNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IG1lc3NhZ2U7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IEJ1ZmZlcihkYXRhLCAnYmluYXJ5Jyk7XG4gICAgY29uc3QgcmF3TWVzc2FnZSA9IEpTT04ucGFyc2UoYnVmZmVyLnRvU3RyaW5nKCd1dGYtOCcpKTtcbiAgICBjb25zdCB7XG4gICAgICByZXF1ZXN0SWQsXG4gICAgICBzdGF0dXM6wqB7XG4gICAgICAgIGNvZGU6IHN0YXR1c0NvZGUsXG4gICAgICAgIG1lc3NhZ2U6IHN0YXR1c01lc3NhZ2VcbiAgICAgIH1cbiAgICB9ID0gcmF3TWVzc2FnZTtcblxuICAgIGNvbnN0IHsgbWVzc2FnZVN0cmVhbSB9ID0gdGhpcy5jb21tYW5kc1tyZXF1ZXN0SWRdO1xuXG4gICAgc3dpdGNoIChzdGF0dXNDb2RlKSB7XG4gICAgICBjYXNlIDIwMDogLy8gU1VDQ0VTU1xuICAgICAgICBkZWxldGUgdGhpcy5jb21tYW5kc1tyZXF1ZXN0SWRdOyAvLyBUT0RPOiBvcHRpbWl6ZSBwZXJmb3JtYW5jZVxuICAgICAgICBtZXNzYWdlU3RyZWFtLnB1c2gocmF3TWVzc2FnZSk7XG4gICAgICAgIG1lc3NhZ2VTdHJlYW0ucHVzaChudWxsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDIwNDogLy8gTk9fQ09OVEVOVFxuICAgICAgICBkZWxldGUgdGhpcy5jb21tYW5kc1tyZXF1ZXN0SWRdO1xuICAgICAgICBtZXNzYWdlU3RyZWFtLnB1c2gobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyMDY6IC8vIFBBUlRJQUxfQ09OVEVOVFxuICAgICAgICBtZXNzYWdlU3RyZWFtLnB1c2gocmF3TWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZGVsZXRlIHRoaXMuY29tbWFuZHNbcmVxdWVzdElkXTtcbiAgICAgICAgbWVzc2FnZVN0cmVhbS5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcihzdGF0dXNNZXNzYWdlICsgJyAoRXJyb3IgJysgc3RhdHVzQ29kZSArJyknKSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIFdlYlNvY2tldCBvbk9wZW4gZXZlbnQsIGZsYWcgdGhlIGNsaWVudCBhcyBjb25uZWN0ZWQgYW5kXG4gICAqIHByb2Nlc3MgY29tbWFuZCBxdWV1ZS5cbiAgICovXG4gIG9uQ29ubmVjdGlvbk9wZW4oKSB7XG4gICAgdGhpcy5jb25uZWN0ZWQgPSB0cnVlO1xuICAgIHRoaXMuZW1pdCgnY29ubmVjdCcpO1xuXG4gICAgdGhpcy5leGVjdXRlUXVldWUoKTtcbiAgfTtcblxuICAvKipcbiAgICogQHBhcmFtIHtDbG9zZUV2ZW50fSBldmVudFxuICAgKi9cbiAgaGFuZGxlRGlzY29ubmVjdGlvbihldmVudCkge1xuICAgIHRoaXMuY2FuY2VsUGVuZGluZ0NvbW1hbmRzKHtcbiAgICAgIG1lc3NhZ2U6ICdXZWJTb2NrZXQgY2xvc2VkJyxcbiAgICAgIGRldGFpbHM6IGV2ZW50XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgdGhlIGN1cnJlbnQgY29tbWFuZCBxdWV1ZSwgc2VuZGluZyBjb21tYW5kcyB0byBHcmVtbGluIFNlcnZlclxuICAgKiAoRmlyc3QgSW4sIEZpcnN0IE91dCkuXG4gICAqL1xuICBleGVjdXRlUXVldWUoKSB7XG4gICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IHsgbWVzc2FnZSB9ID0gdGhpcy5xdWV1ZS5zaGlmdCgpO1xuICAgICAgdGhpcy5zZW5kTWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSByZWFzb25cbiAgICovXG4gIGNhbmNlbFBlbmRpbmdDb21tYW5kcyh7IG1lc3NhZ2UsIGRldGFpbHMgfSkge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gdGhpcy5jb21tYW5kcztcbiAgICBsZXQgY29tbWFuZDtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICBlcnJvci5kZXRhaWxzID0gZGV0YWlscztcblxuICAgIC8vIEVtcHR5IHF1ZXVlXG4gICAgdGhpcy5xdWV1ZS5sZW5ndGggPSAwO1xuICAgIHRoaXMuY29tbWFuZHMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGNvbW1hbmRzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbW1hbmQgPSBjb21tYW5kc1trZXldO1xuICAgICAgY29tbWFuZC5tZXNzYWdlU3RyZWFtLmVtaXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGb3IgYSBnaXZlbiBzY3JpcHQgc3RyaW5nIGFuZCBvcHRpb25hbCBib3VuZCBwYXJhbWV0ZXJzLCBidWlsZCBhIHByb3RvY29sXG4gICAqIG1lc3NhZ2Ugb2JqZWN0IHRvIGJlIHNlbnQgdG8gR3JlbWxpbiBTZXJ2ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufSBzY3JpcHRcbiAgICogQHBhcmFtIHtPYmplY3R9IGJpbmRpbmdzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBtZXNzYWdlXG4gICAqL1xuICBidWlsZE1lc3NhZ2UocmF3U2NyaXB0LCByYXdCaW5kaW5ncyA9IHt9LCBiYXNlTWVzc2FnZSA9IHt9KSB7XG4gICAgbGV0IHsgZ3JlbWxpbiwgYmluZGluZ3MgfSA9IFV0aWxzLmJ1aWxkUXVlcnlGcm9tU2lnbmF0dXJlKHJhd1NjcmlwdCwgcmF3QmluZGluZ3MpO1xuICAgIGNvbnN0IHsgcHJvY2Vzc29yLCBvcCwgYWNjZXB0LCBsYW5ndWFnZSwgYWxpYXNlcyB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgY29uc3QgYmFzZUFyZ3MgPSB7IGdyZW1saW4sIGJpbmRpbmdzLCBhY2NlcHQsIGxhbmd1YWdlLCBhbGlhc2VzIH07XG4gICAgY29uc3QgYXJncyA9IF8uZGVmYXVsdHMoYmFzZU1lc3NhZ2UuYXJncyB8fCB7fSwgYmFzZUFyZ3MpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgIHJlcXVlc3RJZDogdXVpZC52MSgpLFxuICAgICAgcHJvY2Vzc29yLFxuICAgICAgb3AsXG4gICAgICBhcmdzLFxuICAgICAgLi4uYmFzZU1lc3NhZ2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudXNlU2Vzc2lvbikge1xuICAgICAgLy8gQXNzdW1lIHRoYXQgcGVvcGxlIHdhbnQgdG8gdXNlIHRoZSAnc2Vzc2lvbicgcHJvY2Vzc29yIHVubGVzcyBzcGVjaWZpZWRcbiAgICAgIG1lc3NhZ2UucHJvY2Vzc29yID0gbWVzc2FnZS5wcm9jZXNzb3IgfHwgcHJvY2Vzc29yIHx8ICdzZXNzaW9uJztcbiAgICAgIG1lc3NhZ2UuYXJncy5zZXNzaW9uID0gdGhpcy5zZXNzaW9uSWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH07XG5cbiAgc2VuZE1lc3NhZ2UobWVzc2FnZSkge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRNZXNzYWdlID0gdGhpcy5vcHRpb25zLmFjY2VwdCArIEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpO1xuXG4gICAgLy8gTGV0J3Mgc3RhcnQgcGFja2luZyB0aGUgbWVzc2FnZSBpbnRvIGJpbmFyeVxuICAgIC8vIG1pbWVMZW5ndGgoMSkgKyBtaW1lVHlwZSBMZW5ndGggKyBzZXJpYWxpemVkTWVzc2FnZSBMZW5ndGhcbiAgICBsZXQgYmluYXJ5TWVzc2FnZSA9IG5ldyBVaW50OEFycmF5KDEgKyBzZXJpYWxpemVkTWVzc2FnZS5sZW5ndGgpO1xuICAgIGJpbmFyeU1lc3NhZ2VbMF0gPSB0aGlzLm9wdGlvbnMuYWNjZXB0Lmxlbmd0aDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWFsaXplZE1lc3NhZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGJpbmFyeU1lc3NhZ2VbaSArIDFdID0gc2VyaWFsaXplZE1lc3NhZ2UuY2hhckNvZGVBdChpKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uc2VuZE1lc3NhZ2UoYmluYXJ5TWVzc2FnZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzeW5jaHJvbm91c2x5IHNlbmQgYSBzY3JpcHQgdG8gR3JlbWxpbiBTZXJ2ZXIgZm9yIGV4ZWN1dGlvbiBhbmQgZmlyZVxuICAgKiB0aGUgcHJvdmlkZWQgY2FsbGJhY2sgd2hlbiBhbGwgcmVzdWx0cyBoYXZlIGJlZW4gZmV0Y2hlZC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgaW50ZXJuYWxseSB1c2VzIGEgc3RyZWFtIHRvIGhhbmRsZSB0aGUgcG90ZW50aWFsIGNvbmNhdGVuYXRpb25cbiAgICogb2YgcmVzdWx0cy5cbiAgICpcbiAgICogQ2FsbGJhY2sgc2lnbmF0dXJlOiAoRXJyb3IsIEFycmF5PHJlc3VsdD4pXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IHNjcmlwdFxuICAgKiBAcGFyYW0ge09iamVjdH0gYmluZGluZ3NcbiAgICogQHBhcmFtIHtPYmplY3R9IG1lc3NhZ2VcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAgICovXG4gIGV4ZWN1dGUoc2NyaXB0LCBiaW5kaW5ncyA9IHt9LCBtZXNzYWdlID0ge30sIC4uLmFyZ3MpIHtcbiAgICBsZXQgY2FsbGJhY2sgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNhbGxiYWNrID0gbWVzc2FnZTtcbiAgICAgIG1lc3NhZ2UgPSB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlU3RyZWFtID0gdGhpcy5tZXNzYWdlU3RyZWFtKHNjcmlwdCwgYmluZGluZ3MsIG1lc3NhZ2UpO1xuXG4gICAgLy8gVE8gQ0hFQ0s6IGVycm9ycyBoYW5kbGluZyBjb3VsZCBiZSBpbXByb3ZlZFxuICAgIC8vIFNlZSBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2QvbXNnL25vZGVqcy9sSllUOWhaeEZ1MC9MNTlDRmJxV0d5WUpcbiAgICAvLyBmb3IgYW4gZXhhbXBsZSB1c2luZyBkb21haW5zXG4gICAgY29uc3QgeyBleGVjdXRlSGFuZGxlciB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgZXhlY3V0ZUhhbmRsZXIobWVzc2FnZVN0cmVhbSwgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIHNjcmlwdCBhbmQgcmV0dXJuIGEgc3RyZWFtIG9mIGRpc3RpbmN0L3NpbmdsZSByZXN1bHRzLlxuICAgKiBUaGlzIG1ldGhvZCByZWVtaXRzIGEgZGlzdGluY3QgZGF0YSBldmVudCBmb3IgZWFjaCByZXR1cm5lZCByZXN1bHQsIHdoaWNoXG4gICAqIG1ha2VzIHRoZSBzdHJlYW0gYmVoYXZlIGFzIGlmIGByZXN1bHRJdGVyYXRpb25CYXRjaFNpemVgIHdhcyBzZXQgdG8gMS5cbiAgICpcbiAgICogSWYgeW91IGRvIG5vdCB3aXNoIHRoaXMgYmVoYXZpb3IsIHBsZWFzZSB1c2UgY2xpZW50Lm1lc3NhZ2VTdHJlYW0oKSBpbnN0ZWFkLlxuICAgKlxuICAgKiBFdmVuIHRob3VnaCB0aGlzIG1ldGhvZCB1c2VzIEhpZ2hsYW5kLmpzIGludGVybmFsbHksIGl0IGRvZXMgbm90IHJldHVyblxuICAgKiBhIGhpZ2ggbGV2ZWwgSGlnaGxhbmQgcmVhZGFibGUgc3RyZWFtIHNvIHdlIGRvIG5vdCByaXNrIGhhdmluZyB0byBkZWFsXG4gICAqIHdpdGggdW5leHBlY3RlZCBBUEkgYnJlYWtpbmcgY2hhbmdlcyBhcyBIaWdobGFuZC5qcyBldm9sdmVzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtSZWFkYWJsZVN0cmVhbX0gQSBOb2RlLmpzIFN0cmVhbTJcbiAgICovXG4gIHN0cmVhbShzY3JpcHQsIGJpbmRpbmdzLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbWVzc2FnZVN0cmVhbSA9IHRoaXMubWVzc2FnZVN0cmVhbShzY3JpcHQsIGJpbmRpbmdzLCBtZXNzYWdlKTtcbiAgICBjb25zdCBfID0gaGlnaGxhbmQ7IC8vIG92ZXJyaWRlIGxvLWRhc2ggbG9jYWxseVxuXG4gICAgLy8gQ3JlYXRlIGEgbG9jYWwgaGlnaGxhbmQgJ3Rocm91Z2gnIHBpcGVsaW5lIHNvIHdlIGRvbid0IGV4cG9zZVxuICAgIC8vIGEgSGlnaGxhbmQgc3RyZWFtIHRvIHRoZSBlbmQgdXNlciwgYnV0IGEgc3RhbmRhcmQgTm9kZS5qcyBTdHJlYW0yXG4gICAgY29uc3QgdGhyb3VnaCA9IF8ucGlwZWxpbmUoXG4gICAgICBfLm1hcCgoeyByZXN1bHQ6IHsgZGF0YSB9fSkgPT4gZGF0YSksXG4gICAgICBfLnNlcXVlbmNlKClcbiAgICApO1xuXG4gICAgbGV0IHJhd1N0cmVhbSA9IG1lc3NhZ2VTdHJlYW0ucGlwZSh0aHJvdWdoKTtcblxuICAgIG1lc3NhZ2VTdHJlYW0ub24oJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgIHJhd1N0cmVhbS5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcihlKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmF3U3RyZWFtO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBzY3JpcHQgYW5kIHJldHVybiBhIHN0cmVhbSBvZiByYXcgbWVzc2FnZXMgcmV0dXJuZWQgYnkgR3JlbWxpblxuICAgKiBTZXJ2ZXIuXG4gICAqIFRoaXMgbWV0aG9kIGRvZXMgbm90IHJlZW1pdCBvbmUgZGlzdGluY3QgZGF0YSBldmVudCBwZXIgcmVzdWx0LiBJdCBkaXJlY3RseVxuICAgKiBlbWl0cyB0aGUgcmF3IG1lc3NhZ2VzIHJldHVybmVkIGJ5IEdyZW1saW4gU2VydmVyIGFzIHRoZXkgYXJlIHJlY2VpdmVkLlxuICAgKlxuICAgKiBBbHRob3VnaCBwdWJsaWMsIHRoaXMgaXMgYSBsb3cgbGV2ZWwgbWV0aG9kIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yXG4gICAqIGFkdmFuY2VkIHVzYWdlcy5cbiAgICpcbiAgICogQHB1YmxpY1xuICAgKiBAcGFyYW0ge1N0cmluZ3xGdW5jdGlvbn0gc2NyaXB0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBiaW5kaW5nc1xuICAgKiBAcGFyYW0ge09iamVjdH0gbWVzc2FnZVxuICAgKiBAcmV0dXJuIHtNZXNzYWdlU3RyZWFtfVxuICAgKi9cbiAgbWVzc2FnZVN0cmVhbShzY3JpcHQsIGJpbmRpbmdzLCByYXdNZXNzYWdlKSB7XG4gICAgbGV0IHN0cmVhbSA9IG5ldyBNZXNzYWdlU3RyZWFtKHsgb2JqZWN0TW9kZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IGNvbW1hbmQgPSB7XG4gICAgICBtZXNzYWdlOiB0aGlzLmJ1aWxkTWVzc2FnZShzY3JpcHQsIGJpbmRpbmdzLCByYXdNZXNzYWdlKSxcbiAgICAgIG1lc3NhZ2VTdHJlYW06IHN0cmVhbVxuICAgIH07XG5cbiAgICB0aGlzLnNlbmRDb21tYW5kKGNvbW1hbmQpOyAvL3RvZG8gaW1wcm92ZSBmb3Igc3RyZWFtc1xuXG4gICAgcmV0dXJuIHN0cmVhbTtcbiAgfTtcblxuICAvKipcbiAgICogU2VuZCBhIGNvbW1hbmQgdG8gR3JlbWxpbiBTZXJ2ZXIsIG9yIGFkZCBpdCB0byBxdWV1ZSBpZiB0aGUgY29ubmVjdGlvblxuICAgKiBpcyBub3QgZXN0YWJsaXNoZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjb21tYW5kXG4gICAqL1xuICBzZW5kQ29tbWFuZChjb21tYW5kKSB7XG4gICAgY29uc3Qge1xuICAgICAgbWVzc2FnZSxcbiAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgcmVxdWVzdElkXG4gICAgICB9XG4gICAgfSA9IGNvbW1hbmQ7XG5cbiAgICB0aGlzLmNvbW1hbmRzW3JlcXVlc3RJZF0gPSBjb21tYW5kO1xuXG4gICAgaWYgKHRoaXMuY29ubmVjdGVkKSB7XG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXVlLnB1c2goY29tbWFuZCk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBHcmVtbGluQ2xpZW50O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9HcmVtbGluQ2xpZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBV1k7Ozs7Ozs7Ozs7Ozs7O0lBR047OztBQUNKLFdBREksYUFDSixHQUEyRDtRQUEvQyw2REFBTyxvQkFBd0M7UUFBbEMsNkRBQU8sMkJBQTJCO1FBQWQsZ0VBQVUsa0JBQUk7OzBCQUR2RCxlQUN1RDs7dUVBRHZELDJCQUN1RDs7QUFHekQsVUFBSyxJQUFMLEdBQVksSUFBWixDQUh5RDtBQUl6RCxVQUFLLElBQUwsR0FBWSxJQUFaLENBSnlEOzt3QkFNbkMsUUFBZCxLQU5pRDtRQU1qRCxxQ0FBTyxtQkFOMEM7OztBQVF6RCxVQUFLLE9BQUw7QUFDRSxnQkFBVSxnQkFBVjtBQUNBLGVBQVMsS0FBVDtBQUNBLFVBQUksTUFBSjtBQUNBLGlCQUFXLEVBQVg7QUFDQSxjQUFRLGtCQUFSO0FBQ0E7T0FDRztBQUNILFlBQU0sS0FBSyxNQUFMLElBQWUsQ0FBQyxLQUFLLFVBQUwsQ0FBZ0IsR0FBaEIsQ0FBRCxTQUE0QixJQUEzQyxHQUFvRCxJQUFwRDtNQVJSLENBUnlEOztBQW1CekQsVUFBSyxVQUFMLEdBQWtCLE1BQUssT0FBTCxDQUFhLE9BQWIsQ0FuQnVDOztBQXFCekQsUUFBSSxNQUFLLFVBQUwsRUFBaUI7QUFDbkIsWUFBSyxTQUFMLEdBQWlCLG1CQUFLLEVBQUwsRUFBakIsQ0FEbUI7S0FBckI7O0FBSUEsVUFBSyxTQUFMLEdBQWlCLEtBQWpCLENBekJ5RDtBQTBCekQsVUFBSyxLQUFMLEdBQWEsRUFBYixDQTFCeUQ7O0FBNEJ6RCxVQUFLLFFBQUwsR0FBZ0IsRUFBaEIsQ0E1QnlEOztBQThCekQsVUFBSyxVQUFMLEdBQWtCLE1BQUssZ0JBQUwsQ0FBc0I7QUFDdEMsZ0JBRHNDO0FBRXRDLGdCQUZzQztBQUd0QyxZQUFNLE1BQUssT0FBTCxDQUFhLElBQWI7S0FIVSxDQUFsQixDQTlCeUQ7O0dB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Ozs7O1NBL1NFOzs7a0JBdVRTIiwiZmlsZSI6IkdyZW1saW5DbGllbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKmpzbGludCAtVzA3OSAqL1xuLypqc2xpbnQgbm9kZTogdHJ1ZSAqL1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcblxuaW1wb3J0IHV1aWQgZnJvbSAnbm9kZS11dWlkJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgaGlnaGxhbmQgZnJvbSAnaGlnaGxhbmQnO1xuXG5pbXBvcnQgV2ViU29ja2V0R3JlbWxpbkNvbm5lY3Rpb24gZnJvbSAnLi9XZWJTb2NrZXRHcmVtbGluQ29ubmVjdGlvbic7XG5pbXBvcnQgTWVzc2FnZVN0cmVhbSBmcm9tICcuL01lc3NhZ2VTdHJlYW0nO1xuaW1wb3J0IGV4ZWN1dGVIYW5kbGVyIGZyb20gJy4vZXhlY3V0ZUhhbmRsZXInO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cblxuY2xhc3MgR3JlbWxpbkNsaWVudCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIGNvbnN0cnVjdG9yKHBvcnQgPSA4MTgyLCBob3N0ID0gJ2xvY2FsaG9zdCcsIG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG5cbiAgICBjb25zdCB7IHBhdGggPSAnJyB9ID0gb3B0aW9ucztcblxuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIGxhbmd1YWdlOiAnZ3JlbWxpbi1ncm9vdnknLFxuICAgICAgc2Vzc2lvbjogZmFsc2UsXG4gICAgICBvcDogJ2V2YWwnLFxuICAgICAgcHJvY2Vzc29yOiAnJyxcbiAgICAgIGFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgZXhlY3V0ZUhhbmRsZXIsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcGF0aDogcGF0aC5sZW5ndGggJiYgIXBhdGguc3RhcnRzV2l0aCgnLycpID8gYC8ke3BhdGh9YCA6IHBhdGhcbiAgICB9XG5cbiAgICB0aGlzLnVzZVNlc3Npb24gPSB0aGlzLm9wdGlvbnMuc2Vzc2lvbjtcblxuICAgIGlmICh0aGlzLnVzZVNlc3Npb24pIHtcbiAgICAgIHRoaXMuc2Vzc2lvbklkID0gdXVpZC52MSgpO1xuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5xdWV1ZSA9IFtdO1xuXG4gICAgdGhpcy5jb21tYW5kcyA9IHt9O1xuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gdGhpcy5jcmVhdGVDb25uZWN0aW9uKHtcbiAgICAgIHBvcnQsXG4gICAgICBob3N0LFxuICAgICAgcGF0aDogdGhpcy5vcHRpb25zLnBhdGhcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUNvbm5lY3Rpb24oeyBwb3J0LCBob3N0LCBwYXRoIH0pIHtcbiAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IFdlYlNvY2tldEdyZW1saW5Db25uZWN0aW9uKHsgcG9ydCwgaG9zdCwgcGF0aCB9KTtcblxuICAgIGNvbm5lY3Rpb24ub24oJ29wZW4nLCAoKSA9PiB0aGlzLm9uQ29ubmVjdGlvbk9wZW4oKSk7XG4gICAgY29ubmVjdGlvbi5vbignZXJyb3InLCAoZXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpKTtcbiAgICBjb25uZWN0aW9uLm9uKCdtZXNzYWdlJywgKG1lc3NhZ2UpID0+IHRoaXMuaGFuZGxlUHJvdG9jb2xNZXNzYWdlKG1lc3NhZ2UpKTtcbiAgICBjb25uZWN0aW9uLm9uKCdjbG9zZScsIChldmVudCkgPT4gdGhpcy5oYW5kbGVEaXNjb25uZWN0aW9uKGV2ZW50KSlcblxuICAgIHJldHVybiBjb25uZWN0aW9uO1xuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyKSB7XG4gICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGFsbCBpbmNvbWluZyByYXcgbWVzc2FnZSBldmVudHMgc2VudCBieSBHcmVtbGluIFNlcnZlciwgYW5kIGRpc3BhdGNoXG4gICAqIHRvIHRoZSBhcHByb3ByaWF0ZSBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge01lc3NhZ2VFdmVudH0gZXZlbnRcbiAgICovXG4gIGhhbmRsZVByb3RvY29sTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBtZXNzYWdlO1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBCdWZmZXIoZGF0YSwgJ2JpbmFyeScpO1xuICAgIGNvbnN0IHJhd01lc3NhZ2UgPSBKU09OLnBhcnNlKGJ1ZmZlci50b1N0cmluZygndXRmLTgnKSk7XG4gICAgY29uc3Qge1xuICAgICAgcmVxdWVzdElkLFxuICAgICAgc3RhdHVzOsKge1xuICAgICAgICBjb2RlOiBzdGF0dXNDb2RlLFxuICAgICAgICBtZXNzYWdlOiBzdGF0dXNNZXNzYWdlXG4gICAgICB9XG4gICAgfSA9IHJhd01lc3NhZ2U7XG5cbiAgICBjb25zdCB7IG1lc3NhZ2VTdHJlYW0gfSA9IHRoaXMuY29tbWFuZHNbcmVxdWVzdElkXTtcblxuICAgIHN3aXRjaCAoc3RhdHVzQ29kZSkge1xuICAgICAgY2FzZSAyMDA6IC8vIFNVQ0NFU1NcbiAgICAgICAgZGVsZXRlIHRoaXMuY29tbWFuZHNbcmVxdWVzdElkXTsgLy8gVE9ETzogb3B0aW1pemUgcGVyZm9ybWFuY2VcbiAgICAgICAgbWVzc2FnZVN0cmVhbS5wdXNoKHJhd01lc3NhZ2UpO1xuICAgICAgICBtZXNzYWdlU3RyZWFtLnB1c2gobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyMDQ6IC8vIE5PX0NPTlRFTlRcbiAgICAgICAgZGVsZXRlIHRoaXMuY29tbWFuZHNbcmVxdWVzdElkXTtcbiAgICAgICAgbWVzc2FnZVN0cmVhbS5wdXNoKG51bGwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjA2OiAvLyBQQVJUSUFMX0NPTlRFTlRcbiAgICAgICAgbWVzc2FnZVN0cmVhbS5wdXNoKHJhd01lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGRlbGV0ZSB0aGlzLmNvbW1hbmRzW3JlcXVlc3RJZF07XG4gICAgICAgIG1lc3NhZ2VTdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3Ioc3RhdHVzTWVzc2FnZSArICcgKEVycm9yICcrIHN0YXR1c0NvZGUgKycpJykpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBXZWJTb2NrZXQgb25PcGVuIGV2ZW50LCBmbGFnIHRoZSBjbGllbnQgYXMgY29ubmVjdGVkIGFuZFxuICAgKiBwcm9jZXNzIGNvbW1hbmQgcXVldWUuXG4gICAqL1xuICBvbkNvbm5lY3Rpb25PcGVuKCkge1xuICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmVtaXQoJ2Nvbm5lY3QnKTtcblxuICAgIHRoaXMuZXhlY3V0ZVF1ZXVlKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Q2xvc2VFdmVudH0gZXZlbnRcbiAgICovXG4gIGhhbmRsZURpc2Nvbm5lY3Rpb24oZXZlbnQpIHtcbiAgICB0aGlzLmNhbmNlbFBlbmRpbmdDb21tYW5kcyh7XG4gICAgICBtZXNzYWdlOiAnV2ViU29ja2V0IGNsb3NlZCcsXG4gICAgICBkZXRhaWxzOiBldmVudFxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHRoZSBjdXJyZW50IGNvbW1hbmQgcXVldWUsIHNlbmRpbmcgY29tbWFuZHMgdG8gR3JlbWxpbiBTZXJ2ZXJcbiAgICogKEZpcnN0IEluLCBGaXJzdCBPdXQpLlxuICAgKi9cbiAgZXhlY3V0ZVF1ZXVlKCkge1xuICAgIHdoaWxlICh0aGlzLnF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCB7IG1lc3NhZ2UgfSA9IHRoaXMucXVldWUuc2hpZnQoKTtcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge09iamVjdH0gcmVhc29uXG4gICAqL1xuICBjYW5jZWxQZW5kaW5nQ29tbWFuZHMoeyBtZXNzYWdlLCBkZXRhaWxzIH0pIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IHRoaXMuY29tbWFuZHM7XG4gICAgbGV0IGNvbW1hbmQ7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgZXJyb3IuZGV0YWlscyA9IGRldGFpbHM7XG5cbiAgICAvLyBFbXB0eSBxdWV1ZVxuICAgIHRoaXMucXVldWUubGVuZ3RoID0gMDtcbiAgICB0aGlzLmNvbW1hbmRzID0ge307XG5cbiAgICBPYmplY3Qua2V5cyhjb21tYW5kcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb21tYW5kID0gY29tbWFuZHNba2V5XTtcbiAgICAgIGNvbW1hbmQubWVzc2FnZVN0cmVhbS5lbWl0KCdlcnJvcicsIGVycm9yKTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogRm9yIGEgZ2l2ZW4gc2NyaXB0IHN0cmluZyBhbmQgb3B0aW9uYWwgYm91bmQgcGFyYW1ldGVycywgYnVpbGQgYSBwcm90b2NvbFxuICAgKiBtZXNzYWdlIG9iamVjdCB0byBiZSBzZW50IHRvIEdyZW1saW4gU2VydmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ3xGdW5jdGlvbn0gc2NyaXB0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBiaW5kaW5nc1xuICAgKiBAcGFyYW0ge09iamVjdH0gbWVzc2FnZVxuICAgKi9cbiAgYnVpbGRNZXNzYWdlKHJhd1NjcmlwdCwgcmF3QmluZGluZ3MgPSB7fSwgYmFzZU1lc3NhZ2UgPSB7fSkge1xuICAgIGxldCB7IGdyZW1saW4sIGJpbmRpbmdzIH0gPSBVdGlscy5idWlsZFF1ZXJ5RnJvbVNpZ25hdHVyZShyYXdTY3JpcHQsIHJhd0JpbmRpbmdzKTtcbiAgICBjb25zdCB7IHByb2Nlc3Nvciwgb3AsIGFjY2VwdCwgbGFuZ3VhZ2UsIGFsaWFzZXMgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIGNvbnN0IGJhc2VBcmdzID0geyBncmVtbGluLCBiaW5kaW5ncywgYWNjZXB0LCBsYW5ndWFnZSwgYWxpYXNlcyB9O1xuICAgIGNvbnN0IGFyZ3MgPSBfLmRlZmF1bHRzKGJhc2VNZXNzYWdlLmFyZ3MgfHwge30sIGJhc2VBcmdzKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICByZXF1ZXN0SWQ6IHV1aWQudjEoKSxcbiAgICAgIHByb2Nlc3NvcixcbiAgICAgIG9wLFxuICAgICAgYXJncyxcbiAgICAgIC4uLmJhc2VNZXNzYWdlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnVzZVNlc3Npb24pIHtcbiAgICAgIC8vIEFzc3VtZSB0aGF0IHBlb3BsZSB3YW50IHRvIHVzZSB0aGUgJ3Nlc3Npb24nIHByb2Nlc3NvciB1bmxlc3Mgc3BlY2lmaWVkXG4gICAgICBtZXNzYWdlLnByb2Nlc3NvciA9IG1lc3NhZ2UucHJvY2Vzc29yIHx8IHByb2Nlc3NvciB8fCAnc2Vzc2lvbic7XG4gICAgICBtZXNzYWdlLmFyZ3Muc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbklkO1xuICAgIH1cblxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9O1xuXG4gIHNlbmRNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICBsZXQgc2VyaWFsaXplZE1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMuYWNjZXB0ICsgSlNPTi5zdHJpbmdpZnkobWVzc2FnZSk7XG4gICAgc2VyaWFsaXplZE1lc3NhZ2UgPSB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoc2VyaWFsaXplZE1lc3NhZ2UpKTtcblxuICAgIC8vIExldCdzIHN0YXJ0IHBhY2tpbmcgdGhlIG1lc3NhZ2UgaW50byBiaW5hcnlcbiAgICAvLyBtaW1lTGVuZ3RoKDEpICsgbWltZVR5cGUgTGVuZ3RoICsgc2VyaWFsaXplZE1lc3NhZ2UgTGVuZ3RoXG4gICAgbGV0IGJpbmFyeU1lc3NhZ2UgPSBuZXcgVWludDhBcnJheSgxICsgc2VyaWFsaXplZE1lc3NhZ2UubGVuZ3RoKTtcbiAgICBiaW5hcnlNZXNzYWdlWzBdID0gdGhpcy5vcHRpb25zLmFjY2VwdC5sZW5ndGg7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmlhbGl6ZWRNZXNzYWdlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBiaW5hcnlNZXNzYWdlW2kgKyAxXSA9IHNlcmlhbGl6ZWRNZXNzYWdlLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uLnNlbmRNZXNzYWdlKGJpbmFyeU1lc3NhZ2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSBzZW5kIGEgc2NyaXB0IHRvIEdyZW1saW4gU2VydmVyIGZvciBleGVjdXRpb24gYW5kIGZpcmVcbiAgICogdGhlIHByb3ZpZGVkIGNhbGxiYWNrIHdoZW4gYWxsIHJlc3VsdHMgaGF2ZSBiZWVuIGZldGNoZWQuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGludGVybmFsbHkgdXNlcyBhIHN0cmVhbSB0byBoYW5kbGUgdGhlIHBvdGVudGlhbCBjb25jYXRlbmF0aW9uXG4gICAqIG9mIHJlc3VsdHMuXG4gICAqXG4gICAqIENhbGxiYWNrIHNpZ25hdHVyZTogKEVycm9yLCBBcnJheTxyZXN1bHQ+KVxuICAgKlxuICAgKiBAcHVibGljXG4gICAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufSBzY3JpcHRcbiAgICogQHBhcmFtIHtPYmplY3R9IGJpbmRpbmdzXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBtZXNzYWdlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrXG4gICAqL1xuICBleGVjdXRlKHNjcmlwdCwgYmluZGluZ3MgPSB7fSwgbWVzc2FnZSA9IHt9LCAuLi5hcmdzKSB7XG4gICAgbGV0IGNhbGxiYWNrID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjYWxsYmFjayA9IG1lc3NhZ2U7XG4gICAgICBtZXNzYWdlID0ge307XG4gICAgfVxuXG4gICAgY29uc3QgbWVzc2FnZVN0cmVhbSA9IHRoaXMubWVzc2FnZVN0cmVhbShzY3JpcHQsIGJpbmRpbmdzLCBtZXNzYWdlKTtcblxuICAgIC8vIFRPIENIRUNLOiBlcnJvcnMgaGFuZGxpbmcgY291bGQgYmUgaW1wcm92ZWRcbiAgICAvLyBTZWUgaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9ub2RlanMvbEpZVDloWnhGdTAvTDU5Q0ZicVdHeVlKXG4gICAgLy8gZm9yIGFuIGV4YW1wbGUgdXNpbmcgZG9tYWluc1xuICAgIGNvbnN0IHsgZXhlY3V0ZUhhbmRsZXIgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIGV4ZWN1dGVIYW5kbGVyKG1lc3NhZ2VTdHJlYW0sIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBzY3JpcHQgYW5kIHJldHVybiBhIHN0cmVhbSBvZiBkaXN0aW5jdC9zaW5nbGUgcmVzdWx0cy5cbiAgICogVGhpcyBtZXRob2QgcmVlbWl0cyBhIGRpc3RpbmN0IGRhdGEgZXZlbnQgZm9yIGVhY2ggcmV0dXJuZWQgcmVzdWx0LCB3aGljaFxuICAgKiBtYWtlcyB0aGUgc3RyZWFtIGJlaGF2ZSBhcyBpZiBgcmVzdWx0SXRlcmF0aW9uQmF0Y2hTaXplYCB3YXMgc2V0IHRvIDEuXG4gICAqXG4gICAqIElmIHlvdSBkbyBub3Qgd2lzaCB0aGlzIGJlaGF2aW9yLCBwbGVhc2UgdXNlIGNsaWVudC5tZXNzYWdlU3RyZWFtKCkgaW5zdGVhZC5cbiAgICpcbiAgICogRXZlbiB0aG91Z2ggdGhpcyBtZXRob2QgdXNlcyBIaWdobGFuZC5qcyBpbnRlcm5hbGx5LCBpdCBkb2VzIG5vdCByZXR1cm5cbiAgICogYSBoaWdoIGxldmVsIEhpZ2hsYW5kIHJlYWRhYmxlIHN0cmVhbSBzbyB3ZSBkbyBub3QgcmlzayBoYXZpbmcgdG8gZGVhbFxuICAgKiB3aXRoIHVuZXhwZWN0ZWQgQVBJIGJyZWFraW5nIGNoYW5nZXMgYXMgSGlnaGxhbmQuanMgZXZvbHZlcy5cbiAgICpcbiAgICogQHJldHVybiB7UmVhZGFibGVTdHJlYW19IEEgTm9kZS5qcyBTdHJlYW0yXG4gICAqL1xuICBzdHJlYW0oc2NyaXB0LCBiaW5kaW5ncywgbWVzc2FnZSkge1xuICAgIGNvbnN0IG1lc3NhZ2VTdHJlYW0gPSB0aGlzLm1lc3NhZ2VTdHJlYW0oc2NyaXB0LCBiaW5kaW5ncywgbWVzc2FnZSk7XG4gICAgY29uc3QgXyA9IGhpZ2hsYW5kOyAvLyBvdmVycmlkZSBsby1kYXNoIGxvY2FsbHlcblxuICAgIC8vIENyZWF0ZSBhIGxvY2FsIGhpZ2hsYW5kICd0aHJvdWdoJyBwaXBlbGluZSBzbyB3ZSBkb24ndCBleHBvc2VcbiAgICAvLyBhIEhpZ2hsYW5kIHN0cmVhbSB0byB0aGUgZW5kIHVzZXIsIGJ1dCBhIHN0YW5kYXJkIE5vZGUuanMgU3RyZWFtMlxuICAgIGNvbnN0IHRocm91Z2ggPSBfLnBpcGVsaW5lKFxuICAgICAgXy5tYXAoKHsgcmVzdWx0OiB7IGRhdGEgfX0pID0+IGRhdGEpLFxuICAgICAgXy5zZXF1ZW5jZSgpXG4gICAgKTtcblxuICAgIGxldCByYXdTdHJlYW0gPSBtZXNzYWdlU3RyZWFtLnBpcGUodGhyb3VnaCk7XG5cbiAgICBtZXNzYWdlU3RyZWFtLm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICByYXdTdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoZSkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJhd1N0cmVhbTtcbiAgfTtcblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgc2NyaXB0IGFuZCByZXR1cm4gYSBzdHJlYW0gb2YgcmF3IG1lc3NhZ2VzIHJldHVybmVkIGJ5IEdyZW1saW5cbiAgICogU2VydmVyLlxuICAgKiBUaGlzIG1ldGhvZCBkb2VzIG5vdCByZWVtaXQgb25lIGRpc3RpbmN0IGRhdGEgZXZlbnQgcGVyIHJlc3VsdC4gSXQgZGlyZWN0bHlcbiAgICogZW1pdHMgdGhlIHJhdyBtZXNzYWdlcyByZXR1cm5lZCBieSBHcmVtbGluIFNlcnZlciBhcyB0aGV5IGFyZSByZWNlaXZlZC5cbiAgICpcbiAgICogQWx0aG91Z2ggcHVibGljLCB0aGlzIGlzIGEgbG93IGxldmVsIG1ldGhvZCBpbnRlbmRlZCB0byBiZSB1c2VkIGZvclxuICAgKiBhZHZhbmNlZCB1c2FnZXMuXG4gICAqXG4gICAqIEBwdWJsaWNcbiAgICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IHNjcmlwdFxuICAgKiBAcGFyYW0ge09iamVjdH0gYmluZGluZ3NcbiAgICogQHBhcmFtIHtPYmplY3R9IG1lc3NhZ2VcbiAgICogQHJldHVybiB7TWVzc2FnZVN0cmVhbX1cbiAgICovXG4gIG1lc3NhZ2VTdHJlYW0oc2NyaXB0LCBiaW5kaW5ncywgcmF3TWVzc2FnZSkge1xuICAgIGxldCBzdHJlYW0gPSBuZXcgTWVzc2FnZVN0cmVhbSh7IG9iamVjdE1vZGU6IHRydWUgfSk7XG5cbiAgICBjb25zdCBjb21tYW5kID0ge1xuICAgICAgbWVzc2FnZTogdGhpcy5idWlsZE1lc3NhZ2Uoc2NyaXB0LCBiaW5kaW5ncywgcmF3TWVzc2FnZSksXG4gICAgICBtZXNzYWdlU3RyZWFtOiBzdHJlYW1cbiAgICB9O1xuXG4gICAgdGhpcy5zZW5kQ29tbWFuZChjb21tYW5kKTsgLy90b2RvIGltcHJvdmUgZm9yIHN0cmVhbXNcblxuICAgIHJldHVybiBzdHJlYW07XG4gIH07XG5cbiAgLyoqXG4gICAqIFNlbmQgYSBjb21tYW5kIHRvIEdyZW1saW4gU2VydmVyLCBvciBhZGQgaXQgdG8gcXVldWUgaWYgdGhlIGNvbm5lY3Rpb25cbiAgICogaXMgbm90IGVzdGFibGlzaGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gY29tbWFuZFxuICAgKi9cbiAgc2VuZENvbW1hbmQoY29tbWFuZCkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBtZXNzYWdlOiB7XG4gICAgICAgIHJlcXVlc3RJZFxuICAgICAgfVxuICAgIH0gPSBjb21tYW5kO1xuXG4gICAgdGhpcy5jb21tYW5kc1tyZXF1ZXN0SWRdID0gY29tbWFuZDtcblxuICAgIGlmICh0aGlzLmNvbm5lY3RlZCkge1xuICAgICAgdGhpcy5zZW5kTWVzc2FnZShtZXNzYWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWV1ZS5wdXNoKGNvbW1hbmQpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgR3JlbWxpbkNsaWVudDtcbiJdfQ==
{
"name": "gremlin",
"version": "2.3.1",
"version": "2.3.2",
"description": "JavaScript client for TinkerPop3 Gremlin Server",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -193,3 +193,4 @@ /*jslint -W079 */

sendMessage(message) {
const serializedMessage = this.options.accept + JSON.stringify(message);
let serializedMessage = this.options.accept + JSON.stringify(message);
serializedMessage = unescape(encodeURIComponent(serializedMessage));

@@ -196,0 +197,0 @@ // Let's start packing the message into binary

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc