parse-server 8.0.0-alpha.8 → 8.0.0-alpha.9
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/lib/Adapters/AdapterLoader.js +2 -2
- package/lib/Adapters/Auth/index.js +2 -2
- package/lib/Adapters/Auth/mfa.js +4 -6
- package/lib/Adapters/PubSub/RedisPubSub.js +9 -12
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +15 -18
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +19 -21
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +8 -8
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +20 -15
- package/lib/Auth.js +8 -12
- package/lib/Config.js +2 -3
- package/lib/Controllers/DatabaseController.js +35 -31
- package/lib/Controllers/ParseGraphQLController.js +44 -57
- package/lib/Controllers/SchemaController.js +12 -12
- package/lib/Controllers/UserController.js +7 -13
- package/lib/Controllers/index.js +8 -9
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +8 -9
- package/lib/GraphQL/loaders/defaultRelaySchema.js +5 -9
- package/lib/GraphQL/loaders/filesMutations.js +4 -7
- package/lib/GraphQL/loaders/functionsMutations.js +3 -7
- package/lib/GraphQL/loaders/parseClassMutations.js +18 -17
- package/lib/GraphQL/loaders/parseClassTypes.js +62 -52
- package/lib/GraphQL/loaders/schemaDirectives.js +3 -5
- package/lib/GraphQL/loaders/usersMutations.js +4 -8
- package/lib/GraphQL/transformers/mutation.js +6 -9
- package/lib/GraphQL/transformers/query.js +18 -18
- package/lib/GraphQL/transformers/schemaFields.js +10 -12
- package/lib/LiveQuery/ParseLiveQueryServer.js +7 -9
- package/lib/LiveQuery/QueryTools.js +2 -3
- package/lib/ParseServer.js +14 -17
- package/lib/ParseServerRESTController.js +4 -8
- package/lib/RestWrite.js +5 -9
- package/lib/Routers/ClassesRouter.js +2 -3
- package/lib/Routers/FeaturesRouter.js +2 -3
- package/lib/Routers/FilesRouter.js +3 -5
- package/lib/Routers/SchemasRouter.js +2 -3
- package/lib/Routers/UsersRouter.js +15 -16
- package/lib/SchemaMigrations/DefinedSchemas.js +4 -7
- package/lib/StatusHandler.js +10 -9
- package/lib/Utils.js +5 -8
- package/lib/cloud-code/Parse.Cloud.js +22 -22
- package/lib/logger.js +1 -1
- package/lib/middlewares.js +7 -12
- package/lib/triggers.js +12 -12
- package/package.json +11 -4
- package/types/index.d.ts +0 -0
- package/types/logger.d.ts +2 -0
- package/types/tsconfig.json +18 -0
|
@@ -5,11 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ParseServerRESTController = ParseServerRESTController;
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
8
|
const Config = require('./Config');
|
|
14
9
|
const Auth = require('./Auth');
|
|
15
10
|
const RESTController = require('parse/lib/node/RESTController');
|
|
@@ -142,10 +137,11 @@ function ParseServerRESTController(applicationId, router) {
|
|
|
142
137
|
headers = {}
|
|
143
138
|
} = resp;
|
|
144
139
|
if (options.returnStatus) {
|
|
145
|
-
resolve(
|
|
140
|
+
resolve({
|
|
141
|
+
...response,
|
|
146
142
|
_status: status,
|
|
147
143
|
_headers: headers
|
|
148
|
-
})
|
|
144
|
+
});
|
|
149
145
|
} else {
|
|
150
146
|
resolve(response);
|
|
151
147
|
}
|
|
@@ -166,4 +162,4 @@ function ParseServerRESTController(applicationId, router) {
|
|
|
166
162
|
};
|
|
167
163
|
}
|
|
168
164
|
var _default = exports.default = ParseServerRESTController;
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb25maWciLCJyZXF1aXJlIiwiQXV0aCIsIlJFU1RDb250cm9sbGVyIiwiUGFyc2UiLCJnZXRTZXNzaW9uVG9rZW4iLCJvcHRpb25zIiwic2Vzc2lvblRva2VuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJnZXRBdXRoIiwiY29uZmlnIiwiaW5zdGFsbGF0aW9uSWQiLCJ1c2VNYXN0ZXJLZXkiLCJpc01hc3RlciIsInRoZW4iLCJnZXRBdXRoRm9yU2Vzc2lvblRva2VuIiwiUGFyc2VTZXJ2ZXJSRVNUQ29udHJvbGxlciIsImFwcGxpY2F0aW9uSWQiLCJyb3V0ZXIiLCJoYW5kbGVSZXF1ZXN0IiwibWV0aG9kIiwicGF0aCIsImRhdGEiLCJhcmdzIiwiYXJndW1lbnRzIiwiZ2V0Iiwic2VydmVyVVJMIiwiVVJMIiwiaW5kZXhPZiIsInBhdGhuYW1lIiwic2xpY2UiLCJsZW5ndGgiLCJiYXRjaCIsInRyYW5zYWN0aW9uUmV0cmllcyIsImluaXRpYWxQcm9taXNlIiwidHJhbnNhY3Rpb24iLCJkYXRhYmFzZSIsImNyZWF0ZVRyYW5zYWN0aW9uYWxTZXNzaW9uIiwicHJvbWlzZXMiLCJyZXF1ZXN0cyIsIm1hcCIsInJlcXVlc3QiLCJib2R5IiwicmVzcG9uc2UiLCJyZXR1cm5TdGF0dXMiLCJzdGF0dXMiLCJfc3RhdHVzIiwiaGVhZGVycyIsIl9oZWFkZXJzIiwic3VjY2VzcyIsImVycm9yIiwiY29kZSIsIm1lc3NhZ2UiLCJhbGwiLCJyZXN1bHQiLCJmaW5kIiwicmVzdWx0SXRlbSIsImFib3J0VHJhbnNhY3Rpb25hbFNlc3Npb24iLCJyZWplY3QiLCJjb21taXRUcmFuc2FjdGlvbmFsU2Vzc2lvbiIsImNhdGNoIiwiZXJyb3JJdGVtIiwicXVlcnkiLCJhdXRoIiwiaW5mbyIsImNvbnRleHQiLCJ0cnlSb3V0ZVJlcXVlc3QiLCJyZXNwIiwiX29iamVjdFNwcmVhZCIsImVyciIsIkVycm9yIiwiSU5WQUxJRF9KU09OIiwiYXBwbHkiLCJhamF4IiwiaGFuZGxlRXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL1BhcnNlU2VydmVyUkVTVENvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ29uZmlnID0gcmVxdWlyZSgnLi9Db25maWcnKTtcbmNvbnN0IEF1dGggPSByZXF1aXJlKCcuL0F1dGgnKTtcbmNvbnN0IFJFU1RDb250cm9sbGVyID0gcmVxdWlyZSgncGFyc2UvbGliL25vZGUvUkVTVENvbnRyb2xsZXInKTtcbmNvbnN0IFBhcnNlID0gcmVxdWlyZSgncGFyc2Uvbm9kZScpO1xuXG5mdW5jdGlvbiBnZXRTZXNzaW9uVG9rZW4ob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucy5zZXNzaW9uVG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShvcHRpb25zLnNlc3Npb25Ub2tlbik7XG4gIH1cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbn1cblxuZnVuY3Rpb24gZ2V0QXV0aChvcHRpb25zID0ge30sIGNvbmZpZykge1xuICBjb25zdCBpbnN0YWxsYXRpb25JZCA9IG9wdGlvbnMuaW5zdGFsbGF0aW9uSWQgfHwgJ2Nsb3VkJztcbiAgaWYgKG9wdGlvbnMudXNlTWFzdGVyS2V5KSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQXV0aC5BdXRoKHsgY29uZmlnLCBpc01hc3RlcjogdHJ1ZSwgaW5zdGFsbGF0aW9uSWQgfSkpO1xuICB9XG4gIHJldHVybiBnZXRTZXNzaW9uVG9rZW4ob3B0aW9ucykudGhlbihzZXNzaW9uVG9rZW4gPT4ge1xuICAgIGlmIChzZXNzaW9uVG9rZW4pIHtcbiAgICAgIG9wdGlvbnMuc2Vzc2lvblRva2VuID0gc2Vzc2lvblRva2VuO1xuICAgICAgcmV0dXJuIEF1dGguZ2V0QXV0aEZvclNlc3Npb25Ub2tlbih7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgc2Vzc2lvblRva2VuOiBzZXNzaW9uVG9rZW4sXG4gICAgICAgIGluc3RhbGxhdGlvbklkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEF1dGguQXV0aCh7IGNvbmZpZywgaW5zdGFsbGF0aW9uSWQgfSkpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIFBhcnNlU2VydmVyUkVTVENvbnRyb2xsZXIoYXBwbGljYXRpb25JZCwgcm91dGVyKSB7XG4gIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QobWV0aG9kLCBwYXRoLCBkYXRhID0ge30sIG9wdGlvbnMgPSB7fSwgY29uZmlnKSB7XG4gICAgLy8gU3RvcmUgdGhlIGFyZ3VtZW50cywgZm9yIGxhdGVyIHVzZSBpZiBpbnRlcm5hbCBmYWlsc1xuICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uZmlnID0gQ29uZmlnLmdldChhcHBsaWNhdGlvbklkKTtcbiAgICB9XG4gICAgY29uc3Qgc2VydmVyVVJMID0gbmV3IFVSTChjb25maWcuc2VydmVyVVJMKTtcbiAgICBpZiAocGF0aC5pbmRleE9mKHNlcnZlclVSTC5wYXRobmFtZSkgPT09IDApIHtcbiAgICAgIHBhdGggPSBwYXRoLnNsaWNlKHNlcnZlclVSTC5wYXRobmFtZS5sZW5ndGgsIHBhdGgubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAocGF0aFswXSAhPT0gJy8nKSB7XG4gICAgICBwYXRoID0gJy8nICsgcGF0aDtcbiAgICB9XG5cbiAgICBpZiAocGF0aCA9PT0gJy9iYXRjaCcpIHtcbiAgICAgIGNvbnN0IGJhdGNoID0gdHJhbnNhY3Rpb25SZXRyaWVzID0+IHtcbiAgICAgICAgbGV0IGluaXRpYWxQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIGlmIChkYXRhLnRyYW5zYWN0aW9uID09PSB0cnVlKSB7XG4gICAgICAgICAgaW5pdGlhbFByb21pc2UgPSBjb25maWcuZGF0YWJhc2UuY3JlYXRlVHJhbnNhY3Rpb25hbFNlc3Npb24oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBkYXRhLnJlcXVlc3RzLm1hcChyZXF1ZXN0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVSZXF1ZXN0KHJlcXVlc3QubWV0aG9kLCByZXF1ZXN0LnBhdGgsIHJlcXVlc3QuYm9keSwgb3B0aW9ucywgY29uZmlnKS50aGVuKFxuICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV0dXJuU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSByZXNwb25zZS5fc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IHJlc3BvbnNlLl9oZWFkZXJzO1xuICAgICAgICAgICAgICAgICAgZGVsZXRlIHJlc3BvbnNlLl9zdGF0dXM7XG4gICAgICAgICAgICAgICAgICBkZWxldGUgcmVzcG9uc2UuX2hlYWRlcnM7XG4gICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiByZXNwb25zZSwgX3N0YXR1czogc3RhdHVzLCBfaGVhZGVyczogaGVhZGVycyB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiByZXNwb25zZSB9O1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiB7IGNvZGU6IGVycm9yLmNvZGUsIGVycm9yOiBlcnJvci5tZXNzYWdlIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICBpZiAoZGF0YS50cmFuc2FjdGlvbiA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZmluZChyZXN1bHRJdGVtID0+IHR5cGVvZiByZXN1bHRJdGVtLmVycm9yID09PSAnb2JqZWN0JykpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb25maWcuZGF0YWJhc2UuYWJvcnRUcmFuc2FjdGlvbmFsU2Vzc2lvbigpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLmRhdGFiYXNlLmNvbW1pdFRyYW5zYWN0aW9uYWxTZXNzaW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlcnJvciAmJlxuICAgICAgICAgICAgICAgIGVycm9yLmZpbmQoXG4gICAgICAgICAgICAgICAgICBlcnJvckl0ZW0gPT4gdHlwZW9mIGVycm9ySXRlbS5lcnJvciA9PT0gJ29iamVjdCcgJiYgZXJyb3JJdGVtLmVycm9yLmNvZGUgPT09IDI1MVxuICAgICAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblJldHJpZXMgPiAwXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBiYXRjaCh0cmFuc2FjdGlvblJldHJpZXMgLSAxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gYmF0Y2goNSk7XG4gICAgfVxuXG4gICAgbGV0IHF1ZXJ5O1xuICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICBxdWVyeSA9IGRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGdldEF1dGgob3B0aW9ucywgY29uZmlnKS50aGVuKGF1dGggPT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgICAgIGJvZHk6IGRhdGEsXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGF1dGgsXG4gICAgICAgICAgaW5mbzoge1xuICAgICAgICAgICAgYXBwbGljYXRpb25JZDogYXBwbGljYXRpb25JZCxcbiAgICAgICAgICAgIHNlc3Npb25Ub2tlbjogb3B0aW9ucy5zZXNzaW9uVG9rZW4sXG4gICAgICAgICAgICBpbnN0YWxsYXRpb25JZDogb3B0aW9ucy5pbnN0YWxsYXRpb25JZCxcbiAgICAgICAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCB8fCB7fSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcm91dGVyLnRyeVJvdXRlUmVxdWVzdChtZXRob2QsIHBhdGgsIHJlcXVlc3QpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICByZXNwID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyByZXNwb25zZSwgc3RhdHVzLCBoZWFkZXJzID0ge30gfSA9IHJlc3A7XG4gICAgICAgICAgICAgIGlmIChvcHRpb25zLnJldHVyblN0YXR1cykge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoeyAuLi5yZXNwb25zZSwgX3N0YXR1czogc3RhdHVzLCBfaGVhZGVyczogaGVhZGVycyB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlcnIgaW5zdGFuY2VvZiBQYXJzZS5FcnJvciAmJlxuICAgICAgICAgICAgICAgIGVyci5jb2RlID09IFBhcnNlLkVycm9yLklOVkFMSURfSlNPTiAmJlxuICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlID09IGBjYW5ub3Qgcm91dGUgJHttZXRob2R9ICR7cGF0aH1gXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIFJFU1RDb250cm9sbGVyLnJlcXVlc3QuYXBwbHkobnVsbCwgYXJncykudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlcXVlc3Q6IGhhbmRsZVJlcXVlc3QsXG4gICAgYWpheDogUkVTVENvbnRyb2xsZXIuYWpheCxcbiAgICBoYW5kbGVFcnJvcjogUkVTVENvbnRyb2xsZXIuaGFuZGxlRXJyb3IsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBhcnNlU2VydmVyUkVTVENvbnRyb2xsZXI7XG5leHBvcnQgeyBQYXJzZVNlcnZlclJFU1RDb250cm9sbGVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE1BQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUNsQyxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFDOUIsTUFBTUUsY0FBYyxHQUFHRixPQUFPLENBQUMsK0JBQStCLENBQUM7QUFDL0QsTUFBTUcsS0FBSyxHQUFHSCxPQUFPLENBQUMsWUFBWSxDQUFDO0FBRW5DLFNBQVNJLGVBQWVBLENBQUNDLE9BQU8sRUFBRTtFQUNoQyxJQUFJQSxPQUFPLElBQUksT0FBT0EsT0FBTyxDQUFDQyxZQUFZLEtBQUssUUFBUSxFQUFFO0lBQ3ZELE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDSCxPQUFPLENBQUNDLFlBQVksQ0FBQztFQUM5QztFQUNBLE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztBQUM5QjtBQUVBLFNBQVNDLE9BQU9BLENBQUNKLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRUssTUFBTSxFQUFFO0VBQ3JDLE1BQU1DLGNBQWMsR0FBR04sT0FBTyxDQUFDTSxjQUFjLElBQUksT0FBTztFQUN4RCxJQUFJTixPQUFPLENBQUNPLFlBQVksRUFBRTtJQUN4QixPQUFPTCxPQUFPLENBQUNDLE9BQU8sQ0FBQyxJQUFJUCxJQUFJLENBQUNBLElBQUksQ0FBQztNQUFFUyxNQUFNO01BQUVHLFFBQVEsRUFBRSxJQUFJO01BQUVGO0lBQWUsQ0FBQyxDQUFDLENBQUM7RUFDbkY7RUFDQSxPQUFPUCxlQUFlLENBQUNDLE9BQU8sQ0FBQyxDQUFDUyxJQUFJLENBQUNSLFlBQVksSUFBSTtJQUNuRCxJQUFJQSxZQUFZLEVBQUU7TUFDaEJELE9BQU8sQ0FBQ0MsWUFBWSxHQUFHQSxZQUFZO01BQ25DLE9BQU9MLElBQUksQ0FBQ2Msc0JBQXNCLENBQUM7UUFDakNMLE1BQU07UUFDTkosWUFBWSxFQUFFQSxZQUFZO1FBQzFCSztNQUNGLENBQUMsQ0FBQztJQUNKLENBQUMsTUFBTTtNQUNMLE9BQU9KLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUlQLElBQUksQ0FBQ0EsSUFBSSxDQUFDO1FBQUVTLE1BQU07UUFBRUM7TUFBZSxDQUFDLENBQUMsQ0FBQztJQUNuRTtFQUNGLENBQUMsQ0FBQztBQUNKO0FBRUEsU0FBU0sseUJBQXlCQSxDQUFDQyxhQUFhLEVBQUVDLE1BQU0sRUFBRTtFQUN4RCxTQUFTQyxhQUFhQSxDQUFDQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFakIsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFSyxNQUFNLEVBQUU7SUFDcEU7SUFDQSxNQUFNYSxJQUFJLEdBQUdDLFNBQVM7SUFFdEIsSUFBSSxDQUFDZCxNQUFNLEVBQUU7TUFDWEEsTUFBTSxHQUFHWCxNQUFNLENBQUMwQixHQUFHLENBQUNSLGFBQWEsQ0FBQztJQUNwQztJQUNBLE1BQU1TLFNBQVMsR0FBRyxJQUFJQyxHQUFHLENBQUNqQixNQUFNLENBQUNnQixTQUFTLENBQUM7SUFDM0MsSUFBSUwsSUFBSSxDQUFDTyxPQUFPLENBQUNGLFNBQVMsQ0FBQ0csUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO01BQzFDUixJQUFJLEdBQUdBLElBQUksQ0FBQ1MsS0FBSyxDQUFDSixTQUFTLENBQUNHLFFBQVEsQ0FBQ0UsTUFBTSxFQUFFVixJQUFJLENBQUNVLE1BQU0sQ0FBQztJQUMzRDtJQUVBLElBQUlWLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7TUFDbkJBLElBQUksR0FBRyxHQUFHLEdBQUdBLElBQUk7SUFDbkI7SUFFQSxJQUFJQSxJQUFJLEtBQUssUUFBUSxFQUFFO01BQ3JCLE1BQU1XLEtBQUssR0FBR0Msa0JBQWtCLElBQUk7UUFDbEMsSUFBSUMsY0FBYyxHQUFHM0IsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJYyxJQUFJLENBQUNhLFdBQVcsS0FBSyxJQUFJLEVBQUU7VUFDN0JELGNBQWMsR0FBR3hCLE1BQU0sQ0FBQzBCLFFBQVEsQ0FBQ0MsMEJBQTBCLENBQUMsQ0FBQztRQUMvRDtRQUNBLE9BQU9ILGNBQWMsQ0FBQ3BCLElBQUksQ0FBQyxNQUFNO1VBQy9CLE1BQU13QixRQUFRLEdBQUdoQixJQUFJLENBQUNpQixRQUFRLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxJQUFJO1lBQzVDLE9BQU90QixhQUFhLENBQUNzQixPQUFPLENBQUNyQixNQUFNLEVBQUVxQixPQUFPLENBQUNwQixJQUFJLEVBQUVvQixPQUFPLENBQUNDLElBQUksRUFBRXJDLE9BQU8sRUFBRUssTUFBTSxDQUFDLENBQUNJLElBQUksQ0FDcEY2QixRQUFRLElBQUk7Y0FDVixJQUFJdEMsT0FBTyxDQUFDdUMsWUFBWSxFQUFFO2dCQUN4QixNQUFNQyxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csT0FBTztnQkFDL0IsTUFBTUMsT0FBTyxHQUFHSixRQUFRLENBQUNLLFFBQVE7Z0JBQ2pDLE9BQU9MLFFBQVEsQ0FBQ0csT0FBTztnQkFDdkIsT0FBT0gsUUFBUSxDQUFDSyxRQUFRO2dCQUN4QixPQUFPO2tCQUFFQyxPQUFPLEVBQUVOLFFBQVE7a0JBQUVHLE9BQU8sRUFBRUQsTUFBTTtrQkFBRUcsUUFBUSxFQUFFRDtnQkFBUSxDQUFDO2NBQ2xFO2NBQ0EsT0FBTztnQkFBRUUsT0FBTyxFQUFFTjtjQUFTLENBQUM7WUFDOUIsQ0FBQyxFQUNETyxLQUFLLElBQUk7Y0FDUCxPQUFPO2dCQUNMQSxLQUFLLEVBQUU7a0JBQUVDLElBQUksRUFBRUQsS0FBSyxDQUFDQyxJQUFJO2tCQUFFRCxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7Z0JBQVE7Y0FDbEQsQ0FBQztZQUNILENBQ0YsQ0FBQztVQUNILENBQUMsQ0FBQztVQUNGLE9BQU83QyxPQUFPLENBQUM4QyxHQUFHLENBQUNmLFFBQVEsQ0FBQyxDQUN6QnhCLElBQUksQ0FBQ3dDLE1BQU0sSUFBSTtZQUNkLElBQUloQyxJQUFJLENBQUNhLFdBQVcsS0FBSyxJQUFJLEVBQUU7Y0FDN0IsSUFBSW1CLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxVQUFVLElBQUksT0FBT0EsVUFBVSxDQUFDTixLQUFLLEtBQUssUUFBUSxDQUFDLEVBQUU7Z0JBQ25FLE9BQU94QyxNQUFNLENBQUMwQixRQUFRLENBQUNxQix5QkFBeUIsQ0FBQyxDQUFDLENBQUMzQyxJQUFJLENBQUMsTUFBTTtrQkFDNUQsT0FBT1AsT0FBTyxDQUFDbUQsTUFBTSxDQUFDSixNQUFNLENBQUM7Z0JBQy9CLENBQUMsQ0FBQztjQUNKLENBQUMsTUFBTTtnQkFDTCxPQUFPNUMsTUFBTSxDQUFDMEIsUUFBUSxDQUFDdUIsMEJBQTBCLENBQUMsQ0FBQyxDQUFDN0MsSUFBSSxDQUFDLE1BQU07a0JBQzdELE9BQU93QyxNQUFNO2dCQUNmLENBQUMsQ0FBQztjQUNKO1lBQ0YsQ0FBQyxNQUFNO2NBQ0wsT0FBT0EsTUFBTTtZQUNmO1VBQ0YsQ0FBQyxDQUFDLENBQ0RNLEtBQUssQ0FBQ1YsS0FBSyxJQUFJO1lBQ2QsSUFDRUEsS0FBSyxJQUNMQSxLQUFLLENBQUNLLElBQUksQ0FDUk0sU0FBUyxJQUFJLE9BQU9BLFNBQVMsQ0FBQ1gsS0FBSyxLQUFLLFFBQVEsSUFBSVcsU0FBUyxDQUFDWCxLQUFLLENBQUNDLElBQUksS0FBSyxHQUMvRSxDQUFDLElBQ0RsQixrQkFBa0IsR0FBRyxDQUFDLEVBQ3RCO2NBQ0EsT0FBT0QsS0FBSyxDQUFDQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDdEM7WUFDQSxNQUFNaUIsS0FBSztVQUNiLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQztNQUNKLENBQUM7TUFDRCxPQUFPbEIsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQjtJQUVBLElBQUk4QixLQUFLO0lBQ1QsSUFBSTFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7TUFDcEIwQyxLQUFLLEdBQUd4QyxJQUFJO0lBQ2Q7SUFFQSxPQUFPLElBQUlmLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLEVBQUVrRCxNQUFNLEtBQUs7TUFDdENqRCxPQUFPLENBQUNKLE9BQU8sRUFBRUssTUFBTSxDQUFDLENBQUNJLElBQUksQ0FBQ2lELElBQUksSUFBSTtRQUNwQyxNQUFNdEIsT0FBTyxHQUFHO1VBQ2RDLElBQUksRUFBRXBCLElBQUk7VUFDVlosTUFBTTtVQUNOcUQsSUFBSTtVQUNKQyxJQUFJLEVBQUU7WUFDSi9DLGFBQWEsRUFBRUEsYUFBYTtZQUM1QlgsWUFBWSxFQUFFRCxPQUFPLENBQUNDLFlBQVk7WUFDbENLLGNBQWMsRUFBRU4sT0FBTyxDQUFDTSxjQUFjO1lBQ3RDc0QsT0FBTyxFQUFFNUQsT0FBTyxDQUFDNEQsT0FBTyxJQUFJLENBQUM7VUFDL0IsQ0FBQztVQUNESDtRQUNGLENBQUM7UUFDRCxPQUFPdkQsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUNyQk0sSUFBSSxDQUFDLE1BQU07VUFDVixPQUFPSSxNQUFNLENBQUNnRCxlQUFlLENBQUM5QyxNQUFNLEVBQUVDLElBQUksRUFBRW9CLE9BQU8sQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FDRDNCLElBQUksQ0FDSHFELElBQUksSUFBSTtVQUNOLE1BQU07WUFBRXhCLFFBQVE7WUFBRUUsTUFBTTtZQUFFRSxPQUFPLEdBQUcsQ0FBQztVQUFFLENBQUMsR0FBR29CLElBQUk7VUFDL0MsSUFBSTlELE9BQU8sQ0FBQ3VDLFlBQVksRUFBRTtZQUN4QnBDLE9BQU8sQ0FBQTRELGFBQUEsQ0FBQUEsYUFBQSxLQUFNekIsUUFBUTtjQUFFRyxPQUFPLEVBQUVELE1BQU07Y0FBRUcsUUFBUSxFQUFFRDtZQUFPLEVBQUUsQ0FBQztVQUM5RCxDQUFDLE1BQU07WUFDTHZDLE9BQU8sQ0FBQ21DLFFBQVEsQ0FBQztVQUNuQjtRQUNGLENBQUMsRUFDRDBCLEdBQUcsSUFBSTtVQUNMLElBQ0VBLEdBQUcsWUFBWWxFLEtBQUssQ0FBQ21FLEtBQUssSUFDMUJELEdBQUcsQ0FBQ2xCLElBQUksSUFBSWhELEtBQUssQ0FBQ21FLEtBQUssQ0FBQ0MsWUFBWSxJQUNwQ0YsR0FBRyxDQUFDakIsT0FBTyxJQUFJLGdCQUFnQmhDLE1BQU0sSUFBSUMsSUFBSSxFQUFFLEVBQy9DO1lBQ0FuQixjQUFjLENBQUN1QyxPQUFPLENBQUMrQixLQUFLLENBQUMsSUFBSSxFQUFFakQsSUFBSSxDQUFDLENBQUNULElBQUksQ0FBQ04sT0FBTyxFQUFFa0QsTUFBTSxDQUFDO1VBQ2hFLENBQUMsTUFBTTtZQUNMQSxNQUFNLENBQUNXLEdBQUcsQ0FBQztVQUNiO1FBQ0YsQ0FDRixDQUFDO01BQ0wsQ0FBQyxFQUFFWCxNQUFNLENBQUM7SUFDWixDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU87SUFDTGpCLE9BQU8sRUFBRXRCLGFBQWE7SUFDdEJzRCxJQUFJLEVBQUV2RSxjQUFjLENBQUN1RSxJQUFJO0lBQ3pCQyxXQUFXLEVBQUV4RSxjQUFjLENBQUN3RTtFQUM5QixDQUFDO0FBQ0g7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUVjN0QseUJBQXlCIiwiaWdub3JlTGlzdCI6W119
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb25maWciLCJyZXF1aXJlIiwiQXV0aCIsIlJFU1RDb250cm9sbGVyIiwiUGFyc2UiLCJnZXRTZXNzaW9uVG9rZW4iLCJvcHRpb25zIiwic2Vzc2lvblRva2VuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJnZXRBdXRoIiwiY29uZmlnIiwiaW5zdGFsbGF0aW9uSWQiLCJ1c2VNYXN0ZXJLZXkiLCJpc01hc3RlciIsInRoZW4iLCJnZXRBdXRoRm9yU2Vzc2lvblRva2VuIiwiUGFyc2VTZXJ2ZXJSRVNUQ29udHJvbGxlciIsImFwcGxpY2F0aW9uSWQiLCJyb3V0ZXIiLCJoYW5kbGVSZXF1ZXN0IiwibWV0aG9kIiwicGF0aCIsImRhdGEiLCJhcmdzIiwiYXJndW1lbnRzIiwiZ2V0Iiwic2VydmVyVVJMIiwiVVJMIiwiaW5kZXhPZiIsInBhdGhuYW1lIiwic2xpY2UiLCJsZW5ndGgiLCJiYXRjaCIsInRyYW5zYWN0aW9uUmV0cmllcyIsImluaXRpYWxQcm9taXNlIiwidHJhbnNhY3Rpb24iLCJkYXRhYmFzZSIsImNyZWF0ZVRyYW5zYWN0aW9uYWxTZXNzaW9uIiwicHJvbWlzZXMiLCJyZXF1ZXN0cyIsIm1hcCIsInJlcXVlc3QiLCJib2R5IiwicmVzcG9uc2UiLCJyZXR1cm5TdGF0dXMiLCJzdGF0dXMiLCJfc3RhdHVzIiwiaGVhZGVycyIsIl9oZWFkZXJzIiwic3VjY2VzcyIsImVycm9yIiwiY29kZSIsIm1lc3NhZ2UiLCJhbGwiLCJyZXN1bHQiLCJmaW5kIiwicmVzdWx0SXRlbSIsImFib3J0VHJhbnNhY3Rpb25hbFNlc3Npb24iLCJyZWplY3QiLCJjb21taXRUcmFuc2FjdGlvbmFsU2Vzc2lvbiIsImNhdGNoIiwiZXJyb3JJdGVtIiwicXVlcnkiLCJhdXRoIiwiaW5mbyIsImNvbnRleHQiLCJ0cnlSb3V0ZVJlcXVlc3QiLCJyZXNwIiwiZXJyIiwiRXJyb3IiLCJJTlZBTElEX0pTT04iLCJhcHBseSIsImFqYXgiLCJoYW5kbGVFcnJvciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvUGFyc2VTZXJ2ZXJSRVNUQ29udHJvbGxlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBDb25maWcgPSByZXF1aXJlKCcuL0NvbmZpZycpO1xuY29uc3QgQXV0aCA9IHJlcXVpcmUoJy4vQXV0aCcpO1xuY29uc3QgUkVTVENvbnRyb2xsZXIgPSByZXF1aXJlKCdwYXJzZS9saWIvbm9kZS9SRVNUQ29udHJvbGxlcicpO1xuY29uc3QgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJyk7XG5cbmZ1bmN0aW9uIGdldFNlc3Npb25Ub2tlbihvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zLnNlc3Npb25Ub2tlbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG9wdGlvbnMuc2Vzc2lvblRva2VuKTtcbiAgfVxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xufVxuXG5mdW5jdGlvbiBnZXRBdXRoKG9wdGlvbnMgPSB7fSwgY29uZmlnKSB7XG4gIGNvbnN0IGluc3RhbGxhdGlvbklkID0gb3B0aW9ucy5pbnN0YWxsYXRpb25JZCB8fCAnY2xvdWQnO1xuICBpZiAob3B0aW9ucy51c2VNYXN0ZXJLZXkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBBdXRoLkF1dGgoeyBjb25maWcsIGlzTWFzdGVyOiB0cnVlLCBpbnN0YWxsYXRpb25JZCB9KSk7XG4gIH1cbiAgcmV0dXJuIGdldFNlc3Npb25Ub2tlbihvcHRpb25zKS50aGVuKHNlc3Npb25Ub2tlbiA9PiB7XG4gICAgaWYgKHNlc3Npb25Ub2tlbikge1xuICAgICAgb3B0aW9ucy5zZXNzaW9uVG9rZW4gPSBzZXNzaW9uVG9rZW47XG4gICAgICByZXR1cm4gQXV0aC5nZXRBdXRoRm9yU2Vzc2lvblRva2VuKHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBzZXNzaW9uVG9rZW46IHNlc3Npb25Ub2tlbixcbiAgICAgICAgaW5zdGFsbGF0aW9uSWQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQXV0aC5BdXRoKHsgY29uZmlnLCBpbnN0YWxsYXRpb25JZCB9KSk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gUGFyc2VTZXJ2ZXJSRVNUQ29udHJvbGxlcihhcHBsaWNhdGlvbklkLCByb3V0ZXIpIHtcbiAgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdChtZXRob2QsIHBhdGgsIGRhdGEgPSB7fSwgb3B0aW9ucyA9IHt9LCBjb25maWcpIHtcbiAgICAvLyBTdG9yZSB0aGUgYXJndW1lbnRzLCBmb3IgbGF0ZXIgdXNlIGlmIGludGVybmFsIGZhaWxzXG4gICAgY29uc3QgYXJncyA9IGFyZ3VtZW50cztcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICBjb25maWcgPSBDb25maWcuZ2V0KGFwcGxpY2F0aW9uSWQpO1xuICAgIH1cbiAgICBjb25zdCBzZXJ2ZXJVUkwgPSBuZXcgVVJMKGNvbmZpZy5zZXJ2ZXJVUkwpO1xuICAgIGlmIChwYXRoLmluZGV4T2Yoc2VydmVyVVJMLnBhdGhuYW1lKSA9PT0gMCkge1xuICAgICAgcGF0aCA9IHBhdGguc2xpY2Uoc2VydmVyVVJMLnBhdGhuYW1lLmxlbmd0aCwgcGF0aC5sZW5ndGgpO1xuICAgIH1cblxuICAgIGlmIChwYXRoWzBdICE9PSAnLycpIHtcbiAgICAgIHBhdGggPSAnLycgKyBwYXRoO1xuICAgIH1cblxuICAgIGlmIChwYXRoID09PSAnL2JhdGNoJykge1xuICAgICAgY29uc3QgYmF0Y2ggPSB0cmFuc2FjdGlvblJldHJpZXMgPT4ge1xuICAgICAgICBsZXQgaW5pdGlhbFByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgaWYgKGRhdGEudHJhbnNhY3Rpb24gPT09IHRydWUpIHtcbiAgICAgICAgICBpbml0aWFsUHJvbWlzZSA9IGNvbmZpZy5kYXRhYmFzZS5jcmVhdGVUcmFuc2FjdGlvbmFsU2Vzc2lvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbml0aWFsUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9taXNlcyA9IGRhdGEucmVxdWVzdHMubWFwKHJlcXVlc3QgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZVJlcXVlc3QocmVxdWVzdC5tZXRob2QsIHJlcXVlc3QucGF0aCwgcmVxdWVzdC5ib2R5LCBvcHRpb25zLCBjb25maWcpLnRoZW4oXG4gICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXR1cm5TdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLl9zdGF0dXM7XG4gICAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuX2hlYWRlcnM7XG4gICAgICAgICAgICAgICAgICBkZWxldGUgcmVzcG9uc2UuX3N0YXR1cztcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByZXNwb25zZS5faGVhZGVycztcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHJlc3BvbnNlLCBfc3RhdHVzOiBzdGF0dXMsIF9oZWFkZXJzOiBoZWFkZXJzIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHJlc3BvbnNlIH07XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgZXJyb3I6IHsgY29kZTogZXJyb3IuY29kZSwgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgICAgICAgIC50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgIGlmIChkYXRhLnRyYW5zYWN0aW9uID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5maW5kKHJlc3VsdEl0ZW0gPT4gdHlwZW9mIHJlc3VsdEl0ZW0uZXJyb3IgPT09ICdvYmplY3QnKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5kYXRhYmFzZS5hYm9ydFRyYW5zYWN0aW9uYWxTZXNzaW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjb25maWcuZGF0YWJhc2UuY29tbWl0VHJhbnNhY3Rpb25hbFNlc3Npb24oKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVycm9yICYmXG4gICAgICAgICAgICAgICAgZXJyb3IuZmluZChcbiAgICAgICAgICAgICAgICAgIGVycm9ySXRlbSA9PiB0eXBlb2YgZXJyb3JJdGVtLmVycm9yID09PSAnb2JqZWN0JyAmJiBlcnJvckl0ZW0uZXJyb3IuY29kZSA9PT0gMjUxXG4gICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUmV0cmllcyA+IDBcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJhdGNoKHRyYW5zYWN0aW9uUmV0cmllcyAtIDEpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIHJldHVybiBiYXRjaCg1KTtcbiAgICB9XG5cbiAgICBsZXQgcXVlcnk7XG4gICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIHF1ZXJ5ID0gZGF0YTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgZ2V0QXV0aChvcHRpb25zLCBjb25maWcpLnRoZW4oYXV0aCA9PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgICAgYm9keTogZGF0YSxcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgYXV0aCxcbiAgICAgICAgICBpbmZvOiB7XG4gICAgICAgICAgICBhcHBsaWNhdGlvbklkOiBhcHBsaWNhdGlvbklkLFxuICAgICAgICAgICAgc2Vzc2lvblRva2VuOiBvcHRpb25zLnNlc3Npb25Ub2tlbixcbiAgICAgICAgICAgIGluc3RhbGxhdGlvbklkOiBvcHRpb25zLmluc3RhbGxhdGlvbklkLFxuICAgICAgICAgICAgY29udGV4dDogb3B0aW9ucy5jb250ZXh0IHx8IHt9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcXVlcnksXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByb3V0ZXIudHJ5Um91dGVSZXF1ZXN0KG1ldGhvZCwgcGF0aCwgcmVxdWVzdCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgIHJlc3AgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IHJlc3BvbnNlLCBzdGF0dXMsIGhlYWRlcnMgPSB7fSB9ID0gcmVzcDtcbiAgICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV0dXJuU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IC4uLnJlc3BvbnNlLCBfc3RhdHVzOiBzdGF0dXMsIF9oZWFkZXJzOiBoZWFkZXJzIH0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIFBhcnNlLkVycm9yICYmXG4gICAgICAgICAgICAgICAgZXJyLmNvZGUgPT0gUGFyc2UuRXJyb3IuSU5WQUxJRF9KU09OICYmXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UgPT0gYGNhbm5vdCByb3V0ZSAke21ldGhvZH0gJHtwYXRofWBcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgUkVTVENvbnRyb2xsZXIucmVxdWVzdC5hcHBseShudWxsLCBhcmdzKS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgfSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVxdWVzdDogaGFuZGxlUmVxdWVzdCxcbiAgICBhamF4OiBSRVNUQ29udHJvbGxlci5hamF4LFxuICAgIGhhbmRsZUVycm9yOiBSRVNUQ29udHJvbGxlci5oYW5kbGVFcnJvcixcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGFyc2VTZXJ2ZXJSRVNUQ29udHJvbGxlcjtcbmV4cG9ydCB7IFBhcnNlU2VydmVyUkVTVENvbnRyb2xsZXIgfTtcbiJd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
|