parse-server 5.0.0 → 5.1.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/README.md +40 -19
- package/lib/Adapters/Auth/gcenter.js +14 -12
- package/lib/Adapters/Auth/oauth2.js +2 -4
- package/lib/Adapters/Files/GridFSBucketAdapter.js +2 -2
- package/lib/Adapters/Files/GridStoreAdapter.js +3 -180
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +2 -2
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +6 -4
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +4 -135
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +5 -8
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +50 -8
- package/lib/Controllers/DatabaseController.js +30 -20
- package/lib/Controllers/LoggerController.js +7 -8
- package/lib/Controllers/index.js +3 -5
- package/lib/ParseServerRESTController.js +4 -6
- package/lib/Routers/ClassesRouter.js +2 -2
- package/lib/Utils.js +140 -1
- package/lib/batch.js +9 -11
- package/lib/middlewares.js +4 -2
- package/package.json +27 -30
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const url = require('url');
|
|
4
|
-
|
|
5
3
|
const fs = require('fs');
|
|
6
4
|
|
|
7
5
|
function getDatabaseOptionsFromURI(uri) {
|
|
8
6
|
const databaseOptions = {};
|
|
9
|
-
const parsedURI =
|
|
10
|
-
const queryParams = parseQueryParams(parsedURI.
|
|
11
|
-
const authParts = parsedURI.auth ? parsedURI.auth.split(':') : [];
|
|
7
|
+
const parsedURI = new URL(uri);
|
|
8
|
+
const queryParams = parseQueryParams(parsedURI.searchParams.toString());
|
|
12
9
|
databaseOptions.host = parsedURI.hostname || 'localhost';
|
|
13
10
|
databaseOptions.port = parsedURI.port ? parseInt(parsedURI.port) : 5432;
|
|
14
11
|
databaseOptions.database = parsedURI.pathname ? parsedURI.pathname.substr(1) : undefined;
|
|
15
|
-
databaseOptions.user =
|
|
16
|
-
databaseOptions.password =
|
|
12
|
+
databaseOptions.user = parsedURI.username;
|
|
13
|
+
databaseOptions.password = parsedURI.password;
|
|
17
14
|
|
|
18
15
|
if (queryParams.ssl && queryParams.ssl.toLowerCase() === 'true') {
|
|
19
16
|
databaseOptions.ssl = true;
|
|
@@ -92,4 +89,4 @@ module.exports = {
|
|
|
92
89
|
parseQueryParams: parseQueryParams,
|
|
93
90
|
getDatabaseOptionsFromURI: getDatabaseOptionsFromURI
|
|
94
91
|
};
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BZGFwdGVycy9TdG9yYWdlL1Bvc3RncmVzL1Bvc3RncmVzQ29uZmlnUGFyc2VyLmpzIl0sIm5hbWVzIjpbInVybCIsInJlcXVpcmUiLCJmcyIsImdldERhdGFiYXNlT3B0aW9uc0Zyb21VUkkiLCJ1cmkiLCJkYXRhYmFzZU9wdGlvbnMiLCJwYXJzZWRVUkkiLCJwYXJzZSIsInF1ZXJ5UGFyYW1zIiwicGFyc2VRdWVyeVBhcmFtcyIsInF1ZXJ5IiwiYXV0aFBhcnRzIiwiYXV0aCIsInNwbGl0IiwiaG9zdCIsImhvc3RuYW1lIiwicG9ydCIsInBhcnNlSW50IiwiZGF0YWJhc2UiLCJwYXRobmFtZSIsInN1YnN0ciIsInVuZGVmaW5lZCIsInVzZXIiLCJsZW5ndGgiLCJwYXNzd29yZCIsInNzbCIsInRvTG93ZXJDYXNlIiwiY2EiLCJwZngiLCJjZXJ0Iiwia2V5IiwicGFzc3BocmFzZSIsInJlamVjdFVuYXV0aG9yaXplZCIsInNlY3VyZU9wdGlvbnMiLCJyZWFkRmlsZVN5bmMiLCJ0b1N0cmluZyIsImJpbmFyeSIsImNsaWVudF9lbmNvZGluZyIsImFwcGxpY2F0aW9uX25hbWUiLCJmYWxsYmFja19hcHBsaWNhdGlvbl9uYW1lIiwicG9vbFNpemUiLCJtYXgiLCJxdWVyeV90aW1lb3V0IiwiaWRsZVRpbWVvdXRNaWxsaXMiLCJrZWVwQWxpdmUiLCJxdWVyeVN0cmluZyIsInJlZHVjZSIsInAiLCJjIiwicGFydHMiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzbGljZSIsImpvaW4iLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLEdBQUcsR0FBR0MsT0FBTyxDQUFDLEtBQUQsQ0FBbkI7O0FBQ0EsTUFBTUMsRUFBRSxHQUFHRCxPQUFPLENBQUMsSUFBRCxDQUFsQjs7QUFDQSxTQUFTRSx5QkFBVCxDQUFtQ0MsR0FBbkMsRUFBd0M7QUFDdEMsUUFBTUMsZUFBZSxHQUFHLEVBQXhCO0FBRUEsUUFBTUMs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QixFQUFFQTtBQUZaLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdXJsID0gcmVxdWlyZSgndXJsJyk7XG5jb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5mdW5jdGlvbiBnZXREYXRhYmFzZU9wdGlvbnNGcm9tVVJJKHVyaSkge1xuICBjb25zdCBkYXRhYmFzZU9wdGlvbnMgPSB7fTtcblxuICBjb25zdCBwYXJzZWRVUkkgPSB1cmwucGFyc2UodXJpKTtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBwYXJzZVF1ZXJ5UGFyYW1zKHBhcnNlZFVSSS5xdWVyeSk7XG4gIGNvbnN0IGF1dGhQYXJ0cyA9IHBhcnNlZFVSSS5hdXRoID8gcGFyc2VkVVJJLmF1dGguc3BsaXQoJzonKSA6IFtdO1xuXG4gIGRhdGFiYXNlT3B0aW9ucy5ob3N0ID0gcGFyc2VkVVJJLmhvc3RuYW1lIHx8ICdsb2NhbGhvc3QnO1xuICBkYXRhYmFzZU9wdGlvbnMucG9ydCA9IHBhcnNlZFVSSS5wb3J0ID8gcGFyc2VJbnQocGFyc2VkVVJJLnBvcnQpIDogNTQzMjtcbiAgZGF0YWJhc2VPcHRpb25zLmRhdGFiYXNlID0gcGFyc2VkVVJJLnBhdGhuYW1lID8gcGFyc2VkVVJJLnBhdGhuYW1lLnN1YnN0cigxKSA6IHVuZGVmaW5lZDtcblxuICBkYXRhYmFzZU9wdGlvbnMudXNlciA9IGF1dGhQYXJ0cy5sZW5ndGggPiAwID8gYXV0aFBhcnRzWzBdIDogJyc7XG4gIGRhdGFiYXNlT3B0aW9ucy5wYXNzd29yZCA9IGF1dGhQYXJ0cy5sZW5ndGggPiAxID8gYXV0aFBhcnRzWzFdIDogJyc7XG5cbiAgaWYgKHF1ZXJ5UGFyYW1zLnNzbCAmJiBxdWVyeVBhcmFtcy5zc2wudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLnNzbCA9IHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgcXVlcnlQYXJhbXMuY2EgfHxcbiAgICBxdWVyeVBhcmFtcy5wZnggfHxcbiAgICBxdWVyeVBhcmFtcy5jZXJ0IHx8XG4gICAgcXVlcnlQYXJhbXMua2V5IHx8XG4gICAgcXVlcnlQYXJhbXMucGFzc3BocmFzZSB8fFxuICAgIHF1ZXJ5UGFyYW1zLnJlamVjdFVuYXV0aG9yaXplZCB8fFxuICAgIHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnNcbiAgKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLnNzbCA9IHt9O1xuICAgIGlmIChxdWVyeVBhcmFtcy5jYSkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5jYSA9IGZzLnJlYWRGaWxlU3luYyhxdWVyeVBhcmFtcy5jYSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnBmeCkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5wZnggPSBmcy5yZWFkRmlsZVN5bmMocXVlcnlQYXJhbXMucGZ4KS50b1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAocXVlcnlQYXJhbXMuY2VydCkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5jZXJ0ID0gZnMucmVhZEZpbGVTeW5jKHF1ZXJ5UGFyYW1zLmNlcnQpLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIGlmIChxdWVyeVBhcmFtcy5rZXkpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wua2V5ID0gZnMucmVhZEZpbGVTeW5jKHF1ZXJ5UGFyYW1zLmtleSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnBhc3NwaHJhc2UpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wucGFzc3BocmFzZSA9IHF1ZXJ5UGFyYW1zLnBhc3NwaHJhc2U7XG4gICAgfVxuICAgIGlmIChxdWVyeVBhcmFtcy5yZWplY3RVbmF1dGhvcml6ZWQpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wucmVqZWN0VW5hdXRob3JpemVkID1cbiAgICAgICAgcXVlcnlQYXJhbXMucmVqZWN0VW5hdXRob3JpemVkLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnMpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wuc2VjdXJlT3B0aW9ucyA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRhdGFiYXNlT3B0aW9ucy5iaW5hcnkgPVxuICAgIHF1ZXJ5UGFyYW1zLmJpbmFyeSAmJiBxdWVyeVBhcmFtcy5iaW5hcnkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xuXG4gIGRhdGFiYXNlT3B0aW9ucy5jbGllbnRfZW5jb2RpbmcgPSBxdWVyeVBhcmFtcy5jbGllbnRfZW5jb2Rpbmc7XG4gIGRhdGFiYXNlT3B0aW9ucy5hcHBsaWNhdGlvbl9uYW1lID0gcXVlcnlQYXJhbXMuYXBwbGljYXRpb25fbmFtZTtcbiAgZGF0YWJhc2VPcHRpb25zLmZhbGxiYWNrX2FwcGxpY2F0aW9uX25hbWUgPSBxdWVyeVBhcmFtcy5mYWxsYmFja19hcHBsaWNhdGlvbl9uYW1lO1xuXG4gIGlmIChxdWVyeVBhcmFtcy5wb29sU2l6ZSkge1xuICAgIGRhdGFiYXNlT3B0aW9ucy5wb29sU2l6ZSA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnBvb2xTaXplKSB8fCAxMDtcbiAgfVxuICBpZiAocXVlcnlQYXJhbXMubWF4KSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLm1heCA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLm1heCkgfHwgMTA7XG4gIH1cbiAgaWYgKHF1ZXJ5UGFyYW1zLnF1ZXJ5X3RpbWVvdXQpIHtcbiAgICBkYXRhYmFzZU9wdGlvbnMucXVlcnlfdGltZW91dCA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnF1ZXJ5X3RpbWVvdXQpO1xuICB9XG4gIGlmIChxdWVyeVBhcmFtcy5pZGxlVGltZW91dE1pbGxpcykge1xuICAgIGRhdGFiYXNlT3B0aW9ucy5pZGxlVGltZW91dE1pbGxpcyA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLmlkbGVUaW1lb3V0TWlsbGlzKTtcbiAgfVxuICBpZiAocXVlcnlQYXJhbXMua2VlcEFsaXZlKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLmtlZXBBbGl2ZSA9IHF1ZXJ5UGFyYW1zLmtlZXBBbGl2ZS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF0YWJhc2VPcHRpb25zO1xufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5UGFyYW1zKHF1ZXJ5U3RyaW5nKSB7XG4gIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcgfHwgJyc7XG5cbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJykucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBjLnNwbGl0KCc9Jyk7XG4gICAgcFtkZWNvZGVVUklDb21wb25lbnQocGFydHNbMF0pXSA9XG4gICAgICBwYXJ0cy5sZW5ndGggPiAxID8gZGVjb2RlVVJJQ29tcG9uZW50KHBhcnRzLnNsaWNlKDEpLmpvaW4oJz0nKSkgOiAnJztcbiAgICByZXR1cm4gcDtcbiAgfSwge30pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgcGFyc2VRdWVyeVBhcmFtczogcGFyc2VRdWVyeVBhcmFtcyxcbiAgZ2V0RGF0YWJhc2VPcHRpb25zRnJvbVVSSTogZ2V0RGF0YWJhc2VPcHRpb25zRnJvbVVSSSxcbn07XG4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BZGFwdGVycy9TdG9yYWdlL1Bvc3RncmVzL1Bvc3RncmVzQ29uZmlnUGFyc2VyLmpzIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsImdldERhdGFiYXNlT3B0aW9uc0Zyb21VUkkiLCJ1cmkiLCJkYXRhYmFzZU9wdGlvbnMiLCJwYXJzZWRVUkkiLCJVUkwiLCJxdWVyeVBhcmFtcyIsInBhcnNlUXVlcnlQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJ0b1N0cmluZyIsImhvc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwYXJzZUludCIsImRhdGFiYXNlIiwicGF0aG5hbWUiLCJzdWJzdHIiLCJ1bmRlZmluZWQiLCJ1c2VyIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInNzbCIsInRvTG93ZXJDYXNlIiwiY2EiLCJwZngiLCJjZXJ0Iiwia2V5IiwicGFzc3BocmFzZSIsInJlamVjdFVuYXV0aG9yaXplZCIsInNlY3VyZU9wdGlvbnMiLCJyZWFkRmlsZVN5bmMiLCJiaW5hcnkiLCJjbGllbnRfZW5jb2RpbmciLCJhcHBsaWNhdGlvbl9uYW1lIiwiZmFsbGJhY2tfYXBwbGljYXRpb25fbmFtZSIsInBvb2xTaXplIiwibWF4IiwicXVlcnlfdGltZW91dCIsImlkbGVUaW1lb3V0TWlsbGlzIiwia2VlcEFsaXZlIiwicXVlcnlTdHJpbmciLCJzcGxpdCIsInJlZHVjZSIsInAiLCJjIiwicGFydHMiLCJkZWNvZGVVUklDb21wb25lbnQiLCJsZW5ndGgiLCJzbGljZSIsImpvaW4iLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLEVBQUUsR0FBR0MsT0FBTyxDQUFDLElBQUQsQ0FBbEI7O0FBQ0EsU0FBU0MseUJBQVQsQ0FBbUNDLEdBQW5DLEVBQXdDO0FBQ3RDLFFBQU1DLGVBQWUsR0FBRyxFQUF4QjtBQUVBLFFBQU1DLFNBQVMsR0FBRyxJQUFJQyxHQUFKLENBQVFILEdBQVIsQ0FBbEI7QUFDQSxRQUFNSSxXQUFX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QyxTQUFoQixHQUE0QmpDLFdBQVcsQ0FBQ2lDLFNBQVosQ0FBc0JqQixXQUF0QixPQUF3QyxNQUF4QyxHQUFpRCxJQUFqRCxHQUF3RCxLQUFwRjtBQUNEOztBQUVELFNBQU9uQixlQUFQO0FBQ0Q7O0FBRUQsU0FBU0ksZ0JBQVQsQ0FBMEJpQyxXQUExQixFQUF1QztBQUNyQ0EsRUFBQUEsV0FBVyxHQUFHQSxXQUFXLElBQUksRUFBN0I7QUFFQSxTQUFPQSxXQUFXLENBQUNDLEtBQVosQ0FBa0IsR0FBbEIsRUFBdUJDLE1BQXZCLENBQThCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVO0FBQzdDLFVBQU1DLEtBQUssR0FBR0QsQ0FBQyxDQUFDSCxLQUFGLENBQVEsR0FBUixDQUFkO0FBQ0FFLElBQUFBLENBQUMsQ0FBQ0csa0JBQWtCLENBQUNELEtBQUssQ0FBQyxDQUFELENBQU4sQ0FBbkIsQ0FBRCxHQUNFQSxLQUFLLENBQUNFLE1BQU4sR0FBZSxDQUFmLEdBQW1CRCxrQkFBa0IsQ0FBQ0QsS0FBSyxDQUFDRyxLQUFOLENBQVksQ0FBWixFQUFlQyxJQUFmLENBQW9CLEdBQXBCLENBQUQsQ0FBckMsR0FBa0UsRUFEcEU7QUFFQSxXQUFPTixDQUFQO0FBQ0QsR0FMTSxFQUtKLEVBTEksQ0FBUDtBQU1EOztBQUVETyxNQUFNLENBQUNDLE9BQVAsR0FBaUI7QUFDZjVDLEVBQUFBLGdCQUFnQixFQUFFQSxnQkFESDtBQUVmTixFQUFBQSx5QkFBeUIsRUFBRUE7QUFGWixDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmZ1bmN0aW9uIGdldERhdGFiYXNlT3B0aW9uc0Zyb21VUkkodXJpKSB7XG4gIGNvbnN0IGRhdGFiYXNlT3B0aW9ucyA9IHt9O1xuXG4gIGNvbnN0IHBhcnNlZFVSSSA9IG5ldyBVUkwodXJpKTtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSBwYXJzZVF1ZXJ5UGFyYW1zKHBhcnNlZFVSSS5zZWFyY2hQYXJhbXMudG9TdHJpbmcoKSk7XG5cbiAgZGF0YWJhc2VPcHRpb25zLmhvc3QgPSBwYXJzZWRVUkkuaG9zdG5hbWUgfHwgJ2xvY2FsaG9zdCc7XG4gIGRhdGFiYXNlT3B0aW9ucy5wb3J0ID0gcGFyc2VkVVJJLnBvcnQgPyBwYXJzZUludChwYXJzZWRVUkkucG9ydCkgOiA1NDMyO1xuICBkYXRhYmFzZU9wdGlvbnMuZGF0YWJhc2UgPSBwYXJzZWRVUkkucGF0aG5hbWUgPyBwYXJzZWRVUkkucGF0aG5hbWUuc3Vic3RyKDEpIDogdW5kZWZpbmVkO1xuXG4gIGRhdGFiYXNlT3B0aW9ucy51c2VyID0gcGFyc2VkVVJJLnVzZXJuYW1lO1xuICBkYXRhYmFzZU9wdGlvbnMucGFzc3dvcmQgPSBwYXJzZWRVUkkucGFzc3dvcmQ7XG5cbiAgaWYgKHF1ZXJ5UGFyYW1zLnNzbCAmJiBxdWVyeVBhcmFtcy5zc2wudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLnNzbCA9IHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgcXVlcnlQYXJhbXMuY2EgfHxcbiAgICBxdWVyeVBhcmFtcy5wZnggfHxcbiAgICBxdWVyeVBhcmFtcy5jZXJ0IHx8XG4gICAgcXVlcnlQYXJhbXMua2V5IHx8XG4gICAgcXVlcnlQYXJhbXMucGFzc3BocmFzZSB8fFxuICAgIHF1ZXJ5UGFyYW1zLnJlamVjdFVuYXV0aG9yaXplZCB8fFxuICAgIHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnNcbiAgKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLnNzbCA9IHt9O1xuICAgIGlmIChxdWVyeVBhcmFtcy5jYSkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5jYSA9IGZzLnJlYWRGaWxlU3luYyhxdWVyeVBhcmFtcy5jYSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnBmeCkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5wZnggPSBmcy5yZWFkRmlsZVN5bmMocXVlcnlQYXJhbXMucGZ4KS50b1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAocXVlcnlQYXJhbXMuY2VydCkge1xuICAgICAgZGF0YWJhc2VPcHRpb25zLnNzbC5jZXJ0ID0gZnMucmVhZEZpbGVTeW5jKHF1ZXJ5UGFyYW1zLmNlcnQpLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIGlmIChxdWVyeVBhcmFtcy5rZXkpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wua2V5ID0gZnMucmVhZEZpbGVTeW5jKHF1ZXJ5UGFyYW1zLmtleSkudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnBhc3NwaHJhc2UpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wucGFzc3BocmFzZSA9IHF1ZXJ5UGFyYW1zLnBhc3NwaHJhc2U7XG4gICAgfVxuICAgIGlmIChxdWVyeVBhcmFtcy5yZWplY3RVbmF1dGhvcml6ZWQpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wucmVqZWN0VW5hdXRob3JpemVkID1cbiAgICAgICAgcXVlcnlQYXJhbXMucmVqZWN0VW5hdXRob3JpemVkLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnMpIHtcbiAgICAgIGRhdGFiYXNlT3B0aW9ucy5zc2wuc2VjdXJlT3B0aW9ucyA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnNlY3VyZU9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRhdGFiYXNlT3B0aW9ucy5iaW5hcnkgPVxuICAgIHF1ZXJ5UGFyYW1zLmJpbmFyeSAmJiBxdWVyeVBhcmFtcy5iaW5hcnkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xuXG4gIGRhdGFiYXNlT3B0aW9ucy5jbGllbnRfZW5jb2RpbmcgPSBxdWVyeVBhcmFtcy5jbGllbnRfZW5jb2Rpbmc7XG4gIGRhdGFiYXNlT3B0aW9ucy5hcHBsaWNhdGlvbl9uYW1lID0gcXVlcnlQYXJhbXMuYXBwbGljYXRpb25fbmFtZTtcbiAgZGF0YWJhc2VPcHRpb25zLmZhbGxiYWNrX2FwcGxpY2F0aW9uX25hbWUgPSBxdWVyeVBhcmFtcy5mYWxsYmFja19hcHBsaWNhdGlvbl9uYW1lO1xuXG4gIGlmIChxdWVyeVBhcmFtcy5wb29sU2l6ZSkge1xuICAgIGRhdGFiYXNlT3B0aW9ucy5wb29sU2l6ZSA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnBvb2xTaXplKSB8fCAxMDtcbiAgfVxuICBpZiAocXVlcnlQYXJhbXMubWF4KSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLm1heCA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLm1heCkgfHwgMTA7XG4gIH1cbiAgaWYgKHF1ZXJ5UGFyYW1zLnF1ZXJ5X3RpbWVvdXQpIHtcbiAgICBkYXRhYmFzZU9wdGlvbnMucXVlcnlfdGltZW91dCA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLnF1ZXJ5X3RpbWVvdXQpO1xuICB9XG4gIGlmIChxdWVyeVBhcmFtcy5pZGxlVGltZW91dE1pbGxpcykge1xuICAgIGRhdGFiYXNlT3B0aW9ucy5pZGxlVGltZW91dE1pbGxpcyA9IHBhcnNlSW50KHF1ZXJ5UGFyYW1zLmlkbGVUaW1lb3V0TWlsbGlzKTtcbiAgfVxuICBpZiAocXVlcnlQYXJhbXMua2VlcEFsaXZlKSB7XG4gICAgZGF0YWJhc2VPcHRpb25zLmtlZXBBbGl2ZSA9IHF1ZXJ5UGFyYW1zLmtlZXBBbGl2ZS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF0YWJhc2VPcHRpb25zO1xufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5UGFyYW1zKHF1ZXJ5U3RyaW5nKSB7XG4gIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcgfHwgJyc7XG5cbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJykucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBjLnNwbGl0KCc9Jyk7XG4gICAgcFtkZWNvZGVVUklDb21wb25lbnQocGFydHNbMF0pXSA9XG4gICAgICBwYXJ0cy5sZW5ndGggPiAxID8gZGVjb2RlVVJJQ29tcG9uZW50KHBhcnRzLnNsaWNlKDEpLmpvaW4oJz0nKSkgOiAnJztcbiAgICByZXR1cm4gcDtcbiAgfSwge30pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgcGFyc2VRdWVyeVBhcmFtczogcGFyc2VRdWVyeVBhcmFtcyxcbiAgZ2V0RGF0YWJhc2VPcHRpb25zRnJvbVVSSTogZ2V0RGF0YWJhc2VPcHRpb25zRnJvbVVSSSxcbn07XG4iXX0=
|