parse-server 8.0.0-alpha.9 → 8.0.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 +1 -3
- package/lib/Adapters/AdapterLoader.js +1 -2
- package/lib/Adapters/Cache/RedisCacheAdapter.js +2 -2
- package/lib/Adapters/PubSub/RedisPubSub.js +22 -3
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +4 -4
- package/lib/Config.js +19 -1
- package/lib/Controllers/AnalyticsController.js +3 -3
- package/lib/Controllers/UserController.js +43 -48
- package/lib/GraphQL/helpers/objectsQueries.js +2 -1
- package/lib/GraphQL/loaders/usersMutations.js +2 -6
- package/lib/Options/Definitions.js +6 -1
- package/lib/Options/docs.js +3 -2
- package/lib/Options/index.js +1 -1
- package/lib/ParseServer.js +10 -5
- package/lib/PromiseRouter.js +2 -2
- package/lib/Routers/AggregateRouter.js +2 -2
- package/lib/Routers/AudiencesRouter.js +2 -2
- package/lib/Routers/ClassesRouter.js +5 -5
- package/lib/Routers/CloudCodeRouter.js +3 -3
- package/lib/Routers/FilesRouter.js +2 -3
- package/lib/Routers/FunctionsRouter.js +2 -2
- package/lib/Routers/GlobalConfigRouter.js +3 -3
- package/lib/Routers/GraphQLRouter.js +2 -2
- package/lib/Routers/HooksRouter.js +5 -5
- package/lib/Routers/IAPValidationRouter.js +4 -4
- package/lib/Routers/InstallationsRouter.js +2 -2
- package/lib/Routers/PagesRouter.js +22 -36
- package/lib/Routers/PublicAPIRouter.js +26 -32
- package/lib/Routers/PushRouter.js +2 -2
- package/lib/Routers/SchemasRouter.js +6 -6
- package/lib/Routers/UsersRouter.js +20 -10
- package/lib/SchemaMigrations/DefinedSchemas.js +3 -3
- package/lib/batch.js +5 -5
- package/lib/middlewares.js +29 -6
- package/lib/vendor/mongodbUrl.js +2 -2
- package/package.json +15 -17
- package/public_html/invalid_verification_link.html +3 -3
|
@@ -16,7 +16,7 @@ class ClassesRouter extends _PromiseRouter.default {
|
|
|
16
16
|
return req.params.className;
|
|
17
17
|
}
|
|
18
18
|
handleFind(req) {
|
|
19
|
-
const body = Object.assign(req.body, ClassesRouter.JSONFromQuery(req.query));
|
|
19
|
+
const body = Object.assign(req.body || {}, ClassesRouter.JSONFromQuery(req.query));
|
|
20
20
|
const options = ClassesRouter.optionsFromBody(body, req.config.defaultLimit);
|
|
21
21
|
if (req.config.maxLimit && body.limit > req.config.maxLimit) {
|
|
22
22
|
// Silently replace the limit on the query with the max configured
|
|
@@ -37,7 +37,7 @@ class ClassesRouter extends _PromiseRouter.default {
|
|
|
37
37
|
|
|
38
38
|
// Returns a promise for a {response} object.
|
|
39
39
|
handleGet(req) {
|
|
40
|
-
const body = Object.assign(req.body, ClassesRouter.JSONFromQuery(req.query));
|
|
40
|
+
const body = Object.assign(req.body || {}, ClassesRouter.JSONFromQuery(req.query));
|
|
41
41
|
const options = {};
|
|
42
42
|
for (const key of Object.keys(body)) {
|
|
43
43
|
if (ALLOWED_GET_QUERY_KEYS.indexOf(key) === -1) {
|
|
@@ -83,13 +83,13 @@ class ClassesRouter extends _PromiseRouter.default {
|
|
|
83
83
|
if (this.className(req) === '_User' && typeof req.body?.objectId === 'string' && req.body.objectId.startsWith('role:')) {
|
|
84
84
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, 'Invalid object ID.');
|
|
85
85
|
}
|
|
86
|
-
return _rest.default.create(req.config, req.auth, this.className(req), req.body, req.info.clientSDK, req.info.context);
|
|
86
|
+
return _rest.default.create(req.config, req.auth, this.className(req), req.body || {}, req.info.clientSDK, req.info.context);
|
|
87
87
|
}
|
|
88
88
|
handleUpdate(req) {
|
|
89
89
|
const where = {
|
|
90
90
|
objectId: req.params.objectId
|
|
91
91
|
};
|
|
92
|
-
return _rest.default.update(req.config, req.auth, this.className(req), where, req.body, req.info.clientSDK, req.info.context);
|
|
92
|
+
return _rest.default.update(req.config, req.auth, this.className(req), where, req.body || {}, req.info.clientSDK, req.info.context);
|
|
93
93
|
}
|
|
94
94
|
handleDelete(req) {
|
|
95
95
|
return _rest.default.del(req.config, req.auth, this.className(req), req.params.objectId, req.info.context).then(() => {
|
|
@@ -183,4 +183,4 @@ class ClassesRouter extends _PromiseRouter.default {
|
|
|
183
183
|
}
|
|
184
184
|
exports.ClassesRouter = ClassesRouter;
|
|
185
185
|
var _default = exports.default = ClassesRouter;
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Jlc3QiLCJfbG9kYXNoIiwiX25vZGUiLCJfbWlkZGxld2FyZXMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJBTExPV0VEX0dFVF9RVUVSWV9LRVlTIiwiQ2xhc3Nlc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJjbGFzc05hbWUiLCJyZXEiLCJwYXJhbXMiLCJoYW5kbGVGaW5kIiwiYm9keSIsIk9iamVjdCIsImFzc2lnbiIsIkpTT05Gcm9tUXVlcnkiLCJxdWVyeSIsIm9wdGlvbnMiLCJvcHRpb25zRnJvbUJvZHkiLCJjb25maWciLCJkZWZhdWx0TGltaXQiLCJtYXhMaW1pdCIsImxpbWl0IiwiTnVtYmVyIiwicmVkaXJlY3RDbGFzc05hbWVGb3JLZXkiLCJTdHJpbmciLCJ3aGVyZSIsIkpTT04iLCJwYXJzZSIsInJlc3QiLCJmaW5kIiwiYXV0aCIsImluZm8iLCJjbGllbnRTREsiLCJjb250ZXh0IiwidGhlbiIsInJlc3BvbnNlIiwiaGFuZGxlR2V0Iiwia2V5Iiwia2V5cyIsImluZGV4T2YiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9RVUVSWSIsImluY2x1ZGUiLCJleGNsdWRlS2V5cyIsInJlYWRQcmVmZXJlbmNlIiwiaW5jbHVkZVJlYWRQcmVmZXJlbmNlIiwic3VicXVlcnlSZWFkUHJlZmVyZW5jZSIsImdldCIsIm9iamVjdElkIiwicmVzdWx0cyIsImxlbmd0aCIsIk9CSkVDVF9OT1RfRk9VTkQiLCJzZXNzaW9uVG9rZW4iLCJ1c2VyIiwiaWQiLCJoYW5kbGVDcmVhdGUiLCJzdGFydHNXaXRoIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsImNyZWF0ZSIsImhhbmRsZVVwZGF0ZSIsInVwZGF0ZSIsImhhbmRsZURlbGV0ZSIsImRlbCIsImpzb24iLCJ2YWx1ZSIsIl8iLCJlbnRyaWVzIiwiYWxsb3dDb25zdHJhaW50cyIsInNraXAiLCJvcmRlciIsImNvdW50IiwiaW5jbHVkZUFsbCIsImhpbnQiLCJleHBsYWluIiwiY29tbWVudCIsIm1vdW50Um91dGVzIiwicm91dGUiLCJwcm9taXNlRW5zdXJlSWRlbXBvdGVuY3kiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9DbGFzc2VzUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9taXNlUm91dGVyIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IHsgcHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IH0gZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuXG5jb25zdCBBTExPV0VEX0dFVF9RVUVSWV9LRVlTID0gW1xuICAna2V5cycsXG4gICdpbmNsdWRlJyxcbiAgJ2V4Y2x1ZGVLZXlzJyxcbiAgJ3JlYWRQcmVmZXJlbmNlJyxcbiAgJ2luY2x1ZGVSZWFkUHJlZmVyZW5jZScsXG4gICdzdWJxdWVyeVJlYWRQcmVmZXJlbmNlJyxcbl07XG5cbmV4cG9ydCBjbGFzcyBDbGFzc2VzUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGNsYXNzTmFtZShyZXEpIHtcbiAgICByZXR1cm4gcmVxLnBhcmFtcy5jbGFzc05hbWU7XG4gIH1cblxuICBoYW5kbGVGaW5kKHJlcSkge1xuICAgIGNvbnN0IGJvZHkgPSBPYmplY3QuYXNzaWduKHJlcS5ib2R5LCBDbGFzc2VzUm91dGVyLkpTT05Gcm9tUXVlcnkocmVxLnF1ZXJ5KSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IENsYXNzZXNSb3V0ZXIub3B0aW9uc0Zyb21Cb2R5KGJvZHksIHJlcS5jb25maWcuZGVmYXVsdExpbWl0KTtcbiAgICBpZiAocmVxLmNvbmZpZy5tYXhMaW1pdCAmJiBib2R5LmxpbWl0ID4gcmVxLmNvbmZpZy5tYXhMaW1pdCkge1xuICAgICAgLy8gU2lsZW50bHkgcmVwbGFjZSB0aGUgbGltaXQgb24gdGhlIHF1ZXJ5IHdpdGggdGhlIG1heCBjb25maWd1cmVkXG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKHJlcS5jb25maWcubWF4TGltaXQpO1xuICAgIH1cbiAgICBpZiAoYm9keS5yZWRpcmVjdENsYXNzTmFtZUZvcktleSkge1xuICAgICAgb3B0aW9ucy5yZWRpcmVjdENsYXNzTmFtZUZvcktleSA9IFN0cmluZyhib2R5LnJlZGlyZWN0Q2xhc3NOYW1lRm9yS2V5KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LndoZXJlID09PSAnc3RyaW5nJykge1xuICAgICAgYm9keS53aGVyZSA9IEpTT04ucGFyc2UoYm9keS53aGVyZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN0XG4gICAgICAuZmluZChcbiAgICAgICAgcmVxLmNvbmZpZyxcbiAgICAgICAgcmVxLmF1dGgsXG4gICAgICAgIHRoaXMuY2xhc3NOYW1lKHJlcSksXG4gICAgICAgIGJvZHkud2hlcmUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHJlcS5pbmZvLmNsaWVudFNESyxcbiAgICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICAgKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZTogcmVzcG9uc2UgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHByb21pc2UgZm9yIGEge3Jlc3BvbnNlfSBvYmplY3QuXG4gIGhhbmRsZUdldChyZXEpIHtcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmFzc2lnbihyZXEuYm9keSwgQ2xhc3Nlc1JvdXRlci5KU09ORnJvbVF1ZXJ5KHJlcS5xdWVyeSkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJvZHkpKSB7XG4gICAgICBpZiAoQUxMT1dFRF9HRVRfUVVFUllfS0VZUy5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCAnSW1wcm9wZXIgZW5jb2RlIG9mIHBhcmFtZXRlcicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChib2R5LmtleXMgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5rZXlzID0gU3RyaW5nKGJvZHkua2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGUgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlID0gU3RyaW5nKGJvZHkuaW5jbHVkZSk7XG4gICAgfVxuICAgIGlmIChib2R5LmV4Y2x1ZGVLZXlzICE9IG51bGwpIHtcbiAgICAgIG9wdGlvbnMuZXhjbHVkZUtleXMgPSBTdHJpbmcoYm9keS5leGNsdWRlS2V5cyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYm9keS5yZWFkUHJlZmVyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSBib2R5LnJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGJvZHkuaW5jbHVkZVJlYWRQcmVmZXJlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBib2R5LmluY2x1ZGVSZWFkUHJlZmVyZW5jZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBvcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3RcbiAgICAgIC5nZXQoXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoLFxuICAgICAgICB0aGlzLmNsYXNzTmFtZShyZXEpLFxuICAgICAgICByZXEucGFyYW1zLm9iamVjdElkLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICByZXEuaW5mby5jbGllbnRTREssXG4gICAgICAgIHJlcS5pbmZvLmNvbnRleHRcbiAgICAgIClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5yZXN1bHRzIHx8IHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ09iamVjdCBub3QgZm91bmQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jbGFzc05hbWUocmVxKSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgIGRlbGV0ZSByZXNwb25zZS5yZXN1bHRzWzBdLnNlc3Npb25Ub2tlbjtcblxuICAgICAgICAgIGNvbnN0IHVzZXIgPSByZXNwb25zZS5yZXN1bHRzWzBdO1xuXG4gICAgICAgICAgaWYgKHJlcS5hdXRoLnVzZXIgJiYgdXNlci5vYmplY3RJZCA9PSByZXEuYXV0aC51c2VyLmlkKSB7XG4gICAgICAgICAgICAvLyBGb3JjZSB0aGUgc2Vzc2lvbiB0b2tlblxuICAgICAgICAgICAgcmVzcG9uc2UucmVzdWx0c1swXS5zZXNzaW9uVG9rZW4gPSByZXEuaW5mby5zZXNzaW9uVG9rZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlOiByZXNwb25zZS5yZXN1bHRzWzBdIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUNyZWF0ZShyZXEpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNsYXNzTmFtZShyZXEpID09PSAnX1VzZXInICYmXG4gICAgICB0eXBlb2YgcmVxLmJvZHk/Lm9iamVjdElkID09PSAnc3RyaW5nJyAmJlxuICAgICAgcmVxLmJvZHkub2JqZWN0SWQuc3RhcnRzV2l0aCgncm9sZTonKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9QRVJBVElPTl9GT1JCSURERU4sICdJbnZhbGlkIG9iamVjdCBJRC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3QuY3JlYXRlKFxuICAgICAgcmVxLmNvbmZpZyxcbiAgICAgIHJlcS5hdXRoLFxuICAgICAgdGhpcy5jbGFzc05hbWUocmVxKSxcbiAgICAgIHJlcS5ib2R5LFxuICAgICAgcmVxLmluZm8uY2xpZW50U0RLLFxuICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICk7XG4gIH1cblxuICBoYW5kbGVVcGRhdGUocmVxKSB7XG4gICAgY29uc3Qgd2hlcmUgPSB7IG9iamVjdElkOiByZXEucGFyYW1zLm9iamVjdElkIH07XG4gICAgcmV0dXJuIHJlc3QudXBkYXRlKFxuICAgICAgcmVxLmNvbmZpZyxcbiAgICAgIHJlcS5hdXRoLFxuICAgICAgdGhpcy5jbGFzc05hbWUocmVxKSxcbiAgICAgIHdoZXJlLFxuICAgICAgcmVxLmJvZHksXG4gICAgICByZXEuaW5mby5jbGllbnRTREssXG4gICAgICByZXEuaW5mby5jb250ZXh0XG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZURlbGV0ZShyZXEpIHtcbiAgICByZXR1cm4gcmVzdFxuICAgICAgLmRlbChyZXEuY29uZmlnLCByZXEuYXV0aCwgdGhpcy5jbGFzc05hbWUocmVxKSwgcmVxLnBhcmFtcy5vYmplY3RJZCwgcmVxLmluZm8uY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHt9IH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBKU09ORnJvbVF1ZXJ5KHF1ZXJ5KSB7XG4gICAgY29uc3QganNvbiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIF8uZW50cmllcyhxdWVyeSkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGpzb25ba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBqc29uW2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgb3B0aW9uc0Zyb21Cb2R5KGJvZHksIGRlZmF1bHRMaW1pdCkge1xuICAgIGNvbnN0IGFsbG93Q29uc3RyYWludHMgPSBbXG4gICAgICAnc2tpcCcsXG4gICAgICAnbGltaXQnLFxuICAgICAgJ29yZGVyJyxcbiAgICAgICdjb3VudCcsXG4gICAgICAna2V5cycsXG4gICAgICAnZXhjbHVkZUtleXMnLFxuICAgICAgJ2luY2x1ZGUnLFxuICAgICAgJ2luY2x1ZGVBbGwnLFxuICAgICAgJ3JlZGlyZWN0Q2xhc3NOYW1lRm9yS2V5JyxcbiAgICAgICd3aGVyZScsXG4gICAgICAncmVhZFByZWZlcmVuY2UnLFxuICAgICAgJ2luY2x1ZGVSZWFkUHJlZmVyZW5jZScsXG4gICAgICAnc3VicXVlcnlSZWFkUHJlZmVyZW5jZScsXG4gICAgICAnaGludCcsXG4gICAgICAnZXhwbGFpbicsXG4gICAgICAnY29tbWVudCcsXG4gICAgXTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJvZHkpKSB7XG4gICAgICBpZiAoYWxsb3dDb25zdHJhaW50cy5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCBgSW52YWxpZCBwYXJhbWV0ZXIgZm9yIHF1ZXJ5OiAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuICAgIGlmIChib2R5LnNraXApIHtcbiAgICAgIG9wdGlvbnMuc2tpcCA9IE51bWJlcihib2R5LnNraXApO1xuICAgIH1cbiAgICBpZiAoYm9keS5saW1pdCB8fCBib2R5LmxpbWl0ID09PSAwKSB7XG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKGJvZHkubGltaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKGRlZmF1bHRMaW1pdCk7XG4gICAgfVxuICAgIGlmIChib2R5Lm9yZGVyKSB7XG4gICAgICBvcHRpb25zLm9yZGVyID0gU3RyaW5nKGJvZHkub3JkZXIpO1xuICAgIH1cbiAgICBpZiAoYm9keS5jb3VudCkge1xuICAgICAgb3B0aW9ucy5jb3VudCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChib2R5LmtleXMgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5rZXlzID0gU3RyaW5nKGJvZHkua2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmV4Y2x1ZGVLZXlzICE9IG51bGwpIHtcbiAgICAgIG9wdGlvbnMuZXhjbHVkZUtleXMgPSBTdHJpbmcoYm9keS5leGNsdWRlS2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGUgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlID0gU3RyaW5nKGJvZHkuaW5jbHVkZSk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGVBbGwpIHtcbiAgICAgIG9wdGlvbnMuaW5jbHVkZUFsbCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYm9keS5yZWFkUHJlZmVyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSBib2R5LnJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGJvZHkuaW5jbHVkZVJlYWRQcmVmZXJlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBib2R5LmluY2x1ZGVSZWFkUHJlZmVyZW5jZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBvcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2U7XG4gICAgfVxuICAgIGlmIChib2R5LmhpbnQgJiYgKHR5cGVvZiBib2R5LmhpbnQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBib2R5LmhpbnQgPT09ICdvYmplY3QnKSkge1xuICAgICAgb3B0aW9ucy5oaW50ID0gYm9keS5oaW50O1xuICAgIH1cbiAgICBpZiAoYm9keS5leHBsYWluKSB7XG4gICAgICBvcHRpb25zLmV4cGxhaW4gPSBib2R5LmV4cGxhaW47XG4gICAgfVxuICAgIGlmIChib2R5LmNvbW1lbnQgJiYgdHlwZW9mIGJvZHkuY29tbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMuY29tbWVudCA9IGJvZHkuY29tbWVudDtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCAnL2NsYXNzZXMvOmNsYXNzTmFtZScsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVGaW5kKHJlcSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9jbGFzc2VzLzpjbGFzc05hbWUvOm9iamVjdElkJywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUdldChyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2NsYXNzZXMvOmNsYXNzTmFtZScsIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSwgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUNyZWF0ZShyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BVVCcsICcvY2xhc3Nlcy86Y2xhc3NOYW1lLzpvYmplY3RJZCcsIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSwgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVVwZGF0ZShyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ0RFTEVURScsICcvY2xhc3Nlcy86Y2xhc3NOYW1lLzpvYmplY3RJZCcsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEZWxldGUocmVxKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDbGFzc2VzUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFBMEQsU0FBQUQsdUJBQUFNLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFMUQsTUFBTUcsc0JBQXNCLEdBQUcsQ0FDN0IsTUFBTSxFQUNOLFNBQVMsRUFDVCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix3QkFBd0IsQ0FDekI7QUFFTSxNQUFNQyxhQUFhLFNBQVNDLHNCQUFhLENBQUM7RUFDL0NDLFNBQVNBLENBQUNDLEdBQUcsRUFBRTtJQUNiLE9BQU9BLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDRixTQUFTO0VBQzdCO0VBRUFHLFVBQVVBLENBQUNGLEdBQUcsRUFBRTtJQUNkLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUNMLEdBQUcsQ0FBQ0csSUFBSSxFQUFFTixhQUFhLENBQUNTLGFBQWEsQ0FBQ04sR0FBRyxDQUFDTyxLQUFLLENBQUMsQ0FBQztJQUM1RSxNQUFNQyxPQUFPLEdBQUdYLGFBQWEsQ0FBQ1ksZUFBZSxDQUFDTixJQUFJLEVBQUVILEdBQUcsQ0FBQ1UsTUFBTSxDQUFDQyxZQUFZLENBQUM7SUFDNUUsSUFBSVgsR0FBRyxDQUFDVSxNQUFNLENBQUNFLFFBQVEsSUFBSVQsSUFBSSxDQUFDVSxLQUFLLEdBQUdiLEdBQUcsQ0FBQ1UsTUFBTSxD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
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Jlc3QiLCJfbG9kYXNoIiwiX25vZGUiLCJfbWlkZGxld2FyZXMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJBTExPV0VEX0dFVF9RVUVSWV9LRVlTIiwiQ2xhc3Nlc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJjbGFzc05hbWUiLCJyZXEiLCJwYXJhbXMiLCJoYW5kbGVGaW5kIiwiYm9keSIsIk9iamVjdCIsImFzc2lnbiIsIkpTT05Gcm9tUXVlcnkiLCJxdWVyeSIsIm9wdGlvbnMiLCJvcHRpb25zRnJvbUJvZHkiLCJjb25maWciLCJkZWZhdWx0TGltaXQiLCJtYXhMaW1pdCIsImxpbWl0IiwiTnVtYmVyIiwicmVkaXJlY3RDbGFzc05hbWVGb3JLZXkiLCJTdHJpbmciLCJ3aGVyZSIsIkpTT04iLCJwYXJzZSIsInJlc3QiLCJmaW5kIiwiYXV0aCIsImluZm8iLCJjbGllbnRTREsiLCJjb250ZXh0IiwidGhlbiIsInJlc3BvbnNlIiwiaGFuZGxlR2V0Iiwia2V5Iiwia2V5cyIsImluZGV4T2YiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9RVUVSWSIsImluY2x1ZGUiLCJleGNsdWRlS2V5cyIsInJlYWRQcmVmZXJlbmNlIiwiaW5jbHVkZVJlYWRQcmVmZXJlbmNlIiwic3VicXVlcnlSZWFkUHJlZmVyZW5jZSIsImdldCIsIm9iamVjdElkIiwicmVzdWx0cyIsImxlbmd0aCIsIk9CSkVDVF9OT1RfRk9VTkQiLCJzZXNzaW9uVG9rZW4iLCJ1c2VyIiwiaWQiLCJoYW5kbGVDcmVhdGUiLCJzdGFydHNXaXRoIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsImNyZWF0ZSIsImhhbmRsZVVwZGF0ZSIsInVwZGF0ZSIsImhhbmRsZURlbGV0ZSIsImRlbCIsImpzb24iLCJ2YWx1ZSIsIl8iLCJlbnRyaWVzIiwiYWxsb3dDb25zdHJhaW50cyIsInNraXAiLCJvcmRlciIsImNvdW50IiwiaW5jbHVkZUFsbCIsImhpbnQiLCJleHBsYWluIiwiY29tbWVudCIsIm1vdW50Um91dGVzIiwicm91dGUiLCJwcm9taXNlRW5zdXJlSWRlbXBvdGVuY3kiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9DbGFzc2VzUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9taXNlUm91dGVyIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IHsgcHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IH0gZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuXG5jb25zdCBBTExPV0VEX0dFVF9RVUVSWV9LRVlTID0gW1xuICAna2V5cycsXG4gICdpbmNsdWRlJyxcbiAgJ2V4Y2x1ZGVLZXlzJyxcbiAgJ3JlYWRQcmVmZXJlbmNlJyxcbiAgJ2luY2x1ZGVSZWFkUHJlZmVyZW5jZScsXG4gICdzdWJxdWVyeVJlYWRQcmVmZXJlbmNlJyxcbl07XG5cbmV4cG9ydCBjbGFzcyBDbGFzc2VzUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGNsYXNzTmFtZShyZXEpIHtcbiAgICByZXR1cm4gcmVxLnBhcmFtcy5jbGFzc05hbWU7XG4gIH1cblxuICBoYW5kbGVGaW5kKHJlcSkge1xuICAgIGNvbnN0IGJvZHkgPSBPYmplY3QuYXNzaWduKHJlcS5ib2R5IHx8IHt9LCBDbGFzc2VzUm91dGVyLkpTT05Gcm9tUXVlcnkocmVxLnF1ZXJ5KSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IENsYXNzZXNSb3V0ZXIub3B0aW9uc0Zyb21Cb2R5KGJvZHksIHJlcS5jb25maWcuZGVmYXVsdExpbWl0KTtcbiAgICBpZiAocmVxLmNvbmZpZy5tYXhMaW1pdCAmJiBib2R5LmxpbWl0ID4gcmVxLmNvbmZpZy5tYXhMaW1pdCkge1xuICAgICAgLy8gU2lsZW50bHkgcmVwbGFjZSB0aGUgbGltaXQgb24gdGhlIHF1ZXJ5IHdpdGggdGhlIG1heCBjb25maWd1cmVkXG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKHJlcS5jb25maWcubWF4TGltaXQpO1xuICAgIH1cbiAgICBpZiAoYm9keS5yZWRpcmVjdENsYXNzTmFtZUZvcktleSkge1xuICAgICAgb3B0aW9ucy5yZWRpcmVjdENsYXNzTmFtZUZvcktleSA9IFN0cmluZyhib2R5LnJlZGlyZWN0Q2xhc3NOYW1lRm9yS2V5KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LndoZXJlID09PSAnc3RyaW5nJykge1xuICAgICAgYm9keS53aGVyZSA9IEpTT04ucGFyc2UoYm9keS53aGVyZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN0XG4gICAgICAuZmluZChcbiAgICAgICAgcmVxLmNvbmZpZyxcbiAgICAgICAgcmVxLmF1dGgsXG4gICAgICAgIHRoaXMuY2xhc3NOYW1lKHJlcSksXG4gICAgICAgIGJvZHkud2hlcmUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHJlcS5pbmZvLmNsaWVudFNESyxcbiAgICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICAgKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZTogcmVzcG9uc2UgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gUmV0dXJucyBhIHByb21pc2UgZm9yIGEge3Jlc3BvbnNlfSBvYmplY3QuXG4gIGhhbmRsZUdldChyZXEpIHtcbiAgICBjb25zdCBib2R5ID0gT2JqZWN0LmFzc2lnbihyZXEuYm9keSB8fCB7fSwgQ2xhc3Nlc1JvdXRlci5KU09ORnJvbVF1ZXJ5KHJlcS5xdWVyeSkpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJvZHkpKSB7XG4gICAgICBpZiAoQUxMT1dFRF9HRVRfUVVFUllfS0VZUy5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCAnSW1wcm9wZXIgZW5jb2RlIG9mIHBhcmFtZXRlcicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChib2R5LmtleXMgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5rZXlzID0gU3RyaW5nKGJvZHkua2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGUgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlID0gU3RyaW5nKGJvZHkuaW5jbHVkZSk7XG4gICAgfVxuICAgIGlmIChib2R5LmV4Y2x1ZGVLZXlzICE9IG51bGwpIHtcbiAgICAgIG9wdGlvbnMuZXhjbHVkZUtleXMgPSBTdHJpbmcoYm9keS5leGNsdWRlS2V5cyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYm9keS5yZWFkUHJlZmVyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSBib2R5LnJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGJvZHkuaW5jbHVkZVJlYWRQcmVmZXJlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBib2R5LmluY2x1ZGVSZWFkUHJlZmVyZW5jZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBvcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3RcbiAgICAgIC5nZXQoXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoLFxuICAgICAgICB0aGlzLmNsYXNzTmFtZShyZXEpLFxuICAgICAgICByZXEucGFyYW1zLm9iamVjdElkLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICByZXEuaW5mby5jbGllbnRTREssXG4gICAgICAgIHJlcS5pbmZvLmNvbnRleHRcbiAgICAgIClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5yZXN1bHRzIHx8IHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ09iamVjdCBub3QgZm91bmQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jbGFzc05hbWUocmVxKSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgIGRlbGV0ZSByZXNwb25zZS5yZXN1bHRzWzBdLnNlc3Npb25Ub2tlbjtcblxuICAgICAgICAgIGNvbnN0IHVzZXIgPSByZXNwb25zZS5yZXN1bHRzWzBdO1xuXG4gICAgICAgICAgaWYgKHJlcS5hdXRoLnVzZXIgJiYgdXNlci5vYmplY3RJZCA9PSByZXEuYXV0aC51c2VyLmlkKSB7XG4gICAgICAgICAgICAvLyBGb3JjZSB0aGUgc2Vzc2lvbiB0b2tlblxuICAgICAgICAgICAgcmVzcG9uc2UucmVzdWx0c1swXS5zZXNzaW9uVG9rZW4gPSByZXEuaW5mby5zZXNzaW9uVG9rZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlOiByZXNwb25zZS5yZXN1bHRzWzBdIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUNyZWF0ZShyZXEpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNsYXNzTmFtZShyZXEpID09PSAnX1VzZXInICYmXG4gICAgICB0eXBlb2YgcmVxLmJvZHk/Lm9iamVjdElkID09PSAnc3RyaW5nJyAmJlxuICAgICAgcmVxLmJvZHkub2JqZWN0SWQuc3RhcnRzV2l0aCgncm9sZTonKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9QRVJBVElPTl9GT1JCSURERU4sICdJbnZhbGlkIG9iamVjdCBJRC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3QuY3JlYXRlKFxuICAgICAgcmVxLmNvbmZpZyxcbiAgICAgIHJlcS5hdXRoLFxuICAgICAgdGhpcy5jbGFzc05hbWUocmVxKSxcbiAgICAgIHJlcS5ib2R5IHx8IHt9LFxuICAgICAgcmVxLmluZm8uY2xpZW50U0RLLFxuICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICk7XG4gIH1cblxuICBoYW5kbGVVcGRhdGUocmVxKSB7XG4gICAgY29uc3Qgd2hlcmUgPSB7IG9iamVjdElkOiByZXEucGFyYW1zLm9iamVjdElkIH07XG4gICAgcmV0dXJuIHJlc3QudXBkYXRlKFxuICAgICAgcmVxLmNvbmZpZyxcbiAgICAgIHJlcS5hdXRoLFxuICAgICAgdGhpcy5jbGFzc05hbWUocmVxKSxcbiAgICAgIHdoZXJlLFxuICAgICAgcmVxLmJvZHkgfHwge30sXG4gICAgICByZXEuaW5mby5jbGllbnRTREssXG4gICAgICByZXEuaW5mby5jb250ZXh0XG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZURlbGV0ZShyZXEpIHtcbiAgICByZXR1cm4gcmVzdFxuICAgICAgLmRlbChyZXEuY29uZmlnLCByZXEuYXV0aCwgdGhpcy5jbGFzc05hbWUocmVxKSwgcmVxLnBhcmFtcy5vYmplY3RJZCwgcmVxLmluZm8uY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHt9IH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBKU09ORnJvbVF1ZXJ5KHF1ZXJ5KSB7XG4gICAgY29uc3QganNvbiA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIF8uZW50cmllcyhxdWVyeSkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGpzb25ba2V5XSA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBqc29uW2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgb3B0aW9uc0Zyb21Cb2R5KGJvZHksIGRlZmF1bHRMaW1pdCkge1xuICAgIGNvbnN0IGFsbG93Q29uc3RyYWludHMgPSBbXG4gICAgICAnc2tpcCcsXG4gICAgICAnbGltaXQnLFxuICAgICAgJ29yZGVyJyxcbiAgICAgICdjb3VudCcsXG4gICAgICAna2V5cycsXG4gICAgICAnZXhjbHVkZUtleXMnLFxuICAgICAgJ2luY2x1ZGUnLFxuICAgICAgJ2luY2x1ZGVBbGwnLFxuICAgICAgJ3JlZGlyZWN0Q2xhc3NOYW1lRm9yS2V5JyxcbiAgICAgICd3aGVyZScsXG4gICAgICAncmVhZFByZWZlcmVuY2UnLFxuICAgICAgJ2luY2x1ZGVSZWFkUHJlZmVyZW5jZScsXG4gICAgICAnc3VicXVlcnlSZWFkUHJlZmVyZW5jZScsXG4gICAgICAnaGludCcsXG4gICAgICAnZXhwbGFpbicsXG4gICAgICAnY29tbWVudCcsXG4gICAgXTtcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGJvZHkpKSB7XG4gICAgICBpZiAoYWxsb3dDb25zdHJhaW50cy5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCBgSW52YWxpZCBwYXJhbWV0ZXIgZm9yIHF1ZXJ5OiAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuICAgIGlmIChib2R5LnNraXApIHtcbiAgICAgIG9wdGlvbnMuc2tpcCA9IE51bWJlcihib2R5LnNraXApO1xuICAgIH1cbiAgICBpZiAoYm9keS5saW1pdCB8fCBib2R5LmxpbWl0ID09PSAwKSB7XG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKGJvZHkubGltaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLmxpbWl0ID0gTnVtYmVyKGRlZmF1bHRMaW1pdCk7XG4gICAgfVxuICAgIGlmIChib2R5Lm9yZGVyKSB7XG4gICAgICBvcHRpb25zLm9yZGVyID0gU3RyaW5nKGJvZHkub3JkZXIpO1xuICAgIH1cbiAgICBpZiAoYm9keS5jb3VudCkge1xuICAgICAgb3B0aW9ucy5jb3VudCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChib2R5LmtleXMgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5rZXlzID0gU3RyaW5nKGJvZHkua2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmV4Y2x1ZGVLZXlzICE9IG51bGwpIHtcbiAgICAgIG9wdGlvbnMuZXhjbHVkZUtleXMgPSBTdHJpbmcoYm9keS5leGNsdWRlS2V5cyk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGUgIT0gbnVsbCkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlID0gU3RyaW5nKGJvZHkuaW5jbHVkZSk7XG4gICAgfVxuICAgIGlmIChib2R5LmluY2x1ZGVBbGwpIHtcbiAgICAgIG9wdGlvbnMuaW5jbHVkZUFsbCA9IHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgYm9keS5yZWFkUHJlZmVyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSBib2R5LnJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGJvZHkuaW5jbHVkZVJlYWRQcmVmZXJlbmNlID09PSAnc3RyaW5nJykge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBib2R5LmluY2x1ZGVSZWFkUHJlZmVyZW5jZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBvcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBib2R5LnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2U7XG4gICAgfVxuICAgIGlmIChib2R5LmhpbnQgJiYgKHR5cGVvZiBib2R5LmhpbnQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBib2R5LmhpbnQgPT09ICdvYmplY3QnKSkge1xuICAgICAgb3B0aW9ucy5oaW50ID0gYm9keS5oaW50O1xuICAgIH1cbiAgICBpZiAoYm9keS5leHBsYWluKSB7XG4gICAgICBvcHRpb25zLmV4cGxhaW4gPSBib2R5LmV4cGxhaW47XG4gICAgfVxuICAgIGlmIChib2R5LmNvbW1lbnQgJiYgdHlwZW9mIGJvZHkuY29tbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9wdGlvbnMuY29tbWVudCA9IGJvZHkuY29tbWVudDtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCAnL2NsYXNzZXMvOmNsYXNzTmFtZScsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVGaW5kKHJlcSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9jbGFzc2VzLzpjbGFzc05hbWUvOm9iamVjdElkJywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUdldChyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2NsYXNzZXMvOmNsYXNzTmFtZScsIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSwgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUNyZWF0ZShyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BVVCcsICcvY2xhc3Nlcy86Y2xhc3NOYW1lLzpvYmplY3RJZCcsIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSwgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVVwZGF0ZShyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ0RFTEVURScsICcvY2xhc3Nlcy86Y2xhc3NOYW1lLzpvYmplY3RJZCcsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEZWxldGUocmVxKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDbGFzc2VzUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFBMEQsU0FBQUQsdUJBQUFNLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFMUQsTUFBTUcsc0JBQXNCLEdBQUcsQ0FDN0IsTUFBTSxFQUNOLFNBQVMsRUFDVCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix3QkFBd0IsQ0FDekI7QUFFTSxNQUFNQyxhQUFhLFNBQVNDLHNCQUFhLENBQUM7RUFDL0NDLFNBQVNBLENBQUNDLEdBQUcsRUFBRTtJQUNiLE9BQU9BLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDRixTQUFTO0VBQzdCO0VBRUFHLFVBQVVBLENBQUNGLEdBQUcsRUFBRTtJQUNkLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUNMLEdBQUcsQ0FBQ0csSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFTixhQUFhLENBQUNTLGFBQWEsQ0FBQ04sR0FBRyxDQUFDTyxLQUFLLENBQUMsQ0FBQztJQUNsRixNQUFNQyxPQUFPLEdBQUdYLGFBQWEsQ0FBQ1ksZUFBZSxDQUFDTixJQUFJLEVBQUVILEdBQUcsQ0FBQ1UsTUFBTSxDQUFDQyxZQUFZLENBQUM7SUFDNUUsSUFBSVgsR0FBRyxDQUFDVSxNQUFNLENBQUNFLFFBQVEsSUFBSVQs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
|
|
@@ -52,7 +52,7 @@ class CloudCodeRouter extends _PromiseRouter.default {
|
|
|
52
52
|
static createJob(req) {
|
|
53
53
|
const {
|
|
54
54
|
job_schedule
|
|
55
|
-
} = req.body;
|
|
55
|
+
} = req.body || {};
|
|
56
56
|
validateJobSchedule(req.config, job_schedule);
|
|
57
57
|
return _rest.default.create(req.config, req.auth, '_JobSchedule', formatJobSchedule(job_schedule), req.client, req.info.context);
|
|
58
58
|
}
|
|
@@ -62,7 +62,7 @@ class CloudCodeRouter extends _PromiseRouter.default {
|
|
|
62
62
|
} = req.params;
|
|
63
63
|
const {
|
|
64
64
|
job_schedule
|
|
65
|
-
} = req.body;
|
|
65
|
+
} = req.body || {};
|
|
66
66
|
validateJobSchedule(req.config, job_schedule);
|
|
67
67
|
return _rest.default.update(req.config, req.auth, '_JobSchedule', {
|
|
68
68
|
objectId
|
|
@@ -84,4 +84,4 @@ class CloudCodeRouter extends _PromiseRouter.default {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
exports.CloudCodeRouter = CloudCodeRouter;
|
|
87
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX25vZGUiLCJfcmVzdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInRyaWdnZXJzIiwibWlkZGxld2FyZSIsImZvcm1hdEpvYlNjaGVkdWxlIiwiam9iX3NjaGVkdWxlIiwic3RhcnRBZnRlciIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInZhbGlkYXRlSm9iU2NoZWR1bGUiLCJjb25maWciLCJqb2JzIiwiZ2V0Sm9icyIsImFwcGxpY2F0aW9uSWQiLCJqb2JOYW1lIiwiUGFyc2UiLCJFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkNsb3VkQ29kZVJvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJnZXRKb2JzRGF0YSIsImNyZWF0ZUpvYiIsImVkaXRKb2IiLCJkZWxldGVKb2IiLCJyZXEiLCJyZXN0IiwiZmluZCIsImF1dGgiLCJ0aGVuIiwic2NoZWR1bGVkSm9icyIsInJlc3BvbnNlIiwicmVzdWx0cyIsImluX3VzZSIsIm1hcCIsImpvYiIsIk9iamVjdCIsImtleXMiLCJib2R5IiwiY3JlYXRlIiwiY2xpZW50IiwiaW5mbyIsImNvbnRleHQiLCJvYmplY3RJZCIsInBhcmFtcyIsInVwZGF0ZSIsInVuZGVmaW5lZCIsImRlbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9DbG91ZENvZGVSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgcmVzdCBmcm9tICcuLi9yZXN0JztcbmNvbnN0IHRyaWdnZXJzID0gcmVxdWlyZSgnLi4vdHJpZ2dlcnMnKTtcbmNvbnN0IG1pZGRsZXdhcmUgPSByZXF1aXJlKCcuLi9taWRkbGV3YXJlcycpO1xuXG5mdW5jdGlvbiBmb3JtYXRKb2JTY2hlZHVsZShqb2Jfc2NoZWR1bGUpIHtcbiAgaWYgKHR5cGVvZiBqb2Jfc2NoZWR1bGUuc3RhcnRBZnRlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBqb2Jfc2NoZWR1bGUuc3RhcnRBZnRlciA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgfVxuICByZXR1cm4gam9iX3NjaGVkdWxlO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUpvYlNjaGVkdWxlKGNvbmZpZywgam9iX3NjaGVkdWxlKSB7XG4gIGNvbnN0IGpvYnMgPSB0cmlnZ2Vycy5nZXRKb2JzKGNvbmZpZy5hcHBsaWNhdGlvbklkKSB8fCB7fTtcbiAgaWYgKGpvYl9zY2hlZHVsZS5qb2JOYW1lICYmICFqb2JzW2pvYl9zY2hlZHVsZS5qb2JOYW1lXSkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUixcbiAgICAgICdDYW5ub3QgU2NoZWR1bGUgYSBqb2IgdGhhdCBpcyBub3QgZGVwbG95ZWQnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRDb2RlUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnR0VUJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzJyxcbiAgICAgIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsXG4gICAgICBDbG91ZENvZGVSb3V0ZXIuZ2V0Sm9ic1xuICAgICk7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9jbG91ZF9jb2RlL2pvYnMvZGF0YScsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmdldEpvYnNEYXRhXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9jbG91ZF9jb2RlL2pvYnMnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIENsb3VkQ29kZVJvdXRlci5jcmVhdGVKb2JcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUFVUJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmVkaXRKb2JcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnREVMRVRFJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmRlbGV0ZUpvYlxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Sm9icyhyZXEpIHtcbiAgICByZXR1cm4gcmVzdC5maW5kKHJlcS5jb25maWcsIHJlcS5hdXRoLCAnX0pvYlNjaGVkdWxlJywge30sIHt9KS50aGVuKHNjaGVkdWxlZEpvYnMgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzcG9uc2U6IHNjaGVkdWxlZEpvYnMucmVzdWx0cyxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Sm9ic0RhdGEocmVxKSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVxLmNvbmZpZztcbiAgICBjb25zdCBqb2JzID0gdHJpZ2dlcnMuZ2V0Sm9icyhjb25maWcuYXBwbGljYXRpb25JZCkgfHwge307XG4gICAgcmV0dXJuIHJlc3QuZmluZChyZXEuY29uZmlnLCByZXEuYXV0aCwgJ19Kb2JTY2hlZHVsZScsIHt9LCB7fSkudGhlbihzY2hlZHVsZWRKb2JzID0+
|
|
87
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX25vZGUiLCJfcmVzdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInRyaWdnZXJzIiwibWlkZGxld2FyZSIsImZvcm1hdEpvYlNjaGVkdWxlIiwiam9iX3NjaGVkdWxlIiwic3RhcnRBZnRlciIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInZhbGlkYXRlSm9iU2NoZWR1bGUiLCJjb25maWciLCJqb2JzIiwiZ2V0Sm9icyIsImFwcGxpY2F0aW9uSWQiLCJqb2JOYW1lIiwiUGFyc2UiLCJFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkNsb3VkQ29kZVJvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJnZXRKb2JzRGF0YSIsImNyZWF0ZUpvYiIsImVkaXRKb2IiLCJkZWxldGVKb2IiLCJyZXEiLCJyZXN0IiwiZmluZCIsImF1dGgiLCJ0aGVuIiwic2NoZWR1bGVkSm9icyIsInJlc3BvbnNlIiwicmVzdWx0cyIsImluX3VzZSIsIm1hcCIsImpvYiIsIk9iamVjdCIsImtleXMiLCJib2R5IiwiY3JlYXRlIiwiY2xpZW50IiwiaW5mbyIsImNvbnRleHQiLCJvYmplY3RJZCIsInBhcmFtcyIsInVwZGF0ZSIsInVuZGVmaW5lZCIsImRlbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9DbG91ZENvZGVSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgcmVzdCBmcm9tICcuLi9yZXN0JztcbmNvbnN0IHRyaWdnZXJzID0gcmVxdWlyZSgnLi4vdHJpZ2dlcnMnKTtcbmNvbnN0IG1pZGRsZXdhcmUgPSByZXF1aXJlKCcuLi9taWRkbGV3YXJlcycpO1xuXG5mdW5jdGlvbiBmb3JtYXRKb2JTY2hlZHVsZShqb2Jfc2NoZWR1bGUpIHtcbiAgaWYgKHR5cGVvZiBqb2Jfc2NoZWR1bGUuc3RhcnRBZnRlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBqb2Jfc2NoZWR1bGUuc3RhcnRBZnRlciA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgfVxuICByZXR1cm4gam9iX3NjaGVkdWxlO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUpvYlNjaGVkdWxlKGNvbmZpZywgam9iX3NjaGVkdWxlKSB7XG4gIGNvbnN0IGpvYnMgPSB0cmlnZ2Vycy5nZXRKb2JzKGNvbmZpZy5hcHBsaWNhdGlvbklkKSB8fCB7fTtcbiAgaWYgKGpvYl9zY2hlZHVsZS5qb2JOYW1lICYmICFqb2JzW2pvYl9zY2hlZHVsZS5qb2JOYW1lXSkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUixcbiAgICAgICdDYW5ub3QgU2NoZWR1bGUgYSBqb2IgdGhhdCBpcyBub3QgZGVwbG95ZWQnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRDb2RlUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnR0VUJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzJyxcbiAgICAgIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsXG4gICAgICBDbG91ZENvZGVSb3V0ZXIuZ2V0Sm9ic1xuICAgICk7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9jbG91ZF9jb2RlL2pvYnMvZGF0YScsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmdldEpvYnNEYXRhXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9jbG91ZF9jb2RlL2pvYnMnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIENsb3VkQ29kZVJvdXRlci5jcmVhdGVKb2JcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUFVUJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmVkaXRKb2JcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnREVMRVRFJyxcbiAgICAgICcvY2xvdWRfY29kZS9qb2JzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgQ2xvdWRDb2RlUm91dGVyLmRlbGV0ZUpvYlxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Sm9icyhyZXEpIHtcbiAgICByZXR1cm4gcmVzdC5maW5kKHJlcS5jb25maWcsIHJlcS5hdXRoLCAnX0pvYlNjaGVkdWxlJywge30sIHt9KS50aGVuKHNjaGVkdWxlZEpvYnMgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzcG9uc2U6IHNjaGVkdWxlZEpvYnMucmVzdWx0cyxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Sm9ic0RhdGEocmVxKSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVxLmNvbmZpZztcbiAgICBjb25zdCBqb2JzID0gdHJpZ2dlcnMuZ2V0Sm9icyhjb25maWcuYXBwbGljYXRpb25JZCkgfHwge307XG4gICAgcmV0dXJuIHJlc3QuZmluZChyZXEuY29uZmlnLCByZXEuYXV0aCwgJ19Kb2JTY2hlZHVsZScsIHt9LCB7fSkudGhlbihzY2hlZHVsZWRKb2JzID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgaW5fdXNlOiBzY2hlZHVsZWRKb2JzLnJlc3VsdHMubWFwKGpvYiA9PiBqb2Iuam9iTmFtZSksXG4gICAgICAgICAgam9iczogT2JqZWN0LmtleXMoam9icyksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUpvYihyZXEpIHtcbiAgICBjb25zdCB7IGpvYl9zY2hlZHVsZSB9ID0gcmVxLmJvZHkgfHwge307XG4gICAgdmFsaWRhdGVKb2JTY2hlZHVsZShyZXEuY29uZmlnLCBqb2Jfc2NoZWR1bGUpO1xuICAgIHJldHVybiByZXN0LmNyZWF0ZShcbiAgICAgIHJlcS5jb25maWcsXG4gICAgICByZXEuYXV0aCxcbiAgICAgICdfSm9iU2NoZWR1bGUnLFxuICAgICAgZm9ybWF0Sm9iU2NoZWR1bGUoam9iX3NjaGVkdWxlKSxcbiAgICAgIHJlcS5jbGllbnQsXG4gICAgICByZXEuaW5mby5jb250ZXh0XG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBlZGl0Sm9iKHJlcSkge1xuICAgIGNvbnN0IHsgb2JqZWN0SWQgfSA9IHJlcS5wYXJhbXM7XG4gICAgY29uc3QgeyBqb2Jfc2NoZWR1bGUgfSA9IHJlcS5ib2R5IHx8IHt9O1xuICAgIHZhbGlkYXRlSm9iU2NoZWR1bGUocmVxLmNvbmZpZywgam9iX3NjaGVkdWxlKTtcbiAgICByZXR1cm4gcmVzdFxuICAgICAgLnVwZGF0ZShcbiAgICAgICAgcmVxLmNvbmZpZyxcbiAgICAgICAgcmVxLmF1dGgsXG4gICAgICAgICdfSm9iU2NoZWR1bGUnLFxuICAgICAgICB7IG9iamVjdElkIH0sXG4gICAgICAgIGZvcm1hdEpvYlNjaGVkdWxlKGpvYl9zY2hlZHVsZSksXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICAgKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZGVsZXRlSm9iKHJlcSkge1xuICAgIGNvbnN0IHsgb2JqZWN0SWQgfSA9IHJlcS5wYXJhbXM7XG4gICAgcmV0dXJuIHJlc3RcbiAgICAgIC5kZWwocmVxLmNvbmZpZywgcmVxLmF1dGgsICdfSm9iU2NoZWR1bGUnLCBvYmplY3RJZCwgcmVxLmluZm8uY29udGV4dClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQixTQUFBRCx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUMzQixNQUFNRyxRQUFRLEdBQUdOLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDdkMsTUFBTU8sVUFBVSxHQUFHUCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7QUFFNUMsU0FBU1EsaUJBQWlCQSxDQUFDQyxZQUFZLEVBQUU7RUFDdkMsSUFBSSxPQUFPQSxZQUFZLENBQUNDLFVBQVUsS0FBSyxXQUFXLEVBQUU7SUFDbERELFlBQVksQ0FBQ0MsVUFBVSxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0VBQ3BEO0VBQ0EsT0FBT0gsWUFBWTtBQUNyQjtBQUVBLFNBQVNJLG1CQUFtQkEsQ0FBQ0MsTUFBTSxFQUFFTCxZQUFZLEVBQUU7RUFDakQsTUFBTU0sSUFBSSxHQUFHVCxRQUFR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
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FilesRouter = void 0;
|
|
7
7
|
var _express = _interopRequireDefault(require("express"));
|
|
8
|
-
var _bodyParser = _interopRequireDefault(require("body-parser"));
|
|
9
8
|
var Middlewares = _interopRequireWildcard(require("../middlewares"));
|
|
10
9
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
11
10
|
var _Config = _interopRequireDefault(require("../Config"));
|
|
@@ -47,7 +46,7 @@ class FilesRouter {
|
|
|
47
46
|
router.post('/files', function (req, res, next) {
|
|
48
47
|
next(new _node.default.Error(_node.default.Error.INVALID_FILE_NAME, 'Filename not provided.'));
|
|
49
48
|
});
|
|
50
|
-
router.post('/files/:filename',
|
|
49
|
+
router.post('/files/:filename', _express.default.raw({
|
|
51
50
|
type: () => {
|
|
52
51
|
return true;
|
|
53
52
|
},
|
|
@@ -287,4 +286,4 @@ function isFileStreamable(req, filesController) {
|
|
|
287
286
|
const end = Number(range[1]);
|
|
288
287
|
return (!isNaN(start) || !isNaN(end)) && typeof filesController.adapter.handleFileStream === 'function';
|
|
289
288
|
}
|
|
290
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2JvZHlQYXJzZXIiLCJNaWRkbGV3YXJlcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX25vZGUiLCJfQ29uZmlnIiwiX2xvZ2dlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInRyaWdnZXJzIiwiaHR0cCIsIlV0aWxzIiwiZG93bmxvYWRGaWxlRnJvbVVSSSIsInVyaSIsIlByb21pc2UiLCJyZXMiLCJyZWoiLCJyZXNwb25zZSIsInNldERlZmF1bHRFbmNvZGluZyIsImJvZHkiLCJoZWFkZXJzIiwib24iLCJkYXRhIiwibWVzc2FnZSIsImFkZEZpbGVEYXRhSWZOZWVkZWQiLCJmaWxlIiwiX3NvdXJjZSIsImZvcm1hdCIsImJhc2U2NCIsIl9wcmV2aW91c1NhdmUiLCJfZGF0YSIsIl9yZXF1ZXN0VGFzayIsIkZpbGVzUm91dGVyIiwiZXhwcmVzc1JvdXRlciIsIm1heFVwbG9hZFNpemUiLCJyb3V0ZXIiLCJleHByZXNzIiwiUm91dGVyIiwiZ2V0SGFuZGxlciIsIm1ldGFkYXRhSGFuZGxlciIsInBvc3QiLCJyZXEiLCJuZXh0IiwiUGFyc2UiLCJFcnJvciIsIklOVkFMSURfRklMRV9OQU1FIiwiQm9keVBhcnNlciIsInJhdyIsInR5cGUiLCJsaW1pdCIsImhhbmRsZVBhcnNlSGVhZGVycyIsImhhbmRsZVBhcnNlU2Vzc2lvbiIsImNyZWF0ZUhhbmRsZXIiLCJkZWxldGUiLCJlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwiZGVsZXRlSGFuZGxlciIsImNvbmZpZyIsIkNvbmZpZyIsInBhcmFtcyIsImFwcElkIiwic3RhdHVzIiwiZXJyIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsImpzb24iLCJjb2RlIiwiZXJyb3IiLCJmaWxlc0NvbnRyb2xsZXIiLCJmaWxlbmFtZSIsIm1pbWUiLCJjb250ZW50VHlwZSIsImdldFR5cGUiLCJpc0ZpbGVTdHJlYW1hYmxlIiwiaGFuZGxlRmlsZVN0cmVhbSIsImNhdGNoIiwiZW5kIiwiZ2V0RmlsZURhdGEiLCJ0aGVuIiwibGVuZ3RoIiwidXNlciIsImF1dGgiLCJpc01hc3RlciIsImlzTGlua2VkIiwiQW5vbnltb3VzVXRpbHMiLCJmaWxlVXBsb2FkIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsIkZJTEVfU0FWRV9FUlJPUiIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwidmFsaWRhdGVGaWxlbmFtZSIsImZpbGVFeHRlbnNpb25zIiwiaXNWYWxpZEV4dGVuc2lvbiIsImV4dGVuc2lvbiIsInNvbWUiLCJleHQiLCJyZWdleCIsIlJlZ0V4cCIsInRlc3QiLCJpbmNsdWRlcyIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwic3BsaXQiLCJqb2luIiwidG9TdHJpbmciLCJGaWxlIiwibWV0YWRhdGEiLCJ0YWdzIiwiZmlsZURhdGEiLCJjaGVja1Byb2hpYml0ZWRLZXl3b3JkcyIsIklOVkFMSURfS0VZX05BTUUiLCJzZXRUYWdzIiwic2V0TWV0YWRhdGEiLCJmaWxlU2l6ZSIsIkJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJmaWxlT2JqZWN0IiwidHJpZ2dlclJlc3VsdCIsIm1heWJlUnVuRmlsZVRyaWdnZXIiLCJUeXBlcyIsImJlZm9yZVNhdmUiLCJzYXZlUmVzdWx0IiwidXJsIiwibmFtZSIsIl9uYW1lIiwiYnVmZmVyRGF0YSIsImZyb20iLCJmaWxlT3B0aW9ucyIsIl9tZXRhZGF0YSIsImZpbGVUYWdzIiwia2V5cyIsIl90YWdzIiwiYXNzaWduIiwiY3JlYXRlRmlsZVJlc3VsdCIsImNyZWF0ZUZpbGUiLCJfdXJsIiwicmVzb2x2ZSIsImFmdGVyU2F2ZSIsImxvZ2dlciIsInJlc29sdmVFcnJvciIsImFkYXB0ZXIiLCJnZXRGaWxlTG9jYXRpb24iLCJiZWZvcmVEZWxldGUiLCJkZWxldGVGaWxlIiwiYWZ0ZXJEZWxldGUiLCJGSUxFX0RFTEVURV9FUlJPUiIsImdldE1ldGFkYXRhIiwiZXhwb3J0cyIsInJhbmdlIiwic3RhcnQiLCJOdW1iZXIiLCJpc05hTiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL0ZpbGVzUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IEJvZHlQYXJzZXIgZnJvbSAnYm9keS1wYXJzZXInO1xuaW1wb3J0ICogYXMgTWlkZGxld2FyZXMgZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuLi9Db25maWcnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuY29uc3QgdHJpZ2dlcnMgPSByZXF1aXJlKCcuLi90cmlnZ2VycycpO1xuY29uc3QgaHR0cCA9IHJlcXVpcmUoJ2h0dHAnKTtcbmNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi4vVXRpbHMnKTtcblxuY29uc3QgZG93bmxvYWRGaWxlRnJvbVVSSSA9IHVyaSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcbiAgICBodHRwXG4gICAgICAuZ2V0KHVyaSwgcmVzcG9uc2UgPT4ge1xuICAgICAgICByZXNwb25zZS5zZXREZWZhdWx0RW5jb2RpbmcoJ2Jhc2U2NCcpO1xuICAgICAgICBsZXQgYm9keSA9IGBkYXRhOiR7cmVzcG9uc2UuaGVhZGVyc1snY29udGVudC10eXBlJ119O2Jhc2U2NCxgO1xuICAgICAgICByZXNwb25zZS5vbignZGF0YScsIGRhdGEgPT4gKGJvZHkgKz0gZGF0YSkpO1xuICAgICAgICByZXNwb25zZS5vbignZW5kJywgKCkgPT4gcmVzKGJvZHkpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICAgIHJlaihgRXJyb3IgZG93bmxvYWRpbmcgZmlsZSBmcm9tICR7dXJpfTogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBhZGRGaWxlRGF0YUlmTmVlZGVkID0gYXN5bmMgZmlsZSA9PiB7XG4gIGlmIChmaWxlLl9zb3VyY2UuZm9ybWF0ID09PSAndXJpJykge1xuICAgIGNvbnN0IGJhc2U2NCA9IGF3YWl0IGRvd25sb2FkRmlsZUZyb21VUkkoZmlsZS5fc291cmNlLnVyaSk7XG4gICAgZmlsZS5fcHJldmlvdXNTYXZlID0gZmlsZTtcbiAgICBmaWxlLl9kYXRhID0gYmFzZTY0O1xuICAgIGZpbGUuX3JlcXVlc3RUYXNrID0gbnVsbDtcbiAgfVxuICByZXR1cm4gZmlsZTtcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWxlc1JvdXRlciB7XG4gIGV4cHJlc3NSb3V0ZXIoeyBtYXhVcGxvYWRTaXplID0gJzIwTWInIH0gPSB7fSkge1xuICAgIHZhciByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuICAgIHJvdXRlci5nZXQoJy9maWxlcy86YXBwSWQvOmZpbGVuYW1lJywgdGhpcy5nZXRIYW5kbGVyKTtcbiAgICByb3V0ZXIuZ2V0KCcvZmlsZXMvOmFwcElkL21ldGFkYXRhLzpmaWxlbmFtZScsIHRoaXMubWV0YWRhdGFIYW5kbGVyKTtcblxuICAgIHJvdXRlci5wb3N0KCcvZmlsZXMnLCBmdW5jdGlvbiAocmVxLCByZXMsIG5leHQpIHtcbiAgICAgIG5leHQobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfRklMRV9OQU1FLCAnRmlsZW5hbWUgbm90IHByb3ZpZGVkLicpKTtcbiAgICB9KTtcblxuICAgIHJvdXRlci5wb3N0KFxuICAgICAgJy9maWxlcy86ZmlsZW5hbWUnLFxuICAgICAgQm9keVBhcnNlci5yYXcoe1xuICAgICAgICB0eXBlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGxpbWl0OiBtYXhVcGxvYWRTaXplLFxuICAgICAgfSksIC8vIEFsbG93IHVwbG9hZHMgd2l0aG91dCBDb250ZW50LVR5cGUsIG9yIHdpdGggYW55IENvbnRlbnQtVHlwZS5cbiAgICAgIE1pZGRsZXdhcmVzLmhhbmRsZVBhcnNlSGVhZGVycyxcbiAgICAgIE1pZGRsZXdhcmVzLmhhbmRsZVBhcnNlU2Vzc2lvbixcbiAgICAgIHRoaXMuY3JlYXRlSGFuZGxlclxuICAgICk7XG5cbiAgICByb3V0ZXIuZGVsZXRlKFxuICAgICAgJy9maWxlcy86ZmlsZW5hbWUnLFxuICAgICAgTWlkZGxld2FyZXMuaGFuZGxlUGFyc2VIZWFkZXJzLFxuICAgICAgTWlkZGxld2FyZXMuaGFuZGxlUGFyc2VTZXNzaW9uLFxuICAgICAgTWlkZGxld2FyZXMuZW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuZGVsZXRlSGFuZGxlclxuICAgICk7XG4gICAgcmV0dXJuIHJvdXRlcjtcbiAgfVxuXG4gIGFzeW5jIGdldEhhbmRsZXIocmVxLCByZXMpIHtcbiAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KHJlcS5wYXJhbXMuYXBwSWQpO1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXMuc3RhdHVzKDQwMyk7XG4gICAgICBjb25zdCBlcnIgPSBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTiwgJ0ludmFsaWQgYXBwbGljYXRpb24gSUQuJyk7XG4gICAgICByZXMuanNvbih7IGNvZGU6IGVyci5jb2RlLCBlcnJvcjogZXJyLm1lc3NhZ2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpbGVzQ29udHJvbGxlciA9IGNvbmZpZy5maWxlc0NvbnRyb2xsZXI7XG4gICAgY29uc3QgZmlsZW5hbWUgPSByZXEucGFyYW1zLmZpbGVuYW1lO1xuICAgIGNvbnN0IG1pbWUgPSAoYXdhaXQgaW1wb3J0KCdtaW1lJykpLmRlZmF1bHQ7XG4gICAgY29uc3QgY29udGVudFR5cGUgPSBtaW1lLmdldFR5cGUoZmlsZW5hbWUpO1xuICAgIGlmIChpc0ZpbGVTdHJlYW1hYmxlKHJlcSwgZmlsZXNDb250cm9sbGVyKSkge1xuICAgICAgZmlsZXNDb250cm9sbGVyLmhhbmRsZUZpbGVTdHJlYW0oY29uZmlnLCBmaWxlbmFtZSwgcmVxLCByZXMsIGNvbnRlbnRUeXBlKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIHJlcy5zdGF0dXMoNDA0KTtcbiAgICAgICAgcmVzLnNldCgnQ29udGVudC1UeXBlJywgJ3RleHQvcGxhaW4nKTtcbiAgICAgICAgcmVzLmVuZCgnRmlsZSBub3QgZm91bmQuJyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNDb250cm9sbGVyXG4gICAgICAgIC5nZXRGaWxlRGF0YShjb25maWcsIGZpbGVuYW1lKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICAgICAgcmVzLnNldCgnQ29udGVudC1UeXBlJywgY29udGVudFR5cGUpO1xuICAgICAgICAgIHJlcy5zZXQoJ0NvbnRlbnQtTGVuZ3RoJywgZGF0YS5sZW5ndGgpO1xuICAgICAgICAgIHJlcy5lbmQoZGF0YSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgcmVzLnN0YXR1cyg0MDQpO1xuICAgICAgICAgIHJlcy5zZXQoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyk7XG4gICAgICAgICAgcmVzLmVuZCgnRmlsZSBub3QgZm91bmQuJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUhhbmRsZXIocmVxLCByZXMsIG5leHQpIHtcbiAgICBjb25zdCBjb25maWcgPSByZXEuY29uZmlnO1xuICAgIGNvbnN0IHVzZXIgPSByZXEuYXV0aC51c2VyO1xuICAgIGNvbnN0IGlzTWFzdGVyID0gcmVxLmF1dGguaXNNYXN0ZXI7XG4gICAgY29uc3QgaXNMaW5rZWQgPSB1c2VyICYmIFBhcnNlLkFub255bW91c1V0aWxzLmlzTGlua2VkKHVzZXIpO1xuICAgIGlmICghaXNNYXN0ZXIgJiYgIWNvbmZpZy5maWxlVXBsb2FkLmVuYWJsZUZvckFub255bW91c1VzZXIgJiYgaXNMaW5rZWQpIHtcbiAgICAgIG5leHQoXG4gICAgICAgIG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsICdGaWxlIHVwbG9hZCBieSBhbm9ueW1vdXMgdXNlciBpcyBkaXNhYmxlZC4nKVxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFpc01hc3RlciAmJiAhY29uZmlnLmZpbGVVcGxvYWQuZW5hYmxlRm9yQXV0aGVudGljYXRlZFVzZXIgJiYgIWlzTGlua2VkICYmIHVzZXIpIHtcbiAgICAgIG5leHQoXG4gICAgICAgIG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgICBQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsXG4gICAgICAgICAgJ0ZpbGUgdXBsb2FkIGJ5IGF1dGhlbnRpY2F0ZWQgdXNlciBpcyBkaXNhYmxlZC4nXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaXNNYXN0ZXIgJiYgIWNvbmZpZy5maWxlVXBsb2FkLmVuYWJsZUZvclB1YmxpYyAmJiAhdXNlcikge1xuICAgICAgbmV4dChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCAnRmlsZSB1cGxvYWQgYnkgcHVibGljIGlzIGRpc2FibGVkLicpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlsZXNDb250cm9sbGVyID0gY29uZmlnLmZpbGVzQ29udHJvbGxlcjtcbiAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVxLmdldCgnQ29udGVudC10eXBlJyk7XG5cbiAgICBpZiAoIXJlcS5ib2R5IHx8ICFyZXEuYm9keS5sZW5ndGgpIHtcbiAgICAgIG5leHQobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgJ0ludmFsaWQgZmlsZSB1cGxvYWQuJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yID0gZmlsZXNDb250cm9sbGVyLnZhbGlkYXRlRmlsZW5hbWUoZmlsZW5hbWUpO1xuICAgIGlmIChlcnJvcikge1xuICAgICAgbmV4dChlcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSBjb25maWcuZmlsZVVwbG9hZD8uZmlsZUV4dGVuc2lvbnM7XG4gICAgaWYgKCFpc01hc3RlciAmJiBmaWxlRXh0ZW5zaW9ucykge1xuICAgICAgY29uc3QgaXNWYWxpZEV4dGVuc2lvbiA9IGV4dGVuc2lvbiA9PiB7XG4gICAgICAgIHJldHVybiBmaWxlRXh0ZW5zaW9ucy5zb21lKGV4dCA9PiB7XG4gICAgICAgICAgaWYgKGV4dCA9PT0gJyonKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGV4dCk7XG4gICAgICAgICAgaWYgKHJlZ2V4LnRlc3QoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBsZXQgZXh0ZW5zaW9uID0gY29udGVudFR5cGU7XG4gICAgICBpZiAoZmlsZW5hbWUgJiYgZmlsZW5hbWUuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICBleHRlbnNpb24gPSBmaWxlbmFtZS5zdWJzdHJpbmcoZmlsZW5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpO1xuICAgICAgfSBlbHNlIGlmIChjb250ZW50VHlwZSAmJiBjb250ZW50VHlwZS5pbmNsdWRlcygnLycpKSB7XG4gICAgICAgIGV4dGVuc2lvbiA9IGNvbnRlbnRUeXBlLnNwbGl0KCcvJylbMV07XG4gICAgICB9XG4gICAgICBleHRlbnNpb24gPSBleHRlbnNpb24/LnNwbGl0KCcgJyk/LmpvaW4oJycpO1xuXG4gICAgICBpZiAoZXh0ZW5zaW9uICYmICFpc1ZhbGlkRXh0ZW5zaW9uKGV4dGVuc2lvbikpIHtcbiAgICAgICAgbmV4dChcbiAgICAgICAgICBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsXG4gICAgICAgICAgICBgRmlsZSB1cGxvYWQgb2YgZXh0ZW5zaW9uICR7ZXh0ZW5zaW9ufSBpcyBkaXNhYmxlZC5gXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZTY0ID0gcmVxLmJvZHkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgUGFyc2UuRmlsZShmaWxlbmFtZSwgeyBiYXNlNjQgfSwgY29udGVudFR5cGUpO1xuICAgIGNvbnN0IHsgbWV0YWRhdGEgPSB7fSwgdGFncyA9IHt9IH0gPSByZXEuZmlsZURhdGEgfHwge307XG4gICAgdHJ5IHtcbiAgICAgIC8vIFNjYW4gcmVxdWVzdCBkYXRhIGZvciBkZW5pZWQga2V5d29yZHNcbiAgICAgIFV0aWxzLmNoZWNrUHJvaGliaXRlZEtleXdvcmRzKGNvbmZpZywgbWV0YWRhdGEpO1xuICAgICAgVXRpbHMuY2hlY2tQcm9oaWJpdGVkS2V5d29yZHMoY29uZmlnLCB0YWdzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbmV4dChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9LRVlfTkFNRSwgZXJyb3IpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZmlsZS5zZXRUYWdzKHRhZ3MpO1xuICAgIGZpbGUuc2V0TWV0YWRhdGEobWV0YWRhdGEpO1xuICAgIGNvbnN0IGZpbGVTaXplID0gQnVmZmVyLmJ5dGVMZW5ndGgocmVxLmJvZHkpO1xuICAgIGNvbnN0IGZpbGVPYmplY3QgPSB7IGZpbGUsIGZpbGVTaXplIH07XG4gICAgdHJ5IHtcbiAgICAgIC8vIHJ1biBiZWZvcmVTYXZlRmlsZSB0cmlnZ2VyXG4gICAgICBjb25zdCB0cmlnZ2VyUmVzdWx0ID0gYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcihcbiAgICAgICAgdHJpZ2dlcnMuVHlwZXMuYmVmb3JlU2F2ZSxcbiAgICAgICAgZmlsZU9iamVjdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICByZXEuYXV0aFxuICAgICAgKTtcbiAgICAgIGxldCBzYXZlUmVzdWx0O1xuICAgICAgLy8gaWYgYSBuZXcgUGFyc2VGaWxlIGlzIHJldHVybmVkIGNoZWNrIGlmIGl0J3MgYW4gYWxyZWFkeSBzYXZlZCBmaWxlXG4gICAgICBpZiAodHJpZ2dlclJlc3VsdCBpbnN0YW5jZW9mIFBhcnNlLkZpbGUpIHtcbiAgICAgICAgZmlsZU9iamVjdC5maWxlID0gdHJpZ2dlclJlc3VsdDtcbiAgICAgICAgaWYgKHRyaWdnZXJSZXN1bHQudXJsKCkpIHtcbiAgICAgICAgICAvLyBzZXQgZmlsZVNpemUgdG8gbnVsbCBiZWNhdXNlIHdlIHdvbnQga25vdyBob3cgYmlnIGl0IGlzIGhlcmVcbiAgICAgICAgICBmaWxlT2JqZWN0LmZpbGVTaXplID0gbnVsbDtcbiAgICAgICAgICBzYXZlUmVzdWx0ID0ge1xuICAgICAgICAgICAgdXJsOiB0cmlnZ2VyUmVzdWx0LnVybCgpLFxuICAgICAgICAgICAgbmFtZTogdHJpZ2dlclJlc3VsdC5fbmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBpZiB0aGUgZmlsZSByZXR1cm5lZCBieSB0aGUgdHJpZ2dlciBoYXMgYWxyZWFkeSBiZWVuIHNhdmVkIHNraXAgc2F2aW5nIGFueXRoaW5nXG4gICAgICBpZiAoIXNhdmVSZXN1bHQpIHtcbiAgICAgICAgLy8gaWYgdGhlIFBhcnNlRmlsZSByZXR1cm5lZCBpcyB0eXBlIHVyaSwgZG93bmxvYWQgdGhlIGZpbGUgYmVmb3JlIHNhdmluZyBpdFxuICAgICAgICBhd2FpdCBhZGRGaWxlRGF0YUlmTmVlZGVkKGZpbGVPYmplY3QuZmlsZSk7XG4gICAgICAgIC8vIHVwZGF0ZSBmaWxlU2l6ZVxuICAgICAgICBjb25zdCBidWZmZXJEYXRhID0gQnVmZmVyLmZyb20oZmlsZU9iamVjdC5maWxlLl9kYXRhLCAnYmFzZTY0Jyk7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZVNpemUgPSBCdWZmZXIuYnl0ZUxlbmd0aChidWZmZXJEYXRhKTtcbiAgICAgICAgLy8gcHJlcGFyZSBmaWxlIG9wdGlvbnNcbiAgICAgICAgY29uc3QgZmlsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgbWV0YWRhdGE6IGZpbGVPYmplY3QuZmlsZS5fbWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgICAgIC8vIHNvbWUgczMtY29tcGF0aWJsZSBwcm92aWRlcnMgKERpZ2l0YWxPY2VhbiwgTGlub2RlKSBkbyBub3QgYWNjZXB0IHRhZ3NcbiAgICAgICAgLy8gc28gd2UgZG8gbm90IGluY2x1ZGUgdGhlIHRhZ3Mgb3B0aW9uIGlmIGl0IGlzIGVtcHR5LlxuICAgICAgICBjb25zdCBmaWxlVGFncyA9XG4gICAgICAgICAgT2JqZWN0LmtleXMoZmlsZU9iamVjdC5maWxlLl90YWdzKS5sZW5ndGggPiAwID8geyB0YWdzOiBmaWxlT2JqZWN0LmZpbGUuX3RhZ3MgfSA6IHt9O1xuICAgICAgICBPYmplY3QuYXNzaWduKGZpbGVPcHRpb25zLCBmaWxlVGFncyk7XG4gICAgICAgIC8vIHNhdmUgZmlsZVxuICAgICAgICBjb25zdCBjcmVhdGVGaWxlUmVzdWx0ID0gYXdhaXQgZmlsZXNDb250cm9sbGVyLmNyZWF0ZUZpbGUoXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpbGVPYmplY3QuZmlsZS5fbmFtZSxcbiAgICAgICAgICBidWZmZXJEYXRhLFxuICAgICAgICAgIGZpbGVPYmplY3QuZmlsZS5fc291cmNlLnR5cGUsXG4gICAgICAgICAgZmlsZU9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgLy8gdXBkYXRlIGZpbGUgd2l0aCBuZXcgZGF0YVxuICAgICAgICBmaWxlT2JqZWN0LmZpbGUuX25hbWUgPSBjcmVhdGVGaWxlUmVzdWx0Lm5hbWU7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZS5fdXJsID0gY3JlYXRlRmlsZVJlc3VsdC51cmw7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZS5fcmVxdWVzdFRhc2sgPSBudWxsO1xuICAgICAgICBmaWxlT2JqZWN0LmZpbGUuX3ByZXZpb3VzU2F2ZSA9IFByb21pc2UucmVzb2x2ZShmaWxlT2JqZWN0LmZpbGUpO1xuICAgICAgICBzYXZlUmVzdWx0ID0ge1xuICAgICAgICAgIHVybDogY3JlYXRlRmlsZVJlc3VsdC51cmwsXG4gICAgICAgICAgbmFtZTogY3JlYXRlRmlsZVJlc3VsdC5uYW1lLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgLy8gcnVuIGFmdGVyU2F2ZUZpbGUgdHJpZ2dlclxuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcih0cmlnZ2Vycy5UeXBlcy5hZnRlclNhdmUsIGZpbGVPYmplY3QsIGNvbmZpZywgcmVxLmF1dGgpO1xuICAgICAgcmVzLnN0YXR1cygyMDEpO1xuICAgICAgcmVzLnNldCgnTG9jYXRpb24nLCBzYXZlUmVzdWx0LnVybCk7XG4gICAgICByZXMuanNvbihzYXZlUmVzdWx0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIGEgZmlsZTogJywgZSk7XG4gICAgICBjb25zdCBlcnJvciA9IHRyaWdnZXJzLnJlc29sdmVFcnJvcihlLCB7XG4gICAgICAgIGNvZGU6IFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUixcbiAgICAgICAgbWVzc2FnZTogYENvdWxkIG5vdCBzdG9yZSBmaWxlOiAke2ZpbGVPYmplY3QuZmlsZS5fbmFtZX0uYCxcbiAgICAgIH0pO1xuICAgICAgbmV4dChlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlSGFuZGxlcihyZXEsIHJlcywgbmV4dCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGZpbGVzQ29udHJvbGxlciB9ID0gcmVxLmNvbmZpZztcbiAgICAgIGNvbnN0IHsgZmlsZW5hbWUgfSA9IHJlcS5wYXJhbXM7XG4gICAgICAvLyBydW4gYmVmb3JlRGVsZXRlRmlsZSB0cmlnZ2VyXG4gICAgICBjb25zdCBmaWxlID0gbmV3IFBhcnNlLkZpbGUoZmlsZW5hbWUpO1xuICAgICAgZmlsZS5fdXJsID0gYXdhaXQgZmlsZXNDb250cm9sbGVyLmFkYXB0ZXIuZ2V0RmlsZUxvY2F0aW9uKHJlcS5jb25maWcsIGZpbGVuYW1lKTtcbiAgICAgIGNvbnN0IGZpbGVPYmplY3QgPSB7IGZpbGUsIGZpbGVTaXplOiBudWxsIH07XG4gICAgICBhd2FpdCB0cmlnZ2Vycy5tYXliZVJ1bkZpbGVUcmlnZ2VyKFxuICAgICAgICB0cmlnZ2Vycy5UeXBlcy5iZWZvcmVEZWxldGUsXG4gICAgICAgIGZpbGVPYmplY3QsXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoXG4gICAgICApO1xuICAgICAgLy8gZGVsZXRlIGZpbGVcbiAgICAgIGF3YWl0IGZpbGVzQ29udHJvbGxlci5kZWxldGVGaWxlKHJlcS5jb25maWcsIGZpbGVuYW1lKTtcbiAgICAgIC8vIHJ1biBhZnRlckRlbGV0ZUZpbGUgdHJpZ2dlclxuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcihcbiAgICAgICAgdHJpZ2dlcnMuVHlwZXMuYWZ0ZXJEZWxldGUsXG4gICAgICAgIGZpbGVPYmplY3QsXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoXG4gICAgICApO1xuICAgICAgcmVzLnN0YXR1cygyMDApO1xuICAgICAgLy8gVE9ETzogcmV0dXJuIHVzZWZ1bCBKU09OIGhlcmU/XG4gICAgICByZXMuZW5kKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdFcnJvciBkZWxldGluZyBhIGZpbGU6ICcsIGUpO1xuICAgICAgY29uc3QgZXJyb3IgPSB0cmlnZ2Vycy5yZXNvbHZlRXJyb3IoZSwge1xuICAgICAgICBjb2RlOiBQYXJzZS5FcnJvci5GSUxFX0RFTEVURV9FUlJPUixcbiAgICAgICAgbWVzc2FnZTogJ0NvdWxkIG5vdCBkZWxldGUgZmlsZS4nLFxuICAgICAgfSk7XG4gICAgICBuZXh0KGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YUhhbmRsZXIocmVxLCByZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gQ29uZmlnLmdldChyZXEucGFyYW1zLmFwcElkKTtcbiAgICAgIGNvbnN0IHsgZmlsZXNDb250cm9sbGVyIH0gPSBjb25maWc7XG4gICAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGZpbGVzQ29udHJvbGxlci5nZXRNZXRhZGF0YShmaWxlbmFtZSk7XG4gICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICByZXMuanNvbihkYXRhKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICByZXMuanNvbih7fSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzRmlsZVN0cmVhbWFibGUocmVxLCBmaWxlc0NvbnRyb2xsZXIpIHtcbiAgY29uc3QgcmFuZ2UgPSAocmVxLmdldCgnUmFuZ2UnKSB8fCAnLy0vJykuc3BsaXQoJy0nKTtcbiAgY29uc3Qgc3RhcnQgPSBOdW1iZXIocmFuZ2VbMF0pO1xuICBjb25zdCBlbmQgPSBOdW1iZXIocmFuZ2VbMV0pO1xuICByZXR1cm4gKFxuICAgICghaXNOYU4oc3RhcnQpIHx8ICFpc05hTihlbmQpKSAmJiB0eXBlb2YgZmlsZXNDb250cm9sbGVyLmFkYXB0ZXIuaGFuZGxlRmlsZVN0cmVhbSA9PT0gJ2Z1bmN0aW9uJ1xuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFBK0IsU0FBQU8seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxDQUFBSCxPQUFBLEdBQUFMLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQWpCLHVCQUFBUyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLEdBQUFKLENBQUEsS0FBQUssT0FBQSxFQUFBTCxDQUFBO0FBQy9CLE1BQU1tQixRQUFRLEdBQUczQixPQUFPLENBQUMsYUFBYSxDQUFDO0FBQ3ZDLE1BQU00QixJQUFJLEdBQUc1QixPQUFPLENBQUMsTUFBTSxDQUFDO0FBQzVCLE1BQU02QixLQUFLLEdBQUc3QixPQUFPLENBQUMsVUFBVSxDQUFDO0FBRWpDLE1BQU04QixtQkFBbUIsR0FBR0MsR0FBRyxJQUFJO0VBQ2pDLE9BQU8sSUFBSUMsT0FBTyxDQUFDLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxLQUFLO0lBQy9CTixJQUFJLENBQ0RiLEdBQUcsQ0FBQ2dCLEdBQUcsRUFBRUksUUFBUSxJQUFJO01BQ3BCQSxRQUFRLENBQUNDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztNQUNyQyxJQUFJQyxJQUFJLEdBQUcsUUFBUUYsUUFBUSxDQUFDRyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVU7TUFDN0RILFFBQVEsQ0FBQ0ksRUFBRSxDQUFDLE1BQU0sRUFBRUMsSUFBSSxJQUFLSCxJQUFJLElBQUlHLElBQUssQ0FBQztNQUMzQ0wsUUFBUSxDQUFDSSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU1OLEdBQUcsQ0FBQ0ksSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQ0RFLEVBQUUsQ0FBQyxPQUFPLEVBQUUvQixDQUFDLElBQUk7TUFDaEIwQixHQUFHLENBQUMsK0JBQStCSCxHQUFHLEtBQUt2QixDQUFDLENBQUNpQyxPQUFPLEVBQUUsQ0FBQztJQUN6RCxDQUFDLENBQUM7RUFDTixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTUMsbUJBQW1CLEdBQUcsTUFBTUMsSUFBSSxJQUFJO0VBQ3hDLElBQUlBLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLEtBQUssS0FBSyxFQUFFO0lBQ2pDLE1BQU1DLE1BQU0sR0FBRyxNQUFNaEIsbUJBQW1CLENBQUNhLElBQUksQ0FBQ0MsT0FBTyxDQUFDYixHQUFHLENBQUM7SUFDMURZLElBQUksQ0FBQ0ksYUFBYSxHQUFHSixJQUFJO0lBQ3pCQSxJQUFJLENBQUNLLEtBQUssR0FBR0YsTUFBTTtJQUNuQkgsSUFBSSxDQUFDTSxZQUFZLEdBQUcsSUFBSTtFQUMxQjtFQUNBLE9BQU9OLElBQUk7QUFDYixDQUFDO0FBRU0sTUFBTU8sV0FBVyxDQUFDO0VBQ3ZCQyxhQUFhQSxDQUFDO0lBQUVDLGFBQWEsR0FBRztFQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtJQUM3QyxJQUFJQyxNQUFNLEdBQUdDLGdCQUFPLENBQUNDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCRixNQUFNLENBQUN0QyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDeUMsVUFBVSxDQUFDO0lBQ3RESCxNQUFNLENBQUN0QyxHQUFHLENBQUMsa0NBQWtDLEVBQUUsSUFBSSxDQUFDMEMsZUFBZSxDQUFDO0lBRXBFSixNQUFNLENBQUNLLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVUMsR0FBRyxFQUFFMUIsR0FBRyxFQUFFMkIsSUFBSSxFQUFFO01BQzlDQSxJQUFJLENBQUMsSUFBSUMsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQztJQUVGVixNQUFNLENBQUNLLElBQUksQ0FDVCxrQkFBa0IsRUFDbEJNLG1CQUFVLENBQUNDLEdBQUcsQ0FBQztNQUNiQyxJQUFJLEVBQUVBLENBQUEsS0FBTTtRQUNWLE9BQU8sSUFBSTtNQUNiLENBQUM7TUFDREMsS0FBSyxFQUFFZjtJQUNULENBQUMsQ0FBQztJQUFFO0lBQ0psRCxXQUFXLENBQUNrRSxrQkFBa0IsRUFDOUJsRSxXQUFXLENBQUNtRSxrQkFBa0IsRUFDOUIsSUFBSSxDQUFDQyxhQUNQLENBQUM7SUFFRGpCLE1BQU0sQ0FBQ2tCLE1BQU0sQ0FDWCxrQkFBa0IsRUFDbEJyRSxXQUFXLENBQUNrRSxrQkFBa0IsRUFDOUJsRSxXQUFXLENBQUNtRSxrQkFBa0IsRUFDOUJuRSxXQUFXLENBQUNzRSxzQkFBc0IsRUFDbEMsSUFBSSxDQUFDQyxhQUNQLENBQUM7SUFDRCxPQUFPcEIsTUFBTTtFQUNmO0VBRUEsTUFBTUcsVUFBVUEsQ0FBQ0csR0FBRyxFQUFFMUIsR0FBRyxFQUFFO0lBQ3pCLE1BQU15QyxNQUFNLEdBQUdDLGVBQU0sQ0FBQzVELEdBQUcsQ0FBQzRDLEdBQUcsQ0FBQ2lCLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO0lBQzNDLElBQUksQ0FBQ0gsTUFBTSxFQUFFO01BQ1h6QyxHQUFHLENBQUM2QyxNQUFNLENBQUMsR0FBRyxDQUFDO01BQ2YsTUFBTUMsR0FBRyxHQUFHLElBQUlsQixhQUFLLENBQUNDLEtBQUssQ0FBQ0QsYUFBSyxDQUFDQyxLQUFLLENBQUNrQixtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQztNQUN2Ri9DLEdBQUcsQ0FBQ2dELElBQUksQ0FBQztRQUFFQyxJQUFJLEVBQUVILEdBQUcsQ0FBQ0csSUFBSTtRQUFFQyxLQUFLLEVBQUVKLEdBQUcsQ0FBQ3RDO01BQVEsQ0FBQyxDQUFDO01BQ2hEO0lBQ0Y7SUFDQSxNQUFNMkMsZUFBZSxHQUFHVixNQUFNLENBQUNVLGVBQWU7SUFDOUMsTUFBTUMsUUFBUSxHQUFHMUIsR0FBRyxDQUFDaUIsTUFBTSxDQUFDUyxRQUFRO0lBQ3BDLE1BQU1DLElBQUksR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFekUsT0FBTztJQUMzQyxNQUFNMEUsV0FBVyxHQUFHRCxJQUFJLENBQUNFLE9BQU8sQ0FBQ0gsUUFBUSxDQUFDO0lBQzFDLElBQUlJLGdCQUFnQixDQUFDOUIsR0FBRyxFQUFFeUIsZUFBZSxDQUFDLEVBQUU7TUFDMUNBLGVBQWUsQ0FBQ00sZ0JBQWdCLENBQUNoQixNQUFNLEVBQUVXLFFBQVEsRUFBRTFCLEdBQUcsRUFBRTFCLEdBQUcsRUFBRXNELFdBQVcsQ0FBQyxDQUFDSSxLQUFLLENBQUMsTUFBTTtRQUNwRjFELEdBQUcsQ0FBQzZDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDZjdDLEdBQUcsQ0FBQ1AsR0FBRyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUM7UUFDckNPLEdBQUcsQ0FBQzJELEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztNQUM1QixDQUFDLENBQUM7SUFDSixDQUFDLE1BQU07TUFDTFIsZUFBZSxDQUNaUyxXQUFXLENBQUNuQixNQUFNLEVBQUVXLFFBQVEsQ0FBQyxDQUM3QlMsSUFBSSxDQUFDdEQsSUFBSSxJQUFJO1FBQ1pQLEdBQUcsQ0FBQzZDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDZjdDLEdBQUcsQ0FBQ1AsR0FBRyxDQUFDLGNBQWMsRUFBRTZELFdBQVcsQ0FBQztRQUNwQ3RELEdBQUcsQ0FBQ1AsR0FBRyxDQUFDLGdCQUFnQixFQUFFYyxJQUFJLENBQUN1RCxNQUFNLENBQUM7UUFDdEM5RCxHQUFHLENBQUMyRCxHQUFHLENBQUNwRCxJQUFJLENBQUM7TUFDZixDQUFDLENBQUMsQ0FDRG1ELEtBQUssQ0FBQyxNQUFNO1FBQ1gxRCxHQUFHLENBQUM2QyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2Y3QyxHQUFHLENBQUNQLEdBQUcsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDO1FBQ3JDTyxHQUFHLENBQUMyRCxHQUFHLENBQUMsaUJBQWlCLENBQUM7TUFDNUIsQ0FBQyxDQUFDO0lBQ047RUFDRjtFQUVBLE1BQU10QixhQUFhQSxDQUFDWCxHQUFHLEVBQUUxQixHQUFHLEVBQUUyQixJQUFJLEVBQUU7SUFDbEMsTUFBTWMsTUFBTSxHQUFHZixHQUFHLENBQUNlLE1BQU07SUFDekIsTUFBTXNCLElBQUksR0FBR3JDLEdBQUcsQ0FBQ3NDLElBQUksQ0FBQ0QsSUFBSTtJQUMxQixNQUFNRSxRQUFRLEdBQUd2QyxHQUFHLENBQUNzQyxJQUFJLENBQUNDLFFBQVE7SUFDbEMsTUFBTUMsUUFBUSxHQUFHSCxJQUFJLElBQUluQyxhQUFLLENBQUN1QyxjQUFjLENBQUNELFFBQVEsQ0FBQ0gsSUFBSSxDQUFDO0lBQzVELElBQUksQ0FBQ0UsUUFBUSxJQUFJLENBQUN4QixNQUFNLENBQUMyQixVQUFVLENBQUNDLHNCQUFzQixJQUFJSCxRQUFRLEVBQUU7TUFDdEV2QyxJQUFJLENBQ0YsSUFBSUMsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDeUMsZUFBZSxFQUFFLDRDQUE0QyxDQUMzRixDQUFDO01BQ0Q7SUFDRjtJQUNBLElBQUksQ0FBQ0wsUUFBUSxJQUFJLENBQUN4QixNQUFNLENBQUMyQixVQUFVLENBQUNHLDBCQUEwQixJQUFJLENBQUNMLFFBQVEsSUFBSUgsSUFBSSxFQUFFO01BQ25GcEMsSUFBSSxDQUNGLElBQUlDLGFBQUssQ0FBQ0MsS0FBSyxDQUNiRCxhQUFLLENBQUNDLEtBQUssQ0FBQ3lDLGVBQWUsRUFDM0IsZ0RBQ0YsQ0FDRixDQUFDO01BQ0Q7SUFDRjtJQUNBLElBQUksQ0FBQ0wsUUFBUSxJQUFJLENBQUN4QixNQUFNLENBQUMyQixVQUFVLENBQUNJLGVBQWUsSUFBSSxDQUFDVCxJQUFJLEVBQUU7TUFDNURwQyxJQUFJLENBQUMsSUFBSUMsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDeUMsZUFBZSxFQUFFLG9DQUFvQyxDQUFDLENBQUM7TUFDeEY7SUFDRjtJQUNBLE1BQU1uQixlQUFlLEdBQUdWLE1BQU0sQ0FBQ1UsZUFBZTtJQUM5QyxNQUFNO01BQUVDO0lBQVMsQ0FBQyxHQUFHMUIsR0FBRyxDQUFDaUIsTUFBTTtJQUMvQixNQUFNVyxXQUFXLEdBQUc1QixHQUFHLENBQUM1QyxHQUFHLENBQUMsY0FBYyxDQUFDO0lBRTNDLElBQUksQ0FBQzRDLEdBQUcsQ0FBQ3RCLElBQUksSUFBSSxDQUFDc0IsR0FBRyxDQUFDdEIsSUFBSSxDQUFDMEQsTUFBTSxFQUFFO01BQ2pDbkMsSUFBSSxDQUFDLElBQUlDLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQ3lDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO01BQzFFO0lBQ0Y7SUFFQSxNQUFNcEIsS0FBSyxHQUFHQyxlQUFlLENBQUNzQixnQkFBZ0IsQ0FBQ3JCLFFBQVEsQ0FBQztJQUN4RCxJQUFJRixLQUFLLEVBQUU7TUFDVHZCLElBQUksQ0FBQ3VCLEtBQUssQ0FBQztNQUNYO0lBQ0Y7SUFFQSxNQUFNd0IsY0FBYyxHQUFHakMsTUFBTSxDQUFDMkIsVUFBVSxFQUFFTSxjQUFjO0lBQ3hELElBQUksQ0FBQ1QsUUFBUSxJQUFJUyxjQUFjLEVBQUU7TUFDL0IsTUFBTUMsZ0JBQWdCLEdBQUdDLFNBQVMsSUFBSTtRQUNwQyxPQUFPRixjQUFjLENBQUNHLElBQUksQ0FBQ0MsR0FBRyxJQUFJO1VBQ2hDLElBQUlBLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDZixPQUFPLElBQUk7VUFDYjtVQUNBLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxNQUFNLENBQUNGLEdBQUcsQ0FBQztVQUM3QixJQUFJQyxLQUFLLENBQUNFLElBQUksQ0FBQ0wsU0FBUyxDQUFDLEVBQUU7WUFDekIsT0FBTyxJQUFJO1VBQ2I7UUFDRixDQUFDLENBQUM7TUFDSixDQUFDO01BQ0QsSUFBSUEsU0FBUyxHQUFHdEIsV0FBVztNQUMzQixJQUFJRixRQUFRLElBQUlBLFFBQVEsQ0FBQzhCLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0Q04sU0FBUyxHQUFHeEIsUUFBUSxDQUFDK0IsU0FBUyxDQUFDL0IsUUFBUSxDQUFDZ0MsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUMvRCxDQUFDLE1BQU0sSUFBSTlCLFdBQVcsSUFBSUEsV0FBVyxDQUFDNEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ25ETixTQUFTLEdBQUd0QixXQUFXLENBQUMrQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ3ZDO01BQ0FULFNBQVMsR0FBR0EsU0FBUyxFQUFFUyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUM7TUFFM0MsSUFBSVYsU0FBUyxJQUFJLENBQUNELGdCQUFnQixDQUFDQyxTQUFTLENBQUMsRUFBRTtRQUM3Q2pELElBQUksQ0FDRixJQUFJQyxhQUFLLENBQUNDLEtBQUssQ0FDYkQsYUFBSyxDQUFDQyxLQUFLLENBQUN5QyxlQUFlLEVBQzNCLDRCQUE0Qk0sU0FBUyxlQUN2QyxDQUNGLENBQUM7UUFDRDtNQUNGO0lBQ0Y7SUFFQSxNQUFNL0QsTUFBTSxHQUFHYSxHQUFHLENBQUN0QixJQUFJLENBQUNtRixRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzFDLE1BQU03RSxJQUFJLEdBQUcsSUFBSWtCLGFBQUssQ0FBQzRELElBQUksQ0FBQ3BDLFFBQVEsRUFBRTtNQUFFdkM7SUFBTyxDQUFDLEVBQUV5QyxXQUFXLENBQUM7SUFDOUQsTUFBTTtNQUFFbUMsUUFBUSxHQUFHLENBQUMsQ0FBQztNQUFFQyxJQUFJLEdBQUcsQ0FBQztJQUFFLENBQUMsR0FBR2hFLEdBQUcsQ0FBQ2lFLFFBQVEsSUFBSSxDQUFDLENBQUM7SUFDdkQsSUFBSTtNQUNGO01BQ0EvRixLQUFLLENBQUNnRyx1QkFBdUIsQ0FBQ25ELE1BQU0sRUFBRWdELFFBQVEsQ0FBQztNQUMvQzdGLEtBQUssQ0FBQ2dHLHVCQUF1QixDQUFDbkQsTUFBTSxFQUFFaUQsSUFBSSxDQUFDO0lBQzdDLENBQUMsQ0FBQyxPQUFPeEMsS0FBSyxFQUFFO01BQ2R2QixJQUFJLENBQUMsSUFBSUMsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDZ0UsZ0JBQWdCLEVBQUUzQyxLQUFLLENBQUMsQ0FBQztNQUMxRDtJQUNGO0lBQ0F4QyxJQUFJLENBQUNvRixPQUFPLENBQUNKLElBQUksQ0FBQztJQUNsQmhGLElBQUksQ0FBQ3FGLFdBQVcsQ0FBQ04sUUFBUSxDQUFDO0lBQzFCLE1BQU1PLFFBQVEsR0FBR0MsTUFBTSxDQUFDQyxVQUFVLENBQUN4RSxHQUFHLENBQUN0QixJQUFJLENBQUM7SUFDNUMsTUFBTStGLFVBQVUsR0FBRztNQUFFekYsSUFBSTtNQUFFc0Y7SUFBUyxDQUFDO0lBQ3JDLElBQUk7TUFDRjtNQUNBLE1BQU1JLGFBQWEsR0FBRyxNQUFNMUcsUUFBUSxDQUFDMkcsbUJBQW1CLENBQ3REM0csUUFBUSxDQUFDNEcsS0FBSyxDQUFDQyxVQUFVLEVBQ3pCSixVQUFVLEVBQ1YxRCxNQUFNLEVBQ05mLEdBQUcsQ0FBQ3NDLElBQ04sQ0FBQztNQUNELElBQUl3QyxVQUFVO01BQ2Q7TUFDQSxJQUFJSixhQUFhLFlBQVl4RSxhQUFLLENBQUM0RCxJQUFJLEVBQUU7UUFDdkNXLFVBQVUsQ0FBQ3pGLElBQUksR0FBRzBGLGFBQWE7UUFDL0IsSUFBSUEsYUFBYSxDQUFDSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1VBQ3ZCO1VBQ0FOLFVBQVUsQ0FBQ0gsUUFBUSxHQUFHLElBQUk7VUFDMUJRLFVBQVUsR0FBRztZQUNYQyxHQUFHLEVBQUVMLGFBQWEsQ0FBQ0ssR0FBRyxDQUFDLENBQUM7WUFDeEJDLElBQUksRUFBRU4sYUFBYSxDQUFDTztVQUN0QixDQUFDO1FBQ0g7TUFDRjtNQUNBO01BQ0EsSUFBSSxDQUFDSCxVQUFVLEVBQUU7UUFDZjtRQUNBLE1BQU0vRixtQkFBbUIsQ0FBQzBGLFVBQVUsQ0FBQ3pGLElBQUksQ0FBQztRQUMxQztRQUNBLE1BQU1rRyxVQUFVLEdBQUdYLE1BQU0sQ0FBQ1ksSUFBSSxDQUFDVixVQUFVLENBQUN6RixJQUFJLENBQUNLLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDL0RvRixVQUFVLENBQUNILFFBQVEsR0FBR0MsTUFBTSxDQUFDQyxVQUFVLENBQUNVLFVBQVUsQ0FBQztRQUNuRDtRQUNBLE1BQU1FLFdBQVcsR0FBRztVQUNsQnJCLFFBQVEsRUFBRVUsVUFBVSxDQUFDekYsSUFBSSxDQUFDcUc7UUFDNUIsQ0FBQztRQUNEO1FBQ0E7UUFDQSxNQUFNQyxRQUFRLEdBQ1o5SCxNQUFNLENBQUMrSCxJQUFJLENBQUNkLFVBQVUsQ0FBQ3pGLElBQUksQ0FBQ3dHLEtBQUssQ0FBQyxDQUFDcEQsTUFBTSxHQUFHLENBQUMsR0FBRztVQUFFNEIsSUFBSSxFQUFFUyxVQUFVLENBQUN6RixJQUFJLENBQUN3RztRQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEZoSSxNQUFNLENBQUNpSSxNQUFNLENBQUNMLFdBQVcsRUFBRUUsUUFBUSxDQUFDO1FBQ3BDO1FBQ0EsTUFBTUksZ0JBQWdCLEdBQUcsTUFBTWpFLGVBQWUsQ0FBQ2tFLFVBQVUsQ0FDdkQ1RSxNQUFNLEVBQ04wRCxVQUFVLENBQUN6RixJQUFJLENBQUNpRyxLQUFLLEVBQ3JCQyxVQUFVLEVBQ1ZULFVBQVUsQ0FBQ3pGLElBQUksQ0FBQ0MsT0FBTyxDQUFDc0IsSUFBSSxFQUM1QjZFLFdBQ0YsQ0FBQztRQUNEO1FBQ0FYLFVBQVUsQ0FBQ3pGLElBQUksQ0FBQ2lHLEtBQUssR0FBR1MsZ0JBQWdCLENBQUNWLElBQUk7UUFDN0NQLFVBQVUsQ0FBQ3pGLElBQUksQ0FBQzRHLElBQUksR0FBR0YsZ0JBQWdCLENBQUNYLEdBQUc7UUFDM0NOLFVBQVUsQ0FBQ3pGLElBQUksQ0FBQ00sWUFBWSxHQUFHLElBQUk7UUFDbkNtRixVQUFVLENBQUN6RixJQUFJLENBQUNJLGFBQWEsR0FBR2YsT0FBTyxDQUFDd0gsT0FBTyxDQUFDcEIsVUFBVSxDQUFDekYsSUFBSSxDQUFDO1FBQ2hFOEYsVUFBVSxHQUFHO1VBQ1hDLEdBQUcsRUFBRVcsZ0JBQWdCLENBQUNYLEdBQUc7VUFDekJDLElBQUksRUFBRVUsZ0JBQWdCLENBQUNWO1FBQ3pCLENBQUM7TUFDSDtNQUNBO01BQ0EsTUFBTWhILFFBQVEsQ0FBQzJHLG1CQUFtQixDQUFDM0csUUFBUSxDQUFDNEcsS0FBSyxDQUFDa0IsU0FBUyxFQUFFckIsVUFBVSxFQUFFMUQsTUFBTSxFQUFFZixHQUFHLENBQUNzQyxJQUFJLENBQUM7TUFDMUZoRSxHQUFHLENBQUM2QyxNQUFNLENBQUMsR0FBRyxDQUFDO01BQ2Y3QyxHQUFHLENBQUNQLEdBQUcsQ0FBQyxVQUFVLEVBQUUrRyxVQUFVLENBQUNDLEdBQUcsQ0FBQztNQUNuQ3pHLEdBQUcsQ0FBQ2dELElBQUksQ0FBQ3dELFVBQVUsQ0FBQztJQUN0QixDQUFDLENBQUMsT0FBT2pJLENBQUMsRUFBRTtNQUNWa0osZUFBTSxDQUFDdkUsS0FBSyxDQUFDLHlCQUF5QixFQUFFM0UsQ0FBQyxDQUFDO01BQzFDLE1BQU0yRSxLQUFLLEdBQUd4RCxRQUFRLENBQUNnSSxZQUFZLENBQUNuSixDQUFDLEVBQUU7UUFDckMwRSxJQUFJLEVBQUVyQixhQUFLLENBQUNDLEtBQUssQ0FBQ3lDLGVBQWU7UUFDakM5RCxPQUFPLEVBQUUseUJBQXlCMkYsVUFBVSxDQUFDekYsSUFBSSxDQUFDaUcsS0FBSztNQUN6RCxDQUFDLENBQUM7TUFDRmhGLElBQUksQ0FBQ3VCLEtBQUssQ0FBQztJQUNiO0VBQ0Y7RUFFQSxNQUFNVixhQUFhQSxDQUFDZCxHQUFHLEVBQUUxQixHQUFHLEVBQUUyQixJQUFJLEVBQUU7SUFDbEMsSUFBSTtNQUNGLE1BQU07UUFBRXdCO01BQWdCLENBQUMsR0FBR3pCLEdBQUcsQ0FBQ2UsTUFBTTtNQUN0QyxNQUFNO1FBQUVXO01BQVMsQ0FBQyxHQUFHMUIsR0FBRyxDQUFDaUIsTUFBTTtNQUMvQjtNQUNBLE1BQU1qQyxJQUFJLEdBQUcsSUFBSWtCLGFBQUssQ0FBQzRELElBQUksQ0FBQ3BDLFFBQVEsQ0FBQztNQUNyQzFDLElBQUksQ0FBQzRHLElBQUksR0FBRyxNQUFNbkUsZUFBZSxDQUFDd0UsT0FBTyxDQUFDQyxlQUFlLENBQUNsRyxHQUFHLENBQUNlLE1BQU0sRUFBRVcsUUFBUSxDQUFDO01BQy9FLE1BQU0rQyxVQUFVLEdBQUc7UUFBRXpGLElBQUk7UUFBRXNGLFFBQVEsRUFBRTtNQUFLLENBQUM7TUFDM0MsTUFBTXRHLFFBQVEsQ0FBQzJHLG1CQUFtQixDQUNoQzNHLFFBQVEsQ0FBQzRHLEtBQUssQ0FBQ3VCLFlBQVksRUFDM0IxQixVQUFVLEVBQ1Z6RSxHQUFHLENBQUNlLE1BQU0sRUFDVmYsR0FBRyxDQUFDc0MsSUFDTixDQUFDO01BQ0Q7TUFDQSxNQUFNYixlQUFlLENBQUMyRSxVQUFVLENBQUNwRyxHQUFHLENBQUNlLE1BQU0sRUFBRVcsUUFBUSxDQUFDO01BQ3REO01BQ0EsTUFBTTFELFFBQVEsQ0FBQzJHLG1CQUFtQixDQUNoQzNHLFFBQVEsQ0FBQzRHLEtBQUssQ0FBQ3lCLFdBQVcsRUFDMUI1QixVQUFVLEVBQ1Z6RSxHQUFHLENBQUNlLE1BQU0sRUFDVmYsR0FBRyxDQUFDc0MsSUFDTixDQUFDO01BQ0RoRSxHQUFHLENBQUM2QyxNQUFNLENBQUMsR0FBRyxDQUFDO01BQ2Y7TUFDQTdDLEdBQUcsQ0FBQzJELEdBQUcsQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLE9BQU9wRixDQUFDLEVBQUU7TUFDVmtKLGVBQU0sQ0FBQ3ZFLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTNFLENBQUMsQ0FBQztNQUMxQyxNQUFNMkUsS0FBSyxHQUFHeEQsUUFBUSxDQUFDZ0ksWUFBWSxDQUFDbkosQ0FBQyxFQUFFO1FBQ3JDMEUsSUFBSSxFQUFFckIsYUFBSyxDQUFDQyxLQUFLLENBQUNtRyxpQkFBaUI7UUFDbkN4SCxPQUFPLEVBQUU7TUFDWCxDQUFDLENBQUM7TUFDRm1CLElBQUksQ0FBQ3VCLEtBQUssQ0FBQztJQUNiO0VBQ0Y7RUFFQSxNQUFNMUIsZUFBZUEsQ0FBQ0UsR0FBRyxFQUFFMUIsR0FBRyxFQUFFO0lBQzlCLElBQUk7TUFDRixNQUFNeUMsTUFBTSxHQUFHQyxlQUFNLENBQUM1RCxHQUFHLENBQUM0QyxHQUFHLENBQUNpQixNQUFNLENBQUNDLEtBQUssQ0FBQztNQUMzQyxNQUFNO1FBQUVPO01BQWdCLENBQUMsR0FBR1YsTUFBTTtNQUNsQyxNQUFNO1FBQUVXO01BQVMsQ0FBQyxHQUFHMUIsR0FBRyxDQUFDaUIsTUFBTTtNQUMvQixNQUFNcEMsSUFBSSxHQUFHLE1BQU00QyxlQUFlLENBQUM4RSxXQUFXLENBQUM3RSxRQUFRLENBQUM7TUFDeERwRCxHQUFHLENBQUM2QyxNQUFNLENBQUMsR0FBRyxDQUFDO01BQ2Y3QyxHQUFHLENBQUNnRCxJQUFJLENBQUN6QyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDLE9BQU9oQyxDQUFDLEVBQUU7TUFDVnlCLEdBQUcsQ0FBQzZDLE1BQU0sQ0FBQyxHQUFHLENBQUM7TUFDZjdDLEdBQUcsQ0FBQ2dELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNkO0VBQ0Y7QUFDRjtBQUFDa0YsT0FBQSxDQUFBakgsV0FBQSxHQUFBQSxXQUFBO0FBRUQsU0FBU3VDLGdCQUFnQkEsQ0FBQzlCLEdBQUcsRUFBRXlCLGVBQWUsRUFBRTtFQUM5QyxNQUFNZ0YsS0FBSyxHQUFHLENBQUN6RyxHQUFHLENBQUM1QyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFdUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUNwRCxNQUFNK0MsS0FBSyxHQUFHQyxNQUFNLENBQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUM5QixNQUFNeEUsR0FBRyxHQUFHMEUsTUFBTSxDQUFDRixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDNUIsT0FDRSxDQUFDLENBQUNHLEtBQUssQ0FBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQ0UsS0FBSyxDQUFDM0UsR0FBRyxDQUFDLEtBQUssT0FBT1IsZUFBZSxDQUFDd0UsT0FBTyxDQUFDbEUsZ0JBQWdCLEtBQUssVUFBVTtBQUVwRyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
289
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiTWlkZGxld2FyZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9ub2RlIiwiX0NvbmZpZyIsIl9sb2dnZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJ0cmlnZ2VycyIsImh0dHAiLCJVdGlscyIsImRvd25sb2FkRmlsZUZyb21VUkkiLCJ1cmkiLCJQcm9taXNlIiwicmVzIiwicmVqIiwicmVzcG9uc2UiLCJzZXREZWZhdWx0RW5jb2RpbmciLCJib2R5IiwiaGVhZGVycyIsIm9uIiwiZGF0YSIsIm1lc3NhZ2UiLCJhZGRGaWxlRGF0YUlmTmVlZGVkIiwiZmlsZSIsIl9zb3VyY2UiLCJmb3JtYXQiLCJiYXNlNjQiLCJfcHJldmlvdXNTYXZlIiwiX2RhdGEiLCJfcmVxdWVzdFRhc2siLCJGaWxlc1JvdXRlciIsImV4cHJlc3NSb3V0ZXIiLCJtYXhVcGxvYWRTaXplIiwicm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsImdldEhhbmRsZXIiLCJtZXRhZGF0YUhhbmRsZXIiLCJwb3N0IiwicmVxIiwibmV4dCIsIlBhcnNlIiwiRXJyb3IiLCJJTlZBTElEX0ZJTEVfTkFNRSIsInJhdyIsInR5cGUiLCJsaW1pdCIsImhhbmRsZVBhcnNlSGVhZGVycyIsImhhbmRsZVBhcnNlU2Vzc2lvbiIsImNyZWF0ZUhhbmRsZXIiLCJkZWxldGUiLCJlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwiZGVsZXRlSGFuZGxlciIsImNvbmZpZyIsIkNvbmZpZyIsInBhcmFtcyIsImFwcElkIiwic3RhdHVzIiwiZXJyIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsImpzb24iLCJjb2RlIiwiZXJyb3IiLCJmaWxlc0NvbnRyb2xsZXIiLCJmaWxlbmFtZSIsIm1pbWUiLCJjb250ZW50VHlwZSIsImdldFR5cGUiLCJpc0ZpbGVTdHJlYW1hYmxlIiwiaGFuZGxlRmlsZVN0cmVhbSIsImNhdGNoIiwiZW5kIiwiZ2V0RmlsZURhdGEiLCJ0aGVuIiwibGVuZ3RoIiwidXNlciIsImF1dGgiLCJpc01hc3RlciIsImlzTGlua2VkIiwiQW5vbnltb3VzVXRpbHMiLCJmaWxlVXBsb2FkIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsIkZJTEVfU0FWRV9FUlJPUiIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwidmFsaWRhdGVGaWxlbmFtZSIsImZpbGVFeHRlbnNpb25zIiwiaXNWYWxpZEV4dGVuc2lvbiIsImV4dGVuc2lvbiIsInNvbWUiLCJleHQiLCJyZWdleCIsIlJlZ0V4cCIsInRlc3QiLCJpbmNsdWRlcyIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwic3BsaXQiLCJqb2luIiwidG9TdHJpbmciLCJGaWxlIiwibWV0YWRhdGEiLCJ0YWdzIiwiZmlsZURhdGEiLCJjaGVja1Byb2hpYml0ZWRLZXl3b3JkcyIsIklOVkFMSURfS0VZX05BTUUiLCJzZXRUYWdzIiwic2V0TWV0YWRhdGEiLCJmaWxlU2l6ZSIsIkJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJmaWxlT2JqZWN0IiwidHJpZ2dlclJlc3VsdCIsIm1heWJlUnVuRmlsZVRyaWdnZXIiLCJUeXBlcyIsImJlZm9yZVNhdmUiLCJzYXZlUmVzdWx0IiwidXJsIiwibmFtZSIsIl9uYW1lIiwiYnVmZmVyRGF0YSIsImZyb20iLCJmaWxlT3B0aW9ucyIsIl9tZXRhZGF0YSIsImZpbGVUYWdzIiwia2V5cyIsIl90YWdzIiwiYXNzaWduIiwiY3JlYXRlRmlsZVJlc3VsdCIsImNyZWF0ZUZpbGUiLCJfdXJsIiwicmVzb2x2ZSIsImFmdGVyU2F2ZSIsImxvZ2dlciIsInJlc29sdmVFcnJvciIsImFkYXB0ZXIiLCJnZXRGaWxlTG9jYXRpb24iLCJiZWZvcmVEZWxldGUiLCJkZWxldGVGaWxlIiwiYWZ0ZXJEZWxldGUiLCJGSUxFX0RFTEVURV9FUlJPUiIsImdldE1ldGFkYXRhIiwiZXhwb3J0cyIsInJhbmdlIiwic3RhcnQiLCJOdW1iZXIiLCJpc05hTiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL0ZpbGVzUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0ICogYXMgTWlkZGxld2FyZXMgZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuLi9Db25maWcnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuY29uc3QgdHJpZ2dlcnMgPSByZXF1aXJlKCcuLi90cmlnZ2VycycpO1xuY29uc3QgaHR0cCA9IHJlcXVpcmUoJ2h0dHAnKTtcbmNvbnN0IFV0aWxzID0gcmVxdWlyZSgnLi4vVXRpbHMnKTtcblxuY29uc3QgZG93bmxvYWRGaWxlRnJvbVVSSSA9IHVyaSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcbiAgICBodHRwXG4gICAgICAuZ2V0KHVyaSwgcmVzcG9uc2UgPT4ge1xuICAgICAgICByZXNwb25zZS5zZXREZWZhdWx0RW5jb2RpbmcoJ2Jhc2U2NCcpO1xuICAgICAgICBsZXQgYm9keSA9IGBkYXRhOiR7cmVzcG9uc2UuaGVhZGVyc1snY29udGVudC10eXBlJ119O2Jhc2U2NCxgO1xuICAgICAgICByZXNwb25zZS5vbignZGF0YScsIGRhdGEgPT4gKGJvZHkgKz0gZGF0YSkpO1xuICAgICAgICByZXNwb25zZS5vbignZW5kJywgKCkgPT4gcmVzKGJvZHkpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2Vycm9yJywgZSA9PiB7XG4gICAgICAgIHJlaihgRXJyb3IgZG93bmxvYWRpbmcgZmlsZSBmcm9tICR7dXJpfTogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBhZGRGaWxlRGF0YUlmTmVlZGVkID0gYXN5bmMgZmlsZSA9PiB7XG4gIGlmIChmaWxlLl9zb3VyY2UuZm9ybWF0ID09PSAndXJpJykge1xuICAgIGNvbnN0IGJhc2U2NCA9IGF3YWl0IGRvd25sb2FkRmlsZUZyb21VUkkoZmlsZS5fc291cmNlLnVyaSk7XG4gICAgZmlsZS5fcHJldmlvdXNTYXZlID0gZmlsZTtcbiAgICBmaWxlLl9kYXRhID0gYmFzZTY0O1xuICAgIGZpbGUuX3JlcXVlc3RUYXNrID0gbnVsbDtcbiAgfVxuICByZXR1cm4gZmlsZTtcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWxlc1JvdXRlciB7XG4gIGV4cHJlc3NSb3V0ZXIoeyBtYXhVcGxvYWRTaXplID0gJzIwTWInIH0gPSB7fSkge1xuICAgIHZhciByb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuICAgIHJvdXRlci5nZXQoJy9maWxlcy86YXBwSWQvOmZpbGVuYW1lJywgdGhpcy5nZXRIYW5kbGVyKTtcbiAgICByb3V0ZXIuZ2V0KCcvZmlsZXMvOmFwcElkL21ldGFkYXRhLzpmaWxlbmFtZScsIHRoaXMubWV0YWRhdGFIYW5kbGVyKTtcblxuICAgIHJvdXRlci5wb3N0KCcvZmlsZXMnLCBmdW5jdGlvbiAocmVxLCByZXMsIG5leHQpIHtcbiAgICAgIG5leHQobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfRklMRV9OQU1FLCAnRmlsZW5hbWUgbm90IHByb3ZpZGVkLicpKTtcbiAgICB9KTtcblxuICAgIHJvdXRlci5wb3N0KFxuICAgICAgJy9maWxlcy86ZmlsZW5hbWUnLFxuICAgICAgZXhwcmVzcy5yYXcoe1xuICAgICAgICB0eXBlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGxpbWl0OiBtYXhVcGxvYWRTaXplLFxuICAgICAgfSksIC8vIEFsbG93IHVwbG9hZHMgd2l0aG91dCBDb250ZW50LVR5cGUsIG9yIHdpdGggYW55IENvbnRlbnQtVHlwZS5cbiAgICAgIE1pZGRsZXdhcmVzLmhhbmRsZVBhcnNlSGVhZGVycyxcbiAgICAgIE1pZGRsZXdhcmVzLmhhbmRsZVBhcnNlU2Vzc2lvbixcbiAgICAgIHRoaXMuY3JlYXRlSGFuZGxlclxuICAgICk7XG5cbiAgICByb3V0ZXIuZGVsZXRlKFxuICAgICAgJy9maWxlcy86ZmlsZW5hbWUnLFxuICAgICAgTWlkZGxld2FyZXMuaGFuZGxlUGFyc2VIZWFkZXJzLFxuICAgICAgTWlkZGxld2FyZXMuaGFuZGxlUGFyc2VTZXNzaW9uLFxuICAgICAgTWlkZGxld2FyZXMuZW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuZGVsZXRlSGFuZGxlclxuICAgICk7XG4gICAgcmV0dXJuIHJvdXRlcjtcbiAgfVxuXG4gIGFzeW5jIGdldEhhbmRsZXIocmVxLCByZXMpIHtcbiAgICBjb25zdCBjb25maWcgPSBDb25maWcuZ2V0KHJlcS5wYXJhbXMuYXBwSWQpO1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXMuc3RhdHVzKDQwMyk7XG4gICAgICBjb25zdCBlcnIgPSBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTiwgJ0ludmFsaWQgYXBwbGljYXRpb24gSUQuJyk7XG4gICAgICByZXMuanNvbih7IGNvZGU6IGVyci5jb2RlLCBlcnJvcjogZXJyLm1lc3NhZ2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpbGVzQ29udHJvbGxlciA9IGNvbmZpZy5maWxlc0NvbnRyb2xsZXI7XG4gICAgY29uc3QgZmlsZW5hbWUgPSByZXEucGFyYW1zLmZpbGVuYW1lO1xuICAgIGNvbnN0IG1pbWUgPSAoYXdhaXQgaW1wb3J0KCdtaW1lJykpLmRlZmF1bHQ7XG4gICAgY29uc3QgY29udGVudFR5cGUgPSBtaW1lLmdldFR5cGUoZmlsZW5hbWUpO1xuICAgIGlmIChpc0ZpbGVTdHJlYW1hYmxlKHJlcSwgZmlsZXNDb250cm9sbGVyKSkge1xuICAgICAgZmlsZXNDb250cm9sbGVyLmhhbmRsZUZpbGVTdHJlYW0oY29uZmlnLCBmaWxlbmFtZSwgcmVxLCByZXMsIGNvbnRlbnRUeXBlKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIHJlcy5zdGF0dXMoNDA0KTtcbiAgICAgICAgcmVzLnNldCgnQ29udGVudC1UeXBlJywgJ3RleHQvcGxhaW4nKTtcbiAgICAgICAgcmVzLmVuZCgnRmlsZSBub3QgZm91bmQuJyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNDb250cm9sbGVyXG4gICAgICAgIC5nZXRGaWxlRGF0YShjb25maWcsIGZpbGVuYW1lKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICAgICAgcmVzLnNldCgnQ29udGVudC1UeXBlJywgY29udGVudFR5cGUpO1xuICAgICAgICAgIHJlcy5zZXQoJ0NvbnRlbnQtTGVuZ3RoJywgZGF0YS5sZW5ndGgpO1xuICAgICAgICAgIHJlcy5lbmQoZGF0YSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgcmVzLnN0YXR1cyg0MDQpO1xuICAgICAgICAgIHJlcy5zZXQoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyk7XG4gICAgICAgICAgcmVzLmVuZCgnRmlsZSBub3QgZm91bmQuJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUhhbmRsZXIocmVxLCByZXMsIG5leHQpIHtcbiAgICBjb25zdCBjb25maWcgPSByZXEuY29uZmlnO1xuICAgIGNvbnN0IHVzZXIgPSByZXEuYXV0aC51c2VyO1xuICAgIGNvbnN0IGlzTWFzdGVyID0gcmVxLmF1dGguaXNNYXN0ZXI7XG4gICAgY29uc3QgaXNMaW5rZWQgPSB1c2VyICYmIFBhcnNlLkFub255bW91c1V0aWxzLmlzTGlua2VkKHVzZXIpO1xuICAgIGlmICghaXNNYXN0ZXIgJiYgIWNvbmZpZy5maWxlVXBsb2FkLmVuYWJsZUZvckFub255bW91c1VzZXIgJiYgaXNMaW5rZWQpIHtcbiAgICAgIG5leHQoXG4gICAgICAgIG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsICdGaWxlIHVwbG9hZCBieSBhbm9ueW1vdXMgdXNlciBpcyBkaXNhYmxlZC4nKVxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFpc01hc3RlciAmJiAhY29uZmlnLmZpbGVVcGxvYWQuZW5hYmxlRm9yQXV0aGVudGljYXRlZFVzZXIgJiYgIWlzTGlua2VkICYmIHVzZXIpIHtcbiAgICAgIG5leHQoXG4gICAgICAgIG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgICBQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsXG4gICAgICAgICAgJ0ZpbGUgdXBsb2FkIGJ5IGF1dGhlbnRpY2F0ZWQgdXNlciBpcyBkaXNhYmxlZC4nXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaXNNYXN0ZXIgJiYgIWNvbmZpZy5maWxlVXBsb2FkLmVuYWJsZUZvclB1YmxpYyAmJiAhdXNlcikge1xuICAgICAgbmV4dChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCAnRmlsZSB1cGxvYWQgYnkgcHVibGljIGlzIGRpc2FibGVkLicpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlsZXNDb250cm9sbGVyID0gY29uZmlnLmZpbGVzQ29udHJvbGxlcjtcbiAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVxLmdldCgnQ29udGVudC10eXBlJyk7XG5cbiAgICBpZiAoIXJlcS5ib2R5IHx8ICFyZXEuYm9keS5sZW5ndGgpIHtcbiAgICAgIG5leHQobmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgJ0ludmFsaWQgZmlsZSB1cGxvYWQuJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yID0gZmlsZXNDb250cm9sbGVyLnZhbGlkYXRlRmlsZW5hbWUoZmlsZW5hbWUpO1xuICAgIGlmIChlcnJvcikge1xuICAgICAgbmV4dChlcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSBjb25maWcuZmlsZVVwbG9hZD8uZmlsZUV4dGVuc2lvbnM7XG4gICAgaWYgKCFpc01hc3RlciAmJiBmaWxlRXh0ZW5zaW9ucykge1xuICAgICAgY29uc3QgaXNWYWxpZEV4dGVuc2lvbiA9IGV4dGVuc2lvbiA9PiB7XG4gICAgICAgIHJldHVybiBmaWxlRXh0ZW5zaW9ucy5zb21lKGV4dCA9PiB7XG4gICAgICAgICAgaWYgKGV4dCA9PT0gJyonKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGV4dCk7XG4gICAgICAgICAgaWYgKHJlZ2V4LnRlc3QoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBsZXQgZXh0ZW5zaW9uID0gY29udGVudFR5cGU7XG4gICAgICBpZiAoZmlsZW5hbWUgJiYgZmlsZW5hbWUuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICBleHRlbnNpb24gPSBmaWxlbmFtZS5zdWJzdHJpbmcoZmlsZW5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpO1xuICAgICAgfSBlbHNlIGlmIChjb250ZW50VHlwZSAmJiBjb250ZW50VHlwZS5pbmNsdWRlcygnLycpKSB7XG4gICAgICAgIGV4dGVuc2lvbiA9IGNvbnRlbnRUeXBlLnNwbGl0KCcvJylbMV07XG4gICAgICB9XG4gICAgICBleHRlbnNpb24gPSBleHRlbnNpb24/LnNwbGl0KCcgJyk/LmpvaW4oJycpO1xuXG4gICAgICBpZiAoZXh0ZW5zaW9uICYmICFpc1ZhbGlkRXh0ZW5zaW9uKGV4dGVuc2lvbikpIHtcbiAgICAgICAgbmV4dChcbiAgICAgICAgICBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsXG4gICAgICAgICAgICBgRmlsZSB1cGxvYWQgb2YgZXh0ZW5zaW9uICR7ZXh0ZW5zaW9ufSBpcyBkaXNhYmxlZC5gXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZTY0ID0gcmVxLmJvZHkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgUGFyc2UuRmlsZShmaWxlbmFtZSwgeyBiYXNlNjQgfSwgY29udGVudFR5cGUpO1xuICAgIGNvbnN0IHsgbWV0YWRhdGEgPSB7fSwgdGFncyA9IHt9IH0gPSByZXEuZmlsZURhdGEgfHwge307XG4gICAgdHJ5IHtcbiAgICAgIC8vIFNjYW4gcmVxdWVzdCBkYXRhIGZvciBkZW5pZWQga2V5d29yZHNcbiAgICAgIFV0aWxzLmNoZWNrUHJvaGliaXRlZEtleXdvcmRzKGNvbmZpZywgbWV0YWRhdGEpO1xuICAgICAgVXRpbHMuY2hlY2tQcm9oaWJpdGVkS2V5d29yZHMoY29uZmlnLCB0YWdzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbmV4dChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9LRVlfTkFNRSwgZXJyb3IpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZmlsZS5zZXRUYWdzKHRhZ3MpO1xuICAgIGZpbGUuc2V0TWV0YWRhdGEobWV0YWRhdGEpO1xuICAgIGNvbnN0IGZpbGVTaXplID0gQnVmZmVyLmJ5dGVMZW5ndGgocmVxLmJvZHkpO1xuICAgIGNvbnN0IGZpbGVPYmplY3QgPSB7IGZpbGUsIGZpbGVTaXplIH07XG4gICAgdHJ5IHtcbiAgICAgIC8vIHJ1biBiZWZvcmVTYXZlRmlsZSB0cmlnZ2VyXG4gICAgICBjb25zdCB0cmlnZ2VyUmVzdWx0ID0gYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcihcbiAgICAgICAgdHJpZ2dlcnMuVHlwZXMuYmVmb3JlU2F2ZSxcbiAgICAgICAgZmlsZU9iamVjdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICByZXEuYXV0aFxuICAgICAgKTtcbiAgICAgIGxldCBzYXZlUmVzdWx0O1xuICAgICAgLy8gaWYgYSBuZXcgUGFyc2VGaWxlIGlzIHJldHVybmVkIGNoZWNrIGlmIGl0J3MgYW4gYWxyZWFkeSBzYXZlZCBmaWxlXG4gICAgICBpZiAodHJpZ2dlclJlc3VsdCBpbnN0YW5jZW9mIFBhcnNlLkZpbGUpIHtcbiAgICAgICAgZmlsZU9iamVjdC5maWxlID0gdHJpZ2dlclJlc3VsdDtcbiAgICAgICAgaWYgKHRyaWdnZXJSZXN1bHQudXJsKCkpIHtcbiAgICAgICAgICAvLyBzZXQgZmlsZVNpemUgdG8gbnVsbCBiZWNhdXNlIHdlIHdvbnQga25vdyBob3cgYmlnIGl0IGlzIGhlcmVcbiAgICAgICAgICBmaWxlT2JqZWN0LmZpbGVTaXplID0gbnVsbDtcbiAgICAgICAgICBzYXZlUmVzdWx0ID0ge1xuICAgICAgICAgICAgdXJsOiB0cmlnZ2VyUmVzdWx0LnVybCgpLFxuICAgICAgICAgICAgbmFtZTogdHJpZ2dlclJlc3VsdC5fbmFtZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBpZiB0aGUgZmlsZSByZXR1cm5lZCBieSB0aGUgdHJpZ2dlciBoYXMgYWxyZWFkeSBiZWVuIHNhdmVkIHNraXAgc2F2aW5nIGFueXRoaW5nXG4gICAgICBpZiAoIXNhdmVSZXN1bHQpIHtcbiAgICAgICAgLy8gaWYgdGhlIFBhcnNlRmlsZSByZXR1cm5lZCBpcyB0eXBlIHVyaSwgZG93bmxvYWQgdGhlIGZpbGUgYmVmb3JlIHNhdmluZyBpdFxuICAgICAgICBhd2FpdCBhZGRGaWxlRGF0YUlmTmVlZGVkKGZpbGVPYmplY3QuZmlsZSk7XG4gICAgICAgIC8vIHVwZGF0ZSBmaWxlU2l6ZVxuICAgICAgICBjb25zdCBidWZmZXJEYXRhID0gQnVmZmVyLmZyb20oZmlsZU9iamVjdC5maWxlLl9kYXRhLCAnYmFzZTY0Jyk7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZVNpemUgPSBCdWZmZXIuYnl0ZUxlbmd0aChidWZmZXJEYXRhKTtcbiAgICAgICAgLy8gcHJlcGFyZSBmaWxlIG9wdGlvbnNcbiAgICAgICAgY29uc3QgZmlsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgbWV0YWRhdGE6IGZpbGVPYmplY3QuZmlsZS5fbWV0YWRhdGEsXG4gICAgICAgIH07XG4gICAgICAgIC8vIHNvbWUgczMtY29tcGF0aWJsZSBwcm92aWRlcnMgKERpZ2l0YWxPY2VhbiwgTGlub2RlKSBkbyBub3QgYWNjZXB0IHRhZ3NcbiAgICAgICAgLy8gc28gd2UgZG8gbm90IGluY2x1ZGUgdGhlIHRhZ3Mgb3B0aW9uIGlmIGl0IGlzIGVtcHR5LlxuICAgICAgICBjb25zdCBmaWxlVGFncyA9XG4gICAgICAgICAgT2JqZWN0LmtleXMoZmlsZU9iamVjdC5maWxlLl90YWdzKS5sZW5ndGggPiAwID8geyB0YWdzOiBmaWxlT2JqZWN0LmZpbGUuX3RhZ3MgfSA6IHt9O1xuICAgICAgICBPYmplY3QuYXNzaWduKGZpbGVPcHRpb25zLCBmaWxlVGFncyk7XG4gICAgICAgIC8vIHNhdmUgZmlsZVxuICAgICAgICBjb25zdCBjcmVhdGVGaWxlUmVzdWx0ID0gYXdhaXQgZmlsZXNDb250cm9sbGVyLmNyZWF0ZUZpbGUoXG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIGZpbGVPYmplY3QuZmlsZS5fbmFtZSxcbiAgICAgICAgICBidWZmZXJEYXRhLFxuICAgICAgICAgIGZpbGVPYmplY3QuZmlsZS5fc291cmNlLnR5cGUsXG4gICAgICAgICAgZmlsZU9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgLy8gdXBkYXRlIGZpbGUgd2l0aCBuZXcgZGF0YVxuICAgICAgICBmaWxlT2JqZWN0LmZpbGUuX25hbWUgPSBjcmVhdGVGaWxlUmVzdWx0Lm5hbWU7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZS5fdXJsID0gY3JlYXRlRmlsZVJlc3VsdC51cmw7XG4gICAgICAgIGZpbGVPYmplY3QuZmlsZS5fcmVxdWVzdFRhc2sgPSBudWxsO1xuICAgICAgICBmaWxlT2JqZWN0LmZpbGUuX3ByZXZpb3VzU2F2ZSA9IFByb21pc2UucmVzb2x2ZShmaWxlT2JqZWN0LmZpbGUpO1xuICAgICAgICBzYXZlUmVzdWx0ID0ge1xuICAgICAgICAgIHVybDogY3JlYXRlRmlsZVJlc3VsdC51cmwsXG4gICAgICAgICAgbmFtZTogY3JlYXRlRmlsZVJlc3VsdC5uYW1lLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgLy8gcnVuIGFmdGVyU2F2ZUZpbGUgdHJpZ2dlclxuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcih0cmlnZ2Vycy5UeXBlcy5hZnRlclNhdmUsIGZpbGVPYmplY3QsIGNvbmZpZywgcmVxLmF1dGgpO1xuICAgICAgcmVzLnN0YXR1cygyMDEpO1xuICAgICAgcmVzLnNldCgnTG9jYXRpb24nLCBzYXZlUmVzdWx0LnVybCk7XG4gICAgICByZXMuanNvbihzYXZlUmVzdWx0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIGEgZmlsZTogJywgZSk7XG4gICAgICBjb25zdCBlcnJvciA9IHRyaWdnZXJzLnJlc29sdmVFcnJvcihlLCB7XG4gICAgICAgIGNvZGU6IFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUixcbiAgICAgICAgbWVzc2FnZTogYENvdWxkIG5vdCBzdG9yZSBmaWxlOiAke2ZpbGVPYmplY3QuZmlsZS5fbmFtZX0uYCxcbiAgICAgIH0pO1xuICAgICAgbmV4dChlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlSGFuZGxlcihyZXEsIHJlcywgbmV4dCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGZpbGVzQ29udHJvbGxlciB9ID0gcmVxLmNvbmZpZztcbiAgICAgIGNvbnN0IHsgZmlsZW5hbWUgfSA9IHJlcS5wYXJhbXM7XG4gICAgICAvLyBydW4gYmVmb3JlRGVsZXRlRmlsZSB0cmlnZ2VyXG4gICAgICBjb25zdCBmaWxlID0gbmV3IFBhcnNlLkZpbGUoZmlsZW5hbWUpO1xuICAgICAgZmlsZS5fdXJsID0gYXdhaXQgZmlsZXNDb250cm9sbGVyLmFkYXB0ZXIuZ2V0RmlsZUxvY2F0aW9uKHJlcS5jb25maWcsIGZpbGVuYW1lKTtcbiAgICAgIGNvbnN0IGZpbGVPYmplY3QgPSB7IGZpbGUsIGZpbGVTaXplOiBudWxsIH07XG4gICAgICBhd2FpdCB0cmlnZ2Vycy5tYXliZVJ1bkZpbGVUcmlnZ2VyKFxuICAgICAgICB0cmlnZ2Vycy5UeXBlcy5iZWZvcmVEZWxldGUsXG4gICAgICAgIGZpbGVPYmplY3QsXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoXG4gICAgICApO1xuICAgICAgLy8gZGVsZXRlIGZpbGVcbiAgICAgIGF3YWl0IGZpbGVzQ29udHJvbGxlci5kZWxldGVGaWxlKHJlcS5jb25maWcsIGZpbGVuYW1lKTtcbiAgICAgIC8vIHJ1biBhZnRlckRlbGV0ZUZpbGUgdHJpZ2dlclxuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5GaWxlVHJpZ2dlcihcbiAgICAgICAgdHJpZ2dlcnMuVHlwZXMuYWZ0ZXJEZWxldGUsXG4gICAgICAgIGZpbGVPYmplY3QsXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoXG4gICAgICApO1xuICAgICAgcmVzLnN0YXR1cygyMDApO1xuICAgICAgLy8gVE9ETzogcmV0dXJuIHVzZWZ1bCBKU09OIGhlcmU/XG4gICAgICByZXMuZW5kKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdFcnJvciBkZWxldGluZyBhIGZpbGU6ICcsIGUpO1xuICAgICAgY29uc3QgZXJyb3IgPSB0cmlnZ2Vycy5yZXNvbHZlRXJyb3IoZSwge1xuICAgICAgICBjb2RlOiBQYXJzZS5FcnJvci5GSUxFX0RFTEVURV9FUlJPUixcbiAgICAgICAgbWVzc2FnZTogJ0NvdWxkIG5vdCBkZWxldGUgZmlsZS4nLFxuICAgICAgfSk7XG4gICAgICBuZXh0KGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YUhhbmRsZXIocmVxLCByZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gQ29uZmlnLmdldChyZXEucGFyYW1zLmFwcElkKTtcbiAgICAgIGNvbnN0IHsgZmlsZXNDb250cm9sbGVyIH0gPSBjb25maWc7XG4gICAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGZpbGVzQ29udHJvbGxlci5nZXRNZXRhZGF0YShmaWxlbmFtZSk7XG4gICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICByZXMuanNvbihkYXRhKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgICByZXMuanNvbih7fSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzRmlsZVN0cmVhbWFibGUocmVxLCBmaWxlc0NvbnRyb2xsZXIpIHtcbiAgY29uc3QgcmFuZ2UgPSAocmVxLmdldCgnUmFuZ2UnKSB8fCAnLy0vJykuc3BsaXQoJy0nKTtcbiAgY29uc3Qgc3RhcnQgPSBOdW1iZXIocmFuZ2VbMF0pO1xuICBjb25zdCBlbmQgPSBOdW1iZXIocmFuZ2VbMV0pO1xuICByZXR1cm4gKFxuICAgICghaXNOYU4oc3RhcnQpIHx8ICFpc05hTihlbmQpKSAmJiB0eXBlb2YgZmlsZXNDb250cm9sbGVyLmFkYXB0ZXIuaGFuZGxlRmlsZVN0cmVhbSA9PT0gJ2Z1bmN0aW9uJ1xuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFBK0IsU0FBQU0seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENB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
|
|
@@ -49,7 +49,7 @@ class FunctionsRouter extends _PromiseRouter.default {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
static handleCloudJob(req) {
|
|
52
|
-
const jobName = req.params.jobName || req.body
|
|
52
|
+
const jobName = req.params.jobName || req.body?.jobName;
|
|
53
53
|
const applicationId = req.config.applicationId;
|
|
54
54
|
const jobHandler = (0, _StatusHandler.jobStatusHandler)(req.config);
|
|
55
55
|
const jobFunction = triggers.getJob(jobName, applicationId);
|
|
@@ -166,4 +166,4 @@ class FunctionsRouter extends _PromiseRouter.default {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
exports.FunctionsRouter = FunctionsRouter;
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pZGRsZXdhcmVzIiwiX1N0YXR1c0hhbmRsZXIiLCJfbG9kYXNoIiwiX2xvZ2dlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlBhcnNlIiwidHJpZ2dlcnMiLCJwYXJzZU9iamVjdCIsIm9iaiIsImNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsIml0ZW0iLCJfX3R5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJEYXRlIiwiaXNvIiwiRmlsZSIsImZyb21KU09OIiwiZW5jb2RlUGFyc2VPYmplY3RJbkNsb3VkRnVuY3Rpb24iLCJjbGFzc05hbWUiLCJvYmplY3RJZCIsInBhcnNlUGFyYW1zIiwicGFyYW1zIiwiXyIsIm1hcFZhbHVlcyIsIkZ1bmN0aW9uc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IiwiaGFuZGxlQ2xvdWRGdW5jdGlvbiIsInByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwicmVxIiwiaGFuZGxlQ2xvdWRKb2IiLCJqb2JOYW1lIiwiYm9keSIsImFwcGxpY2F0aW9uSWQiLCJqb2JIYW5kbGVyIiwiam9iU3RhdHVzSGFuZGxlciIsImpvYkZ1bmN0aW9uIiwiZ2V0Sm9iIiwiRXJyb3IiLCJTQ1JJUFRfRkFJTEVEIiwicXVlcnkiLCJyZXF1ZXN0IiwibG9nIiwibG9nZ2VyQ29udHJvbGxlciIsImhlYWRlcnMiLCJpcCIsIm1lc3NhZ2UiLCJzZXRNZXNzYWdlIiwiYmluZCIsInNldFJ1bm5pbmciLCJ0aGVuIiwiam9iU3RhdHVzIiwiam9iSWQiLCJwcm9jZXNzIiwibmV4dFRpY2siLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3VsdCIsInNldFN1Y2NlZWRlZCIsImVycm9yIiwic2V0RmFpbGVkIiwicmVzcG9uc2UiLCJjcmVhdGVSZXNwb25zZU9iamVjdCIsInJlamVjdCIsInN1Y2Nlc3MiLCJfZW5jb2RlIiwicmVzb2x2ZUVycm9yIiwiZnVuY3Rpb25OYW1lIiwidGhlRnVuY3Rpb24iLCJnZXRGdW5jdGlvbiIsIm1hc3RlciIsImF1dGgiLCJpc01hc3RlciIsInVzZXIiLCJpbnN0YWxsYXRpb25JZCIsImluZm8iLCJjb250ZXh0IiwidXNlclN0cmluZyIsImlkIiwidW5kZWZpbmVkIiwibG9nTGV2ZWxzIiwiY2xvdWRGdW5jdGlvblN1Y2Nlc3MiLCJjbGVhbklucHV0IiwibG9nZ2VyIiwidHJ1bmNhdGVMb2dNZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsImNsZWFuUmVzdWx0IiwiY2xvdWRGdW5jdGlvbkVycm9yIiwibWF5YmVSdW5WYWxpZGF0b3IiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JvdXRlcnMvRnVuY3Rpb25zUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZ1bmN0aW9uc1JvdXRlci5qc1xuXG52YXIgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2UsXG4gIHRyaWdnZXJzID0gcmVxdWlyZSgnLi4vdHJpZ2dlcnMnKTtcblxuaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgeyBwcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IH0gZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuaW1wb3J0IHsgam9iU3RhdHVzSGFuZGxlciB9IGZyb20gJy4uL1N0YXR1c0hhbmRsZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2xvZ2dlcic7XG5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0KG9iaiwgY29uZmlnKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiBwYXJzZU9iamVjdChpdGVtLCBjb25maWcpO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9iaiAmJiBvYmouX190eXBlID09ICdEYXRlJykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBEYXRlKG9iai5pc28pLCBvYmopO1xuICB9IGVsc2UgaWYgKG9iaiAmJiBvYmouX190eXBlID09ICdGaWxlJykge1xuICAgIHJldHVybiBQYXJzZS5GaWxlLmZyb21KU09OKG9iaik7XG4gIH0gZWxzZSBpZiAob2JqICYmIG9iai5fX3R5cGUgPT0gJ1BvaW50ZXInICYmIGNvbmZpZy5lbmNvZGVQYXJzZU9iamVjdEluQ2xvdWRGdW5jdGlvbikge1xuICAgIHJldHVybiBQYXJzZS5PYmplY3QuZnJvbUpTT04oe1xuICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICBjbGFzc05hbWU6IG9iai5jbGFzc05hbWUsXG4gICAgICBvYmplY3RJZDogb2JqLm9iamVjdElkLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBwYXJzZVBhcmFtcyhvYmosIGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVBhcmFtcyhwYXJhbXMsIGNvbmZpZykge1xuICByZXR1cm4gXy5tYXBWYWx1ZXMocGFyYW1zLCBpdGVtID0+IHBhcnNlT2JqZWN0KGl0ZW0sIGNvbmZpZykpO1xufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25zUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUE9TVCcsXG4gICAgICAnL2Z1bmN0aW9ucy86ZnVuY3Rpb25OYW1lJyxcbiAgICAgIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSxcbiAgICAgIEZ1bmN0aW9uc1JvdXRlci5oYW5kbGVDbG91ZEZ1bmN0aW9uXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9qb2JzLzpqb2JOYW1lJyxcbiAgICAgIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSxcbiAgICAgIHByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICByZXR1cm4gRnVuY3Rpb25zUm91dGVyLmhhbmRsZUNsb3VkSm9iKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKCdQT1NUJywgJy9qb2JzJywgcHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIGZ1bmN0aW9uIChyZXEpIHtcbiAgICAgIHJldHVybiBGdW5jdGlvbnNSb3V0ZXIuaGFuZGxlQ2xvdWRKb2IocmVxKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBoYW5kbGVDbG91ZEpvYihyZXEpIHtcbiAgICBjb25zdCBqb2JOYW1lID0gcmVxLnBhcmFtcy5qb2JOYW1lIHx8IHJlcS5ib2R5LmpvYk5hbWU7XG4gICAgY29uc3QgYXBwbGljYXRpb25JZCA9IHJlcS5jb25maWcuYXBwbGljYXRpb25JZDtcbiAgICBjb25zdCBqb2JIYW5kbGVyID0gam9iU3RhdHVzSGFuZGxlcihyZXEuY29uZmlnKTtcbiAgICBjb25zdCBqb2JGdW5jdGlvbiA9IHRyaWdnZXJzLmdldEpvYihqb2JOYW1lLCBhcHBsaWNhdGlvbklkKTtcbiAgICBpZiAoIWpvYkZ1bmN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuU0NSSVBUX0ZBSUxFRCwgJ0ludmFsaWQgam9iLicpO1xuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgcmVxLmJvZHksIHJlcS5xdWVyeSk7XG4gICAgcGFyYW1zID0gcGFyc2VQYXJhbXMocGFyYW1zLCByZXEuY29uZmlnKTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBsb2c6IHJlcS5jb25maWcubG9nZ2VyQ29udHJvbGxlcixcbiAgICAgIGhlYWRlcnM6IHJlcS5jb25maWcuaGVhZGVycyxcbiAgICAgIGlwOiByZXEuY29uZmlnLmlwLFxuICAgICAgam9iTmFtZSxcbiAgICAgIG1lc3NhZ2U6IGpvYkhhbmRsZXIuc2V0TWVzc2FnZS5iaW5kKGpvYkhhbmRsZXIpLFxuICAgIH07XG5cbiAgICByZXR1cm4gam9iSGFuZGxlci5zZXRSdW5uaW5nKGpvYk5hbWUsIHBhcmFtcykudGhlbihqb2JTdGF0dXMgPT4ge1xuICAgICAgcmVxdWVzdC5qb2JJZCA9IGpvYlN0YXR1cy5vYmplY3RJZDtcbiAgICAgIC8vIHJ1biB0aGUgZnVuY3Rpb24gYXN5bmNcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soKCkgPT4ge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBqb2JGdW5jdGlvbihyZXF1ZXN0KTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgcmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgam9iSGFuZGxlci5zZXRTdWNjZWVkZWQocmVzdWx0KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgIGpvYkhhbmRsZXIuc2V0RmFpbGVkKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ1gtUGFyc2UtSm9iLVN0YXR1cy1JZCc6IGpvYlN0YXR1cy5vYmplY3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzcG9uc2U6IHt9LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVSZXNwb25zZU9iamVjdChyZXNvbHZlLCByZWplY3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgICAgcmVzdWx0OiBQYXJzZS5fZW5jb2RlKHJlc3VsdCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGZ1bmN0aW9uIChtZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gdHJpZ2dlcnMucmVzb2x2ZUVycm9yKG1lc3NhZ2UpO1xuICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHN0YXRpYyBoYW5kbGVDbG91ZEZ1bmN0aW9uKHJlcSkge1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lO1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uSWQgPSByZXEuY29uZmlnLmFwcGxpY2F0aW9uSWQ7XG4gICAgY29uc3QgdGhlRnVuY3Rpb24gPSB0cmlnZ2Vycy5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUsIGFwcGxpY2F0aW9uSWQpO1xuXG4gICAgaWYgKCF0aGVGdW5jdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLlNDUklQVF9GQUlMRUQsIGBJbnZhbGlkIGZ1bmN0aW9uOiBcIiR7ZnVuY3Rpb25OYW1lfVwiYCk7XG4gICAgfVxuICAgIGxldCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCByZXEuYm9keSwgcmVxLnF1ZXJ5KTtcbiAgICBwYXJhbXMgPSBwYXJzZVBhcmFtcyhwYXJhbXMsIHJlcS5jb25maWcpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIG1hc3RlcjogcmVxLmF1dGggJiYgcmVxLmF1dGguaXNNYXN0ZXIsXG4gICAgICB1c2VyOiByZXEuYXV0aCAmJiByZXEuYXV0aC51c2VyLFxuICAgICAgaW5zdGFsbGF0aW9uSWQ6IHJlcS5pbmZvLmluc3RhbGxhdGlvbklkLFxuICAgICAgbG9nOiByZXEuY29uZmlnLmxvZ2dlckNvbnRyb2xsZXIsXG4gICAgICBoZWFkZXJzOiByZXEuY29uZmlnLmhlYWRlcnMsXG4gICAgICBpcDogcmVxLmNvbmZpZy5pcCxcbiAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgIGNvbnRleHQ6IHJlcS5pbmZvLmNvbnRleHQsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBjb25zdCB1c2VyU3RyaW5nID0gcmVxLmF1dGggJiYgcmVxLmF1dGgudXNlciA/IHJlcS5hdXRoLnVzZXIuaWQgOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCB7IHN1Y2Nlc3MsIGVycm9yIH0gPSBGdW5jdGlvbnNSb3V0ZXIuY3JlYXRlUmVzcG9uc2VPYmplY3QoXG4gICAgICAgIHJlc3VsdCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyZXEuY29uZmlnLmxvZ0xldmVscy5jbG91ZEZ1bmN0aW9uU3VjY2VzcyAhPT0gJ3NpbGVudCcpIHtcbiAgICAgICAgICAgICAgY29uc3QgY2xlYW5JbnB1dCA9IGxvZ2dlci50cnVuY2F0ZUxvZ01lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocGFyYW1zKSk7XG4gICAgICAgICAgICAgIGNvbnN0IGNsZWFuUmVzdWx0ID0gbG9nZ2VyLnRydW5jYXRlTG9nTWVzc2FnZShKU09OLnN0cmluZ2lmeShyZXN1bHQucmVzcG9uc2UucmVzdWx0KSk7XG4gICAgICAgICAgICAgIGxvZ2dlcltyZXEuY29uZmlnLmxvZ0xldmVscy5jbG91ZEZ1bmN0aW9uU3VjY2Vzc10oXG4gICAgICAgICAgICAgICAgYFJhbiBjbG91ZCBmdW5jdGlvbiAke2Z1bmN0aW9uTmFtZX0gZm9yIHVzZXIgJHt1c2VyU3RyaW5nfSB3aXRoOlxcbiAgSW5wdXQ6ICR7Y2xlYW5JbnB1dH1cXG4gIFJlc3VsdDogJHtjbGVhblJlc3VsdH1gLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgIHVzZXI6IHVzZXJTdHJpbmcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHJlcS5jb25maWcubG9nTGV2ZWxzLmNsb3VkRnVuY3Rpb25FcnJvciAhPT0gJ3NpbGVudCcpIHtcbiAgICAgICAgICAgICAgY29uc3QgY2xlYW5JbnB1dCA9IGxvZ2dlci50cnVuY2F0ZUxvZ01lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocGFyYW1zKSk7XG4gICAgICAgICAgICAgIGxvZ2dlcltyZXEuY29uZmlnLmxvZ0xldmVscy5jbG91ZEZ1bmN0aW9uRXJyb3JdKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgcnVubmluZyBjbG91ZCBmdW5jdGlvbiAke2Z1bmN0aW9uTmFtZX0gZm9yIHVzZXIgJHt1c2VyU3RyaW5nfSB3aXRoOlxcbiAgSW5wdXQ6ICR7Y2xlYW5JbnB1dH1cXG4gIEVycm9yOiBgICtcbiAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGVycm9yKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgIHVzZXI6IHVzZXJTdHJpbmcsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJpZ2dlcnMubWF5YmVSdW5WYWxpZGF0b3IocmVxdWVzdCwgZnVuY3Rpb25OYW1lLCByZXEuYXV0aCk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhlRnVuY3Rpb24ocmVxdWVzdCk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKHN1Y2Nlc3MsIGVycm9yKTtcbiAgICB9KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFLQSxJQUFBQSxjQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFBbUMsU0FBQUQsdUJBQUFNLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFUbkM7O0FBRUEsSUFBSUcsS0FBSyxHQUFHUixPQUFPLENBQUMsWUFBWSxDQUFDLENBQUNRLEtBQUs7RUFDckNDLFFBQVEsR0FBR1QsT0FBTyxDQUFDLGFBQWEsQ0FBQztBQVFuQyxTQUFTVSxXQUFXQSxDQUFDQyxHQUFHLEVBQUVDLE1BQU0sRUFBRTtFQUNoQyxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsR0FBRyxDQUFDLEVBQUU7SUFDdEIsT0FBT0EsR0FBRyxDQUFDSSxHQUFHLENBQUNDLElBQUksSUFBSTtNQUNyQixPQUFPTixXQUFXLENBQUNNLElBQUksRUFBRUosTUFBTSxDQUFDO0lBQ2xDLENBQUMsQ0FBQztFQUNKLENBQUMsTUFBTSxJQUFJRCxHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBTSxJQUFJLE1BQU0sRUFBRTtJQUN0QyxPQUFPQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxJQUFJQyxJQUFJLENBQUNULEdBQUcsQ0FBQ1UsR0FBRyxDQUFDLEVBQUVWLEdBQUcsQ0FBQztFQUM5QyxDQUFDLE1BQU0sSUFBSUEsR0FBRyxJQUFJQSxHQUFHLENBQUNNLE1BQU0sSUFBSSxNQUFNLEVBQUU7SUFDdEMsT0FBT1QsS0FBSyxDQUFDYyxJQUFJLENBQUNDLFFBQVEsQ0FBQ1osR0FBRyxDQUFDO0VBQ2pDLENBQUMsTUFBTSxJQUFJQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBTSxJQUFJLFNBQVMsSUFBSUwsTUFBTSxDQUFDWSxnQ0FBZ0MsRUFBRTtJQUNwRixPQUFPaEIsS0FBSyxDQUFDVSxNQUFNLENBQUNLLFFBQVEsQ0FBQztNQUMzQk4sTUFBTSxFQUFFLFNBQVM7TUFDakJRLFNBQVMsRUFBRWQsR0FBRyxDQUFDYyxTQUFTO01BQ3hCQyxRQUFRLEVBQUVmLEdBQUcsQ0FBQ2U7SUFDaEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxNQUFNLElBQUlmLEdBQUcsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQ3pDLE9BQU9nQixXQUFXLENBQUNoQixHQUFHLEVBQUVDLE1BQU0sQ0FBQztFQUNqQyxDQUFDLE1BQU07SUFDTCxPQUFPRCxHQUFHO0VBQ1o7QUFDRjtBQUVBLFNBQVNnQixXQUFXQSxDQUFDQyxNQUFNLEVBQUVoQixNQUFNLEVBQUU7RUFDbkMsT0FBT2lCLGVBQUMsQ0FBQ0MsU0FBUyxDQUFDRixNQUFNLEVBQUVaLElBQUksSUFBSU4sV0FBVyxDQUFDTSxJQUFJLEVBQUVKLE1BQU0sQ0FBQyxDQUFDO0FBQy9EO0FBRU8sTUFBTW1CLGVBQWUsU0FBU0Msc0JBQWEsQ0FBQztFQUNqREMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osSUFBSSxDQUFDQyxLQUFLLENBQ1IsTUFBTSxFQUNOLDBCQUEwQixFQUMxQkMscUNBQXdCLEVBQ3hCSixlQUFlLENBQUNLLG1CQUNsQixDQUFDO0lBQ0QsSUFBSSxDQUFDRixLQUFLLENBQ1IsTUFBTSxFQUNOLGdCQUFnQixFQUNoQkMscUNBQXdCLEVBQ3hCRSwwQ0FBNkIsRUFDN0IsVUFBVUMsR0FBRyxFQUFFO01BQ2IsT0FBT1AsZUFBZSxDQUFDUSxjQUFjLENBQUNELEdBQUcsQ0FBQztJQUM1QyxDQUNGLENBQUM7SUFDRCxJQUFJLENBQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFRywwQ0FBNkIsRUFBRSxVQUFVQyxHQUFHLEVBQUU7TUFDeEUsT0FBT1AsZUFBZSxDQUFDUSxjQUFjLENBQUNELEdBQUcsQ0FBQztJQUM1QyxDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU9DLGNBQWNBLENBQUNELEdBQUcsRUFBRTtJQUN6QixNQUFNRSxPQUFPLEdBQUdGLEdBQUcsQ0FBQ1YsTUFBTSxDQUFDWSxPQUFPLElBQUlGLEdBQUcsQ0FBQ0csSUFBSSxDQUFDRCxPQUFPO0lBQ3RELE1BQU1FLGFBQWEsR0FBR0osR0FBRyxDQUFDMUIsTUFBTSxDQUFDOEIsYUFBYTtJQUM5QyxNQUFNQyxVQUFVLEdBQUcsSUFBQUMsK0JBQWdCLEVBQUNOLEdBQUcsQ0FBQzFCLE1BQU0sQ0FBQztJQUMvQyxNQUFNaUMsV0FBVyxHQUFHcEMsUUFBUSxDQUFDcUMsTUFBTSxDQUFDTixPQUFPLEVBQUVFLGFBQWEsQ0FBQztJQUMzRCxJQUFJLENBQUNHLFdBQVcsRUFBRTtNQUNoQixNQUFNLElBQUlyQyxLQUFLLENBQUN1QyxLQUFLLENBQUN2QyxLQUFLLENBQUN1QyxLQUFLLENBQUNDLGFBQWEsRUFBRSxjQUFjLENBQUM7SUFDbEU7SUFDQSxJQUFJcEIsTUFBTSxHQUFHVixNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRW1CLEdBQUcsQ0FBQ0csSUFBSSxFQUFFSCxHQUFHLENBQUNXLEtBQUssQ0FBQztJQUNuRHJCLE1BQU0sR0FBR0QsV0FBVyxDQUFDQyxNQUFNLEVBQUVVLEdBQUcsQ0FBQzFCLE1BQU0sQ0FBQztJQUN4QyxNQUFNc0MsT0FBTyxHQUFHO01BQ2R0QixNQUFNLEVBQUVBLE1BQU07TUFDZHVCLEdBQUcsRUFBRWIsR0FBRyxDQUFDMUIsTUFBTSxDQUFDd0MsZ0JBQWdCO01BQ2hDQyxPQUFPLEVBQUVmLEdBQUcsQ0FBQzFCLE1BQU0sQ0FBQ3lDLE9BQU87TUFDM0JDLEVBQUUsRUFBRWhCLEdBQUcsQ0FBQzFCLE1BQU0sQ0FBQzBDLEVBQUU7TUFDakJkLE9BQU87TUFDUGUsT0FBTyxFQUFFWixVQUFVLENBQUNhLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDZCxVQUFVO0lBQ2hELENBQUM7SUFFRCxPQUFPQSxVQUFVLENBQUNlLFVBQVUsQ0FBQ2xCLE9BQU8sRUFBRVosTUFBTSxDQUFDLENBQUMrQixJQUFJLENBQUNDLFNBQVMsSUFBSTtNQUM5RFYsT0FBTyxDQUFDVyxLQUFLLEdBQUdELFNBQVMsQ0FBQ2xDLFFBQVE7TUFDbEM7TUFDQW9DLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLE1BQU07UUFDckJDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FDZE4sSUFBSSxDQUFDLE1BQU07VUFDVixPQUFPZCxXQUFXLENBQUNLLE9BQU8sQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDRFMsSUFBSSxDQUNITyxNQUFNLElBQUk7VUFDUnZCLFVBQVUsQ0FBQ3dCLFlBQVksQ0FBQ0QsTUFBTSxDQUFDO1FBQ2pDLENBQUMsRUFDREUsS0FBSyxJQUFJO1VBQ1B6QixVQUFVLENBQUMwQixTQUFTLENBQUNELEtBQUssQ0FBQztRQUM3QixDQUNGLENBQUM7TUFDTCxDQUFDLENBQUM7TUFDRixPQUFPO1FBQ0xmLE9BQU8sRUFBRTtVQUNQLHVCQUF1QixFQUFFTyxTQUFTLENBQUNsQztRQUNyQyxDQUFDO1FBQ0Q0QyxRQUFRLEVBQUUsQ0FBQztNQUNiLENBQUM7SUFDSCxDQUFDLENBQUM7RUFDSjtFQUVBLE9BQU9DLG9CQUFvQkEsQ0FBQ04sT0FBTyxFQUFFTyxNQUFNLEVBQUU7SUFDM0MsT0FBTztNQUNMQyxPQUFPLEVBQUUsU0FBQUEsQ0FBVVAsTUFBTSxFQUFFO1FBQ3pCRCxPQUFPLENBQUM7VUFDTkssUUFBUSxFQUFFO1lBQ1JKLE1BQU0sRUFBRTFELEtBQUssQ0FBQ2tFLE9BQU8sQ0FBQ1IsTUFBTTtVQUM5QjtRQUNGLENBQUMsQ0FBQztNQUNKLENBQUM7TUFDREUsS0FBSyxFQUFFLFNBQUFBLENBQVViLE9BQU8sRUFBRTtRQUN4QixNQUFNYSxLQUFLLEdBQUczRCxRQUFRLENBQUNrRSxZQUFZLENBQUNwQixPQUFPLENBQUM7UUFDNUNpQixNQUFNLENBQUNKLEtBQUssQ0FBQztNQUNmO0lBQ0YsQ0FBQztFQUNIO0VBQ0EsT0FBT2hDLG1CQUFtQkEsQ0FBQ0UsR0FBRyxFQUFFO0lBQzlCLE1BQU1zQyxZQUFZLEdBQUd0QyxHQUFHLENBQUNWLE1BQU0sQ0FBQ2dELFlBQVk7SUFDNUMsTUFBTWxDLGFBQWEsR0FBR0osR0FBRyxDQUFDMUIsTUFBTSxDQUFDOEIsYUFBYTtJQUM5QyxNQUFNbUMsV0FBVyxHQUFHcEUsUUFBUSxDQUFDcUUsV0FBVyxDQUFDRixZQUFZLEVBQUVsQyxhQUFhLENBQUM7SUFFckUsSUFBSSxDQUFDbUMsV0FBVyxFQUFFO01BQ2hCLE1BQU0sSUFBSXJFLEtBQUssQ0FBQ3VDLEtBQUssQ0FBQ3ZDLEtBQUssQ0FBQ3VDLEtBQUssQ0FBQ0MsYUFBYSxFQUFFLHNCQUFzQjRCLFlBQVksR0FBRyxDQUFDO0lBQ3pGO0lBQ0EsSUFBSWhELE1BQU0sR0FBR1YsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVtQixHQUFHLENBQUNHLElBQUksRUFBRUgsR0FBRyxDQUFDVyxLQUFLLENBQUM7SUFDbkRyQixNQUFNLEdBQUdELFdBQVcsQ0FBQ0MsTUFBTSxFQUFFVSxHQUFHLENBQUMxQixNQUFNLENBQUM7SUFDeEMsTUFBTXNDLE9BQU8sR0FBRztNQUNkdEIsTUFBTSxFQUFFQSxNQUFNO01BQ2RtRCxNQUFNLEVBQUV6QyxHQUFHLENBQUMwQyxJQUFJLElBQUkxQyxHQUFHLENBQUMwQyxJQUFJLENBQUNDLFFBQVE7TUFDckNDLElBQUksRUFBRTVDLEdBQUcsQ0FBQzBDLElBQUksSUFBSTFDLEdBQUcsQ0FBQzBDLElBQUksQ0FBQ0UsSUFBSTtNQUMvQkMsY0FBYyxFQUFFN0MsR0FBRyxDQUFDOEMsSUFBSSxDQUFDRCxjQUFjO01BQ3ZDaEMsR0FBRyxFQUFFYixHQUFHLENBQUMxQixNQUFNLENBQUN3QyxnQkFBZ0I7TUFDaENDLE9BQU8sRUFBRWYsR0FBRyxDQUFDMUIsTUFBTSxDQUFDeUMsT0FBTztNQUMzQkMsRUFBRSxFQUFFaEIsR0FBRyxDQUFDMUIsTUFBTSxDQUFDMEMsRUFBRTtNQUNqQnNCLFlBQVk7TUFDWlMsT0FBTyxFQUFFL0MsR0FBRyxDQUFDOEMsSUFBSSxDQUFDQztJQUNwQixDQUFDO0lBRUQsT0FBTyxJQUFJckIsT0FBTyxDQUFDLFVBQVVDLE9BQU8sRUFBRU8sTUFBTSxFQUFFO01BQzVDLE1BQU1jLFVBQVUsR0FBR2hELEdBQUcsQ0FBQzBDLElBQUksSUFBSTFDLEdBQUcsQ0FBQzBDLElBQUksQ0FBQ0UsSUFBSSxHQUFHNUMsR0FBRyxDQUFDMEMsSUFBSSxDQUFDRSxJQUFJLENBQUNLLEVBQUUsR0FBR0MsU0FBUztNQUMzRSxNQUFNO1FBQUVmLE9BQU87UUFBRUw7TUFBTSxDQUFDLEdBQUdyQyxlQUFlLENBQUN3QyxvQkFBb0IsQ0FDN0RMLE1BQU0sSUFBSTtRQUNSLElBQUk7VUFDRixJQUFJNUIsR0FBRyxDQUFDMUIsTUFBTSxDQUFDNkUsU0FBUyxDQUFDQyxvQkFBb0IsS0FBSyxRQUFRLEVBQUU7WUFDMUQsTUFBTUMsVUFBVSxHQUFHQyxjQUFNLENBQUNDLGtCQUFrQixDQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ25FLE1BQU0sQ0FBQyxDQUFDO1lBQ3BFLE1BQU1vRSxXQUFXLEdBQUdKLGNBQU0sQ0FBQ0Msa0JBQWtCLENBQUNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDN0IsTUFBTSxDQUFDSSxRQUFRLENBQUNKLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGMEIsY0FBTSxDQUFDdEQsR0FBRyxDQUFDMUIsTUFBTSxDQUFDNkUsU0FBUyxDQUFDQyxvQkFBb0IsQ0FBQyxDQUMvQyxzQkFBc0JkLFlBQVksYUFBYVUsVUFBVSxvQkFBb0JLLFVBQVUsZUFBZUssV0FBVyxFQUFFLEVBQ25IO2NBQ0VwQixZQUFZO2NBQ1poRCxNQUFNO2NBQ05zRCxJQUFJLEVBQUVJO1lBQ1IsQ0FDRixDQUFDO1VBQ0g7VUFDQXJCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxPQUFPN0QsQ0FBQyxFQUFFO1VBQ1ZtRSxNQUFNLENBQUNuRSxDQUFDLENBQUM7UUFDWDtNQUNGLENBQUMsRUFDRCtELEtBQUssSUFBSTtRQUNQLElBQUk7VUFDRixJQUFJOUIsR0FBRyxDQUFDMUIsTUFBTSxDQUFDNkUsU0FBUyxDQUFDUSxrQkFBa0IsS0FBSyxRQUFRLEVBQUU7WUFDeEQsTUFBTU4sVUFBVSxHQUFHQyxjQUFNLENBQUNDLGtCQUFrQixDQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ25FLE1BQU0sQ0FBQyxDQUFDO1lBQ3BFZ0UsY0FBTSxDQUFDdEQsR0FBRyxDQUFDMUIsTUFBTSxDQUFDNkUsU0FBUyxDQUFDUSxrQkFBa0IsQ0FBQyxDQUM3QyxpQ0FBaUNyQixZQUFZLGFBQWFVLFVBQVUsb0JBQW9CSyxVQUFVLGFBQWEsR0FDN0dHLElBQUksQ0FBQ0MsU0FBUyxDQUFDM0IsS0FBSyxDQUFDLEVBQ3ZCO2NBQ0VRLFlBQVk7Y0FDWlIsS0FBSztjQUNMeEMsTUFBTTtjQUNOc0QsSUFBSSxFQUFFSTtZQUNSLENBQ0YsQ0FBQztVQUNIO1VBQ0FkLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE9BQU8vRCxDQUFDLEVBQUU7VUFDVm1FLE1BQU0sQ0FBQ25FLENBQUMsQ0FBQztRQUNYO01BQ0YsQ0FDRixDQUFDO01BQ0QsT0FBTzJELE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FDckJOLElBQUksQ0FBQyxNQUFNO1FBQ1YsT0FBT2xELFFBQVEsQ0FBQ3lGLGlCQUFpQixDQUFDaEQsT0FBTyxFQUFFMEIsWUFBWSxFQUFFdEMsR0FBRyxDQUFDMEMsSUFBSSxDQUFDO01BQ3BFLENBQUMsQ0FBQyxDQUNEckIsSUFBSSxDQUFDLE1BQU07UUFDVixPQUFPa0IsV0FBVyxDQUFDM0IsT0FBTyxDQUFDO01BQzdCLENBQUMsQ0FBQyxDQUNEUyxJQUFJLENBQUNjLE9BQU8sRUFBRUwsS0FBSyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztFQUNKO0FBQ0Y7QUFBQytCLE9BQUEsQ0FBQXBFLGVBQUEsR0FBQUEsZUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pZGRsZXdhcmVzIiwiX1N0YXR1c0hhbmRsZXIiLCJfbG9kYXNoIiwiX2xvZ2dlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlBhcnNlIiwidHJpZ2dlcnMiLCJwYXJzZU9iamVjdCIsIm9iaiIsImNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsIml0ZW0iLCJfX3R5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJEYXRlIiwiaXNvIiwiRmlsZSIsImZyb21KU09OIiwiZW5jb2RlUGFyc2VPYmplY3RJbkNsb3VkRnVuY3Rpb24iLCJjbGFzc05hbWUiLCJvYmplY3RJZCIsInBhcnNlUGFyYW1zIiwicGFyYW1zIiwiXyIsIm1hcFZhbHVlcyIsIkZ1bmN0aW9uc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IiwiaGFuZGxlQ2xvdWRGdW5jdGlvbiIsInByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwicmVxIiwiaGFuZGxlQ2xvdWRKb2IiLCJqb2JOYW1lIiwiYm9keSIsImFwcGxpY2F0aW9uSWQiLCJqb2JIYW5kbGVyIiwiam9iU3RhdHVzSGFuZGxlciIsImpvYkZ1bmN0aW9uIiwiZ2V0Sm9iIiwiRXJyb3IiLCJTQ1JJUFRfRkFJTEVEIiwicXVlcnkiLCJyZXF1ZXN0IiwibG9nIiwibG9nZ2VyQ29udHJvbGxlciIsImhlYWRlcnMiLCJpcCIsIm1lc3NhZ2UiLCJzZXRNZXNzYWdlIiwiYmluZCIsInNldFJ1bm5pbmciLCJ0aGVuIiwiam9iU3RhdHVzIiwiam9iSWQiLCJwcm9jZXNzIiwibmV4dFRpY2siLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3VsdCIsInNldFN1Y2NlZWRlZCIsImVycm9yIiwic2V0RmFpbGVkIiwicmVzcG9uc2UiLCJjcmVhdGVSZXNwb25zZU9iamVjdCIsInJlamVjdCIsInN1Y2Nlc3MiLCJfZW5jb2RlIiwicmVzb2x2ZUVycm9yIiwiZnVuY3Rpb25OYW1lIiwidGhlRnVuY3Rpb24iLCJnZXRGdW5jdGlvbiIsIm1hc3RlciIsImF1dGgiLCJpc01hc3RlciIsInVzZXIiLCJpbnN0YWxsYXRpb25JZCIsImluZm8iLCJjb250ZXh0IiwidXNlclN0cmluZyIsImlkIiwidW5kZWZpbmVkIiwibG9nTGV2ZWxzIiwiY2xvdWRGdW5jdGlvblN1Y2Nlc3MiLCJjbGVhbklucHV0IiwibG9nZ2VyIiwidHJ1bmNhdGVMb2dNZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsImNsZWFuUmVzdWx0IiwiY2xvdWRGdW5jdGlvbkVycm9yIiwibWF5YmVSdW5WYWxpZGF0b3IiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JvdXRlcnMvRnVuY3Rpb25zUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZ1bmN0aW9uc1JvdXRlci5qc1xuXG52YXIgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2UsXG4gIHRyaWdnZXJzID0gcmVxdWlyZSgnLi4vdHJpZ2dlcnMnKTtcblxuaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgeyBwcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IH0gZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuaW1wb3J0IHsgam9iU3RhdHVzSGFuZGxlciB9IGZyb20gJy4uL1N0YXR1c0hhbmRsZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2xvZ2dlcic7XG5cbmZ1bmN0aW9uIHBhcnNlT2JqZWN0KG9iaiwgY29uZmlnKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiBwYXJzZU9iamVjdChpdGVtLCBjb25maWcpO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9iaiAmJiBvYmouX190eXBlID09ICdEYXRlJykge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBEYXRlKG9iai5pc28pLCBvYmopO1xuICB9IGVsc2UgaWYgKG9iaiAmJiBvYmouX190eXBlID09ICdGaWxlJykge1xuICAgIHJldHVybiBQYXJzZS5GaWxlLmZyb21KU09OKG9iaik7XG4gIH0gZWxzZSBpZiAob2JqICYmIG9iai5fX3R5cGUgPT0gJ1BvaW50ZXInICYmIGNvbmZpZy5lbmNvZGVQYXJzZU9iamVjdEluQ2xvdWRGdW5jdGlvbikge1xuICAgIHJldHVybiBQYXJzZS5PYmplY3QuZnJvbUpTT04oe1xuICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICBjbGFzc05hbWU6IG9iai5jbGFzc05hbWUsXG4gICAgICBvYmplY3RJZDogb2JqLm9iamVjdElkLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9iaiAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBwYXJzZVBhcmFtcyhvYmosIGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVBhcmFtcyhwYXJhbXMsIGNvbmZpZykge1xuICByZXR1cm4gXy5tYXBWYWx1ZXMocGFyYW1zLCBpdGVtID0+IHBhcnNlT2JqZWN0KGl0ZW0sIGNvbmZpZykpO1xufVxuXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25zUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUE9TVCcsXG4gICAgICAnL2Z1bmN0aW9ucy86ZnVuY3Rpb25OYW1lJyxcbiAgICAgIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSxcbiAgICAgIEZ1bmN0aW9uc1JvdXRlci5oYW5kbGVDbG91ZEZ1bmN0aW9uXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9qb2JzLzpqb2JOYW1lJyxcbiAgICAgIHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSxcbiAgICAgIHByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICByZXR1cm4gRnVuY3Rpb25zUm91dGVyLmhhbmRsZUNsb3VkSm9iKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKCdQT1NUJywgJy9qb2JzJywgcHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIGZ1bmN0aW9uIChyZXEpIHtcbiAgICAgIHJldHVybiBGdW5jdGlvbnNSb3V0ZXIuaGFuZGxlQ2xvdWRKb2IocmVxKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBoYW5kbGVDbG91ZEpvYihyZXEpIHtcbiAgICBjb25zdCBqb2JOYW1lID0gcmVxLnBhcmFtcy5qb2JOYW1lIHx8IHJlcS5ib2R5Py5qb2JOYW1lO1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uSWQgPSByZXEuY29uZmlnLmFwcGxpY2F0aW9uSWQ7XG4gICAgY29uc3Qgam9iSGFuZGxlciA9IGpvYlN0YXR1c0hhbmRsZXIocmVxLmNvbmZpZyk7XG4gICAgY29uc3Qgam9iRnVuY3Rpb24gPSB0cmlnZ2Vycy5nZXRKb2Ioam9iTmFtZSwgYXBwbGljYXRpb25JZCk7XG4gICAgaWYgKCFqb2JGdW5jdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLlNDUklQVF9GQUlMRUQsICdJbnZhbGlkIGpvYi4nKTtcbiAgICB9XG4gICAgbGV0IHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHJlcS5ib2R5LCByZXEucXVlcnkpO1xuICAgIHBhcmFtcyA9IHBhcnNlUGFyYW1zKHBhcmFtcywgcmVxLmNvbmZpZyk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgbG9nOiByZXEuY29uZmlnLmxvZ2dlckNvbnRyb2xsZXIsXG4gICAgICBoZWFkZXJzOiByZXEuY29uZmlnLmhlYWRlcnMsXG4gICAgICBpcDogcmVxLmNvbmZpZy5pcCxcbiAgICAgIGpvYk5hbWUsXG4gICAgICBtZXNzYWdlOiBqb2JIYW5kbGVyLnNldE1lc3NhZ2UuYmluZChqb2JIYW5kbGVyKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpvYkhhbmRsZXIuc2V0UnVubmluZyhqb2JOYW1lLCBwYXJhbXMpLnRoZW4oam9iU3RhdHVzID0+IHtcbiAgICAgIHJlcXVlc3Quam9iSWQgPSBqb2JTdGF0dXMub2JqZWN0SWQ7XG4gICAgICAvLyBydW4gdGhlIGZ1bmN0aW9uIGFzeW5jXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKCgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gam9iRnVuY3Rpb24ocmVxdWVzdCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgIHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgIGpvYkhhbmRsZXIuc2V0U3VjY2VlZGVkKHJlc3VsdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICBqb2JIYW5kbGVyLnNldEZhaWxlZChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdYLVBhcnNlLUpvYi1TdGF0dXMtSWQnOiBqb2JTdGF0dXMub2JqZWN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIHJlc3BvbnNlOiB7fSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlUmVzcG9uc2VPYmplY3QocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgcmVzcG9uc2U6IHtcbiAgICAgICAgICAgIHJlc3VsdDogUGFyc2UuX2VuY29kZShyZXN1bHQpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBmdW5jdGlvbiAobWVzc2FnZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9IHRyaWdnZXJzLnJlc29sdmVFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBzdGF0aWMgaGFuZGxlQ2xvdWRGdW5jdGlvbihyZXEpIHtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSByZXEucGFyYW1zLmZ1bmN0aW9uTmFtZTtcbiAgICBjb25zdCBhcHBsaWNhdGlvbklkID0gcmVxLmNvbmZpZy5hcHBsaWNhdGlvbklkO1xuICAgIGNvbnN0IHRoZUZ1bmN0aW9uID0gdHJpZ2dlcnMuZ2V0RnVuY3Rpb24oZnVuY3Rpb25OYW1lLCBhcHBsaWNhdGlvbklkKTtcblxuICAgIGlmICghdGhlRnVuY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5TQ1JJUFRfRkFJTEVELCBgSW52YWxpZCBmdW5jdGlvbjogXCIke2Z1bmN0aW9uTmFtZX1cImApO1xuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgcmVxLmJvZHksIHJlcS5xdWVyeSk7XG4gICAgcGFyYW1zID0gcGFyc2VQYXJhbXMocGFyYW1zLCByZXEuY29uZmlnKTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBtYXN0ZXI6IHJlcS5hdXRoICYmIHJlcS5hdXRoLmlzTWFzdGVyLFxuICAgICAgdXNlcjogcmVxLmF1dGggJiYgcmVxLmF1dGgudXNlcixcbiAgICAgIGluc3RhbGxhdGlvbklkOiByZXEuaW5mby5pbnN0YWxsYXRpb25JZCxcbiAgICAgIGxvZzogcmVxLmNvbmZpZy5sb2dnZXJDb250cm9sbGVyLFxuICAgICAgaGVhZGVyczogcmVxLmNvbmZpZy5oZWFkZXJzLFxuICAgICAgaXA6IHJlcS5jb25maWcuaXAsXG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBjb250ZXh0OiByZXEuaW5mby5jb250ZXh0LFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgY29uc3QgdXNlclN0cmluZyA9IHJlcS5hdXRoICYmIHJlcS5hdXRoLnVzZXIgPyByZXEuYXV0aC51c2VyLmlkIDogdW5kZWZpbmVkO1xuICAgICAgY29uc3QgeyBzdWNjZXNzLCBlcnJvciB9ID0gRnVuY3Rpb25zUm91dGVyLmNyZWF0ZVJlc3BvbnNlT2JqZWN0KFxuICAgICAgICByZXN1bHQgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAocmVxLmNvbmZpZy5sb2dMZXZlbHMuY2xvdWRGdW5jdGlvblN1Y2Nlc3MgIT09ICdzaWxlbnQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNsZWFuSW5wdXQgPSBsb2dnZXIudHJ1bmNhdGVMb2dNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHBhcmFtcykpO1xuICAgICAgICAgICAgICBjb25zdCBjbGVhblJlc3VsdCA9IGxvZ2dlci50cnVuY2F0ZUxvZ01lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0LnJlc3BvbnNlLnJlc3VsdCkpO1xuICAgICAgICAgICAgICBsb2dnZXJbcmVxLmNvbmZpZy5sb2dMZXZlbHMuY2xvdWRGdW5jdGlvblN1Y2Nlc3NdKFxuICAgICAgICAgICAgICAgIGBSYW4gY2xvdWQgZnVuY3Rpb24gJHtmdW5jdGlvbk5hbWV9IGZvciB1c2VyICR7dXNlclN0cmluZ30gd2l0aDpcXG4gIElucHV0OiAke2NsZWFuSW5wdXR9XFxuICBSZXN1bHQ6ICR7Y2xlYW5SZXN1bHR9YCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICB1c2VyOiB1c2VyU3RyaW5nLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyZXEuY29uZmlnLmxvZ0xldmVscy5jbG91ZEZ1bmN0aW9uRXJyb3IgIT09ICdzaWxlbnQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNsZWFuSW5wdXQgPSBsb2dnZXIudHJ1bmNhdGVMb2dNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHBhcmFtcykpO1xuICAgICAgICAgICAgICBsb2dnZXJbcmVxLmNvbmZpZy5sb2dMZXZlbHMuY2xvdWRGdW5jdGlvbkVycm9yXShcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHJ1bm5pbmcgY2xvdWQgZnVuY3Rpb24gJHtmdW5jdGlvbk5hbWV9IGZvciB1c2VyICR7dXNlclN0cmluZ30gd2l0aDpcXG4gIElucHV0OiAke2NsZWFuSW5wdXR9XFxuICBFcnJvcjogYCArXG4gICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShlcnJvciksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICB1c2VyOiB1c2VyU3RyaW5nLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRyaWdnZXJzLm1heWJlUnVuVmFsaWRhdG9yKHJlcXVlc3QsIGZ1bmN0aW9uTmFtZSwgcmVxLmF1dGgpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoZUZ1bmN0aW9uKHJlcXVlc3QpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihzdWNjZXNzLCBlcnJvcik7XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQW1DLFNBQUFELHVCQUFBTSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBVG5DOztBQUVBLElBQUlHLEtBQUssR0FBR1IsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDUSxLQUFLO0VBQ3JDQyxRQUFRLEdBQUdULE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFRbkMsU0FBU1UsV0FBV0EsQ0FBQ0MsR0FBRyxFQUFFQyxNQUFNLEVBQUU7RUFDaEMsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNILEdBQUcsQ0FBQyxFQUFFO0lBQ3RCLE9BQU9BLEdBQUcsQ0FBQ0ksR0FBRyxDQUFDQyxJQUFJLElBQUk7TUFDckIsT0FB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
|
|
@@ -56,8 +56,8 @@ class GlobalConfigRouter extends _PromiseRouter.default {
|
|
|
56
56
|
if (req.auth.isReadOnly) {
|
|
57
57
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to update the config.");
|
|
58
58
|
}
|
|
59
|
-
const params = req.body.params;
|
|
60
|
-
const masterKeyOnly = req.body
|
|
59
|
+
const params = req.body.params || {};
|
|
60
|
+
const masterKeyOnly = req.body?.masterKeyOnly || {};
|
|
61
61
|
// Transform in dot notation to make sure it works
|
|
62
62
|
const update = Object.keys(params).reduce((acc, key) => {
|
|
63
63
|
acc[`params.${key}`] = params[key];
|
|
@@ -120,4 +120,4 @@ class GlobalConfigRouter extends _PromiseRouter.default {
|
|
|
120
120
|
}
|
|
121
121
|
exports.GlobalConfigRouter = GlobalConfigRouter;
|
|
122
122
|
var _default = exports.default = GlobalConfigRouter;
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX1Byb21pc2VSb3V0ZXIiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJ0cmlnZ2VycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImdldENvbmZpZ0Zyb21QYXJhbXMiLCJwYXJhbXMiLCJjb25maWciLCJQYXJzZSIsIkNvbmZpZyIsImF0dHIiLCJhdHRyaWJ1dGVzIiwiX2RlY29kZSIsInVuZGVmaW5lZCIsIkdsb2JhbENvbmZpZ1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJnZXRHbG9iYWxDb25maWciLCJyZXEiLCJkYXRhYmFzZSIsImZpbmQiLCJvYmplY3RJZCIsImxpbWl0IiwidGhlbiIsInJlc3VsdHMiLCJsZW5ndGgiLCJyZXNwb25zZSIsImdsb2JhbENvbmZpZyIsImF1dGgiLCJpc01hc3RlciIsIm1hc3RlcktleU9ubHkiLCJwYXJhbSIsInVwZGF0ZUdsb2JhbENvbmZpZyIsImlzUmVhZE9ubHkiLCJFcnJvciIsIk9QRVJBVElPTl9GT1JCSURERU4iLCJib2R5IiwidXBkYXRlIiwia2V5cyIsInJlZHVjZSIsImFjYyIsImtleSIsImNsYXNzTmFtZSIsImdldENsYXNzTmFtZSIsImhhc0JlZm9yZVNhdmVIb29rIiwidHJpZ2dlckV4aXN0cyIsIlR5cGVzIiwiYmVmb3JlU2F2ZSIsImFwcGxpY2F0aW9uSWQiLCJoYXNBZnRlclNhdmVIb29rIiwiYWZ0ZXJTYXZlIiwib3JpZ2luYWxDb25maWdPYmplY3QiLCJ1cGRhdGVkQ29uZmlnT2JqZWN0IiwiY29uZmlnT2JqZWN0IiwiaXNOZXciLCJtYXliZVJ1bkdsb2JhbENvbmZpZ1RyaWdnZXIiLCJjb250ZXh0IiwidXBzZXJ0IiwicmVzdWx0IiwiZXJyIiwiZXJyb3IiLCJyZXNvbHZlRXJyb3IiLCJjb2RlIiwiU0NSSVBUX0ZBSUxFRCIsIm1lc3NhZ2UiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9HbG9iYWxDb25maWdSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2xvYmFsX2NvbmZpZy5qc1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgKiBhcyBtaWRkbGV3YXJlIGZyb20gJy4uL21pZGRsZXdhcmVzJztcbmltcG9ydCAqIGFzIHRyaWdnZXJzIGZyb20gJy4uL3RyaWdnZXJzJztcblxuY29uc3QgZ2V0Q29uZmlnRnJvbVBhcmFtcyA9IHBhcmFtcyA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IG5ldyBQYXJzZS5Db25maWcoKTtcbiAgZm9yIChjb25zdCBhdHRyIGluIHBhcmFtcykge1xuICAgIGNvbmZpZy5hdHRyaWJ1dGVzW2F0dHJdID0gUGFyc2UuX2RlY29kZSh1bmRlZmluZWQsIHBhcmFtc1thdHRyXSk7XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBHbG9iYWxDb25maWdSb3V0ZXIgZXh0ZW5kcyBQcm9taXNlUm91dGVyIHtcbiAgZ2V0R2xvYmFsQ29uZmlnKHJlcSkge1xuICAgIHJldHVybiByZXEuY29uZmlnLmRhdGFiYXNlXG4gICAgICAuZmluZCgnX0dsb2JhbENvbmZpZycsIHsgb2JqZWN0SWQ6ICcxJyB9LCB7IGxpbWl0OiAxIH0pXG4gICAgICAudGhlbihyZXN1bHRzID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoICE9IDEpIHtcbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBjb25maWcgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJuIGVtcHR5IGNvbmZpZy5cbiAgICAgICAgICByZXR1cm4geyByZXNwb25zZTogeyBwYXJhbXM6IHt9IH0gfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSByZXN1bHRzWzBdO1xuICAgICAgICBpZiAoIXJlcS5hdXRoLmlzTWFzdGVyICYmIGdsb2JhbENvbmZpZy5tYXN0ZXJLZXlPbmx5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBhcmFtIGluIGdsb2JhbENvbmZpZy5wYXJhbXMpIHtcbiAgICAgICAgICAgIGlmIChnbG9iYWxDb25maWcubWFzdGVyS2V5T25seVtwYXJhbV0pIHtcbiAgICAgICAgICAgICAgZGVsZXRlIGdsb2JhbENvbmZpZy5wYXJhbXNbcGFyYW1dO1xuICAgICAgICAgICAgICBkZWxldGUgZ2xvYmFsQ29uZmlnLm1hc3RlcktleU9ubHlbcGFyYW1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgICBwYXJhbXM6IGdsb2JhbENvbmZpZy5wYXJhbXMsXG4gICAgICAgICAgICBtYXN0ZXJLZXlPbmx5OiBnbG9iYWxDb25maWcubWFzdGVyS2V5T25seSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVHbG9iYWxDb25maWcocmVxKSB7XG4gICAgaWYgKHJlcS5hdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gdXBkYXRlIHRoZSBjb25maWcuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHJlcS5ib2R5LnBhcmFtcztcbiAgICBjb25zdCBtYXN0ZXJLZXlPbmx5ID0gcmVxLmJvZHkubWFzdGVyS2V5T25seSB8fCB7fTtcbiAgICAvLyBUcmFuc2Zvcm0gaW4gZG90IG5vdGF0aW9uIHRvIG1ha2Ugc3VyZSBpdCB3b3Jrc1xuICAgIGNvbnN0IHVwZGF0ZSA9IE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgYWNjW2BwYXJhbXMuJHtrZXl9YF0gPSBwYXJhbXNba2V5XTtcbiAgICAgIGFjY1tgbWFzdGVyS2V5T25seS4ke2tleX1gXSA9IG1hc3RlcktleU9ubHlba2V5XSB8fCBmYWxzZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRyaWdnZXJzLmdldENsYXNzTmFtZShQYXJzZS5Db25maWcpO1xuICAgIGNvbnN0IGhhc0JlZm9yZVNhdmVIb29rID0gdHJpZ2dlcnMudHJpZ2dlckV4aXN0cyhjbGFzc05hbWUsIHRyaWdnZXJzLlR5cGVzLmJlZm9yZVNhdmUsIHJlcS5jb25maWcuYXBwbGljYXRpb25JZCk7XG4gICAgY29uc3QgaGFzQWZ0ZXJTYXZlSG9vayA9IHRyaWdnZXJzLnRyaWdnZXJFeGlzdHMoY2xhc3NOYW1lLCB0cmlnZ2Vycy5UeXBlcy5hZnRlclNhdmUsIHJlcS5jb25maWcuYXBwbGljYXRpb25JZCk7XG4gICAgbGV0IG9yaWdpbmFsQ29uZmlnT2JqZWN0O1xuICAgIGxldCB1cGRhdGVkQ29uZmlnT2JqZWN0O1xuICAgIGNvbnN0IGNvbmZpZ09iamVjdCA9IG5ldyBQYXJzZS5Db25maWcoKTtcbiAgICBjb25maWdPYmplY3QuYXR0cmlidXRlcyA9IHBhcmFtcztcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCByZXEuY29uZmlnLmRhdGFiYXNlLmZpbmQoJ19HbG9iYWxDb25maWcnLCB7IG9iamVjdElkOiAnMScgfSwgeyBsaW1pdDogMSB9KTtcbiAgICBjb25zdCBpc05ldyA9IHJlc3VsdHMubGVuZ3RoICE9PSAxO1xuICAgIGlmICghaXNOZXcgJiYgKGhhc0JlZm9yZVNhdmVIb29rIHx8IGhhc0FmdGVyU2F2ZUhvb2spKSB7XG4gICAgICBvcmlnaW5hbENvbmZpZ09iamVjdCA9IGdldENvbmZpZ0Zyb21QYXJhbXMocmVzdWx0c1swXS5wYXJhbXMpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5HbG9iYWxDb25maWdUcmlnZ2VyKHRyaWdnZXJzLlR5cGVzLmJlZm9yZVNhdmUsIHJlcS5hdXRoLCBjb25maWdPYmplY3QsIG9yaWdpbmFsQ29uZmlnT2JqZWN0LCByZXEuY29uZmlnLCByZXEuY29udGV4dCk7XG4gICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgYXdhaXQgcmVxLmNvbmZpZy5kYXRhYmFzZS51cGRhdGUoJ19HbG9iYWxDb25maWcnLCB7IG9iamVjdElkOiAnMScgfSwgdXBkYXRlLCB7IHVwc2VydDogdHJ1ZSB9LCB0cnVlKVxuICAgICAgICB1cGRhdGVkQ29uZmlnT2JqZWN0ID0gY29uZmlnT2JqZWN0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNvbmZpZy5kYXRhYmFzZS51cGRhdGUoJ19HbG9iYWxDb25maWcnLCB7IG9iamVjdElkOiAnMScgfSwgdXBkYXRlLCB7fSwgdHJ1ZSk7XG4gICAgICAgIHVwZGF0ZWRDb25maWdPYmplY3QgPSBnZXRDb25maWdGcm9tUGFyYW1zKHJlc3VsdC5wYXJhbXMpO1xuICAgICAgfVxuICAgICAgYXdhaXQgdHJpZ2dlcnMubWF5YmVSdW5HbG9iYWxDb25maWdUcmlnZ2VyKHRyaWdnZXJzLlR5cGVzLmFmdGVyU2F2ZSwgcmVxLmF1dGgsIHVwZGF0ZWRDb25maWdPYmplY3QsIG9yaWdpbmFsQ29uZmlnT2JqZWN0LCByZXEuY29uZmlnLCByZXEuY29udGV4dCk7XG4gICAgICByZXR1cm4geyByZXNwb25zZTogeyByZXN1bHQ6IHRydWUgfSB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRyaWdnZXJzLnJlc29sdmVFcnJvcihlcnIsIHtcbiAgICAgICAgY29kZTogUGFyc2UuRXJyb3IuU0NSSVBUX0ZBSUxFRCxcbiAgICAgICAgbWVzc2FnZTogJ1NjcmlwdCBmYWlsZWQuIFVua25vd24gZXJyb3IuJyxcbiAgICAgIH0pO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9jb25maWcnLCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0R2xvYmFsQ29uZmlnKHJlcSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZSgnUFVUJywgJy9jb25maWcnLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR2xvYmFsQ29uZmlnKHJlcSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgR2xvYmFsQ29uZmlnUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFELHVCQUFBLENBQUFILE9BQUE7QUFBd0MsU0FBQUsseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxL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RUFBRTtRQUFLLENBQUMsRUFBRSxJQUFJLENBQUM7UUFDcEdMLG1CQUFtQixHQUFHQyxZQUFZO01BQ3BDLENBQUMsTUFBTTtRQUNMLE1BQU1LLE1BQU0sR0FBRyxNQUFNeEMsR0FBRyxDQUFDVixNQUFNLENBQUNXLFFBQVEsQ0FBQ2tCLE1BQU0sQ0FBQyxlQUFlLEVBQUU7VUFBRWhCLFFBQVEsRUFBRTtRQUFJLENBQUMsRUFBRWdCLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7UUFDckdlLG1CQUFtQixHQUFHOUMsbUJBQW1CLENBQUNvRCxNQUFNLENBQUNuRCxNQUFNLENBQUM7TUFDMUQ7TUFDQSxNQUFNdEIsUUFBUSxDQUFDc0UsMkJBQTJCLENBQUN0RSxRQUFRLENBQUM2RCxLQUFLLENBQUNJLFNBQVMsRUFBRWhDLEdBQUcsQ0FBQ1UsSUFBSSxFQUFFd0IsbUJBQW1CLEVBQUVELG9CQUFvQixFQUFFakMsR0FBRyxDQUFDVixNQUFNLEVBQUVVLEdBQUcsQ0FBQ3NDLE9BQU8sQ0FBQztNQUNsSixPQUFPO1FBQUU5QixRQUFRLEVBQUU7VUFBRWdDLE1BQU0sRUFBRTtRQUFLO01BQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsT0FBT0MsR0FBRyxFQUFFO01BQ1osTUFBTUMsS0FBSyxHQUFHM0UsUUFBUSxDQUFDNEUsWUFBWSxDQUFDRixHQUFHLEVBQUU7UUFDdkNHLElBQUksRUFBRXJELGFBQUssQ0FBQ3lCLEtBQUssQ0FBQzZCLGFBQWE7UUFDL0JDLE9BQU8sRUFBRTtNQUNYLENBQUMsQ0FBQztNQUNGLE1BQU1KLEtBQUs7SUFDYjtFQUNGO0VBRUFLLFdBQVdBLENBQUEsRUFBRztJQUNaLElBQUksQ0FBQ0MsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUVoRCxHQUFHLElBQUk7TUFDbEMsT0FBTyxJQUFJLENBQUNELGVBQWUsQ0FBQ0MsR0FBRyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ2dELEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFbkYsVUFBVSxDQUFDb0YsNkJBQTZCLEVBQUVqRCxHQUFHLElBQUk7TUFDNUUsT0FBTyxJQUFJLENBQUNjLGtCQUFrQixDQUFDZCxHQUFHLENBQUM7SUFDckMsQ0FBQyxDQUFDO0VBQ0o7QUFDRjtBQUFDa0QsT0FBQSxDQUFBckQsa0JBQUEsR0FBQUEsa0JBQUE7QUFBQSxJQUFBc0QsUUFBQSxHQUFBRCxPQUFBLENBQUE1RSxPQUFBLEdBRWN1QixrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX1Byb21pc2VSb3V0ZXIiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJ0cmlnZ2VycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImdldENvbmZpZ0Zyb21QYXJhbXMiLCJwYXJhbXMiLCJjb25maWciLCJQYXJzZSIsIkNvbmZpZyIsImF0dHIiLCJhdHRyaWJ1dGVzIiwiX2RlY29kZSIsInVuZGVmaW5lZCIsIkdsb2JhbENvbmZpZ1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJnZXRHbG9iYWxDb25maWciLCJyZXEiLCJkYXRhYmFzZSIsImZpbmQiLCJvYmplY3RJZCIsImxpbWl0IiwidGhlbiIsInJlc3VsdHMiLCJsZW5ndGgiLCJyZXNwb25zZSIsImdsb2JhbENvbmZpZyIsImF1dGgiLCJpc01hc3RlciIsIm1hc3RlcktleU9ubHkiLCJwYXJhbSIsInVwZGF0ZUdsb2JhbENvbmZpZyIsImlzUmVhZE9ubHkiLCJFcnJvciIsIk9QRVJBVElPTl9GT1JCSURERU4iLCJib2R5IiwidXBkYXRlIiwia2V5cyIsInJlZHVjZSIsImFjYyIsImtleSIsImNsYXNzTmFtZSIsImdldENsYXNzTmFtZSIsImhhc0JlZm9yZVNhdmVIb29rIiwidHJpZ2dlckV4aXN0cyIsIlR5cGVzIiwiYmVmb3JlU2F2ZSIsImFwcGxpY2F0aW9uSWQiLCJoYXNBZnRlclNhdmVIb29rIiwiYWZ0ZXJTYXZlIiwib3JpZ2luYWxDb25maWdPYmplY3QiLCJ1cGRhdGVkQ29uZmlnT2JqZWN0IiwiY29uZmlnT2JqZWN0IiwiaXNOZXciLCJtYXliZVJ1bkdsb2JhbENvbmZpZ1RyaWdnZXIiLCJjb250ZXh0IiwidXBzZXJ0IiwicmVzdWx0IiwiZXJyIiwiZXJyb3IiLCJyZXNvbHZlRXJyb3IiLCJjb2RlIiwiU0NSSVBUX0ZBSUxFRCIsIm1lc3NhZ2UiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9HbG9iYWxDb25maWdSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2xvYmFsX2NvbmZpZy5qc1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgKiBhcyBtaWRkbGV3YXJlIGZyb20gJy4uL21pZGRsZXdhcmVzJztcbmltcG9ydCAqIGFzIHRyaWdnZXJzIGZyb20gJy4uL3RyaWdnZXJzJztcblxuY29uc3QgZ2V0Q29uZmlnRnJvbVBhcmFtcyA9IHBhcmFtcyA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IG5ldyBQYXJzZS5Db25maWcoKTtcbiAgZm9yIChjb25zdCBhdHRyIGluIHBhcmFtcykge1xuICAgIGNvbmZpZy5hdHRyaWJ1dGVzW2F0dHJdID0gUGFyc2UuX2RlY29kZSh1bmRlZmluZWQsIHBhcmFtc1thdHRyXSk7XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBHbG9iYWxDb25maWdSb3V0ZXIgZXh0ZW5kcyBQcm9taXNlUm91dGVyIHtcbiAgZ2V0R2xvYmFsQ29uZmlnKHJlcSkge1xuICAgIHJldHVybiByZXEuY29uZmlnLmRhdGFiYXNlXG4gICAgICAuZmluZCgnX0dsb2JhbENvbmZpZycsIHsgb2JqZWN0SWQ6ICcxJyB9LCB7IGxpbWl0OiAxIH0pXG4gICAgICAudGhlbihyZXN1bHRzID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoICE9IDEpIHtcbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBjb25maWcgaW4gdGhlIGRhdGFiYXNlIC0gcmV0dXJuIGVtcHR5IGNvbmZpZy5cbiAgICAgICAgICByZXR1cm4geyByZXNwb25zZTogeyBwYXJhbXM6IHt9IH0gfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSByZXN1bHRzWzBdO1xuICAgICAgICBpZiAoIXJlcS5hdXRoLmlzTWFzdGVyICYmIGdsb2JhbENvbmZpZy5tYXN0ZXJLZXlPbmx5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBhcmFtIGluIGdsb2JhbENvbmZpZy5wYXJhbXMpIHtcbiAgICAgICAgICAgIGlmIChnbG9iYWxDb25maWcubWFzdGVyS2V5T25seVtwYXJhbV0pIHtcbiAgICAgICAgICAgICAgZGVsZXRlIGdsb2JhbENvbmZpZy5wYXJhbXNbcGFyYW1dO1xuICAgICAgICAgICAgICBkZWxldGUgZ2xvYmFsQ29uZmlnLm1hc3RlcktleU9ubHlbcGFyYW1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgICBwYXJhbXM6IGdsb2JhbENvbmZpZy5wYXJhbXMsXG4gICAgICAgICAgICBtYXN0ZXJLZXlPbmx5OiBnbG9iYWxDb25maWcubWFzdGVyS2V5T25seSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVHbG9iYWxDb25maWcocmVxKSB7XG4gICAgaWYgKHJlcS5hdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gdXBkYXRlIHRoZSBjb25maWcuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHBhcmFtcyA9IHJlcS5ib2R5LnBhcmFtcyB8fCB7fTtcbiAgICBjb25zdCBtYXN0ZXJLZXlPbmx5ID0gcmVxLmJvZHk/Lm1hc3RlcktleU9ubHkgfHwge307XG4gICAgLy8gVHJhbnNmb3JtIGluIGRvdCBub3RhdGlvbiB0byBtYWtlIHN1cmUgaXQgd29ya3NcbiAgICBjb25zdCB1cGRhdGUgPSBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGFjY1tgcGFyYW1zLiR7a2V5fWBdID0gcGFyYW1zW2tleV07XG4gICAgICBhY2NbYG1hc3RlcktleU9ubHkuJHtrZXl9YF0gPSBtYXN0ZXJLZXlPbmx5W2tleV0gfHwgZmFsc2U7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0cmlnZ2Vycy5nZXRDbGFzc05hbWUoUGFyc2UuQ29uZmlnKTtcbiAgICBjb25zdCBoYXNCZWZvcmVTYXZlSG9vayA9IHRyaWdnZXJzLnRyaWdnZXJFeGlzdHMoY2xhc3NOYW1lLCB0cmlnZ2Vycy5UeXBlcy5iZWZvcmVTYXZlLCByZXEuY29uZmlnLmFwcGxpY2F0aW9uSWQpO1xuICAgIGNvbnN0IGhhc0FmdGVyU2F2ZUhvb2sgPSB0cmlnZ2Vycy50cmlnZ2VyRXhpc3RzKGNsYXNzTmFtZSwgdHJpZ2dlcnMuVHlwZXMuYWZ0ZXJTYXZlLCByZXEuY29uZmlnLmFwcGxpY2F0aW9uSWQpO1xuICAgIGxldCBvcmlnaW5hbENvbmZpZ09iamVjdDtcbiAgICBsZXQgdXBkYXRlZENvbmZpZ09iamVjdDtcbiAgICBjb25zdCBjb25maWdPYmplY3QgPSBuZXcgUGFyc2UuQ29uZmlnKCk7XG4gICAgY29uZmlnT2JqZWN0LmF0dHJpYnV0ZXMgPSBwYXJhbXM7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcmVxLmNvbmZpZy5kYXRhYmFzZS5maW5kKCdfR2xvYmFsQ29uZmlnJywgeyBvYmplY3RJZDogJzEnIH0sIHsgbGltaXQ6IDEgfSk7XG4gICAgY29uc3QgaXNOZXcgPSByZXN1bHRzLmxlbmd0aCAhPT0gMTtcbiAgICBpZiAoIWlzTmV3ICYmIChoYXNCZWZvcmVTYXZlSG9vayB8fCBoYXNBZnRlclNhdmVIb29rKSkge1xuICAgICAgb3JpZ2luYWxDb25maWdPYmplY3QgPSBnZXRDb25maWdGcm9tUGFyYW1zKHJlc3VsdHNbMF0ucGFyYW1zKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRyaWdnZXJzLm1heWJlUnVuR2xvYmFsQ29uZmlnVHJpZ2dlcih0cmlnZ2Vycy5UeXBlcy5iZWZvcmVTYXZlLCByZXEuYXV0aCwgY29uZmlnT2JqZWN0LCBvcmlnaW5hbENvbmZpZ09iamVjdCwgcmVxLmNvbmZpZywgcmVxLmNvbnRleHQpO1xuICAgICAgaWYgKGlzTmV3KSB7XG4gICAgICAgIGF3YWl0IHJlcS5jb25maWcuZGF0YWJhc2UudXBkYXRlKCdfR2xvYmFsQ29uZmlnJywgeyBvYmplY3RJZDogJzEnIH0sIHVwZGF0ZSwgeyB1cHNlcnQ6IHRydWUgfSwgdHJ1ZSlcbiAgICAgICAgdXBkYXRlZENvbmZpZ09iamVjdCA9IGNvbmZpZ09iamVjdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcS5jb25maWcuZGF0YWJhc2UudXBkYXRlKCdfR2xvYmFsQ29uZmlnJywgeyBvYmplY3RJZDogJzEnIH0sIHVwZGF0ZSwge30sIHRydWUpO1xuICAgICAgICB1cGRhdGVkQ29uZmlnT2JqZWN0ID0gZ2V0Q29uZmlnRnJvbVBhcmFtcyhyZXN1bHQucGFyYW1zKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRyaWdnZXJzLm1heWJlUnVuR2xvYmFsQ29uZmlnVHJpZ2dlcih0cmlnZ2Vycy5UeXBlcy5hZnRlclNhdmUsIHJlcS5hdXRoLCB1cGRhdGVkQ29uZmlnT2JqZWN0LCBvcmlnaW5hbENvbmZpZ09iamVjdCwgcmVxLmNvbmZpZywgcmVxLmNvbnRleHQpO1xuICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHsgcmVzdWx0OiB0cnVlIH0gfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgZXJyb3IgPSB0cmlnZ2Vycy5yZXNvbHZlRXJyb3IoZXJyLCB7XG4gICAgICAgIGNvZGU6IFBhcnNlLkVycm9yLlNDUklQVF9GQUlMRUQsXG4gICAgICAgIG1lc3NhZ2U6ICdTY3JpcHQgZmFpbGVkLiBVbmtub3duIGVycm9yLicsXG4gICAgICB9KTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoJ0dFVCcsICcvY29uZmlnJywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbENvbmZpZyhyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BVVCcsICcvY29uZmlnJywgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUdsb2JhbENvbmZpZyhyZXEpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEdsb2JhbENvbmZpZ1JvdXRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBRCx1QkFBQSxDQUFBSCxPQUFBO0FBQXdDLFNBQUFLLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFE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TUFBTSxFQUFFO1VBQUVvQixNQUFNLEVBQUU7UUFBSyxDQUFDLEVBQUUsSUFBSSxDQUFDO1FBQ3BHTCxtQkFBbUIsR0FBR0MsWUFBWTtNQUNwQyxDQUFDLE1BQU07UUFDTCxNQUFNSyxNQUFNLEdBQUcsTUFBTXhDLEdBQUcsQ0FBQ1YsTUFBTSxDQUFDVyxRQUFRLENBQUNrQixNQUFNLENBQUMsZUFBZSxFQUFFO1VBQUVoQixRQUFRLEVBQUU7UUFBSSxDQUFDLEVBQUVnQixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO1FBQ3JHZSxtQkFBbUIsR0FBRzlDLG1CQUFtQixDQUFDb0QsTUFBTSxDQUFDbkQsTUFBTSxDQUFDO01BQzFEO01BQ0EsTUFBTXRCLFFBQVEsQ0FBQ3NFLDJCQUEyQixDQUFDdEUsUUFBUSxDQUFDNkQsS0FBSyxDQUFDSSxTQUFTLEVBQUVoQyxHQUFHLENBQUNVLElBQUksRUFBRXdCLG1CQUFtQixFQUFFRCxvQkFBb0IsRUFBRWpDLEdBQUcsQ0FBQ1YsTUFBTSxFQUFFVSxHQUFHLENBQUNzQyxPQUFPLENBQUM7TUFDbEosT0FBTztRQUFFOUIsUUFBUSxFQUFFO1VBQUVnQyxNQUFNLEVBQUU7UUFBSztNQUFFLENBQUM7SUFDdkMsQ0FBQyxDQUFDLE9BQU9DLEdBQUcsRUFBRTtNQUNaLE1BQU1DLEtBQUssR0FBRzNFLFFBQVEsQ0FBQzRFLFlBQVksQ0FBQ0YsR0FBRyxFQUFFO1FBQ3ZDRyxJQUFJLEVBQUVyRCxhQUFLLENBQUN5QixLQUFLLENBQUM2QixhQUFhO1FBQy9CQyxPQUFPLEVBQUU7TUFDWCxDQUFDLENBQUM7TUFDRixNQUFNSixLQUFLO0lBQ2I7RUFDRjtFQUVBSyxXQUFXQSxDQUFBLEVBQUc7SUFDWixJQUFJLENBQUNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFaEQsR0FBRyxJQUFJO01BQ2xDLE9BQU8sSUFBSSxDQUFDRCxlQUFlLENBQUNDLEdBQUcsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFDRixJQUFJLENBQUNnRCxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRW5GLFVBQVUsQ0FBQ29GLDZCQUE2QixFQUFFakQsR0FBRyxJQUFJO01BQzVFLE9BQU8sSUFBSSxDQUFDYyxrQkFBa0IsQ0FBQ2QsR0FBRyxDQUFDO0lBQ3JDLENBQUMsQ0FBQztFQUNKO0FBQ0Y7QUFBQ2tELE9BQUEsQ0FBQXJELGtCQUFBLEdBQUFBLGtCQUFBO0FBQUEsSUFBQXNELFFBQUEsR0FBQUQsT0FBQSxDQUFBNUUsT0FBQSxHQUVjdUIsa0JBQWtCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -22,7 +22,7 @@ class GraphQLRouter extends _PromiseRouter.default {
|
|
|
22
22
|
if (req.auth.isReadOnly) {
|
|
23
23
|
throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to update the GraphQL config.");
|
|
24
24
|
}
|
|
25
|
-
const data = await req.config.parseGraphQLController.updateGraphQLConfig(req.body
|
|
25
|
+
const data = await req.config.parseGraphQLController.updateGraphQLConfig(req.body?.params || {});
|
|
26
26
|
return {
|
|
27
27
|
response: data
|
|
28
28
|
};
|
|
@@ -38,4 +38,4 @@ class GraphQLRouter extends _PromiseRouter.default {
|
|
|
38
38
|
}
|
|
39
39
|
exports.GraphQLRouter = GraphQLRouter;
|
|
40
40
|
var _default = exports.default = GraphQLRouter;
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX1Byb21pc2VSb3V0ZXIiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJHcmFwaFFMQ29uZmlnUGF0aCIsIkdyYXBoUUxSb3V0ZXIiLCJQcm9taXNlUm91dGVyIiwiZ2V0R3JhcGhRTENvbmZpZyIsInJlcSIsInJlc3VsdCIsImNvbmZpZyIsInBhcnNlR3JhcGhRTENvbnRyb2xsZXIiLCJyZXNwb25zZSIsInVwZGF0ZUdyYXBoUUxDb25maWciLCJhdXRoIiwiaXNSZWFkT25seSIsIlBhcnNlIiwiRXJyb3IiLCJPUEVSQVRJT05fRk9SQklEREVOIiwiZGF0YSIsImJvZHkiLCJwYXJhbXMiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9HcmFwaFFMUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCBQcm9taXNlUm91dGVyIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuaW1wb3J0ICogYXMgbWlkZGxld2FyZSBmcm9tICcuLi9taWRkbGV3YXJlcyc7XG5cbmNvbnN0IEdyYXBoUUxDb25maWdQYXRoID0gJy9ncmFwaHFsLWNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBHcmFwaFFMUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGFzeW5jIGdldEdyYXBoUUxDb25maWcocmVxKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNvbmZpZy5wYXJzZUdyYXBoUUxDb250cm9sbGVyLmdldEdyYXBoUUxDb25maWcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2U6IHJlc3VsdCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlR3JhcGhRTENvbmZpZyhyZXEpIHtcbiAgICBpZiAocmVxLmF1dGguaXNSZWFkT25seSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICBcInJlYWQtb25seSBtYXN0ZXJLZXkgaXNuJ3QgYWxsb3dlZCB0byB1cGRhdGUgdGhlIEdyYXBoUUwgY29uZmlnLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVxLmNvbmZpZy5wYXJzZUdyYXBoUUxDb250cm9sbGVyLnVwZGF0ZUdyYXBoUUxDb25maWcocmVxLmJvZHk/LnBhcmFtcyB8fCB7fSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc3BvbnNlOiBkYXRhLFxuICAgIH07XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCBHcmFwaFFMQ29uZmlnUGF0aCwgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEdyYXBoUUxDb25maWcocmVxKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlKCdQVVQnLCBHcmFwaFFMQ29uZmlnUGF0aCwgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUdyYXBoUUxDb25maWcocmVxKTtcbiAgICB9KTtcbiAgfVxufVxuXG5l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
|