verdaccio 5.2.3 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -2
- package/README.md +6 -5
- package/build/api/endpoint/api/publish.js +3 -3
- package/build/api/endpoint/api/user.js +15 -5
- package/build/api/endpoint/api/v1/index.js +26 -0
- package/build/api/endpoint/api/v1/profile.js +12 -4
- package/build/api/endpoint/api/v1/token.js +14 -5
- package/build/api/endpoint/index.js +4 -7
- package/build/api/index.js +11 -5
- package/build/api/rate-limiter.js +24 -0
- package/build/api/web/api.js +4 -16
- package/build/api/web/endpoint/index.js +45 -0
- package/build/api/web/endpoint/package.js +15 -6
- package/build/api/web/endpoint/search.js +8 -2
- package/build/api/web/endpoint/user.js +9 -3
- package/build/api/web/index.js +5 -2
- package/build/lib/auth-utils.js +11 -4
- package/build/lib/config.js +15 -6
- package/build/lib/constants.js +5 -4
- package/build/lib/up-storage.js +6 -3
- package/build/lib/utils.js +14 -4
- package/conf/default.yaml +3 -1
- package/conf/docker.yaml +3 -1
- package/package.json +23 -17
|
@@ -25,9 +25,7 @@ var _package = _interopRequireDefault(require("./api/package"));
|
|
|
25
25
|
|
|
26
26
|
var _stars = _interopRequireDefault(require("./api/stars"));
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _token = _interopRequireDefault(require("./api/v1/token"));
|
|
28
|
+
var _v = _interopRequireDefault(require("./api/v1"));
|
|
31
29
|
|
|
32
30
|
var _search2 = _interopRequireDefault(require("./api/v1/search"));
|
|
33
31
|
|
|
@@ -71,15 +69,14 @@ function _default(config, auth, storage) {
|
|
|
71
69
|
|
|
72
70
|
(0, _whoami.default)(app);
|
|
73
71
|
(0, _package.default)(app, auth, storage, config);
|
|
74
|
-
(0, _profile.default)(app, auth);
|
|
75
72
|
(0, _search.default)(app, auth, storage);
|
|
76
|
-
(0, _user.default)(app, auth, config);
|
|
77
73
|
(0, _distTags.default)(app, auth, storage);
|
|
78
74
|
(0, _publish.default)(app, auth, storage, config);
|
|
79
75
|
(0, _ping.default)(app);
|
|
80
76
|
(0, _stars.default)(app, storage);
|
|
81
77
|
(0, _search2.default)(app, auth, storage);
|
|
82
|
-
(0,
|
|
78
|
+
(0, _user.default)(app, auth, config);
|
|
79
|
+
app.use((0, _v.default)(auth, storage, config));
|
|
83
80
|
return app;
|
|
84
81
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOlsibWF0Y2giLCJ2YWxpZGF0ZU5hbWUiLCJ2YWxpZGF0ZVBhY2thZ2UiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJhbnRpTG9vcCIsInJlcXVpcmUiLCJjb25maWciLCJhdXRoIiwic3RvcmFnZSIsImFwcCIsImV4cHJlc3MiLCJSb3V0ZXIiLCJwYXJhbSIsInVzZSIsImFwaUpXVG1pZGRsZXdhcmUiLCJib2R5UGFyc2VyIiwianNvbiIsInN0cmljdCIsImxpbWl0IiwibWF4X2JvZHlfc2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQSxLQUFGO0FBQVNDLEVBQUFBLFlBQVQ7QUFBdUJDLEVBQUFBLGVBQXZCO0FBQXdDQyxFQUFBQSxrQkFBeEM7QUFBNERDLEVBQUFBO0FBQTVELElBQXlFQyxPQUFPLENBQUMsZUFBRCxDQUF0Rjs7QUFFZSxrQkFBVUMsTUFBVixFQUEwQkMsSUFBMUIsRUFBdUNDLE9BQXZDLEVBQWlFO0FBQzlFO0FBQ0EsUUFBTUMsR0FBRyxHQUFHQyxpQkFBUUMsTUFBUixFQUFaO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQUYsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlYsZUFBckI7QUFDQU8sRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsS0FBVixFQUFpQlgsWUFBakI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlgsWUFBckI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsT0FBVixFQUFtQlgsWUFBbkIsRUFYOEUsQ0FhOUU7QUFDQTs7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsTUFBVixFQUFrQlosS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQVMsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsa0JBQVYsRUFBOEJaLEtBQUssQ0FBQyxzQkFBRCxDQUFuQztBQUNBUyxFQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxVQUFWLEVBQXNCWixLQUFLLENBQUMsSUFBRCxDQUEzQjtBQUVBUyxFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUU4sSUFBSSxDQUFDTyxnQkFBTCxFQUFSO0FBQ0FMLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRRSxvQkFBV0MsSUFBWCxDQUFnQjtBQUFFQyxJQUFBQSxNQUFNLEVBQUUsS0FBVjtBQUFpQkMsSUFBQUEsS0FBSyxFQUFFWixNQUFNLENBQUNhLGFBQVAsSUFBd0I7QUFBaEQsR0FBaEIsQ0FBUjtBQUNBVixFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUVQsUUFBUSxDQUFDRSxNQUFELENBQWhCLEVBckI4RSxDQXNCOUU7O0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRVixrQkFBUixFQXZCOEUsQ0F3QjlFOztBQUNBLHVCQUFPTSxHQUFQO0FBQ0Esd0JBQUlBLEdBQUosRUFBU0YsSUFBVCxFQUFlQyxPQUFmLEVBQXdCRixNQUF4QjtBQUNBLHVCQUFPRyxHQUFQLEVBQVlGLElBQVosRUFBa0JDLE9BQWxCO0FBQ0EseUJBQVNDLEdBQVQsRUFBY0YsSUFBZCxFQUFvQkMsT0FBcEI7QUFDQSx3QkFBUUMsR0FBUixFQUFhRixJQUFiLEVBQW1CQyxPQUFuQixFQUE0QkYsTUFBNUI7QUFDQSxxQkFBS0csR0FBTDtBQUNBLHNCQUFNQSxHQUFOLEVBQVdELE9BQVg7QUFDQSx3QkFBU0MsR0FBVCxFQUFjRixJQUFkLEVBQW9CQyxPQUFwQjtBQUNBLHFCQUFLQyxHQUFMLEVBQVVGLElBQVYsRUFBZ0JELE1BQWhCO0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRLGdCQUFNTixJQUFOLEVBQVlDLE9BQVosRUFBcUJGLE1BQXJCLENBQVI7QUFDQSxTQUFPRyxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCB7IElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgd2hvYW1pIGZyb20gJy4vYXBpL3dob2FtaSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IGRpc3RUYWdzIGZyb20gJy4vYXBpL2Rpc3QtdGFncyc7XG5pbXBvcnQgcHVibGlzaCBmcm9tICcuL2FwaS9wdWJsaXNoJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9hcGkvc2VhcmNoJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgc3RhcnMgZnJvbSAnLi9hcGkvc3RhcnMnO1xuaW1wb3J0IG5wbVYxIGZyb20gJy4vYXBpL3YxJztcbmltcG9ydCB2MVNlYXJjaCBmcm9tICcuL2FwaS92MS9zZWFyY2gnO1xuXG5jb25zdCB7IG1hdGNoLCB2YWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSwgZW5jb2RlU2NvcGVQYWNrYWdlLCBhbnRpTG9vcCB9ID0gcmVxdWlyZSgnLi4vbWlkZGxld2FyZScpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoY29uZmlnOiBDb25maWcsIGF1dGg6IElBdXRoLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpIHtcbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IGFwcCA9IGV4cHJlc3MuUm91dGVyKCk7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAvLyB2YWxpZGF0ZSBhbGwgb2YgdGhlc2UgcGFyYW1zIGFzIGEgcGFja2FnZSBuYW1lXG4gIC8vIHRoaXMgbWlnaHQgYmUgdG9vIGhhcnNoLCBzbyBhc2sgaWYgaXQgY2F1c2VzIHRyb3VibGVcbiAgYXBwLnBhcmFtKCdwYWNrYWdlJywgdmFsaWRhdGVQYWNrYWdlKTtcbiAgYXBwLnBhcmFtKCdmaWxlbmFtZScsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndGFnJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd2ZXJzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCdyZXZpc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndG9rZW4nLCB2YWxpZGF0ZU5hbWUpO1xuXG4gIC8vIHRoZXNlIGNhbid0IGJlIHNhZmVseSBwdXQgaW50byBleHByZXNzIHVybCBmb3Igc29tZSByZWFzb25cbiAgLy8gVE9ETzogRm9yIHNvbWUgcmVhc29uPyB3aGF0IHJlYXNvbj9cbiAgYXBwLnBhcmFtKCdfcmV2JywgbWF0Y2goL14tcmV2JC8pKTtcbiAgYXBwLnBhcmFtKCdvcmdfY291Y2hkYl91c2VyJywgbWF0Y2goL15vcmdcXC5jb3VjaGRiXFwudXNlcjovKSk7XG4gIGFwcC5wYXJhbSgnYW55dGhpbmcnLCBtYXRjaCgvLiovKSk7XG5cbiAgYXBwLnVzZShhdXRoLmFwaUpXVG1pZGRsZXdhcmUoKSk7XG4gIGFwcC51c2UoYm9keVBhcnNlci5qc29uKHsgc3RyaWN0OiBmYWxzZSwgbGltaXQ6IGNvbmZpZy5tYXhfYm9keV9zaXplIHx8ICcxMG1iJyB9KSk7XG4gIGFwcC51c2UoYW50aUxvb3AoY29uZmlnKSk7XG4gIC8vIGVuY29kZSAvIGluIGEgc2NvcGVkIHBhY2thZ2UgbmFtZSB0byBiZSBtYXRjaGVkIGFzIGEgc2luZ2xlIHBhcmFtZXRlciBpbiByb3V0ZXNcbiAgYXBwLnVzZShlbmNvZGVTY29wZVBhY2thZ2UpO1xuICAvLyBmb3IgXCJucG0gd2hvYW1pXCJcbiAgd2hvYW1pKGFwcCk7XG4gIHBrZyhhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBkaXN0VGFncyhhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBwdWJsaXNoKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGluZyhhcHApO1xuICBzdGFycyhhcHAsIHN0b3JhZ2UpO1xuICB2MVNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICB1c2VyKGFwcCwgYXV0aCwgY29uZmlnKTtcbiAgYXBwLnVzZShucG1WMShhdXRoLCBzdG9yYWdlLCBjb25maWcpKTtcbiAgcmV0dXJuIGFwcDtcbn1cbiJdfQ==
|
package/build/api/index.js
CHANGED
|
@@ -49,10 +49,16 @@ const defineAPI = function (config, storage) {
|
|
|
49
49
|
|
|
50
50
|
app.use((0, _middleware.log)(config));
|
|
51
51
|
app.use(_middleware.errorReportingMiddleware);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
next
|
|
55
|
-
|
|
52
|
+
|
|
53
|
+
if (config.user_agent) {
|
|
54
|
+
app.use(function (req, res, next) {
|
|
55
|
+
res.setHeader('X-Powered-By', (0, _utils.getUserAgent)(config.user_agent));
|
|
56
|
+
next();
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
app.disable('x-powered-by');
|
|
60
|
+
}
|
|
61
|
+
|
|
56
62
|
app.use((0, _compression.default)());
|
|
57
63
|
app.get('/-/static/favicon.ico', (0, _middleware.serveFavicon)(config)); // Hook for tests only
|
|
58
64
|
|
|
@@ -125,4 +131,4 @@ var _default = async function _default(configHash) {
|
|
|
125
131
|
};
|
|
126
132
|
|
|
127
133
|
exports.default = _default;
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwicmVxIiwicmVzIiwibmV4dCIsInNldEhlYWRlciIsInVzZXJfYWdlbnQiLCJnZXQiLCJfZGVidWciLCJzZWxmX3BhdGgiLCJwbHVnaW5fcGFyYW1zIiwibG9nZ2VyIiwicGx1Z2lucyIsIm1pZGRsZXdhcmVzIiwicGx1Z2luIiwicmVnaXN0ZXJfbWlkZGxld2FyZXMiLCJmb3JFYWNoIiwiXyIsIkVycm9yQ29kZSIsImdldE5vdEZvdW5kIiwiQVBJX0VSUk9SIiwiV0VCX0RJU0FCTEVEIiwiRklMRV9OT1RfRk9VTkQiLCJlcnIiLCJpc0Vycm9yIiwiY29kZSIsInN0YXR1c0NvZGUiLCJIVFRQX1NUQVRVUyIsIk5PVF9NT0RJRklFRCIsImlzRnVuY3Rpb24iLCJsb2NhbHMiLCJyZXBvcnRfZXJyb3IiLCJub29wIiwiZmluYWwiLCJjb25maWdIYXNoIiwibG9ncyIsIkFwcENvbmZpZyIsImNsb25lRGVlcCIsImZpbHRlcnMiLCJmaWx0ZXJfbWV0YWRhdGEiLCJTdG9yYWdlIiwiaW5pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLFVBQVVDLE1BQVYsRUFBMkJDLE9BQTNCLEVBQTBEO0FBQzFFLFFBQU1DLElBQVcsR0FBRyxJQUFJQyxhQUFKLENBQVNILE1BQVQsQ0FBcEI7QUFDQSxRQUFNSSxHQUFnQixHQUFHLHVCQUF6QixDQUYwRSxDQUkxRTtBQUNBOztBQUNBQSxFQUFBQSxHQUFH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aUQsSUFBUixDQUFhbEQsTUFBYixFQUFxQitDLE9BQXJCLENBQU47QUFDQSxTQUFPaEQsU0FBUyxDQUFDQyxNQUFELEVBQVNDLE9BQVQsQ0FBaEI7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBleHByZXNzLCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgY29tcHJlc3Npb24gZnJvbSAnY29tcHJlc3Npb24nO1xuaW1wb3J0IGNvcnMgZnJvbSAnY29ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3IgfSBmcm9tICdodHRwLWVycm9ycyc7XG5pbXBvcnQgeyBDb25maWcgYXMgSUNvbmZpZywgSVBsdWdpbk1pZGRsZXdhcmUsIElQbHVnaW5TdG9yYWdlRmlsdGVyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgbG9hZFBsdWdpbiBmcm9tICcuLi9saWIvcGx1Z2luLWxvYWRlcic7XG5pbXBvcnQgQXV0aCBmcm9tICcuLi9saWIvYXV0aCc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IEFwcENvbmZpZyBmcm9tICcuLi9saWIvY29uZmlnJztcbmltcG9ydCB7ICRSZXNwb25zZUV4dGVuZCwgJFJlcXVlc3RFeHRlbmQsICROZXh0RnVuY3Rpb25WZXIsIElTdG9yYWdlSGFuZGxlciwgSUF1dGggfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBzZXR1cCwgbG9nZ2VyIH0gZnJvbSAnLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgd2ViQVBJIGZyb20gJy4vd2ViL2FwaSc7XG5pbXBvcnQgd2ViIGZyb20gJy4vd2ViJztcbmltcG9ydCBhcGlFbmRwb2ludCBmcm9tICcuL2VuZHBvaW50JztcbmltcG9ydCBob29rRGVidWcgZnJvbSAnLi9kZWJ1Zyc7XG5pbXBvcnQgeyBsb2csIGZpbmFsLCBlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUsIHNlcnZlRmF2aWNvbiB9IGZyb20gJy4vbWlkZGxld2FyZSc7XG5cbmNvbnN0IGRlZmluZUFQSSA9IGZ1bmN0aW9uIChjb25maWc6IElDb25maWcsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlcik6IGFueSB7XG4gIGNvbnN0IGF1dGg6IElBdXRoID0gbmV3IEF1dGgoY29uZmlnKTtcbiAgY29uc3QgYXBwOiBBcHBsaWNhdGlvbiA9IGV4cHJlc3MoKTtcblxuICAvLyBydW4gaW4gcHJvZHVjdGlvbiBtb2RlIGJ5IGRlZmF1bHQsIGp1c3QgaW4gY2FzZVxuICAvLyBpdCBzaG91bGRuJ3QgbWFrZSBhbnkgZGlmZmVyZW5jZSBhbnl3YXlcbiAgYXBwLnNldCgnZW52JywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ3Byb2R1Y3Rpb24nKTtcbiAgYXBwLnVzZShjb3JzKCkpO1xuXG4gIC8vIFJvdXRlciBzZXR1cFxuICBhcHAudXNlKGxvZyhjb25maWcpKTtcbiAgYXBwLnVzZShlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUpO1xuICBhcHAudXNlKGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHJlcy5zZXRIZWFkZXIoJ1gtUG93ZXJlZC1CeScsIGNvbmZpZy51c2VyX2FnZW50KTtcbiAgICBuZXh0KCk7XG4gIH0pO1xuXG4gIGFwcC51c2UoY29tcHJlc3Npb24oKSk7XG5cbiAgYXBwLmdldCgnLy0vc3RhdGljL2Zhdmljb24uaWNvJywgc2VydmVGYXZpY29uKGNvbmZpZykpO1xuXG4gIC8vIEhvb2sgZm9yIHRlc3RzIG9ubHlcbiAgaWYgKGNvbmZpZy5fZGVidWcpIHtcbiAgICBob29rRGVidWcoYXBwLCBjb25maWcuc2VsZl9wYXRoKTtcbiAgfVxuXG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuXG4gIGNvbnN0IHBsdWdpbnM6IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+W10gPSBsb2FkUGx1Z2luKGNvbmZpZywgY29uZmlnLm1pZGRsZXdhcmVzLCBwbHVnaW5fcGFyYW1zLCBmdW5jdGlvbiAocGx1Z2luOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPikge1xuICAgIHJldHVybiBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXM7XG4gIH0pO1xuICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pID0+IHtcbiAgICBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXMoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgfSk7XG5cbiAgLy8gRm9yICBucG0gcmVxdWVzdFxuICBhcHAudXNlKGFwaUVuZHBvaW50KGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuXG4gIC8vIEZvciBXZWJVSSAmIFdlYlVJIEFQSVxuICBpZiAoXy5nZXQoY29uZmlnLCAnd2ViLmVuYWJsZScsIHRydWUpKSB7XG4gICAgYXBwLnVzZSgnLycsIHdlYihjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgICBhcHAudXNlKCcvLS92ZXJkYWNjaW8vJywgd2ViQVBJKGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuICB9IGVsc2Uge1xuICAgIGFwcC5nZXQoJy8nLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5XRUJfRElTQUJMRUQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhdGNoIDQwNFxuICBhcHAuZ2V0KCcvKicsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5GSUxFX05PVF9GT1VORCkpO1xuICB9KTtcblxuICBhcHAudXNlKGZ1bmN0aW9uIChlcnI6IEh0dHBFcnJvciwgcmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBpZiAoXy5pc0Vycm9yKGVycikpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OQUJPUlQnICYmIHJlcy5zdGF0dXNDb2RlID09PSBIVFRQX1NUQVRVUy5OT1RfTU9ESUZJRUQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzRnVuY3Rpb24ocmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHZlcnkgZWFybHkgZXJyb3IgdGhpcyBtaWRkbGV3YXJlIG1heSBub3QgYmUgbG9hZGVkIGJlZm9yZSBlcnJvciBpcyBnZW5lcmF0ZWRcbiAgICAgICAgLy8gZml4aW5nIHRoYXRcbiAgICAgICAgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcSwgcmVzLCBfLm5vb3ApO1xuICAgICAgfVxuICAgICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbCB0byBNaWRkbGV3YXJlLmZpbmFsXG4gICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXBwLnVzZShmaW5hbCk7XG5cbiAgcmV0dXJuIGFwcDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhc3luYyBmdW5jdGlvbiAoY29uZmlnSGFzaDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgc2V0dXAoY29uZmlnSGFzaC5sb2dzKTtcbiAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0gbmV3IEFwcENvbmZpZyhfLmNsb25lRGVlcChjb25maWdIYXNoKSk7XG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuICBjb25zdCBmaWx0ZXJzID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5maWx0ZXJzIHx8IHt9LCBwbHVnaW5fcGFyYW1zLCAocGx1Z2luOiBJUGx1Z2luU3RvcmFnZUZpbHRlcjxJQ29uZmlnPikgPT4gcGx1Z2luLmZpbHRlcl9tZXRhZGF0YSk7XG4gIGNvbnN0IHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciA9IG5ldyBTdG9yYWdlKGNvbmZpZyk7XG4gIC8vIHdhaXRzIHVudGlsIGluaXQgY2FsbHMgaGF2ZSBiZWVuIGluaXRpYWxpemVkXG4gIGF3YWl0IHN0b3JhZ2UuaW5pdChjb25maWcsIGZpbHRlcnMpO1xuICByZXR1cm4gZGVmaW5lQVBJKGNvbmZpZywgc3RvcmFnZSk7XG59KTtcbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwidXNlcl9hZ2VudCIsInJlcSIsInJlcyIsIm5leHQiLCJzZXRIZWFkZXIiLCJkaXNhYmxlIiwiZ2V0IiwiX2RlYnVnIiwic2VsZl9wYXRoIiwicGx1Z2luX3BhcmFtcyIsImxvZ2dlciIsInBsdWdpbnMiLCJtaWRkbGV3YXJlcyIsInBsdWdpbiIsInJlZ2lzdGVyX21pZGRsZXdhcmVzIiwiZm9yRWFjaCIsIl8iLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIldFQl9ESVNBQkxFRCIsIkZJTEVfTk9UX0ZPVU5EIiwiZXJyIiwiaXNFcnJvciIsImNvZGUiLCJzdGF0dXNDb2RlIiwiSFRUUF9TVEFUVVMiLCJOT1RfTU9ESUZJRUQiLCJpc0Z1bmN0aW9uIiwibG9jYWxzIiwicmVwb3J0X2Vycm9yIiwibm9vcCIsImZpbmFsIiwiY29uZmlnSGFzaCIsImxvZ3MiLCJBcHBDb25maWciLCJjbG9uZURlZXAiLCJmaWx0ZXJzIiwiZmlsdGVyX21ldGFkYXRhIiwiU3RvcmFnZSIsImluaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLFNBQVMsR0FBRyxVQUFVQyxNQUFWLEVBQTJCQyxPQUEzQixFQUEwRDtBQUMxRSxRQUFNQyxJQUFXLEdBQUcsSUFBSUMsYUFBSixDQUFTSCxNQUFULENBQXBCO0FBQ0EsUUFBTUksR0FBZ0IsR0FBRyx1QkFBekIsQ0FGMEUsQ0FJMUU7QUFDQTs7QUFDQUEs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QTJDQSxNQUFNLENBQUN5QixlQUExRyxDQUFoQjtBQUNBLFFBQU1oRCxPQUF3QixHQUFHLElBQUlpRCxnQkFBSixDQUFZbEQsTUFBWixDQUFqQyxDQVQ2RCxDQVU3RDs7QUFDQSxRQUFNQyxPQUFPLENBQUNrRCxJQUFSLENBQWFuRCxNQUFiLEVBQXFCZ0QsT0FBckIsQ0FBTjtBQUNBLFNBQU9qRCxTQUFTLENBQUNDLE1BQUQsRUFBU0MsT0FBVCxDQUFoQjtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGV4cHJlc3MsIHsgQXBwbGljYXRpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBjb21wcmVzc2lvbiBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgY29ycyBmcm9tICdjb3JzJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJ2h0dHAtZXJyb3JzJztcbmltcG9ydCB7IENvbmZpZyBhcyBJQ29uZmlnLCBJUGx1Z2luTWlkZGxld2FyZSwgSVBsdWdpblN0b3JhZ2VGaWx0ZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCBsb2FkUGx1Z2luIGZyb20gJy4uL2xpYi9wbHVnaW4tbG9hZGVyJztcbmltcG9ydCBBdXRoIGZyb20gJy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IEVycm9yQ29kZSwgZ2V0VXNlckFnZW50IH0gZnJvbSAnLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCBBcHBDb25maWcgZnJvbSAnLi4vbGliL2NvbmZpZyc7XG5pbXBvcnQgeyAkUmVzcG9uc2VFeHRlbmQsICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJU3RvcmFnZUhhbmRsZXIsIElBdXRoIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2V0dXAsIGxvZ2dlciB9IGZyb20gJy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHdlYkFQSSBmcm9tICcuL3dlYi9hcGknO1xuaW1wb3J0IHdlYiBmcm9tICcuL3dlYic7XG5pbXBvcnQgYXBpRW5kcG9pbnQgZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgaG9va0RlYnVnIGZyb20gJy4vZGVidWcnO1xuaW1wb3J0IHsgbG9nLCBmaW5hbCwgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlLCBzZXJ2ZUZhdmljb24gfSBmcm9tICcuL21pZGRsZXdhcmUnO1xuXG5jb25zdCBkZWZpbmVBUEkgPSBmdW5jdGlvbiAoY29uZmlnOiBJQ29uZmlnLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiBhbnkge1xuICBjb25zdCBhdXRoOiBJQXV0aCA9IG5ldyBBdXRoKGNvbmZpZyk7XG4gIGNvbnN0IGFwcDogQXBwbGljYXRpb24gPSBleHByZXNzKCk7XG5cbiAgLy8gcnVuIGluIHByb2R1Y3Rpb24gbW9kZSBieSBkZWZhdWx0LCBqdXN0IGluIGNhc2VcbiAgLy8gaXQgc2hvdWxkbid0IG1ha2UgYW55IGRpZmZlcmVuY2UgYW55d2F5XG4gIGFwcC5zZXQoJ2VudicsIHByb2Nlc3MuZW52Lk5PREVfRU5WIHx8ICdwcm9kdWN0aW9uJyk7XG4gIGFwcC51c2UoY29ycygpKTtcblxuICAvLyBSb3V0ZXIgc2V0dXBcbiAgYXBwLnVzZShsb2coY29uZmlnKSk7XG4gIGFwcC51c2UoZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKTtcbiAgaWYgKGNvbmZpZy51c2VyX2FnZW50KSB7XG4gICAgYXBwLnVzZShmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zZXRIZWFkZXIoJ1gtUG93ZXJlZC1CeScsIGdldFVzZXJBZ2VudChjb25maWcudXNlcl9hZ2VudCkpO1xuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGFwcC5kaXNhYmxlKCd4LXBvd2VyZWQtYnknKTtcbiAgfVxuXG4gIGFwcC51c2UoY29tcHJlc3Npb24oKSk7XG5cbiAgYXBwLmdldCgnLy0vc3RhdGljL2Zhdmljb24uaWNvJywgc2VydmVGYXZpY29uKGNvbmZpZykpO1xuXG4gIC8vIEhvb2sgZm9yIHRlc3RzIG9ubHlcbiAgaWYgKGNvbmZpZy5fZGVidWcpIHtcbiAgICBob29rRGVidWcoYXBwLCBjb25maWcuc2VsZl9wYXRoKTtcbiAgfVxuXG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuXG4gIGNvbnN0IHBsdWdpbnM6IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+W10gPSBsb2FkUGx1Z2luKGNvbmZpZywgY29uZmlnLm1pZGRsZXdhcmVzLCBwbHVnaW5fcGFyYW1zLCBmdW5jdGlvbiAocGx1Z2luOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPikge1xuICAgIHJldHVybiBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXM7XG4gIH0pO1xuICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pID0+IHtcbiAgICBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXMoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgfSk7XG5cbiAgLy8gRm9yICBucG0gcmVxdWVzdFxuICBhcHAudXNlKGFwaUVuZHBvaW50KGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuXG4gIC8vIEZvciBXZWJVSSAmIFdlYlVJIEFQSVxuICBpZiAoXy5nZXQoY29uZmlnLCAnd2ViLmVuYWJsZScsIHRydWUpKSB7XG4gICAgYXBwLnVzZSgnLycsIHdlYihjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgICBhcHAudXNlKCcvLS92ZXJkYWNjaW8vJywgd2ViQVBJKGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuICB9IGVsc2Uge1xuICAgIGFwcC5nZXQoJy8nLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5XRUJfRElTQUJMRUQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhdGNoIDQwNFxuICBhcHAuZ2V0KCcvKicsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5GSUxFX05PVF9GT1VORCkpO1xuICB9KTtcblxuICBhcHAudXNlKGZ1bmN0aW9uIChlcnI6IEh0dHBFcnJvciwgcmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBpZiAoXy5pc0Vycm9yKGVycikpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OQUJPUlQnICYmIHJlcy5zdGF0dXNDb2RlID09PSBIVFRQX1NUQVRVUy5OT1RfTU9ESUZJRUQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzRnVuY3Rpb24ocmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHZlcnkgZWFybHkgZXJyb3IgdGhpcyBtaWRkbGV3YXJlIG1heSBub3QgYmUgbG9hZGVkIGJlZm9yZSBlcnJvciBpcyBnZW5lcmF0ZWRcbiAgICAgICAgLy8gZml4aW5nIHRoYXRcbiAgICAgICAgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcSwgcmVzLCBfLm5vb3ApO1xuICAgICAgfVxuICAgICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbCB0byBNaWRkbGV3YXJlLmZpbmFsXG4gICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXBwLnVzZShmaW5hbCk7XG5cbiAgcmV0dXJuIGFwcDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhc3luYyBmdW5jdGlvbiAoY29uZmlnSGFzaDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgc2V0dXAoY29uZmlnSGFzaC5sb2dzKTtcbiAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0gbmV3IEFwcENvbmZpZyhfLmNsb25lRGVlcChjb25maWdIYXNoKSk7XG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuICBjb25zdCBmaWx0ZXJzID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5maWx0ZXJzIHx8IHt9LCBwbHVnaW5fcGFyYW1zLCAocGx1Z2luOiBJUGx1Z2luU3RvcmFnZUZpbHRlcjxJQ29uZmlnPikgPT4gcGx1Z2luLmZpbHRlcl9tZXRhZGF0YSk7XG4gIGNvbnN0IHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciA9IG5ldyBTdG9yYWdlKGNvbmZpZyk7XG4gIC8vIHdhaXRzIHVudGlsIGluaXQgY2FsbHMgaGF2ZSBiZWVuIGluaXRpYWxpemVkXG4gIGF3YWl0IHN0b3JhZ2UuaW5pdChjb25maWcsIGZpbHRlcnMpO1xuICByZXR1cm4gZGVmaW5lQVBJKGNvbmZpZywgc3RvcmFnZSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.limiter = void 0;
|
|
7
|
+
|
|
8
|
+
var _expressRateLimit = _interopRequireDefault(require("express-rate-limit"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
|
|
16
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
|
|
18
|
+
const limiter = rateLimitOptions => {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
return new _expressRateLimit.default(_objectSpread({}, rateLimitOptions));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.limiter = limiter;
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcmF0ZS1saW1pdGVyLnRzIl0sIm5hbWVzIjpbImxpbWl0ZXIiLCJyYXRlTGltaXRPcHRpb25zIiwiUmF0ZUxpbWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7QUFHQSxNQUFNQSxPQUFPLEdBQUlDLGdCQUFELElBQXFDO0FBQ25EO0FBQ0EsU0FBTyxJQUFJQyx5QkFBSixtQkFDRkQsZ0JBREUsRUFBUDtBQUdELENBTEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmF0ZUxpbWl0IGZyb20gJ2V4cHJlc3MtcmF0ZS1saW1pdCc7XG5pbXBvcnQgeyBSYXRlTGltaXQgYXMgUmF0ZUxpbWl0VHlwZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5jb25zdCBsaW1pdGVyID0gKHJhdGVMaW1pdE9wdGlvbnM6IFJhdGVMaW1pdFR5cGUpID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gbmV3IFJhdGVMaW1pdCh7XG4gICAgLi4ucmF0ZUxpbWl0T3B0aW9ucyxcbiAgfSk7XG59O1xuXG5leHBvcnQgeyBsaW1pdGVyIH07XG4iXX0=
|
package/build/api/web/api.js
CHANGED
|
@@ -13,11 +13,7 @@ var _search = _interopRequireDefault(require("../../lib/search"));
|
|
|
13
13
|
|
|
14
14
|
var _middleware = require("../middleware");
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _package = _interopRequireDefault(require("./endpoint/package"));
|
|
19
|
-
|
|
20
|
-
var _search2 = _interopRequireDefault(require("./endpoint/search"));
|
|
16
|
+
var _endpoint = _interopRequireDefault(require("./endpoint"));
|
|
21
17
|
|
|
22
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
19
|
|
|
@@ -31,11 +27,9 @@ const route = (0, _express.Router)();
|
|
|
31
27
|
function _default(config, auth, storage) {
|
|
32
28
|
_search.default.configureStorage(storage); // validate all of these params as a package name
|
|
33
29
|
// this might be too harsh, so ask if it causes trouble
|
|
34
|
-
// $FlowFixMe
|
|
35
30
|
|
|
36
31
|
|
|
37
|
-
route.param('package', _middleware.validatePackage);
|
|
38
|
-
|
|
32
|
+
route.param('package', _middleware.validatePackage);
|
|
39
33
|
route.param('filename', _middleware.validateName);
|
|
40
34
|
route.param('version', _middleware.validateName);
|
|
41
35
|
route.param('anything', (0, _middleware.match)(/.*/));
|
|
@@ -44,13 +38,7 @@ function _default(config, auth, storage) {
|
|
|
44
38
|
}));
|
|
45
39
|
route.use(auth.webUIJWTmiddleware());
|
|
46
40
|
route.use(_middleware.setSecurityWebHeaders);
|
|
47
|
-
(0,
|
|
48
|
-
(0, _search2.default)(route, storage, auth);
|
|
49
|
-
(0, _user.default)(route, auth, config); // What are you looking for? logout? client side will remove token when user click logout,
|
|
50
|
-
// or it will auto expire after 24 hours.
|
|
51
|
-
// This token is different with the token send to npm client.
|
|
52
|
-
// We will/may replace current token with JWT in next major release, and it will not expire at all(configurable).
|
|
53
|
-
|
|
41
|
+
route.use((0, _endpoint.default)(auth, storage, config));
|
|
54
42
|
return route;
|
|
55
43
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd2ViL2FwaS50cyJdLCJuYW1lcyI6WyJyb3V0ZSIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiU2VhcmNoIiwiY29uZmlndXJlU3RvcmFnZSIsInBhcmFtIiwidmFsaWRhdGVQYWNrYWdlIiwidmFsaWRhdGVOYW1lIiwidXNlIiwiYm9keVBhcnNlciIsInVybGVuY29kZWQiLCJleHRlbmRlZCIsIndlYlVJSldUbWlkZGxld2FyZSIsInNldFNlY3VyaXR5V2ViSGVhZGVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUV4QjtBQUNBO0FBQ0E7O0FBQ2Usa0JBQVVDLE1BQVYsRUFBMEJDLElBQTFCLEVBQXVDQyxPQUF2QyxFQUF5RTtBQUN0RkMsa0JBQU9DLGdCQUFQLENBQXdCRixPQUF4QixFQURzRixDQUV0RjtBQUNBOzs7QUFDQUgsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksU0FBWixFQUF1QkMsMkJBQXZCO0FBQ0FQLEVBQUFBLEtBQUssQ0FBQ00sS0FBTixDQUFZLFVBQVosRUFBd0JFLHdCQUF4QjtBQUNBUixFQUFBQSxLQUFLLENBQUNNLEtBQU4sQ0FBWSxTQUFaLEVBQXVCRSx3QkFBdkI7QUFDQVIsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksVUFBWixFQUF3Qix1QkFBTSxJQUFOLENBQXhCO0FBRUFOLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVQyxvQkFBV0MsVUFBWCxDQUFzQjtBQUFFQyxJQUFBQSxRQUFRLEVBQUU7QUFBWixHQUF0QixDQUFWO0FBQ0FaLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVUCxJQUFJLENBQUNXLGtCQUFMLEVBQVY7QUFDQWIsRUFBQUEsS0FBSyxDQUFDUyxHQUFOLENBQVVLLGlDQUFWO0FBQ0FkLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVLHVCQUFPUCxJQUFQLEVBQWFDLE9BQWIsRUFBc0JGLE1BQXRCLENBQVY7QUFDQSxTQUFPRCxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IFNlYXJjaCBmcm9tICcuLi8uLi9saWIvc2VhcmNoJztcbmltcG9ydCB7IG1hdGNoLCB2YWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSwgc2V0U2VjdXJpdHlXZWJIZWFkZXJzIH0gZnJvbSAnLi4vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHdlYkFwaSBmcm9tICcuL2VuZHBvaW50JztcblxuY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cblxuLypcbiBUaGlzIGZpbGUgaW5jbHVkZSBhbGwgdmVyZGFjY2lvIG9ubHkgQVBJKFdlYiBVSSksIGZvciBucG0gQVBJIHBsZWFzZSBzZWUgLi4vZW5kcG9pbnQvXG4qL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbmZpZzogQ29uZmlnLCBhdXRoOiBJQXV0aCwgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKTogUm91dGVyIHtcbiAgU2VhcmNoLmNvbmZpZ3VyZVN0b3JhZ2Uoc3RvcmFnZSk7XG4gIC8vIHZhbGlkYXRlIGFsbCBvZiB0aGVzZSBwYXJhbXMgYXMgYSBwYWNrYWdlIG5hbWVcbiAgLy8gdGhpcyBtaWdodCBiZSB0b28gaGFyc2gsIHNvIGFzayBpZiBpdCBjYXVzZXMgdHJvdWJsZVxuICByb3V0ZS5wYXJhbSgncGFja2FnZScsIHZhbGlkYXRlUGFja2FnZSk7XG4gIHJvdXRlLnBhcmFtKCdmaWxlbmFtZScsIHZhbGlkYXRlTmFtZSk7XG4gIHJvdXRlLnBhcmFtKCd2ZXJzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgcm91dGUucGFyYW0oJ2FueXRoaW5nJywgbWF0Y2goLy4qLykpO1xuXG4gIHJvdXRlLnVzZShib2R5UGFyc2VyLnVybGVuY29kZWQoeyBleHRlbmRlZDogZmFsc2UgfSkpO1xuICByb3V0ZS51c2UoYXV0aC53ZWJVSUpXVG1pZGRsZXdhcmUoKSk7XG4gIHJvdXRlLnVzZShzZXRTZWN1cml0eVdlYkhlYWRlcnMpO1xuICByb3V0ZS51c2Uod2ViQXBpKGF1dGgsIHN0b3JhZ2UsIGNvbmZpZykpO1xuICByZXR1cm4gcm91dGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _express = require("express");
|
|
9
|
+
|
|
10
|
+
var _rateLimiter = require("../../rate-limiter");
|
|
11
|
+
|
|
12
|
+
var _package = _interopRequireDefault(require("./package"));
|
|
13
|
+
|
|
14
|
+
var _search = _interopRequireDefault(require("./search"));
|
|
15
|
+
|
|
16
|
+
var _user = _interopRequireDefault(require("./user"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
26
|
+
var _default = (auth, storage, config) => {
|
|
27
|
+
var _config$web;
|
|
28
|
+
|
|
29
|
+
const route = (0, _express.Router)();
|
|
30
|
+
/* eslint new-cap: 0 */
|
|
31
|
+
|
|
32
|
+
route.use('/data/', (0, _rateLimiter.limiter)(_objectSpread({
|
|
33
|
+
windowMs: 2 * 60 * 1000,
|
|
34
|
+
// 2 minutes
|
|
35
|
+
max: 5000
|
|
36
|
+
}, config === null || config === void 0 ? void 0 : (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.rateLimit)));
|
|
37
|
+
route.use('/data/', (0, _package.default)(storage, auth, config));
|
|
38
|
+
route.use('/data/', (0, _search.default)(storage, auth));
|
|
39
|
+
route.use('/sec/', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit));
|
|
40
|
+
route.use('/sec/', (0, _user.default)(auth, storage));
|
|
41
|
+
return route;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.default = _default;
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwicm91dGUiLCJ1c2UiLCJ3aW5kb3dNcyIsIm1heCIsIndlYiIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztlQUVlLENBQUNBLElBQUQsRUFBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7QUFBQTs7QUFDeEMsUUFBTUMsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUN4QkEsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQ0UsUUFERixFQUVFO0FBQ0VDLElBQUFBLFFBQVEsRUFBRSxJQUFJLEVBQUosR0FBUyxJQURyQjtBQUMyQjtBQUN6QkMsSUFBQUEsR0FBRyxFQUFFO0FBRlAsS0FHS0osTUFITCxhQUdLQSxNQUhMLHNDQUdLQSxNQUFNLENBQUVLLEdBSGIsZ0RBR0ssWUFBYUMsU0FIbEIsRUFGRjtBQVFBTCxFQUFBQSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxRQUFWLEVBQW9CLHNCQUFXSCxPQUFYLEVBQW9CRCxJQUFwQixFQUEwQkUsTUFBMUIsQ0FBcEI7QUFDQUMsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsUUFBVixFQUFvQixxQkFBT0gsT0FBUCxFQUFnQkQsSUFBaEIsQ0FBcEI7QUFDQUcsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsT0FBVixFQUFtQiwwQkFBUUYsTUFBUixhQUFRQSxNQUFSLHVCQUFRQSxNQUFNLENBQUVPLGFBQWhCLENBQW5CO0FBQ0FOLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLE9BQVYsRUFBbUIsbUJBQUtKLElBQUwsRUFBV0MsT0FBWCxDQUFuQjtBQUNBLFNBQU9FLEtBQVA7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgbGltaXRlciB9IGZyb20gJy4uLy4uL3JhdGUtbGltaXRlcic7XG5pbXBvcnQgcGFja2FnZUFwaSBmcm9tICcuL3BhY2thZ2UnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgdXNlciBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZGVmYXVsdCAoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IHJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIHJvdXRlLnVzZShcbiAgICAnL2RhdGEvJyxcbiAgICBsaW1pdGVyKHtcbiAgICAgIHdpbmRvd01zOiAyICogNjAgKiAxMDAwLCAvLyAyICBtaW51dGVzXG4gICAgICBtYXg6IDUwMDAsIC8vIGxpbWl0IGVhY2ggSVAgdG8gMTAwMCByZXF1ZXN0cyBwZXIgd2luZG93TXNcbiAgICAgIC4uLmNvbmZpZz8ud2ViPy5yYXRlTGltaXQsXG4gICAgfSlcbiAgKTtcbiAgcm91dGUudXNlKCcvZGF0YS8nLCBwYWNrYWdlQXBpKHN0b3JhZ2UsIGF1dGgsIGNvbmZpZykpO1xuICByb3V0ZS51c2UoJy9kYXRhLycsIHNlYXJjaChzdG9yYWdlLCBhdXRoKSk7XG4gIHJvdXRlLnVzZSgnL3NlYy8nLCBsaW1pdGVyKGNvbmZpZz8udXNlclJhdGVMaW1pdCkpO1xuICByb3V0ZS51c2UoJy9zZWMvJywgdXNlcihhdXRoLCBzdG9yYWdlKSk7XG4gIHJldHVybiByb3V0ZTtcbn07XG4iXX0=
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
9
|
|
|
10
|
+
var _express = require("express");
|
|
11
|
+
|
|
10
12
|
var _utils = require("../../../lib/utils");
|
|
11
13
|
|
|
12
14
|
var _middleware = require("../../middleware");
|
|
@@ -29,8 +31,10 @@ const getOrder = (order = 'asc') => {
|
|
|
29
31
|
return order === 'asc';
|
|
30
32
|
};
|
|
31
33
|
|
|
32
|
-
function addPackageWebApi(
|
|
34
|
+
function addPackageWebApi(storage, auth, config) {
|
|
33
35
|
const can = (0, _middleware.allow)(auth);
|
|
36
|
+
const pkgRouter = (0, _express.Router)();
|
|
37
|
+
/* eslint new-cap: 0 */
|
|
34
38
|
|
|
35
39
|
const checkAllow = (name, remoteUser) => new Promise((resolve, reject) => {
|
|
36
40
|
try {
|
|
@@ -49,7 +53,7 @@ function addPackageWebApi(route, storage, auth, config) {
|
|
|
49
53
|
}); // Get list of all visible package
|
|
50
54
|
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
pkgRouter.get('/packages', function (req, res, next) {
|
|
53
57
|
storage.getLocalDatabase(async function (err, packages) {
|
|
54
58
|
if (err) {
|
|
55
59
|
throw err;
|
|
@@ -103,7 +107,7 @@ function addPackageWebApi(route, storage, auth, config) {
|
|
|
103
107
|
});
|
|
104
108
|
}); // Get package readme
|
|
105
109
|
|
|
106
|
-
|
|
110
|
+
pkgRouter.get('/package/readme/(@:scope/)?:package/:version?', can('access'), function (req, res, next) {
|
|
107
111
|
const packageName = req.params.scope ? (0, _utils.addScope)(req.params.scope, req.params.package) : req.params.package;
|
|
108
112
|
storage.getPackage({
|
|
109
113
|
name: packageName,
|
|
@@ -115,11 +119,15 @@ function addPackageWebApi(route, storage, auth, config) {
|
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
res.set(_constants.HEADER_TYPE.CONTENT_TYPE, _constants.HEADERS.TEXT_PLAIN);
|
|
118
|
-
|
|
122
|
+
const referer = req.get('Referer');
|
|
123
|
+
const pathname = referer ? new URL(referer).pathname : undefined;
|
|
124
|
+
next((0, _utils.parseReadme)(info.name, info.readme, {
|
|
125
|
+
pathname
|
|
126
|
+
}));
|
|
119
127
|
}
|
|
120
128
|
});
|
|
121
129
|
});
|
|
122
|
-
|
|
130
|
+
pkgRouter.get('/sidebar/(@:scope/)?:package', can('access'), function (req, res, next) {
|
|
123
131
|
const packageName = req.params.scope ? (0, _utils.addScope)(req.params.scope, req.params.package) : req.params.package;
|
|
124
132
|
storage.getPackage({
|
|
125
133
|
name: packageName,
|
|
@@ -170,8 +178,9 @@ function addPackageWebApi(route, storage, auth, config) {
|
|
|
170
178
|
}
|
|
171
179
|
});
|
|
172
180
|
});
|
|
181
|
+
return pkgRouter;
|
|
173
182
|
}
|
|
174
183
|
|
|
175
184
|
var _default = addPackageWebApi;
|
|
176
185
|
exports.default = _default;
|
|
177
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3BhY2thZ2UudHMiXSwibmFtZXMiOlsiZ2V0T3JkZXIiLCJvcmRlciIsImFkZFBhY2thZ2VXZWJBcGkiLCJyb3V0ZSIsInN0b3JhZ2UiLCJhdXRoIiwiY29uZmlnIiwiY2FuIiwiY2hlY2tBbGxvdyIsIm5hbWUiLCJyZW1vdGVVc2VyIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhbGxvd19hY2Nlc3MiLCJwYWNrYWdlTmFtZSIsImVyciIsImFsbG93ZWQiLCJnZXQiLCJyZXEiLCJyZXMiLCJuZXh0IiwiZ2V0TG9jYWxEYXRhYmFzZSIsInBhY2thZ2VzIiwicHJvY2Vzc1BhY2thZ2VzIiwicGVybWlzc2lvbnMiLCJwYWNrZ2VzQ29weSIsInNsaWNlIiwicGtnIiwicGtnQ29weSIsImF1dGhvciIsInJlbW90ZV91c2VyIiwid2ViIiwiYXZhdGFyIiwiZW1haWwiLCJncmF2YXRhciIsIl8iLCJpc05pbCIsImRpc3QiLCJpc051bGwiLCJ0YXJiYWxsIiwidXJsX3ByZWZpeCIsInB1c2giLCJsb2dnZXIiLCJlcnJvciIsInNvcnRfcGFja2FnZXMiLCJFcnJvckNvZGUiLCJnZXRJbnRlcm5hbEVycm9yIiwicGFyYW1zIiwic2NvcGUiLCJwYWNrYWdlIiwiZ2V0UGFja2FnZSIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJpbmZvIiwic2V0IiwiSEVBREVSX1RZUEUiLCJDT05URU5UX1RZUEUiLCJIRUFERVJTIiwiVEVYVF9QTEFJTiIsInJlYWRtZSIsImtlZXBVcExpbmtEYXRhIiwidiIsInF1ZXJ5Iiwic2lkZUJhckluZm8iLCJjbG9uZSIsInZlcnNpb25zIiwibGF0ZXN0IiwiRElTVF9UQUdTIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJOT1RfRk9VTkQiLCJlbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFZQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUdB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NkIsWUFBQUEsV0FBVyxHQUFHLCtCQUFtQkEsV0FBbkIsQ0FBZDtBQUNEOztBQUNEM0MsVUFBQUEsSUFBSSxDQUFDMkMsV0FBRCxDQUFKO0FBQ0QsU0F6QkQsTUF5Qk87QUFDTDVDLFVBQUFBLEdBQUcsQ0FBQ2lELE1BQUosQ0FBV0MsdUJBQVlDLFNBQXZCO0FBQ0FuRCxVQUFBQSxHQUFHLENBQUNvRCxHQUFKO0FBQ0Q7QUFDRjtBQW5DZ0IsS0FBbkI7QUFxQ0QsR0F4Q0Q7QUF5Q0Q7O2VBRWN0RSxnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHtcbiAgYWRkU2NvcGUsXG4gIGFkZEdyYXZhdGFyU3VwcG9ydCxcbiAgZGVsZXRlUHJvcGVydGllcyxcbiAgc29ydEJ5TmFtZSxcbiAgcGFyc2VSZWFkbWUsXG4gIGZvcm1hdEF1dGhvcixcbiAgY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMsXG4gIGdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpLFxuICBpc1ZlcnNpb25WYWxpZCxcbiAgRXJyb3JDb2RlLFxufSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgYWxsb3cgfSBmcm9tICcuLi8uLi9taWRkbGV3YXJlJztcbmltcG9ydCB7IERJU1RfVEFHUywgSEVBREVSX1RZUEUsIEhFQURFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUdyYXZhdGFyVXJsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXNlcic7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi8uLi9saWIvbG9nZ2VyJztcbmltcG9ydCB7IElBdXRoLCAkUmVzcG9uc2VFeHRlbmQsICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJU3RvcmFnZUhhbmRsZXIsICRTaWRlYmFyUGFja2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZ2V0T3JkZXIgPSAob3JkZXIgPSAnYXNjJykgPT4ge1xuICByZXR1cm4gb3JkZXIgPT09ICdhc2MnO1xufTtcblxuZXhwb3J0IHR5cGUgUGFja2NhZ2VFeHQgPSBQYWNrYWdlICYgeyBhdXRob3I6IGFueTsgZGlzdD86IHsgdGFyYmFsbDogc3RyaW5nIH0gfTtcblxuZnVuY3Rpb24gYWRkUGFja2FnZVdlYkFwaShyb3V0ZTogUm91dGVyLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsIGF1dGg6IElBdXRoLCBjb25maWc6IENvbmZpZyk6IHZvaWQge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoKTtcblxuICBjb25zdCBjaGVja0FsbG93ID0gKG5hbWUsIHJlbW90ZVVzZXIpOiBQcm9taXNlPGJvb2xlYW4+ID0+XG4gICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk6IHZvaWQgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXV0aC5hbGxvd19hY2Nlc3MoeyBwYWNrYWdlTmFtZTogbmFtZSB9LCByZW1vdGVVc2VyLCAoZXJyLCBhbGxvd2VkKTogdm9pZCA9PiB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc29sdmUoYWxsb3dlZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIC8vIEdldCBsaXN0IG9mIGFsbCB2aXNpYmxlIHBhY2thZ2VcbiAgcm91dGUuZ2V0KCcvcGFja2FnZXMnLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBzdG9yYWdlLmdldExvY2FsRGF0YWJhc2UoYXN5bmMgZnVuY3Rpb24gKGVyciwgcGFja2FnZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuXG4gICAgICBhc3luYyBmdW5jdGlvbiBwcm9jZXNzUGFja2FnZXMocGFja2FnZXM6IFBhY2tjYWdlRXh0W10gPSBbXSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zOiBQYWNrY2FnZUV4dFtdID0gW107XG4gICAgICAgIGNvbnN0IHBhY2tnZXNDb3B5ID0gcGFja2FnZXMuc2xpY2UoKTtcbiAgICAgICAgZm9yIChjb25zdCBwa2cgb2YgcGFja2dlc0NvcHkpIHtcbiAgICAgICAgICBjb25zdCBwa2dDb3B5ID0geyAuLi5wa2cgfTtcbiAgICAgICAgICBwa2dDb3B5LmF1dGhvciA9IGZvcm1hdEF1dGhvcihwa2cuYXV0aG9yKTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IGNoZWNrQWxsb3cocGtnLm5hbWUsIHJlcS5yZW1vdGVfdXNlcikpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbmZpZy53ZWIpIHtcbiAgICAgICAgICAgICAgICBwa2dDb3B5LmF1dGhvci5hdmF0YXIgPSBnZW5lcmF0ZUdyYXZhdGFyVXJsKHBrZ0NvcHkuYXV0aG9yLmVtYWlsLCBjb25maWcud2ViLmdyYXZhdGFyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIV8uaXNOaWwocGtnQ29weS5kaXN0KSAmJiAhXy5pc051bGwocGtnQ29weS5kaXN0LnRhcmJhbGwpKSB7XG4gICAgICAgICAgICAgICAgcGtnQ29weS5kaXN0LnRhcmJhbGwgPSBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaShwa2dDb3B5LmRpc3QudGFyYmFsbCwgcGtnLm5hbWUsIHJlcSwgY29uZmlnLnVybF9wcmVmaXgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2gocGtnQ29weSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBuYW1lOiBwa2cubmFtZSwgZXJyb3I6IGVyciB9LCAncGVybWlzc2lvbiBwcm9jZXNzIGZvciBAe25hbWV9IGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHdlYiB9ID0gY29uZmlnO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3Qgb3JkZXI6IGJvb2xlYW4gPSBjb25maWcud2ViID8gZ2V0T3JkZXIod2ViLnNvcnRfcGFja2FnZXMpIDogdHJ1ZTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dChzb3J0QnlOYW1lKGF3YWl0IHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlcyksIG9yZGVyKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICAvLyBHZXQgcGFja2FnZSByZWFkbWVcbiAgcm91dGUuZ2V0KCcvcGFja2FnZS9yZWFkbWUvKEA6c2NvcGUvKT86cGFja2FnZS86dmVyc2lvbj8nLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGUgPyBhZGRTY29wZShyZXEucGFyYW1zLnNjb3BlLCByZXEucGFyYW1zLnBhY2thZ2UpIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgIG5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVyciwgaW5mbyk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcy5zZXQoSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFLCBIRUFERVJTLlRFWFRfUExBSU4pO1xuICAgICAgICBuZXh0KHBhcnNlUmVhZG1lKGluZm8ubmFtZSwgaW5mby5yZWFkbWUpKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLmdldCgnL3NpZGViYXIvKEA6c2NvcGUvKT86cGFja2FnZScsIGNhbignYWNjZXNzJyksIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lOiBzdHJpbmcgPSByZXEucGFyYW1zLnNjb3BlID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKSA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAga2VlcFVwTGlua0RhdGE6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVycjogRXJyb3IsIGluZm86ICRTaWRlYmFyUGFja2FnZSk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05pbChlcnIpKSB7XG4gICAgICAgICAgY29uc3QgeyB2IH0gPSByZXEucXVlcnk7XG4gICAgICAgICAgbGV0IHNpZGVCYXJJbmZvOiBhbnkgPSBfLmNsb25lKGluZm8pO1xuICAgICAgICAgIHNpZGVCYXJJbmZvLnZlcnNpb25zID0gY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMoaW5mbywgcmVxLCBjb25maWcudXJsX3ByZWZpeCkudmVyc2lvbnM7XG4gICAgICAgICAgaWYgKGlzVmVyc2lvblZhbGlkKGluZm8sIHYpKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QgPSBzaWRlQmFySW5mby52ZXJzaW9uc1t2XTtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IgPSBmb3JtYXRBdXRob3Ioc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdCA9IHNpZGVCYXJJbmZvLnZlcnNpb25zW2luZm9bRElTVF9UQUdTXS5sYXRlc3RdO1xuICAgICAgICAgICAgaWYgKHNpZGVCYXJJbmZvPy5sYXRlc3QpIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvciA9IGZvcm1hdEF1dGhvcihzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNpZGVCYXJJbmZvID0gZGVsZXRlUHJvcGVydGllcyhbJ3JlYWRtZScsICdfYXR0YWNobWVudHMnLCAnX3JldicsICduYW1lJ10sIHNpZGVCYXJJbmZvKTtcbiAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8sIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaWRlQmFySW5mbyA9IGFkZEdyYXZhdGFyU3VwcG9ydChzaWRlQmFySW5mbyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHQoc2lkZUJhckluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICByZXMuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhZGRQYWNrYWdlV2ViQXBpO1xuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3BhY2thZ2UudHMiXSwibmFtZXMiOlsiZ2V0T3JkZXIiLCJvcmRlciIsImFkZFBhY2thZ2VXZWJBcGkiLCJzdG9yYWdlIiwiYXV0aCIsImNvbmZpZyIsImNhbiIsInBrZ1JvdXRlciIsImNoZWNrQWxsb3ciLCJuYW1lIiwicmVtb3RlVXNlciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYWxsb3dfYWNjZXNzIiwicGFja2FnZU5hbWUiLCJlcnIiLCJhbGxvd2VkIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsImdldExvY2FsRGF0YWJhc2UiLCJwYWNrYWdlcyIsInByb2Nlc3NQYWNrYWdlcyIsInBlcm1pc3Npb25zIiwicGFja2dlc0NvcHkiLCJzbGljZSIsInBrZyIsInBrZ0NvcHkiLCJhdXRob3IiLCJyZW1vdGVfdXNlciIsIndlYiIsImF2YXRhciIsImVtYWlsIiwiZ3JhdmF0YXIiLCJfIiwiaXNOaWwiLCJkaXN0IiwiaXNOdWxsIiwidGFyYmFsbCIsInVybF9wcmVmaXgiLCJwdXNoIiwibG9nZ2VyIiwiZXJyb3IiLCJzb3J0X3BhY2thZ2VzIiwiRXJyb3JDb2RlIiwiZ2V0SW50ZXJuYWxFcnJvciIsInBhcmFtcyIsInNjb3BlIiwicGFja2FnZSIsImdldFBhY2thZ2UiLCJ1cGxpbmtzTG9vayIsImNhbGxiYWNrIiwiaW5mbyIsInNldCIsIkhFQURFUl9UWVBFIiwiQ09OVEVOVF9UWVBFIiwiSEVBREVSUyIsIlRFWFRfUExBSU4iLCJyZWZlcmVyIiwicGF0aG5hbWUiLCJVUkwiLCJ1bmRlZmluZWQiLCJyZWFkbWUiLCJrZWVwVXBMaW5rRGF0YSIsInYiLCJxdWVyeSIsInNpZGVCYXJJbmZvIiwiY2xvbmUiLCJ2ZXJzaW9ucyIsImxhdGVzdCIsIkRJU1RfVEFHUyIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiTk9UX0ZPVU5EIiwiZW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7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Q0Q7QUFDRjs7QUFDRFIsVUFBQUEsV0FBVyxHQUFHLDZCQUFpQixDQUFDLFFBQUQsRUFBVyxjQUFYLEVBQTJCLE1BQTNCLEVBQW1DLE1BQW5DLENBQWpCLEVBQTZEQSxXQUE3RCxDQUFkOztBQUNBLGNBQUkvRCxNQUFNLENBQUMyQixHQUFYLEVBQWdCO0FBQ2RvQyxZQUFBQSxXQUFXLEdBQUcsK0JBQW1CQSxXQUFuQixFQUFnQy9ELE1BQU0sQ0FBQzJCLEdBQVAsQ0FBV0csUUFBM0MsQ0FBZDtBQUNELFdBRkQsTUFFTztBQUNMaUMsWUFBQUEsV0FBVyxHQUFHLCtCQUFtQkEsV0FBbkIsQ0FBZDtBQUNEOztBQUNEL0MsVUFBQUEsSUFBSSxDQUFDK0MsV0FBRCxDQUFKO0FBQ0QsU0F6QkQsTUF5Qk87QUFDTGhELFVBQUFBLEdBQUcsQ0FBQ3FELE1BQUosQ0FBV0MsdUJBQVlDLFNBQXZCO0FBQ0F2RCxVQUFBQSxHQUFHLENBQUN3RCxHQUFKO0FBQ0Q7QUFDRjtBQW5DZ0IsS0FBbkI7QUFxQ0QsR0F4Q0Q7QUEwQ0EsU0FBT3JFLFNBQVA7QUFDRDs7ZUFFY0wsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBDb25maWcsIFBhY2thZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7XG4gIGFkZFNjb3BlLFxuICBhZGRHcmF2YXRhclN1cHBvcnQsXG4gIGRlbGV0ZVByb3BlcnRpZXMsXG4gIHNvcnRCeU5hbWUsXG4gIHBhcnNlUmVhZG1lLFxuICBmb3JtYXRBdXRob3IsXG4gIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLFxuICBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaSxcbiAgaXNWZXJzaW9uVmFsaWQsXG4gIEVycm9yQ29kZSxcbn0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnLi4vLi4vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBESVNUX1RBR1MsIEhFQURFUl9UWVBFLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVHcmF2YXRhclVybCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3VzZXInO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBJQXV0aCwgJFJlc3BvbnNlRXh0ZW5kLCAkUmVxdWVzdEV4dGVuZCwgJE5leHRGdW5jdGlvblZlciwgSVN0b3JhZ2VIYW5kbGVyLCAkU2lkZWJhclBhY2thZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbmNvbnN0IGdldE9yZGVyID0gKG9yZGVyID0gJ2FzYycpID0+IHtcbiAgcmV0dXJuIG9yZGVyID09PSAnYXNjJztcbn07XG5cbmV4cG9ydCB0eXBlIFBhY2tjYWdlRXh0ID0gUGFja2FnZSAmIHsgYXV0aG9yOiBhbnk7IGRpc3Q/OiB7IHRhcmJhbGw6IHN0cmluZyB9IH07XG5cbmZ1bmN0aW9uIGFkZFBhY2thZ2VXZWJBcGkoc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyLCBhdXRoOiBJQXV0aCwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoKTtcbiAgY29uc3QgcGtnUm91dGVyID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG5cbiAgY29uc3QgY2hlY2tBbGxvdyA9IChuYW1lLCByZW1vdGVVc2VyKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpOiB2b2lkID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF1dGguYWxsb3dfYWNjZXNzKHsgcGFja2FnZU5hbWU6IG5hbWUgfSwgcmVtb3RlVXNlciwgKGVyciwgYWxsb3dlZCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNvbHZlKGFsbG93ZWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyBHZXQgbGlzdCBvZiBhbGwgdmlzaWJsZSBwYWNrYWdlXG4gIHBrZ1JvdXRlci5nZXQoJy9wYWNrYWdlcycsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHN0b3JhZ2UuZ2V0TG9jYWxEYXRhYmFzZShhc3luYyBmdW5jdGlvbiAoZXJyLCBwYWNrYWdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG5cbiAgICAgIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlczogUGFja2NhZ2VFeHRbXSA9IFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnM6IFBhY2tjYWdlRXh0W10gPSBbXTtcbiAgICAgICAgY29uc3QgcGFja2dlc0NvcHkgPSBwYWNrYWdlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwYWNrZ2VzQ29weSkge1xuICAgICAgICAgIGNvbnN0IHBrZ0NvcHkgPSB7IC4uLnBrZyB9O1xuICAgICAgICAgIHBrZ0NvcHkuYXV0aG9yID0gZm9ybWF0QXV0aG9yKHBrZy5hdXRob3IpO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoYXdhaXQgY2hlY2tBbGxvdyhwa2cubmFtZSwgcmVxLnJlbW90ZV91c2VyKSkge1xuICAgICAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgICAgIHBrZ0NvcHkuYXV0aG9yLmF2YXRhciA9IGdlbmVyYXRlR3JhdmF0YXJVcmwocGtnQ29weS5hdXRob3IuZW1haWwsIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICghXy5pc05pbChwa2dDb3B5LmRpc3QpICYmICFfLmlzTnVsbChwa2dDb3B5LmRpc3QudGFyYmFsbCkpIHtcbiAgICAgICAgICAgICAgICBwa2dDb3B5LmRpc3QudGFyYmFsbCA9IGdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpKHBrZ0NvcHkuZGlzdC50YXJiYWxsLCBwa2cubmFtZSwgcmVxLCBjb25maWcudXJsX3ByZWZpeCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaChwa2dDb3B5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IG5hbWU6IHBrZy5uYW1lLCBlcnJvcjogZXJyIH0sICdwZXJtaXNzaW9uIHByb2Nlc3MgZm9yIEB7bmFtZX0gaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbnM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgd2ViIH0gPSBjb25maWc7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBvcmRlcjogYm9vbGVhbiA9IGNvbmZpZy53ZWIgPyBnZXRPcmRlcih3ZWIuc29ydF9wYWNrYWdlcykgOiB0cnVlO1xuXG4gICAgICB0cnkge1xuICAgICAgICBuZXh0KHNvcnRCeU5hbWUoYXdhaXQgcHJvY2Vzc1BhY2thZ2VzKHBhY2thZ2VzKSwgb3JkZXIpKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIEdldCBwYWNrYWdlIHJlYWRtZVxuICBwa2dSb3V0ZXIuZ2V0KCcvcGFja2FnZS9yZWFkbWUvKEA6c2NvcGUvKT86cGFja2FnZS86dmVyc2lvbj8nLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGUgPyBhZGRTY29wZShyZXEucGFyYW1zLnNjb3BlLCByZXEucGFyYW1zLnBhY2thZ2UpIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgIG5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVyciwgaW5mbyk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcy5zZXQoSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFLCBIRUFERVJTLlRFWFRfUExBSU4pO1xuICAgICAgICBjb25zdCByZWZlcmVyID0gcmVxLmdldCgnUmVmZXJlcicpO1xuICAgICAgICBjb25zdCBwYXRobmFtZSA9IHJlZmVyZXIgPyBuZXcgVVJMKHJlZmVyZXIpLnBhdGhuYW1lIDogdW5kZWZpbmVkO1xuICAgICAgICBuZXh0KHBhcnNlUmVhZG1lKGluZm8ubmFtZSwgaW5mby5yZWFkbWUsIHsgcGF0aG5hbWUgfSkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcGtnUm91dGVyLmdldCgnL3NpZGViYXIvKEA6c2NvcGUvKT86cGFja2FnZScsIGNhbignYWNjZXNzJyksIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lOiBzdHJpbmcgPSByZXEucGFyYW1zLnNjb3BlID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKSA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAga2VlcFVwTGlua0RhdGE6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVycjogRXJyb3IsIGluZm86ICRTaWRlYmFyUGFja2FnZSk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05pbChlcnIpKSB7XG4gICAgICAgICAgY29uc3QgeyB2IH0gPSByZXEucXVlcnk7XG4gICAgICAgICAgbGV0IHNpZGVCYXJJbmZvOiBhbnkgPSBfLmNsb25lKGluZm8pO1xuICAgICAgICAgIHNpZGVCYXJJbmZvLnZlcnNpb25zID0gY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMoaW5mbywgcmVxLCBjb25maWcudXJsX3ByZWZpeCkudmVyc2lvbnM7XG4gICAgICAgICAgaWYgKGlzVmVyc2lvblZhbGlkKGluZm8sIHYpKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QgPSBzaWRlQmFySW5mby52ZXJzaW9uc1t2XTtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IgPSBmb3JtYXRBdXRob3Ioc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdCA9IHNpZGVCYXJJbmZvLnZlcnNpb25zW2luZm9bRElTVF9UQUdTXS5sYXRlc3RdO1xuICAgICAgICAgICAgaWYgKHNpZGVCYXJJbmZvPy5sYXRlc3QpIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvciA9IGZvcm1hdEF1dGhvcihzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNpZGVCYXJJbmZvID0gZGVsZXRlUHJvcGVydGllcyhbJ3JlYWRtZScsICdfYXR0YWNobWVudHMnLCAnX3JldicsICduYW1lJ10sIHNpZGVCYXJJbmZvKTtcbiAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8sIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaWRlQmFySW5mbyA9IGFkZEdyYXZhdGFyU3VwcG9ydChzaWRlQmFySW5mbyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHQoc2lkZUJhckluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICByZXMuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBwa2dSb3V0ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFkZFBhY2thZ2VXZWJBcGk7XG4iXX0=
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _express = require("express");
|
|
9
|
+
|
|
8
10
|
var _search = _interopRequireDefault(require("../../../lib/search"));
|
|
9
11
|
|
|
10
12
|
var _constants = require("../../../lib/constants");
|
|
@@ -15,8 +17,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
17
|
* @prettier
|
|
16
18
|
* @flow
|
|
17
19
|
*/
|
|
18
|
-
function addSearchWebApi(
|
|
20
|
+
function addSearchWebApi(storage, auth) {
|
|
21
|
+
const route = (0, _express.Router)();
|
|
22
|
+
/* eslint new-cap: 0 */
|
|
19
23
|
// Search package
|
|
24
|
+
|
|
20
25
|
route.get('/search/:anything', function (req, res, next) {
|
|
21
26
|
const results = _search.default.query(req.params.anything); // FUTURE: figure out here the correct type
|
|
22
27
|
|
|
@@ -55,8 +60,9 @@ function addSearchWebApi(route, storage, auth) {
|
|
|
55
60
|
next([]);
|
|
56
61
|
}
|
|
57
62
|
});
|
|
63
|
+
return route;
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
var _default = addSearchWebApi;
|
|
61
67
|
exports.default = _default;
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3NlYXJjaC50cyJdLCJuYW1lcyI6WyJhZGRTZWFyY2hXZWJBcGkiLCJzdG9yYWdlIiwiYXV0aCIsInJvdXRlIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInJlc3VsdHMiLCJTZWFyY2giLCJxdWVyeSIsInBhcmFtcyIsImFueXRoaW5nIiwicGFja2FnZXMiLCJnZXRQYWNrYWdlSW5mbyIsImkiLCJnZXRQYWNrYWdlIiwibmFtZSIsInJlZiIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJlcnIiLCJlbnRyeSIsImFsbG93X2FjY2VzcyIsInBhY2thZ2VOYW1lIiwicmVtb3RlX3VzZXIiLCJhbGxvd2VkIiwicHVzaCIsInZlcnNpb25zIiwiRElTVF9UQUdTIiwibGF0ZXN0IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBS0E7O0FBRUE7O0FBQ0E7Ozs7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQVFBLFNBQVNBLGVBQVQsQ0FBeUJDLE9BQXpCLEVBQW1EQyxJQUFuRCxFQUF3RTtBQUN0RSxRQUFNQyxLQUFLLEdBQUcsc0JBQWQ7QUFBd0I7QUFDeEI7O0FBQ0FBLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLG1CQUFWLEVBQStCLFVBQVVDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQXFEQyxJQUFyRCxFQUFtRjtBQUNoSCxVQUFNQyxPQUFZLEdBQUdDLGdCQUFPQyxLQUFQLENBQWFMLEdBQUcsQ0FBQ00sTUFBSixDQUFXQyxRQUF4QixDQUFyQixDQURnSCxDQUVoSDs7O0FBQ0EsVUFBTUMsUUFBZSxHQUFHLEVBQXhCOztBQUVBLFVBQU1DLGNBQWMsR0FBRyxVQUFVQyxDQUFWLEVBQW1CO0FBQ3hDZCxNQUFBQSxPQUFPLENBQUNlLFVBQVIsQ0FBbUI7QUFDakJDLFFBQUFBLElBQUksRUFBRVQsT0FBTyxDQUFDTyxDQUFELENBQVAsQ0FBV0csR0FEQTtBQUVqQkMsUUFBQUEsV0FBVyxFQUFFLEtBRkk7QUFHakJDLFFBQUFBLFFBQVEsRUFBRSxDQUFDQyxHQUFELEVBQU1DLEtBQU4sS0FBK0I7QUFDdkMsY0FBSSxDQUFDRCxHQUFELElBQVFDLEtBQVosRUFBbUI7QUFDakJwQixZQUFBQSxJQUFJLENBQUNxQixZQUFMLENBQWtCO0FBQUVDLGNBQUFBLFdBQVcsRUFBRUYsS0FBSyxDQUFDTDtBQUFyQixhQUFsQixFQUErQ1osR0FBRyxDQUFDb0IsV0FBbkQsRUFBZ0UsVUFBVUosR0FBVixFQUFlSyxPQUFmLEVBQThCO0FBQzVGLGtCQUFJTCxHQUFHLElBQUksQ0FBQ0ssT0FBWixFQUFxQjtBQUNuQjtBQUNEOztBQUVEYixjQUFBQSxRQUFRLENBQUNjLElBQVQsQ0FBY0wsS0FBSyxDQUFDTSxRQUFOLENBQWVOLEtBQUssQ0FBQ08sb0JBQUQsQ0FBTCxDQUFpQkMsTUFBaEMsQ0FBZDtBQUNELGFBTkQ7QUFPRDs7QUFFRCxjQUFJZixDQUFDLElBQUlQLE9BQU8sQ0FBQ3VCLE1BQVIsR0FBaUIsQ0FBMUIsRUFBNkI7QUFDM0J4QixZQUFBQSxJQUFJLENBQUNNLFFBQUQsQ0FBSjtBQUNELFdBRkQsTUFFTztBQUNMQyxZQUFBQSxjQUFjLENBQUNDLENBQUMsR0FBRyxDQUFMLENBQWQ7QUFDRDtBQUNGO0FBbkJnQixPQUFuQjtBQXFCRCxLQXRCRDs7QUF3QkEsUUFBSVAsT0FBTyxDQUFDdUIsTUFBWixFQUFvQjtBQUNsQmpCLE1BQUFBLGNBQWMsQ0FBQyxDQUFELENBQWQ7QUFDRCxLQUZELE1BRU87QUFDTFAsTUFBQUEsSUFBSSxDQUFDLEVBQUQsQ0FBSjtBQUNEO0FBQ0YsR0FsQ0Q7QUFvQ0EsU0FBT0osS0FBUDtBQUNEOztlQUVjSCxlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqIEBmbG93XG4gKi9cblxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgU2VhcmNoIGZyb20gJy4uLy4uLy4uL2xpYi9zZWFyY2gnO1xuaW1wb3J0IHsgRElTVF9UQUdTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJQXV0aCwgJFJlc3BvbnNlRXh0ZW5kLCAkUmVxdWVzdEV4dGVuZCwgJE5leHRGdW5jdGlvblZlciwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5mdW5jdGlvbiBhZGRTZWFyY2hXZWJBcGkoc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyLCBhdXRoOiBJQXV0aCk6IFJvdXRlciB7XG4gIGNvbnN0IHJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIC8vIFNlYXJjaCBwYWNrYWdlXG4gIHJvdXRlLmdldCgnL3NlYXJjaC86YW55dGhpbmcnLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCByZXN1bHRzOiBhbnkgPSBTZWFyY2gucXVlcnkocmVxLnBhcmFtcy5hbnl0aGluZyk7XG4gICAgLy8gRlVUVVJFOiBmaWd1cmUgb3V0IGhlcmUgdGhlIGNvcnJlY3QgdHlwZVxuICAgIGNvbnN0IHBhY2thZ2VzOiBhbnlbXSA9IFtdO1xuXG4gICAgY29uc3QgZ2V0UGFja2FnZUluZm8gPSBmdW5jdGlvbiAoaSk6IHZvaWQge1xuICAgICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgICAgbmFtZTogcmVzdWx0c1tpXS5yZWYsXG4gICAgICAgIHVwbGlua3NMb29rOiBmYWxzZSxcbiAgICAgICAgY2FsbGJhY2s6IChlcnIsIGVudHJ5OiBQYWNrYWdlKTogdm9pZCA9PiB7XG4gICAgICAgICAgaWYgKCFlcnIgJiYgZW50cnkpIHtcbiAgICAgICAgICAgIGF1dGguYWxsb3dfYWNjZXNzKHsgcGFja2FnZU5hbWU6IGVudHJ5Lm5hbWUgfSwgcmVxLnJlbW90ZV91c2VyLCBmdW5jdGlvbiAoZXJyLCBhbGxvd2VkKTogdm9pZCB7XG4gICAgICAgICAgICAgIGlmIChlcnIgfHwgIWFsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBwYWNrYWdlcy5wdXNoKGVudHJ5LnZlcnNpb25zW2VudHJ5W0RJU1RfVEFHU10ubGF0ZXN0XSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaSA+PSByZXN1bHRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIG5leHQocGFja2FnZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBnZXRQYWNrYWdlSW5mbyhpICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmIChyZXN1bHRzLmxlbmd0aCkge1xuICAgICAgZ2V0UGFja2FnZUluZm8oMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHQoW10pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJvdXRlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhZGRTZWFyY2hXZWJBcGk7XG4iXX0=
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
9
|
|
|
10
|
+
var _express = require("express");
|
|
11
|
+
|
|
10
12
|
var _constants = require("../../../lib/constants");
|
|
11
13
|
|
|
12
14
|
var _utils = require("../../../lib/utils");
|
|
@@ -17,9 +19,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* @prettier
|
|
20
|
-
* @flow
|
|
21
22
|
*/
|
|
22
|
-
function addUserAuthApi(
|
|
23
|
+
function addUserAuthApi(auth, config) {
|
|
24
|
+
const route = (0, _express.Router)();
|
|
25
|
+
/* eslint new-cap: 0 */
|
|
26
|
+
|
|
23
27
|
route.post('/login', function (req, res, next) {
|
|
24
28
|
const {
|
|
25
29
|
username,
|
|
@@ -32,6 +36,7 @@ function addUserAuthApi(route, auth, config) {
|
|
|
32
36
|
} else {
|
|
33
37
|
req.remote_user = user;
|
|
34
38
|
const jWTSignOptions = (0, _authUtils.getSecurity)(config).web.sign;
|
|
39
|
+
res.set(_constants.HEADERS.CACHE_CONTROL, 'no-cache, no-store');
|
|
35
40
|
next({
|
|
36
41
|
token: await auth.jwtEncrypt(user, jWTSignOptions),
|
|
37
42
|
username: req.remote_user.name
|
|
@@ -69,8 +74,9 @@ function addUserAuthApi(route, auth, config) {
|
|
|
69
74
|
return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.BAD_REQUEST, _constants.APP_ERROR.PASSWORD_VALIDATION));
|
|
70
75
|
}
|
|
71
76
|
});
|
|
77
|
+
return route;
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
var _default = addUserAuthApi;
|
|
75
81
|
exports.default = _default;
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3VzZXIudHMiXSwibmFtZXMiOlsiYWRkVXNlckF1dGhBcGkiLCJhdXRoIiwiY29uZmlnIiwicm91dGUiLCJwb3N0IiwicmVxIiwicmVzIiwibmV4dCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJib2R5IiwiYXV0aGVudGljYXRlIiwiZXJyIiwidXNlciIsImVycm9yQ29kZSIsIm1lc3NhZ2UiLCJIVFRQX1NUQVRVUyIsIlVOQVVUSE9SSVpFRCIsIklOVEVSTkFMX0VSUk9SIiwiRXJyb3JDb2RlIiwiZ2V0Q29kZSIsInJlbW90ZV91c2VyIiwialdUU2lnbk9wdGlvbnMiLCJ3ZWIiLCJzaWduIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ0b2tlbiIsImp3dEVuY3J5cHQiLCJuYW1lIiwicHV0IiwiXyIsImlzTmlsIiwic3RhdHVzIiwiQVBJX0VSUk9SIiwiTVVTVF9CRV9MT0dHRUQiLCJuZXciLCJjaGFuZ2VQYXNzd29yZCIsIm9sZCIsImlzVXBkYXRlZCIsIm9rIiwiZ2V0SW50ZXJuYWxFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkJBRF9SRVFVRVNUIiwiQVBQX0VSUk9SIiwiUEFTU1dPUkRfVkFMSURBVElPTiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUVBOztBQUVBOztBQUVBOztBQUNBOzs7O0FBVkE7QUFDQTtBQUNBO0FBVUEsU0FBU0EsY0FBVCxDQUF3QkMsSUFBeEIsRUFBcUNDLE1BQXJDLEVBQTZEO0FBQzNELFFBQU1DLEtBQUssR0FBRyxzQkFBZDtBQUF3Qjs7QUFDeEJBLEVBQUFBLEtBQUssQ0FBQ0MsSUFBTixDQUFXLFFBQVgsRUFBcUIsVUFBVUMsR0FBVixFQUF3QkMsR0FBeEIsRUFBdUNDLElBQXZDLEVBQXFFO0FBQ3hGLFVBQU07QUFBRUMsTUFBQUEsUUFBRjtBQUFZQyxNQUFBQTtBQUFaLFFBQXlCSixHQUFHLENBQUNLLElBQW5DO0FBRUFULElBQUFBLElBQUksQ0FBQ1UsWUFBTCxDQUFrQkgsUUFBbEIsRUFBNEJDLFFBQTVCLEVBQXNDLE9BQU9HLEdBQVAsRUFBWUMsSUFBWixLQUFnRDtBQUNwRixVQUFJRCxHQUFKLEVBQVM7QUFDUCxjQUFNRSxTQUFTLEdBQUdGLEdBQUcsQ0FBQ0csT0FBSixHQUFjQyx1QkFBWUMsWUFBMUIsR0FBeUNELHVCQUFZRSxjQUF2RTtBQUNBWCxRQUFBQSxJQUFJLENBQUNZLGlCQUFVQyxPQUFWLENBQWtCTixTQUFsQixFQUE2QkYsR0FBRyxDQUFDRyxPQUFqQyxDQUFELENBQUo7QUFDRCxPQUhELE1BR087QUFDTFYsUUFBQUEsR0FBRyxDQUFDZ0IsV0FBSixHQUFrQlIsSUFBbEI7QUFDQSxjQUFNUyxjQUE4QixHQUFHLDRCQUFZcEIsTUFBWixFQUFvQnFCLEdBQXBCLENBQXdCQyxJQUEvRDtBQUNBbEIsUUFBQUEsR0FBRyxDQUFDbUIsR0FBSixDQUFRQyxtQkFBUUMsYUFBaEIsRUFBK0Isb0JBQS9CO0FBQ0FwQixRQUFBQSxJQUFJLENBQUM7QUFDSHFCLFVBQUFBLEtBQUssRUFBRSxNQUFNM0IsSUFBSSxDQUFDNEIsVUFBTCxDQUFnQmhCLElBQWhCLEVBQXNCUyxjQUF0QixDQURWO0FBRUhkLFVBQUFBLFFBQVEsRUFBRUgsR0FBRyxDQUFDZ0IsV0FBSixDQUFnQlM7QUFGdkIsU0FBRCxDQUFKO0FBSUQ7QUFDRixLQWJEO0FBY0QsR0FqQkQ7QUFtQkEzQixFQUFBQSxLQUFLLENBQUM0QixHQUFOLENBQVUsaUJBQVYsRUFBNkIsVUFBVTFCLEdBQVYsRUFBd0JDLEdBQXhCLEVBQXVDQyxJQUF2QyxFQUFxRTtBQUNoRyxRQUFJeUIsZ0JBQUVDLEtBQUYsQ0FBUTVCLEdBQUcsQ0FBQ2dCLFdBQUosQ0FBZ0JTLElBQXhCLENBQUosRUFBbUM7QUFDakN4QixNQUFBQSxHQUFHLENBQUM0QixNQUFKLENBQVdsQix1QkFBWUMsWUFBdkI7QUFDQSxhQUFPVixJQUFJLENBQUM7QUFDVjtBQUNBUSxRQUFBQSxPQUFPLEVBQUVvQixxQkFBVUM7QUFGVCxPQUFELENBQVg7QUFJRDs7QUFFRCxVQUFNO0FBQUUzQixNQUFBQTtBQUFGLFFBQWVKLEdBQUcsQ0FBQ0ssSUFBekI7QUFDQSxVQUFNO0FBQUVvQixNQUFBQTtBQUFGLFFBQVd6QixHQUFHLENBQUNnQixXQUFyQjs7QUFFQSxRQUFJLGlDQUFpQlosUUFBUSxDQUFDNEIsR0FBMUIsTUFBbUMsS0FBdkMsRUFBOEM7QUFDNUNwQyxNQUFBQSxJQUFJLENBQUNxQyxjQUFMLENBQW9CUixJQUFwQixFQUFvQ3JCLFFBQVEsQ0FBQzhCLEdBQTdDLEVBQWtEOUIsUUFBUSxDQUFDNEIsR0FBM0QsRUFBZ0UsQ0FBQ3pCLEdBQUQsRUFBTTRCLFNBQU4sS0FBMEI7QUFDeEYsWUFBSVIsZ0JBQUVDLEtBQUYsQ0FBUXJCLEdBQVIsS0FBZ0I0QixTQUFwQixFQUErQjtBQUM3QmpDLFVBQUFBLElBQUksQ0FBQztBQUNIa0MsWUFBQUEsRUFBRSxFQUFFO0FBREQsV0FBRCxDQUFKO0FBR0QsU0FKRCxNQUlPO0FBQ0wsaUJBQU9sQyxJQUFJLENBQUNZLGlCQUFVdUIsZ0JBQVYsQ0FBMkJQLHFCQUFVUSxxQkFBckMsQ0FBRCxDQUFYO0FBQ0Q7QUFDRixPQVJEO0FBU0QsS0FWRCxNQVVPO0FBQ0wsYUFBT3BDLElBQUksQ0FBQ1ksaUJBQVVDLE9BQVYsQ0FBa0JKLHVCQUFZNEIsV0FBOUIsRUFBMkNDLHFCQUFVQyxtQkFBckQsQ0FBRCxDQUFYO0FBQ0Q7QUFDRixHQXpCRDtBQTJCQSxTQUFPM0MsS0FBUDtBQUNEOztlQUVjSCxjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IGV4cHJlc3MsIHsgUm91dGVyLCBSZXNwb25zZSwgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBKV1RTaWduT3B0aW9ucyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUFBfRVJST1IsIEhFQURFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJQXV0aCwgJE5leHRGdW5jdGlvblZlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyBnZXRTZWN1cml0eSwgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcblxuZnVuY3Rpb24gYWRkVXNlckF1dGhBcGkoYXV0aDogSUF1dGgsIGNvbmZpZzogQ29uZmlnKTogUm91dGVyIHtcbiAgY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cbiAgcm91dGUucG9zdCgnL2xvZ2luJywgZnVuY3Rpb24gKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0gPSByZXEuYm9keTtcblxuICAgIGF1dGguYXV0aGVudGljYXRlKHVzZXJuYW1lLCBwYXNzd29yZCwgYXN5bmMgKGVyciwgdXNlcjogUmVtb3RlVXNlcik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICBjb25zdCBlcnJvckNvZGUgPSBlcnIubWVzc2FnZSA/IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCA6IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SO1xuICAgICAgICBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgIGNvbnN0IGpXVFNpZ25PcHRpb25zOiBKV1RTaWduT3B0aW9ucyA9IGdldFNlY3VyaXR5KGNvbmZpZykud2ViLnNpZ247XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIG5leHQoe1xuICAgICAgICAgIHRva2VuOiBhd2FpdCBhdXRoLmp3dEVuY3J5cHQodXNlciwgaldUU2lnbk9wdGlvbnMpLFxuICAgICAgICAgIHVzZXJuYW1lOiByZXEucmVtb3RlX3VzZXIubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLnB1dCgnL3Jlc2V0X3Bhc3N3b3JkJywgZnVuY3Rpb24gKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSkge1xuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQpO1xuICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAvLyBGVVRVUkU6IHVwZGF0ZSB0byBhIG1vcmUgbWVhbmluZ2Z1bCBtZXNzYWdlXG4gICAgICAgIG1lc3NhZ2U6IEFQSV9FUlJPUi5NVVNUX0JFX0xPR0dFRCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKHZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQubmV3KSA9PT0gZmFsc2UpIHtcbiAgICAgIGF1dGguY2hhbmdlUGFzc3dvcmQobmFtZSBhcyBzdHJpbmcsIHBhc3N3b3JkLm9sZCwgcGFzc3dvcmQubmV3LCAoZXJyLCBpc1VwZGF0ZWQpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKF8uaXNOaWwoZXJyKSAmJiBpc1VwZGF0ZWQpIHtcbiAgICAgICAgICBuZXh0KHtcbiAgICAgICAgICAgIG9rOiB0cnVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUFBfRVJST1IuUEFTU1dPUkRfVkFMSURBVElPTikpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJvdXRlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhZGRVc2VyQXV0aEFwaTtcbiJdfQ==
|
package/build/api/web/index.js
CHANGED
|
@@ -83,7 +83,9 @@ function _default(config, auth, storage) {
|
|
|
83
83
|
/* eslint new-cap:off */
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
const router = _express.default.Router();
|
|
86
|
+
const router = _express.default.Router(); // run in production mode by default, just in case
|
|
87
|
+
// it shouldn't make any difference anyway
|
|
88
|
+
|
|
87
89
|
|
|
88
90
|
router.use(auth.webUIJWTmiddleware());
|
|
89
91
|
router.use(setSecurityWebHeaders); // static assets
|
|
@@ -107,6 +109,7 @@ function _default(config, auth, storage) {
|
|
|
107
109
|
// Use POSIX version `path.posix.join` instead.
|
|
108
110
|
config.web.logo = _path.default.posix.join('/-/static/', _path.default.basename(config.web.logo));
|
|
109
111
|
router.get(config.web.logo, function (_req, res, next) {
|
|
112
|
+
// @ts-ignore
|
|
110
113
|
debug('serve custom logo web:%s - local:%s', config.web.logo, absoluteLocalFile);
|
|
111
114
|
res.sendFile(absoluteLocalFile, sendFileCallback(next));
|
|
112
115
|
});
|
|
@@ -133,4 +136,4 @@ function _default(config, auth, storage) {
|
|
|
133
136
|
});
|
|
134
137
|
return router;
|
|
135
138
|
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd2ViL2luZGV4LnRzIl0sIm5hbWVzIjpbInNldFNlY3VyaXR5V2ViSGVhZGVycyIsInJlcXVpcmUiLCJkZWJ1ZyIsImxvYWRUaGVtZSIsImNvbmZpZyIsIl8iLCJpc05pbCIsInRoZW1lIiwiaGVhZCIsInBsdWdpbiIsInN0YXRpY1BhdGgiLCJtYW5pZmVzdCIsIm1hbmlmZXN0RmlsZXMiLCJ2YWxpZGF0ZVByaW1hcnlDb2xvciIsInByaW1hcnlDb2xvciIsImlzSGV4IiwidGVzdCIsInNlbmRGaWxlQ2FsbGJhY2siLCJuZXh0IiwiZXJyIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJOT1RfRk9VTkQiLCJhdXRoIiwic3RvcmFnZSIsIlNlYXJjaCIsImNvbmZpZ3VyZVN0b3JhZ2UiLCJyb3V0ZXIiLCJleHByZXNzIiwiUm91dGVyIiwidXNlIiwid2ViVUlKV1RtaWRkbGV3YXJlIiwiZ2V0IiwicmVxIiwicmVzIiwiZmlsZW5hbWUiLCJwYXJhbXMiLCJmaWxlIiwic2VuZEZpbGUiLCJ3ZWIiLCJsb2dvIiwiYWJzb2x1dGVMb2NhbEZpbGUiLCJwYXRoIiwicG9zaXgiLCJyZXNvbHZlIiwiZnMiLCJleGlzdHNTeW5jIiwiYWNjZXNzU3luYyIsImNvbnN0YW50cyIsIlJfT0siLCJqb2luIiwiYmFzZW5hbWUiLCJfcmVxIiwidW5kZWZpbmVkIiwibG9nZ2VyIiwid2FybiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNO0FBQUVBLEVBQUFBO0FBQUYsSUFBNEJDLE9BQU8sQ0FBQyxlQUFELENBQXpDOztBQUVBLE1BQU1DLEtBQUssR0FBRyxvQkFBVyxXQUFYLENBQWQ7O0FBRU8sU0FBU0MsU0FBVCxDQUFtQkMsTUFBbkIsRUFBMkI7QUFDaEMsTUFBSUMsZ0JBQUVDLEtBQUYsQ0FBUUYsTUFBTSxDQUFD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WCxFQUFtQk8sUUFBbkIsRUFBNkJDLGFBQTdCLEVBQTRDcUIsR0FBNUMsRUFBaURDLEdBQWpEO0FBQ0FoQyxJQUFBQSxLQUFLLENBQUMscUJBQUQsQ0FBTDtBQUNELEdBSEQ7QUFLQXlCLEVBQUFBLE1BQU0sQ0FBQ0ssR0FBUCxDQUFXLEdBQVgsRUFBZ0IsVUFBVUMsR0FBVixFQUFlQyxHQUFmLEVBQW9CaEIsSUFBcEIsRUFBMEI7QUFDeEMsNkJBQVdkLE1BQVgsRUFBbUJPLFFBQW5CLEVBQTZCQyxhQUE3QixFQUE0Q3FCLEdBQTVDLEVBQWlEQyxHQUFqRDtBQUNBaEMsSUFBQUEsS0FBSyxDQUFDLGFBQUQsQ0FBTDtBQUNELEdBSEQ7QUFLQSxTQUFPeUIsTUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IGV4cHJlc3MgZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5cbmltcG9ydCBTZWFyY2ggZnJvbSAnLi4vLi4vbGliL3NlYXJjaCc7XG5pbXBvcnQgeyBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IGxvYWRQbHVnaW4gZnJvbSAnLi4vLi4vbGliL3BsdWdpbi1sb2FkZXInO1xuaW1wb3J0IHsgaXNIVFRQUHJvdG9jb2wgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgcmVuZGVySFRNTCBmcm9tICcuL2h0bWwvcmVuZGVySFRNTCc7XG5cbmNvbnN0IHsgc2V0U2VjdXJpdHlXZWJIZWFkZXJzIH0gPSByZXF1aXJlKCcuLi9taWRkbGV3YXJlJyk7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkVGhlbWUoY29uZmlnKSB7XG4gIGlmIChfLmlzTmlsKGNvbmZpZy50aGVtZSkgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIF8uaGVhZChcbiAgICAgIGxvYWRQbHVnaW4oXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgY29uZmlnLnRoZW1lLFxuICAgICAgICB7fSxcbiAgICAgICAgZnVuY3Rpb24gKHBsdWdpbikge1xuICAgICAgICAgIHJldHVybiBwbHVnaW4uc3RhdGljUGF0aCAmJiBwbHVnaW4ubWFuaWZlc3QgJiYgcGx1Z2luLm1hbmlmZXN0RmlsZXM7XG4gICAgICAgIH0sXG4gICAgICAgICd2ZXJkYWNjaW8tdGhlbWUnXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQcmltYXJ5Q29sb3IocHJpbWFyeUNvbG9yKSB7XG4gIGNvbnN0IGlzSGV4ID0gL14jKyhbYS1mQS1GMC05XXs2fXxbYS1mQS1GMC05XXszfSkkL2kudGVzdChwcmltYXJ5Q29sb3IpO1xuICBpZiAoIWlzSGV4KSB7XG4gICAgZGVidWcoJ2ludmFsaWQgcHJpbWFyeSBjb2xvciAlbycsIHByaW1hcnlDb2xvcik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIHByaW1hcnlDb2xvcjtcbn1cblxuY29uc3Qgc2VuZEZpbGVDYWxsYmFjayA9IChuZXh0KSA9PiAoZXJyKSA9PiB7XG4gIGlmICghZXJyKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlcnIuc3RhdHVzID09PSBIVFRQX1NUQVRVUy5OT1RfRk9VTkQpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dChlcnIpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoY29uZmlnLCBhdXRoLCBzdG9yYWdlKSB7XG4gIGxldCB7IHN0YXRpY1BhdGgsIG1hbmlmZXN0LCBtYW5pZmVzdEZpbGVzIH0gPSBsb2FkVGhlbWUoY29uZmlnKSB8fCByZXF1aXJlKCdAdmVyZGFjY2lvL3VpLXRoZW1lJykoKTtcbiAgZGVidWcoJ3N0YXRpYyBwYXRoICVvJywgc3RhdGljUGF0aCk7XG4gIFNlYXJjaC5jb25maWd1cmVTdG9yYWdlKHN0b3JhZ2UpO1xuXG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuICByb3V0ZXIudXNlKGF1dGgud2ViVUlKV1RtaWRkbGV3YXJlKCkpO1xuICByb3V0ZXIudXNlKHNldFNlY3VyaXR5V2ViSGVhZGVycyk7XG5cbiAgLy8gc3RhdGljIGFzc2V0c1xuICByb3V0ZXIuZ2V0KCcvLS9zdGF0aWMvKicsIGZ1bmN0aW9uIChyZXEsIHJlcywgbmV4dCkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gcmVxLnBhcmFtc1swXTtcbiAgICBjb25zdCBmaWxlID0gYCR7c3RhdGljUGF0aH0vJHtmaWxlbmFtZX1gO1xuICAgIGRlYnVnKCdyZW5kZXIgc3RhdGljIGZpbGUgJW8nLCBmaWxlKTtcbiAgICByZXMuc2VuZEZpbGUoZmlsZSwgc2VuZEZpbGVDYWxsYmFjayhuZXh0KSk7XG4gIH0pO1xuXG4gIC8vIGxvZ29cbiAgaWYgKGNvbmZpZz8ud2ViPy5sb2dvICYmICFpc0hUVFBQcm90b2NvbChjb25maWc/LndlYj8ubG9nbykpIHtcbiAgICAvLyBVUkkgcmVsYXRlZCB0byBhIGxvY2FsIGZpbGVcbiAgICBjb25zdCBhYnNvbHV0ZUxvY2FsRmlsZSA9IHBhdGgucG9zaXgucmVzb2x2ZShjb25maWcud2ViLmxvZ28pO1xuICAgIGRlYnVnKCdzZXJ2ZSBsb2NhbCBsb2dvICVzJywgYWJzb2x1dGVMb2NhbEZpbGUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhhYnNvbHV0ZUxvY2FsRmlsZSkgJiYgdHlwZW9mIGZzLmFjY2Vzc1N5bmMoYWJzb2x1dGVMb2NhbEZpbGUsIGZzLmNvbnN0YW50cy5SX09LKSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gTm90ZTogYHBhdGguam9pbmAgd2lsbCBicmVhayBvbiBXaW5kb3dzLCBiZWNhdXNlIGl0IHRyYW5zZm9ybXMgYC9gIHRvIGBcXGBcbiAgICAgICAgLy8gVXNlIFBPU0lYIHZlcnNpb24gYHBhdGgucG9zaXguam9pbmAgaW5zdGVhZC5cbiAgICAgICAgY29uZmlnLndlYi5sb2dvID0gcGF0aC5wb3NpeC5qb2luKCcvLS9zdGF0aWMvJywgcGF0aC5iYXNlbmFtZShjb25maWcud2ViLmxvZ28pKTtcbiAgICAgICAgcm91dGVyLmdldChjb25maWcud2ViLmxvZ28sIGZ1bmN0aW9uIChfcmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgICBkZWJ1Zygnc2VydmUgY3VzdG9tIGxvZ28gIHdlYjolcyAtIGxvY2FsOiVzJywgY29uZmlnLndlYi5sb2dvLCBhYnNvbHV0ZUxvY2FsRmlsZSk7XG4gICAgICAgICAgcmVzLnNlbmRGaWxlKGFic29sdXRlTG9jYWxGaWxlLCBzZW5kRmlsZUNhbGxiYWNrKG5leHQpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGRlYnVnKCdlbmFibGVkIGN1c3RvbSBsb2dvICVzJywgY29uZmlnLndlYi5sb2dvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy53ZWIubG9nbyA9IHVuZGVmaW5lZDtcbiAgICAgICAgbG9nZ2VyLndhcm4oYHdlYiBsb2dvIGlzIHdyb25nLCBwYXRoICR7YWJzb2x1dGVMb2NhbEZpbGV9IGRvZXMgbm90IGV4aXN0IG9yIGlzIG5vdCByZWFkYWJsZWApO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgY29uZmlnLndlYi5sb2dvID0gdW5kZWZpbmVkO1xuICAgICAgbG9nZ2VyLndhcm4oYHdlYiBsb2dvIGlzIHdyb25nLCBwYXRoICR7YWJzb2x1dGVMb2NhbEZpbGV9IGRvZXMgbm90IGV4aXN0IG9yIGlzIG5vdCByZWFkYWJsZWApO1xuICAgIH1cbiAgfVxuXG4gIHJvdXRlci5nZXQoJy8tL3dlYi86c2VjdGlvbi8qJywgZnVuY3Rpb24gKHJlcSwgcmVzKSB7XG4gICAgcmVuZGVySFRNTChjb25maWcsIG1hbmlmZXN0LCBtYW5pZmVzdEZpbGVzLCByZXEsIHJlcyk7XG4gICAgZGVidWcoJ3JlbmRlciBodG1sIHNlY3Rpb24nKTtcbiAgfSk7XG5cbiAgcm91dGVyLmdldCgnLycsIGZ1bmN0aW9uIChyZXEsIHJlcywgbmV4dCkge1xuICAgIHJlbmRlckhUTUwoY29uZmlnLCBtYW5pZmVzdCwgbWFuaWZlc3RGaWxlcywgcmVxLCByZXMpO1xuICAgIGRlYnVnKCdyZW5kZXIgcm9vdCcpO1xuICB9KTtcblxuICByZXR1cm4gcm91dGVyO1xufVxuIl19
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd2ViL2luZGV4LnRzIl0sIm5hbWVzIjpbInNldFNlY3VyaXR5V2ViSGVhZGVycyIsInJlcXVpcmUiLCJkZWJ1ZyIsImxvYWRUaGVtZSIsImNvbmZpZyIsIl8iLCJpc05pbCIsInRoZW1lIiwiaGVhZCIsInBsdWdpbiIsInN0YXRpY1BhdGgiLCJtYW5pZmVzdCIsIm1hbmlmZXN0RmlsZXMiLCJ2YWxpZGF0ZVByaW1hcnlDb2xvciIsInByaW1hcnlDb2xvciIsImlzSGV4IiwidGVzdCIsInNlbmRGaWxlQ2FsbGJhY2siLCJuZXh0IiwiZXJyIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJOT1RfRk9VTkQiLCJhdXRoIiwic3RvcmFnZSIsIlNlYXJjaCIsImNvbmZpZ3VyZVN0b3JhZ2UiLCJyb3V0ZXIiLCJleHByZXNzIiwiUm91dGVyIiwidXNlIiwid2ViVUlKV1RtaWRkbGV3YXJlIiwiZ2V0IiwicmVxIiwicmVzIiwiZmlsZW5hbWUiLCJwYXJhbXMiLCJmaWxlIiwic2VuZEZpbGUiLCJ3ZWIiLCJsb2dvIiwiYWJzb2x1dGVMb2NhbEZpbGUiLCJwYXRoIiwicG9zaXgiLCJyZXNvbHZlIiwiZnMiLCJleGlzdHNTeW5jIiwiYWNjZXNzU3luYyIsImNvbnN0YW50cyIsIlJfT0siLCJqb2luIiwiYmFzZW5hbWUiLCJfcmVxIiwidW5kZWZpbmVkIiwibG9nZ2VyIiwid2FybiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNO0FBQUVBLEVBQUFBO0FBQUYsSUFBNEJDLE9BQU8sQ0FBQyxlQUFELENBQXpDOztBQUVBLE1BQU1DLEtBQUssR0FBRyxvQkFBVyxXQUFYLENBQWQ7O0FBRU8sU0FBU0MsU0FBVCxDQUFtQkMsTUFBbkIsRUFBMkI7QUFDaEMsTUFBSUMsZ0JBQUVDLEtBQUYsQ0FBUUYsTUFBTSxDQUFD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RUFBb0I7QUFDbEQsNkJBQVc5QixNQUFYLEVBQW1CTyxRQUFuQixFQUE2QkMsYUFBN0IsRUFBNENxQixHQUE1QyxFQUFpREMsR0FBakQ7QUFDQWhDLElBQUFBLEtBQUssQ0FBQyxxQkFBRCxDQUFMO0FBQ0QsR0FIRDtBQUtBeUIsRUFBQUEsTUFBTSxDQUFDSyxHQUFQLENBQVcsR0FBWCxFQUFnQixVQUFVQyxHQUFWLEVBQWVDLEdBQWYsRUFBb0JoQixJQUFwQixFQUEwQjtBQUN4Qyw2QkFBV2QsTUFBWCxFQUFtQk8sUUFBbkIsRUFBNkJDLGFBQTdCLEVBQTRDcUIsR0FBNUMsRUFBaURDLEdBQWpEO0FBQ0FoQyxJQUFBQSxLQUFLLENBQUMsYUFBRCxDQUFMO0FBQ0QsR0FIRDtBQUtBLFNBQU95QixNQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCBTZWFyY2ggZnJvbSAnLi4vLi4vbGliL3NlYXJjaCc7XG5pbXBvcnQgeyBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IGxvYWRQbHVnaW4gZnJvbSAnLi4vLi4vbGliL3BsdWdpbi1sb2FkZXInO1xuaW1wb3J0IHsgaXNIVFRQUHJvdG9jb2wgfSBmcm9tICcuLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgcmVuZGVySFRNTCBmcm9tICcuL2h0bWwvcmVuZGVySFRNTCc7XG5cbmNvbnN0IHsgc2V0U2VjdXJpdHlXZWJIZWFkZXJzIH0gPSByZXF1aXJlKCcuLi9taWRkbGV3YXJlJyk7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkVGhlbWUoY29uZmlnKSB7XG4gIGlmIChfLmlzTmlsKGNvbmZpZy50aGVtZSkgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIF8uaGVhZChcbiAgICAgIGxvYWRQbHVnaW4oXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgY29uZmlnLnRoZW1lLFxuICAgICAgICB7fSxcbiAgICAgICAgZnVuY3Rpb24gKHBsdWdpbikge1xuICAgICAgICAgIHJldHVybiBwbHVnaW4uc3RhdGljUGF0aCAmJiBwbHVnaW4ubWFuaWZlc3QgJiYgcGx1Z2luLm1hbmlmZXN0RmlsZXM7XG4gICAgICAgIH0sXG4gICAgICAgICd2ZXJkYWNjaW8tdGhlbWUnXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQcmltYXJ5Q29sb3IocHJpbWFyeUNvbG9yKSB7XG4gIGNvbnN0IGlzSGV4ID0gL14jKyhbYS1mQS1GMC05XXs2fXxbYS1mQS1GMC05XXszfSkkL2kudGVzdChwcmltYXJ5Q29sb3IpO1xuICBpZiAoIWlzSGV4KSB7XG4gICAgZGVidWcoJ2ludmFsaWQgcHJpbWFyeSBjb2xvciAlbycsIHByaW1hcnlDb2xvcik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIHByaW1hcnlDb2xvcjtcbn1cblxuY29uc3Qgc2VuZEZpbGVDYWxsYmFjayA9IChuZXh0KSA9PiAoZXJyKSA9PiB7XG4gIGlmICghZXJyKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlcnIuc3RhdHVzID09PSBIVFRQX1NUQVRVUy5OT1RfRk9VTkQpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dChlcnIpO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoY29uZmlnOiBDb25maWcsIGF1dGgsIHN0b3JhZ2UpIHtcbiAgbGV0IHsgc3RhdGljUGF0aCwgbWFuaWZlc3QsIG1hbmlmZXN0RmlsZXMgfSA9IGxvYWRUaGVtZShjb25maWcpIHx8IHJlcXVpcmUoJ0B2ZXJkYWNjaW8vdWktdGhlbWUnKSgpO1xuICBkZWJ1Zygnc3RhdGljIHBhdGggJW8nLCBzdGF0aWNQYXRoKTtcbiAgU2VhcmNoLmNvbmZpZ3VyZVN0b3JhZ2Uoc3RvcmFnZSk7XG5cbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IHJvdXRlciA9IGV4cHJlc3MuUm91dGVyKCk7XG4gIC8vIHJ1biBpbiBwcm9kdWN0aW9uIG1vZGUgYnkgZGVmYXVsdCwganVzdCBpbiBjYXNlXG4gIC8vIGl0IHNob3VsZG4ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGFueXdheVxuICByb3V0ZXIudXNlKGF1dGgud2ViVUlKV1RtaWRkbGV3YXJlKCkpO1xuICByb3V0ZXIudXNlKHNldFNlY3VyaXR5V2ViSGVhZGVycyk7XG5cbiAgLy8gc3RhdGljIGFzc2V0c1xuICByb3V0ZXIuZ2V0KCcvLS9zdGF0aWMvKicsIGZ1bmN0aW9uIChyZXEsIHJlcywgbmV4dCkge1xuICAgIGNvbnN0IGZpbGVuYW1lID0gcmVxLnBhcmFtc1swXTtcbiAgICBjb25zdCBmaWxlID0gYCR7c3RhdGljUGF0aH0vJHtmaWxlbmFtZX1gO1xuICAgIGRlYnVnKCdyZW5kZXIgc3RhdGljIGZpbGUgJW8nLCBmaWxlKTtcbiAgICByZXMuc2VuZEZpbGUoZmlsZSwgc2VuZEZpbGVDYWxsYmFjayhuZXh0KSk7XG4gIH0pO1xuXG4gIC8vIGxvZ29cbiAgaWYgKGNvbmZpZz8ud2ViPy5sb2dvICYmICFpc0hUVFBQcm90b2NvbChjb25maWc/LndlYj8ubG9nbykpIHtcbiAgICAvLyBVUkkgcmVsYXRlZCB0byBhIGxvY2FsIGZpbGVcbiAgICBjb25zdCBhYnNvbHV0ZUxvY2FsRmlsZSA9IHBhdGgucG9zaXgucmVzb2x2ZShjb25maWcud2ViLmxvZ28pO1xuICAgIGRlYnVnKCdzZXJ2ZSBsb2NhbCBsb2dvICVzJywgYWJzb2x1dGVMb2NhbEZpbGUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhhYnNvbHV0ZUxvY2FsRmlsZSkgJiYgdHlwZW9mIGZzLmFjY2Vzc1N5bmMoYWJzb2x1dGVMb2NhbEZpbGUsIGZzLmNvbnN0YW50cy5SX09LKSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gTm90ZTogYHBhdGguam9pbmAgd2lsbCBicmVhayBvbiBXaW5kb3dzLCBiZWNhdXNlIGl0IHRyYW5zZm9ybXMgYC9gIHRvIGBcXGBcbiAgICAgICAgLy8gVXNlIFBPU0lYIHZlcnNpb24gYHBhdGgucG9zaXguam9pbmAgaW5zdGVhZC5cbiAgICAgICAgY29uZmlnLndlYi5sb2dvID0gcGF0aC5wb3NpeC5qb2luKCcvLS9zdGF0aWMvJywgcGF0aC5iYXNlbmFtZShjb25maWcud2ViLmxvZ28pKTtcbiAgICAgICAgcm91dGVyLmdldChjb25maWcud2ViLmxvZ28sIGZ1bmN0aW9uIChfcmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgZGVidWcoJ3NlcnZlIGN1c3RvbSBsb2dvICB3ZWI6JXMgLSBsb2NhbDolcycsIGNvbmZpZy53ZWIubG9nbywgYWJzb2x1dGVMb2NhbEZpbGUpO1xuICAgICAgICAgIHJlcy5zZW5kRmlsZShhYnNvbHV0ZUxvY2FsRmlsZSwgc2VuZEZpbGVDYWxsYmFjayhuZXh0KSk7XG4gICAgICAgIH0pO1xuICAgICAgICBkZWJ1ZygnZW5hYmxlZCBjdXN0b20gbG9nbyAlcycsIGNvbmZpZy53ZWIubG9nbyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25maWcud2ViLmxvZ28gPSB1bmRlZmluZWQ7XG4gICAgICAgIGxvZ2dlci53YXJuKGB3ZWIgbG9nbyBpcyB3cm9uZywgcGF0aCAke2Fic29sdXRlTG9jYWxGaWxlfSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGVgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbmZpZy53ZWIubG9nbyA9IHVuZGVmaW5lZDtcbiAgICAgIGxvZ2dlci53YXJuKGB3ZWIgbG9nbyBpcyB3cm9uZywgcGF0aCAke2Fic29sdXRlTG9jYWxGaWxlfSBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGVgKTtcbiAgICB9XG4gIH1cblxuICByb3V0ZXIuZ2V0KCcvLS93ZWIvOnNlY3Rpb24vKicsIGZ1bmN0aW9uIChyZXEsIHJlcykge1xuICAgIHJlbmRlckhUTUwoY29uZmlnLCBtYW5pZmVzdCwgbWFuaWZlc3RGaWxlcywgcmVxLCByZXMpO1xuICAgIGRlYnVnKCdyZW5kZXIgaHRtbCBzZWN0aW9uJyk7XG4gIH0pO1xuXG4gIHJvdXRlci5nZXQoJy8nLCBmdW5jdGlvbiAocmVxLCByZXMsIG5leHQpIHtcbiAgICByZW5kZXJIVE1MKGNvbmZpZywgbWFuaWZlc3QsIG1hbmlmZXN0RmlsZXMsIHJlcSwgcmVzKTtcbiAgICBkZWJ1ZygncmVuZGVyIHJvb3QnKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJvdXRlcjtcbn1cbiJdfQ==
|