parse-server 8.5.0-alpha.11 → 8.5.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -2
- package/lib/Adapters/Auth/AuthAdapter.js +2 -2
- package/lib/Adapters/Auth/apple.js +2 -2
- package/lib/Adapters/Auth/facebook.js +2 -2
- package/lib/Adapters/Cache/CacheAdapter.js +2 -2
- package/lib/Adapters/Email/MailAdapter.js +2 -2
- package/lib/Adapters/Files/FilesAdapter.js +2 -2
- package/lib/Adapters/Files/GridFSBucketAdapter.js +2 -2
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -2
- package/lib/Adapters/Logger/WinstonLogger.js +3 -3
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -2
- package/lib/Adapters/Push/PushAdapter.js +2 -3
- package/lib/Adapters/WebSocketServer/WSAdapter.js +2 -2
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +2 -2
- package/lib/Controllers/HooksController.js +2 -2
- package/lib/Controllers/SchemaController.js +6 -5
- package/lib/Controllers/index.js +2 -2
- package/lib/Error.js +48 -0
- package/lib/GraphQL/loaders/filesMutations.js +2 -2
- package/lib/GraphQL/loaders/schemaMutations.js +5 -4
- package/lib/GraphQL/loaders/usersQueries.js +4 -3
- package/lib/GraphQL/parseGraphQLUtils.js +3 -2
- package/lib/Options/parsers.js +2 -2
- package/lib/RestQuery.js +7 -4
- package/lib/RestWrite.js +6 -6
- package/lib/Routers/ClassesRouter.js +4 -3
- package/lib/Routers/FilesRouter.js +4 -3
- package/lib/Routers/GlobalConfigRouter.js +3 -2
- package/lib/Routers/GraphQLRouter.js +3 -2
- package/lib/Routers/PagesRouter.js +4 -4
- package/lib/Routers/PurgeRouter.js +3 -2
- package/lib/Routers/PushRouter.js +3 -2
- package/lib/Routers/SchemasRouter.js +5 -4
- package/lib/Routers/UsersRouter.js +39 -7
- package/lib/SharedRest.js +8 -7
- package/lib/TestUtils.js +1 -1
- package/lib/Utils.js +2 -2
- package/lib/batch.js +2 -2
- package/lib/cli/utils/runner.js +2 -2
- package/lib/cloud-code/Parse.Cloud.js +43 -1
- package/lib/middlewares.js +9 -10
- package/lib/password.js +2 -2
- package/lib/request.js +2 -2
- package/lib/rest.js +6 -3
- package/lib/triggers.js +5 -4
- package/package.json +2 -1
package/lib/Controllers/index.js
CHANGED
|
@@ -227,7 +227,7 @@ function getDatabaseAdapter(databaseURI, collectionPrefix, databaseOptions) {
|
|
|
227
227
|
try {
|
|
228
228
|
const parsedURI = new URL(databaseURI);
|
|
229
229
|
protocol = parsedURI.protocol ? parsedURI.protocol.toLowerCase() : null;
|
|
230
|
-
} catch
|
|
230
|
+
} catch {
|
|
231
231
|
/* */
|
|
232
232
|
}
|
|
233
233
|
switch (protocol) {
|
|
@@ -246,4 +246,4 @@ function getDatabaseAdapter(databaseURI, collectionPrefix, databaseOptions) {
|
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXV0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX09wdGlvbnMiLCJfQWRhcHRlckxvYWRlciIsIl9kZWZhdWx0cyIsIl9Mb2dnZXJDb250cm9sbGVyIiwiX0ZpbGVzQ29udHJvbGxlciIsIl9Ib29rc0NvbnRyb2xsZXIiLCJfVXNlckNvbnRyb2xsZXIiLCJfQ2FjaGVDb250cm9sbGVyIiwiX0xpdmVRdWVyeUNvbnRyb2xsZXIiLCJfQW5hbHl0aWNzQ29udHJvbGxlciIsIl9QdXNoQ29udHJvbGxlciIsIl9QdXNoUXVldWUiLCJfUHVzaFdvcmtlciIsIl9EYXRhYmFzZUNvbnRyb2xsZXIiLCJfR3JpZEZTQnVja2V0QWRhcHRlciIsIl9XaW5zdG9uTG9nZ2VyQWRhcHRlciIsIl9Jbk1lbW9yeUNhY2hlQWRhcHRlciIsIl9BbmFseXRpY3NBZGFwdGVyIiwiX01vbmdvU3RvcmFnZUFkYXB0ZXIiLCJfUG9zdGdyZXNTdG9yYWdlQWRhcHRlciIsIl9QYXJzZUdyYXBoUUxDb250cm9sbGVyIiwiX1NjaGVtYUNhY2hlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZ2V0Q29udHJvbGxlcnMiLCJvcHRpb25zIiwibG9nZ2VyQ29udHJvbGxlciIsImdldExvZ2dlckNvbnRyb2xsZXIiLCJmaWxlc0NvbnRyb2xsZXIiLCJnZXRGaWxlc0NvbnRyb2xsZXIiLCJ1c2VyQ29udHJvbGxlciIsImdldFVzZXJDb250cm9sbGVyIiwiY2FjaGVDb250cm9sbGVyIiwiZ2V0Q2FjaGVDb250cm9sbGVyIiwiYW5hbHl0aWNzQ29udHJvbGxlciIsImdldEFuYWx5dGljc0NvbnRyb2xsZXIiLCJsaXZlUXVlcnlDb250cm9sbGVyIiwiZ2V0TGl2ZVF1ZXJ5Q29udHJvbGxlciIsImRhdGFiYXNlQ29udHJvbGxlciIsImdldERhdGFiYXNlQ29udHJvbGxlciIsImhvb2tzQ29udHJvbGxlciIsImdldEhvb2tzQ29udHJvbGxlciIsImF1dGhEYXRhTWFuYWdlciIsImdldEF1dGhEYXRhTWFuYWdlciIsInBhcnNlR3JhcGhRTENvbnRyb2xsZXIiLCJnZXRQYXJzZUdyYXBoUUxDb250cm9sbGVyIiwic2NoZW1hQ2FjaGUiLCJTY2hlbWFDYWNoZSIsImFwcElkIiwianNvbkxvZ3MiLCJsb2dzRm9sZGVyIiwidmVyYm9zZSIsImxvZ0xldmVsIiwibWF4TG9nRmlsZXMiLCJzaWxlbnQiLCJsb2dnZXJBZGFwdGVyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckNvbnRyb2xsZXJBZGFwdGVyIiwibG9hZEFkYXB0ZXIiLCJXaW5zdG9uTG9nZ2VyQWRhcHRlciIsIkxvZ2dlckNvbnRyb2xsZXIiLCJkYXRhYmFzZVVSSSIsImRhdGFiYXNlT3B0aW9ucyIsImZpbGVzQWRhcHRlciIsImRhdGFiYXNlQWRhcHRlciIsInByZXNlcnZlRmlsZU5hbWUiLCJmaWxlS2V5IiwiZmlsZXNDb250cm9sbGVyQWRhcHRlciIsIkdyaWRGU0J1Y2tldEFkYXB0ZXIiLCJGaWxlc0NvbnRyb2xsZXIiLCJlbWFpbEFkYXB0ZXIiLCJ2ZXJpZnlVc2VyRW1haWxzIiwiZW1haWxDb250cm9sbGVyQWRhcHRlciIsIlVzZXJDb250cm9sbGVyIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVUVEwiLCJjYWNoZU1heFNpemUiLCJjYWNoZUNvbnRyb2xsZXJBZGFwdGVyIiwiSW5NZW1vcnlDYWNoZUFkYXB0ZXIiLCJ0dGwiLCJtYXhTaXplIiwiQ2FjaGVDb250cm9sbGVyIiwiY29udHJvbGxlckRlcHMiLCJQYXJzZUdyYXBoUUxDb250cm9sbGVyIiwibW91bnRHcmFwaFFMIiwiYW5hbHl0aWNzQWRhcHRlciIsImFuYWx5dGljc0NvbnRyb2xsZXJBZGFwdGVyIiwiQW5hbHl0aWNzQWRhcHRlciIsIkFuYWx5dGljc0NvbnRyb2xsZXIiLCJMaXZlUXVlcnlDb250cm9sbGVyIiwibGl2ZVF1ZXJ5IiwiY29sbGVjdGlvblByZWZpeCIsImRlZmF1bHRzIiwiZ2V0RGF0YWJhc2VBZGFwdGVyIiwiRGF0YWJhc2VDb250cm9sbGVyIiwid2ViaG9va0tleSIsIkhvb2tzQ29udHJvbGxlciIsImdldFB1c2hDb250cm9sbGVyIiwic2NoZWR1bGVkUHVzaCIsInB1c2giLCJwdXNoT3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsInB1c2hRdWV1ZU9wdGlvbnMiLCJxdWV1ZU9wdGlvbnMiLCJQYXJzZVB1c2hBZGFwdGVyIiwibG9hZE1vZHVsZSIsInB1c2hBZGFwdGVyIiwiYWRhcHRlciIsInB1c2hDb250cm9sbGVyIiwiUHVzaENvbnRyb2xsZXIiLCJoYXNQdXNoU3VwcG9ydCIsImhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0IiwiZGlzYWJsZVB1c2hXb3JrZXIiLCJwdXNoQ29udHJvbGxlclF1ZXVlIiwiUHVzaFF1ZXVlIiwicHVzaFdvcmtlciIsIlB1c2hXb3JrZXIiLCJhdXRoIiwiZW5hYmxlQW5vbnltb3VzVXNlcnMiLCJwcm90b2NvbCIsInBhcnNlZFVSSSIsIlVSTCIsInRvTG93ZXJDYXNlIiwiUG9zdGdyZXNTdG9yYWdlQWRhcHRlciIsInVyaSIsIk1vbmdvU3RvcmFnZUFkYXB0ZXIiLCJtb25nb09wdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udHJvbGxlcnMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF1dGhEYXRhTWFuYWdlciBmcm9tICcuLi9BZGFwdGVycy9BdXRoJztcbmltcG9ydCB7IFBhcnNlU2VydmVyT3B0aW9ucyB9IGZyb20gJy4uL09wdGlvbnMnO1xuaW1wb3J0IHsgbG9hZEFkYXB0ZXIsIGxvYWRNb2R1bGUgfSBmcm9tICcuLi9BZGFwdGVycy9BZGFwdGVyTG9hZGVyJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuLi9kZWZhdWx0cyc7XG4vLyBDb250cm9sbGVyc1xuaW1wb3J0IHsgTG9nZ2VyQ29udHJvbGxlciB9IGZyb20gJy4vTG9nZ2VyQ29udHJvbGxlcic7XG5pbXBvcnQgeyBGaWxlc0NvbnRyb2xsZXIgfSBmcm9tICcuL0ZpbGVzQ29udHJvbGxlcic7XG5pbXBvcnQgeyBIb29rc0NvbnRyb2xsZXIgfSBmcm9tICcuL0hvb2tzQ29udHJvbGxlcic7XG5pbXBvcnQgeyBVc2VyQ29udHJvbGxlciB9IGZyb20gJy4vVXNlckNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQ2FjaGVDb250cm9sbGVyIH0gZnJvbSAnLi9DYWNoZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgTGl2ZVF1ZXJ5Q29udHJvbGxlciB9IGZyb20gJy4vTGl2ZVF1ZXJ5Q29udHJvbGxlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NDb250cm9sbGVyIH0gZnJvbSAnLi9BbmFseXRpY3NDb250cm9sbGVyJztcbmltcG9ydCB7IFB1c2hDb250cm9sbGVyIH0gZnJvbSAnLi9QdXNoQ29udHJvbGxlcic7XG5pbXBvcnQgeyBQdXNoUXVldWUgfSBmcm9tICcuLi9QdXNoL1B1c2hRdWV1ZSc7XG5pbXBvcnQgeyBQdXNoV29ya2VyIH0gZnJvbSAnLi4vUHVzaC9QdXNoV29ya2VyJztcbmltcG9ydCBEYXRhYmFzZUNvbnRyb2xsZXIgZnJvbSAnLi9EYXRhYmFzZUNvbnRyb2xsZXInO1xuXG4vLyBBZGFwdGVyc1xuaW1wb3J0IHsgR3JpZEZTQnVja2V0QWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0ZpbGVzL0dyaWRGU0J1Y2tldEFkYXB0ZXInO1xuaW1wb3J0IHsgV2luc3RvbkxvZ2dlckFkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9Mb2dnZXIvV2luc3RvbkxvZ2dlckFkYXB0ZXInO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZUFkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9DYWNoZS9Jbk1lbW9yeUNhY2hlQWRhcHRlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvQW5hbHl0aWNzL0FuYWx5dGljc0FkYXB0ZXInO1xuaW1wb3J0IE1vbmdvU3RvcmFnZUFkYXB0ZXIgZnJvbSAnLi4vQWRhcHRlcnMvU3RvcmFnZS9Nb25nby9Nb25nb1N0b3JhZ2VBZGFwdGVyJztcbmltcG9ydCBQb3N0Z3Jlc1N0b3JhZ2VBZGFwdGVyIGZyb20gJy4uL0FkYXB0ZXJzL1N0b3JhZ2UvUG9zdGdyZXMvUG9zdGdyZXNTdG9yYWdlQWRhcHRlcic7XG5pbXBvcnQgUGFyc2VHcmFwaFFMQ29udHJvbGxlciBmcm9tICcuL1BhcnNlR3JhcGhRTENvbnRyb2xsZXInO1xuaW1wb3J0IFNjaGVtYUNhY2hlIGZyb20gJy4uL0FkYXB0ZXJzL0NhY2hlL1NjaGVtYUNhY2hlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRyb2xsZXJzKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucykge1xuICBjb25zdCBsb2dnZXJDb250cm9sbGVyID0gZ2V0TG9nZ2VyQ29udHJvbGxlcihvcHRpb25zKTtcbiAgY29uc3QgZmlsZXNDb250cm9sbGVyID0gZ2V0RmlsZXNDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCB1c2VyQ29udHJvbGxlciA9IGdldFVzZXJDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBjYWNoZUNvbnRyb2xsZXIgPSBnZXRDYWNoZUNvbnRyb2xsZXIob3B0aW9ucyk7XG4gIGNvbnN0IGFuYWx5dGljc0NvbnRyb2xsZXIgPSBnZXRBbmFseXRpY3NDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBsaXZlUXVlcnlDb250cm9sbGVyID0gZ2V0TGl2ZVF1ZXJ5Q29udHJvbGxlcihvcHRpb25zKTtcbiAgY29uc3QgZGF0YWJhc2VDb250cm9sbGVyID0gZ2V0RGF0YWJhc2VDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBob29rc0NvbnRyb2xsZXIgPSBnZXRIb29rc0NvbnRyb2xsZXIob3B0aW9ucywgZGF0YWJhc2VDb250cm9sbGVyKTtcbiAgY29uc3QgYXV0aERhdGFNYW5hZ2VyID0gZ2V0QXV0aERhdGFNYW5hZ2VyKG9wdGlvbnMpO1xuICBjb25zdCBwYXJzZUdyYXBoUUxDb250cm9sbGVyID0gZ2V0UGFyc2VHcmFwaFFMQ29udHJvbGxlcihvcHRpb25zLCB7XG4gICAgZGF0YWJhc2VDb250cm9sbGVyLFxuICAgIGNhY2hlQ29udHJvbGxlcixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgbG9nZ2VyQ29udHJvbGxlcixcbiAgICBmaWxlc0NvbnRyb2xsZXIsXG4gICAgdXNlckNvbnRyb2xsZXIsXG4gICAgYW5hbHl0aWNzQ29udHJvbGxlcixcbiAgICBjYWNoZUNvbnRyb2xsZXIsXG4gICAgcGFyc2VHcmFwaFFMQ29udHJvbGxlcixcbiAgICBsaXZlUXVlcnlDb250cm9sbGVyLFxuICAgIGRhdGFiYXNlQ29udHJvbGxlcixcbiAgICBob29rc0NvbnRyb2xsZXIsXG4gICAgYXV0aERhdGFNYW5hZ2VyLFxuICAgIHNjaGVtYUNhY2hlOiBTY2hlbWFDYWNoZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExvZ2dlckNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogTG9nZ2VyQ29udHJvbGxlciB7XG4gIGNvbnN0IHtcbiAgICBhcHBJZCxcbiAgICBqc29uTG9ncyxcbiAgICBsb2dzRm9sZGVyLFxuICAgIHZlcmJvc2UsXG4gICAgbG9nTGV2ZWwsXG4gICAgbWF4TG9nRmlsZXMsXG4gICAgc2lsZW50LFxuICAgIGxvZ2dlckFkYXB0ZXIsXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBsb2dnZXJPcHRpb25zID0ge1xuICAgIGpzb25Mb2dzLFxuICAgIGxvZ3NGb2xkZXIsXG4gICAgdmVyYm9zZSxcbiAgICBsb2dMZXZlbCxcbiAgICBzaWxlbnQsXG4gICAgbWF4TG9nRmlsZXMsXG4gIH07XG4gIGNvbnN0IGxvZ2dlckNvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIobG9nZ2VyQWRhcHRlciwgV2luc3RvbkxvZ2dlckFkYXB0ZXIsIGxvZ2dlck9wdGlvbnMpO1xuICByZXR1cm4gbmV3IExvZ2dlckNvbnRyb2xsZXIobG9nZ2VyQ29udHJvbGxlckFkYXB0ZXIsIGFwcElkLCBsb2dnZXJPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVzQ29udHJvbGxlcihvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMpOiBGaWxlc0NvbnRyb2xsZXIge1xuICBjb25zdCB7XG4gICAgYXBwSWQsXG4gICAgZGF0YWJhc2VVUkksXG4gICAgZGF0YWJhc2VPcHRpb25zID0ge30sXG4gICAgZmlsZXNBZGFwdGVyLFxuICAgIGRhdGFiYXNlQWRhcHRlcixcbiAgICBwcmVzZXJ2ZUZpbGVOYW1lLFxuICAgIGZpbGVLZXksXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoIWZpbGVzQWRhcHRlciAmJiBkYXRhYmFzZUFkYXB0ZXIpIHtcbiAgICB0aHJvdyAnV2hlbiB1c2luZyBhbiBleHBsaWNpdCBkYXRhYmFzZSBhZGFwdGVyLCB5b3UgbXVzdCBhbHNvIHVzZSBhbiBleHBsaWNpdCBmaWxlc0FkYXB0ZXIuJztcbiAgfVxuICBjb25zdCBmaWxlc0NvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIoZmlsZXNBZGFwdGVyLCAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBHcmlkRlNCdWNrZXRBZGFwdGVyKGRhdGFiYXNlVVJJLCBkYXRhYmFzZU9wdGlvbnMsIGZpbGVLZXkpO1xuICB9KTtcbiAgcmV0dXJuIG5ldyBGaWxlc0NvbnRyb2xsZXIoZmlsZXNDb250cm9sbGVyQWRhcHRlciwgYXBwSWQsIHtcbiAgICBwcmVzZXJ2ZUZpbGVOYW1lLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVzZXJDb250cm9sbGVyKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyk6IFVzZXJDb250cm9sbGVyIHtcbiAgY29uc3QgeyBhcHBJZCwgZW1haWxBZGFwdGVyLCB2ZXJpZnlVc2VyRW1haWxzIH0gPSBvcHRpb25zO1xuICBjb25zdCBlbWFpbENvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIoZW1haWxBZGFwdGVyKTtcbiAgcmV0dXJuIG5ldyBVc2VyQ29udHJvbGxlcihlbWFpbENvbnRyb2xsZXJBZGFwdGVyLCBhcHBJZCwge1xuICAgIHZlcmlmeVVzZXJFbWFpbHMsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FjaGVDb250cm9sbGVyKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyk6IENhY2hlQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYXBwSWQsIGNhY2hlQWRhcHRlciwgY2FjaGVUVEwsIGNhY2hlTWF4U2l6ZSB9ID0gb3B0aW9ucztcbiAgY29uc3QgY2FjaGVDb250cm9sbGVyQWRhcHRlciA9IGxvYWRBZGFwdGVyKGNhY2hlQWRhcHRlciwgSW5NZW1vcnlDYWNoZUFkYXB0ZXIsIHtcbiAgICBhcHBJZDogYXBwSWQsXG4gICAgdHRsOiBjYWNoZVRUTCxcbiAgICBtYXhTaXplOiBjYWNoZU1heFNpemUsXG4gIH0pO1xuICByZXR1cm4gbmV3IENhY2hlQ29udHJvbGxlcihjYWNoZUNvbnRyb2xsZXJBZGFwdGVyLCBhcHBJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJzZUdyYXBoUUxDb250cm9sbGVyKFxuICBvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMsXG4gIGNvbnRyb2xsZXJEZXBzXG4pOiBQYXJzZUdyYXBoUUxDb250cm9sbGVyIHtcbiAgcmV0dXJuIG5ldyBQYXJzZUdyYXBoUUxDb250cm9sbGVyKHtcbiAgICBtb3VudEdyYXBoUUw6IG9wdGlvbnMubW91bnRHcmFwaFFMLFxuICAgIC4uLmNvbnRyb2xsZXJEZXBzLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFuYWx5dGljc0NvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogQW5hbHl0aWNzQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYW5hbHl0aWNzQWRhcHRlciB9ID0gb3B0aW9ucztcbiAgY29uc3QgYW5hbHl0aWNzQ29udHJvbGxlckFkYXB0ZXIgPSBsb2FkQWRhcHRlcihhbmFseXRpY3NBZGFwdGVyLCBBbmFseXRpY3NBZGFwdGVyKTtcbiAgcmV0dXJuIG5ldyBBbmFseXRpY3NDb250cm9sbGVyKGFuYWx5dGljc0NvbnRyb2xsZXJBZGFwdGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpdmVRdWVyeUNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogTGl2ZVF1ZXJ5Q29udHJvbGxlciB7XG4gIHJldHVybiBuZXcgTGl2ZVF1ZXJ5Q29udHJvbGxlcihvcHRpb25zLmxpdmVRdWVyeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRhYmFzZUNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogRGF0YWJhc2VDb250cm9sbGVyIHtcbiAgY29uc3QgeyBkYXRhYmFzZVVSSSwgY29sbGVjdGlvblByZWZpeCwgZGF0YWJhc2VPcHRpb25zIH0gPSBvcHRpb25zO1xuICBsZXQgeyBkYXRhYmFzZUFkYXB0ZXIgfSA9IG9wdGlvbnM7XG4gIGlmIChcbiAgICAoZGF0YWJhc2VPcHRpb25zIHx8XG4gICAgICAoZGF0YWJhc2VVUkkgJiYgZGF0YWJhc2VVUkkgIT09IGRlZmF1bHRzLmRhdGFiYXNlVVJJKSB8fFxuICAgICAgY29sbGVjdGlvblByZWZpeCAhPT0gZGVmYXVsdHMuY29sbGVjdGlvblByZWZpeCkgJiZcbiAgICBkYXRhYmFzZUFkYXB0ZXJcbiAgKSB7XG4gICAgdGhyb3cgJ1lvdSBjYW5ub3Qgc3BlY2lmeSBib3RoIGEgZGF0YWJhc2VBZGFwdGVyIGFuZCBhIGRhdGFiYXNlVVJJL2RhdGFiYXNlT3B0aW9ucy9jb2xsZWN0aW9uUHJlZml4Lic7XG4gIH0gZWxzZSBpZiAoIWRhdGFiYXNlQWRhcHRlcikge1xuICAgIGRhdGFiYXNlQWRhcHRlciA9IGdldERhdGFiYXNlQWRhcHRlcihkYXRhYmFzZVVSSSwgY29sbGVjdGlvblByZWZpeCwgZGF0YWJhc2VPcHRpb25zKTtcbiAgfSBlbHNlIHtcbiAgICBkYXRhYmFzZUFkYXB0ZXIgPSBsb2FkQWRhcHRlcihkYXRhYmFzZUFkYXB0ZXIpO1xuICB9XG4gIHJldHVybiBuZXcgRGF0YWJhc2VDb250cm9sbGVyKGRhdGFiYXNlQWRhcHRlciwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb29rc0NvbnRyb2xsZXIoXG4gIG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyxcbiAgZGF0YWJhc2VDb250cm9sbGVyOiBEYXRhYmFzZUNvbnRyb2xsZXJcbik6IEhvb2tzQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYXBwSWQsIHdlYmhvb2tLZXkgfSA9IG9wdGlvbnM7XG4gIHJldHVybiBuZXcgSG9va3NDb250cm9sbGVyKGFwcElkLCBkYXRhYmFzZUNvbnRyb2xsZXIsIHdlYmhvb2tLZXkpO1xufVxuXG5pbnRlcmZhY2UgUHVzaENvbnRyb2xsaW5nIHtcbiAgcHVzaENvbnRyb2xsZXI6IFB1c2hDb250cm9sbGVyO1xuICBoYXNQdXNoU2NoZWR1bGVkU3VwcG9ydDogYm9vbGVhbjtcbiAgcHVzaENvbnRyb2xsZXJRdWV1ZTogUHVzaFF1ZXVlO1xuICBwdXNoV29ya2VyOiBQdXNoV29ya2VyO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHVzaENvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogUHVzaENvbnRyb2xsaW5nIHtcbiAgY29uc3QgeyBzY2hlZHVsZWRQdXNoLCBwdXNoIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IHB1c2hPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgcHVzaCk7XG4gIGNvbnN0IHB1c2hRdWV1ZU9wdGlvbnMgPSBwdXNoT3B0aW9ucy5xdWV1ZU9wdGlvbnMgfHwge307XG4gIGlmIChwdXNoT3B0aW9ucy5xdWV1ZU9wdGlvbnMpIHtcbiAgICBkZWxldGUgcHVzaE9wdGlvbnMucXVldWVPcHRpb25zO1xuICB9XG5cbiAgLy8gUGFzcyB0aGUgcHVzaCBvcHRpb25zIHRvbyBhcyBpdCB3b3JrcyB3aXRoIHRoZSBkZWZhdWx0XG4gIGNvbnN0IFBhcnNlUHVzaEFkYXB0ZXIgPSBhd2FpdCBsb2FkTW9kdWxlKCdAcGFyc2UvcHVzaC1hZGFwdGVyJyk7XG4gIGNvbnN0IHB1c2hBZGFwdGVyID0gbG9hZEFkYXB0ZXIoXG4gICAgcHVzaE9wdGlvbnMgJiYgcHVzaE9wdGlvbnMuYWRhcHRlcixcbiAgICBQYXJzZVB1c2hBZGFwdGVyLFxuICAgIHB1c2hPcHRpb25zXG4gICk7XG4gIC8vIFdlIHBhc3MgdGhlIG9wdGlvbnMgYW5kIHRoZSBiYXNlIGNsYXNzIGZvciB0aGUgYWRhdHBlcixcbiAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgYW4gaW5zdGFuY2Ugd291bGQgd29yayB0b29cbiAgY29uc3QgcHVzaENvbnRyb2xsZXIgPSBuZXcgUHVzaENvbnRyb2xsZXIoKTtcbiAgY29uc3QgaGFzUHVzaFN1cHBvcnQgPSAhIShwdXNoQWRhcHRlciAmJiBwdXNoKTtcbiAgY29uc3QgaGFzUHVzaFNjaGVkdWxlZFN1cHBvcnQgPSBoYXNQdXNoU3VwcG9ydCAmJiBzY2hlZHVsZWRQdXNoID09PSB0cnVlO1xuXG4gIGNvbnN0IHsgZGlzYWJsZVB1c2hXb3JrZXIgfSA9IHB1c2hRdWV1ZU9wdGlvbnM7XG5cbiAgY29uc3QgcHVzaENvbnRyb2xsZXJRdWV1ZSA9IG5ldyBQdXNoUXVldWUocHVzaFF1ZXVlT3B0aW9ucyk7XG4gIGxldCBwdXNoV29ya2VyO1xuICBpZiAoIWRpc2FibGVQdXNoV29ya2VyKSB7XG4gICAgcHVzaFdvcmtlciA9IG5ldyBQdXNoV29ya2VyKHB1c2hBZGFwdGVyLCBwdXNoUXVldWVPcHRpb25zKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHB1c2hDb250cm9sbGVyLFxuICAgIGhhc1B1c2hTdXBwb3J0LFxuICAgIGhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0LFxuICAgIHB1c2hDb250cm9sbGVyUXVldWUsXG4gICAgcHVzaFdvcmtlcixcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dGhEYXRhTWFuYWdlcihvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMpIHtcbiAgY29uc3QgeyBhdXRoLCBlbmFibGVBbm9ueW1vdXNVc2VycyB9ID0gb3B0aW9ucztcbiAgcmV0dXJuIGF1dGhEYXRhTWFuYWdlcihhdXRoLCBlbmFibGVBbm9ueW1vdXNVc2Vycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRhYmFzZUFkYXB0ZXIoZGF0YWJhc2VVUkksIGNvbGxlY3Rpb25QcmVmaXgsIGRhdGFiYXNlT3B0aW9ucykge1xuICBsZXQgcHJvdG9jb2w7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkVVJJID0gbmV3IFVSTChkYXRhYmFzZVVSSSk7XG4gICAgcHJvdG9jb2wgPSBwYXJzZWRVUkkucHJvdG9jb2wgPyBwYXJzZWRVUkkucHJvdG9jb2wudG9Mb3dlckNhc2UoKSA6IG51bGw7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvKiAqL1xuICB9XG4gIHN3aXRjaCAocHJvdG9jb2wpIHtcbiAgICBjYXNlICdwb3N0Z3JlczonOlxuICAgIGNhc2UgJ3Bvc3RncmVzcWw6JzpcbiAgICAgIHJldHVybiBuZXcgUG9zdGdyZXNTdG9yYWdlQWRhcHRlcih7XG4gICAgICAgIHVyaTogZGF0YWJhc2VVUkksXG4gICAgICAgIGNvbGxlY3Rpb25QcmVmaXgsXG4gICAgICAgIGRhdGFiYXNlT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbmV3IE1vbmdvU3RvcmFnZUFkYXB0ZXIoe1xuICAgICAgICB1cmk6IGRhdGFiYXNlVVJJLFxuICAgICAgICBjb2xsZWN0aW9uUHJlZml4LFxuICAgICAgICBtb25nb09wdGlvbnM6IGRhdGFiYXNlT3B0aW9ucyxcbiAgICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7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
|
|
249
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXV0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX09wdGlvbnMiLCJfQWRhcHRlckxvYWRlciIsIl9kZWZhdWx0cyIsIl9Mb2dnZXJDb250cm9sbGVyIiwiX0ZpbGVzQ29udHJvbGxlciIsIl9Ib29rc0NvbnRyb2xsZXIiLCJfVXNlckNvbnRyb2xsZXIiLCJfQ2FjaGVDb250cm9sbGVyIiwiX0xpdmVRdWVyeUNvbnRyb2xsZXIiLCJfQW5hbHl0aWNzQ29udHJvbGxlciIsIl9QdXNoQ29udHJvbGxlciIsIl9QdXNoUXVldWUiLCJfUHVzaFdvcmtlciIsIl9EYXRhYmFzZUNvbnRyb2xsZXIiLCJfR3JpZEZTQnVja2V0QWRhcHRlciIsIl9XaW5zdG9uTG9nZ2VyQWRhcHRlciIsIl9Jbk1lbW9yeUNhY2hlQWRhcHRlciIsIl9BbmFseXRpY3NBZGFwdGVyIiwiX01vbmdvU3RvcmFnZUFkYXB0ZXIiLCJfUG9zdGdyZXNTdG9yYWdlQWRhcHRlciIsIl9QYXJzZUdyYXBoUUxDb250cm9sbGVyIiwiX1NjaGVtYUNhY2hlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZ2V0Q29udHJvbGxlcnMiLCJvcHRpb25zIiwibG9nZ2VyQ29udHJvbGxlciIsImdldExvZ2dlckNvbnRyb2xsZXIiLCJmaWxlc0NvbnRyb2xsZXIiLCJnZXRGaWxlc0NvbnRyb2xsZXIiLCJ1c2VyQ29udHJvbGxlciIsImdldFVzZXJDb250cm9sbGVyIiwiY2FjaGVDb250cm9sbGVyIiwiZ2V0Q2FjaGVDb250cm9sbGVyIiwiYW5hbHl0aWNzQ29udHJvbGxlciIsImdldEFuYWx5dGljc0NvbnRyb2xsZXIiLCJsaXZlUXVlcnlDb250cm9sbGVyIiwiZ2V0TGl2ZVF1ZXJ5Q29udHJvbGxlciIsImRhdGFiYXNlQ29udHJvbGxlciIsImdldERhdGFiYXNlQ29udHJvbGxlciIsImhvb2tzQ29udHJvbGxlciIsImdldEhvb2tzQ29udHJvbGxlciIsImF1dGhEYXRhTWFuYWdlciIsImdldEF1dGhEYXRhTWFuYWdlciIsInBhcnNlR3JhcGhRTENvbnRyb2xsZXIiLCJnZXRQYXJzZUdyYXBoUUxDb250cm9sbGVyIiwic2NoZW1hQ2FjaGUiLCJTY2hlbWFDYWNoZSIsImFwcElkIiwianNvbkxvZ3MiLCJsb2dzRm9sZGVyIiwidmVyYm9zZSIsImxvZ0xldmVsIiwibWF4TG9nRmlsZXMiLCJzaWxlbnQiLCJsb2dnZXJBZGFwdGVyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckNvbnRyb2xsZXJBZGFwdGVyIiwibG9hZEFkYXB0ZXIiLCJXaW5zdG9uTG9nZ2VyQWRhcHRlciIsIkxvZ2dlckNvbnRyb2xsZXIiLCJkYXRhYmFzZVVSSSIsImRhdGFiYXNlT3B0aW9ucyIsImZpbGVzQWRhcHRlciIsImRhdGFiYXNlQWRhcHRlciIsInByZXNlcnZlRmlsZU5hbWUiLCJmaWxlS2V5IiwiZmlsZXNDb250cm9sbGVyQWRhcHRlciIsIkdyaWRGU0J1Y2tldEFkYXB0ZXIiLCJGaWxlc0NvbnRyb2xsZXIiLCJlbWFpbEFkYXB0ZXIiLCJ2ZXJpZnlVc2VyRW1haWxzIiwiZW1haWxDb250cm9sbGVyQWRhcHRlciIsIlVzZXJDb250cm9sbGVyIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVUVEwiLCJjYWNoZU1heFNpemUiLCJjYWNoZUNvbnRyb2xsZXJBZGFwdGVyIiwiSW5NZW1vcnlDYWNoZUFkYXB0ZXIiLCJ0dGwiLCJtYXhTaXplIiwiQ2FjaGVDb250cm9sbGVyIiwiY29udHJvbGxlckRlcHMiLCJQYXJzZUdyYXBoUUxDb250cm9sbGVyIiwibW91bnRHcmFwaFFMIiwiYW5hbHl0aWNzQWRhcHRlciIsImFuYWx5dGljc0NvbnRyb2xsZXJBZGFwdGVyIiwiQW5hbHl0aWNzQWRhcHRlciIsIkFuYWx5dGljc0NvbnRyb2xsZXIiLCJMaXZlUXVlcnlDb250cm9sbGVyIiwibGl2ZVF1ZXJ5IiwiY29sbGVjdGlvblByZWZpeCIsImRlZmF1bHRzIiwiZ2V0RGF0YWJhc2VBZGFwdGVyIiwiRGF0YWJhc2VDb250cm9sbGVyIiwid2ViaG9va0tleSIsIkhvb2tzQ29udHJvbGxlciIsImdldFB1c2hDb250cm9sbGVyIiwic2NoZWR1bGVkUHVzaCIsInB1c2giLCJwdXNoT3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsInB1c2hRdWV1ZU9wdGlvbnMiLCJxdWV1ZU9wdGlvbnMiLCJQYXJzZVB1c2hBZGFwdGVyIiwibG9hZE1vZHVsZSIsInB1c2hBZGFwdGVyIiwiYWRhcHRlciIsInB1c2hDb250cm9sbGVyIiwiUHVzaENvbnRyb2xsZXIiLCJoYXNQdXNoU3VwcG9ydCIsImhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0IiwiZGlzYWJsZVB1c2hXb3JrZXIiLCJwdXNoQ29udHJvbGxlclF1ZXVlIiwiUHVzaFF1ZXVlIiwicHVzaFdvcmtlciIsIlB1c2hXb3JrZXIiLCJhdXRoIiwiZW5hYmxlQW5vbnltb3VzVXNlcnMiLCJwcm90b2NvbCIsInBhcnNlZFVSSSIsIlVSTCIsInRvTG93ZXJDYXNlIiwiUG9zdGdyZXNTdG9yYWdlQWRhcHRlciIsInVyaSIsIk1vbmdvU3RvcmFnZUFkYXB0ZXIiLCJtb25nb09wdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udHJvbGxlcnMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF1dGhEYXRhTWFuYWdlciBmcm9tICcuLi9BZGFwdGVycy9BdXRoJztcbmltcG9ydCB7IFBhcnNlU2VydmVyT3B0aW9ucyB9IGZyb20gJy4uL09wdGlvbnMnO1xuaW1wb3J0IHsgbG9hZEFkYXB0ZXIsIGxvYWRNb2R1bGUgfSBmcm9tICcuLi9BZGFwdGVycy9BZGFwdGVyTG9hZGVyJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuLi9kZWZhdWx0cyc7XG4vLyBDb250cm9sbGVyc1xuaW1wb3J0IHsgTG9nZ2VyQ29udHJvbGxlciB9IGZyb20gJy4vTG9nZ2VyQ29udHJvbGxlcic7XG5pbXBvcnQgeyBGaWxlc0NvbnRyb2xsZXIgfSBmcm9tICcuL0ZpbGVzQ29udHJvbGxlcic7XG5pbXBvcnQgeyBIb29rc0NvbnRyb2xsZXIgfSBmcm9tICcuL0hvb2tzQ29udHJvbGxlcic7XG5pbXBvcnQgeyBVc2VyQ29udHJvbGxlciB9IGZyb20gJy4vVXNlckNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQ2FjaGVDb250cm9sbGVyIH0gZnJvbSAnLi9DYWNoZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgTGl2ZVF1ZXJ5Q29udHJvbGxlciB9IGZyb20gJy4vTGl2ZVF1ZXJ5Q29udHJvbGxlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NDb250cm9sbGVyIH0gZnJvbSAnLi9BbmFseXRpY3NDb250cm9sbGVyJztcbmltcG9ydCB7IFB1c2hDb250cm9sbGVyIH0gZnJvbSAnLi9QdXNoQ29udHJvbGxlcic7XG5pbXBvcnQgeyBQdXNoUXVldWUgfSBmcm9tICcuLi9QdXNoL1B1c2hRdWV1ZSc7XG5pbXBvcnQgeyBQdXNoV29ya2VyIH0gZnJvbSAnLi4vUHVzaC9QdXNoV29ya2VyJztcbmltcG9ydCBEYXRhYmFzZUNvbnRyb2xsZXIgZnJvbSAnLi9EYXRhYmFzZUNvbnRyb2xsZXInO1xuXG4vLyBBZGFwdGVyc1xuaW1wb3J0IHsgR3JpZEZTQnVja2V0QWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0ZpbGVzL0dyaWRGU0J1Y2tldEFkYXB0ZXInO1xuaW1wb3J0IHsgV2luc3RvbkxvZ2dlckFkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9Mb2dnZXIvV2luc3RvbkxvZ2dlckFkYXB0ZXInO1xuaW1wb3J0IHsgSW5NZW1vcnlDYWNoZUFkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9DYWNoZS9Jbk1lbW9yeUNhY2hlQWRhcHRlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvQW5hbHl0aWNzL0FuYWx5dGljc0FkYXB0ZXInO1xuaW1wb3J0IE1vbmdvU3RvcmFnZUFkYXB0ZXIgZnJvbSAnLi4vQWRhcHRlcnMvU3RvcmFnZS9Nb25nby9Nb25nb1N0b3JhZ2VBZGFwdGVyJztcbmltcG9ydCBQb3N0Z3Jlc1N0b3JhZ2VBZGFwdGVyIGZyb20gJy4uL0FkYXB0ZXJzL1N0b3JhZ2UvUG9zdGdyZXMvUG9zdGdyZXNTdG9yYWdlQWRhcHRlcic7XG5pbXBvcnQgUGFyc2VHcmFwaFFMQ29udHJvbGxlciBmcm9tICcuL1BhcnNlR3JhcGhRTENvbnRyb2xsZXInO1xuaW1wb3J0IFNjaGVtYUNhY2hlIGZyb20gJy4uL0FkYXB0ZXJzL0NhY2hlL1NjaGVtYUNhY2hlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRyb2xsZXJzKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucykge1xuICBjb25zdCBsb2dnZXJDb250cm9sbGVyID0gZ2V0TG9nZ2VyQ29udHJvbGxlcihvcHRpb25zKTtcbiAgY29uc3QgZmlsZXNDb250cm9sbGVyID0gZ2V0RmlsZXNDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCB1c2VyQ29udHJvbGxlciA9IGdldFVzZXJDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBjYWNoZUNvbnRyb2xsZXIgPSBnZXRDYWNoZUNvbnRyb2xsZXIob3B0aW9ucyk7XG4gIGNvbnN0IGFuYWx5dGljc0NvbnRyb2xsZXIgPSBnZXRBbmFseXRpY3NDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBsaXZlUXVlcnlDb250cm9sbGVyID0gZ2V0TGl2ZVF1ZXJ5Q29udHJvbGxlcihvcHRpb25zKTtcbiAgY29uc3QgZGF0YWJhc2VDb250cm9sbGVyID0gZ2V0RGF0YWJhc2VDb250cm9sbGVyKG9wdGlvbnMpO1xuICBjb25zdCBob29rc0NvbnRyb2xsZXIgPSBnZXRIb29rc0NvbnRyb2xsZXIob3B0aW9ucywgZGF0YWJhc2VDb250cm9sbGVyKTtcbiAgY29uc3QgYXV0aERhdGFNYW5hZ2VyID0gZ2V0QXV0aERhdGFNYW5hZ2VyKG9wdGlvbnMpO1xuICBjb25zdCBwYXJzZUdyYXBoUUxDb250cm9sbGVyID0gZ2V0UGFyc2VHcmFwaFFMQ29udHJvbGxlcihvcHRpb25zLCB7XG4gICAgZGF0YWJhc2VDb250cm9sbGVyLFxuICAgIGNhY2hlQ29udHJvbGxlcixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgbG9nZ2VyQ29udHJvbGxlcixcbiAgICBmaWxlc0NvbnRyb2xsZXIsXG4gICAgdXNlckNvbnRyb2xsZXIsXG4gICAgYW5hbHl0aWNzQ29udHJvbGxlcixcbiAgICBjYWNoZUNvbnRyb2xsZXIsXG4gICAgcGFyc2VHcmFwaFFMQ29udHJvbGxlcixcbiAgICBsaXZlUXVlcnlDb250cm9sbGVyLFxuICAgIGRhdGFiYXNlQ29udHJvbGxlcixcbiAgICBob29rc0NvbnRyb2xsZXIsXG4gICAgYXV0aERhdGFNYW5hZ2VyLFxuICAgIHNjaGVtYUNhY2hlOiBTY2hlbWFDYWNoZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExvZ2dlckNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogTG9nZ2VyQ29udHJvbGxlciB7XG4gIGNvbnN0IHtcbiAgICBhcHBJZCxcbiAgICBqc29uTG9ncyxcbiAgICBsb2dzRm9sZGVyLFxuICAgIHZlcmJvc2UsXG4gICAgbG9nTGV2ZWwsXG4gICAgbWF4TG9nRmlsZXMsXG4gICAgc2lsZW50LFxuICAgIGxvZ2dlckFkYXB0ZXIsXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBsb2dnZXJPcHRpb25zID0ge1xuICAgIGpzb25Mb2dzLFxuICAgIGxvZ3NGb2xkZXIsXG4gICAgdmVyYm9zZSxcbiAgICBsb2dMZXZlbCxcbiAgICBzaWxlbnQsXG4gICAgbWF4TG9nRmlsZXMsXG4gIH07XG4gIGNvbnN0IGxvZ2dlckNvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIobG9nZ2VyQWRhcHRlciwgV2luc3RvbkxvZ2dlckFkYXB0ZXIsIGxvZ2dlck9wdGlvbnMpO1xuICByZXR1cm4gbmV3IExvZ2dlckNvbnRyb2xsZXIobG9nZ2VyQ29udHJvbGxlckFkYXB0ZXIsIGFwcElkLCBsb2dnZXJPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVzQ29udHJvbGxlcihvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMpOiBGaWxlc0NvbnRyb2xsZXIge1xuICBjb25zdCB7XG4gICAgYXBwSWQsXG4gICAgZGF0YWJhc2VVUkksXG4gICAgZGF0YWJhc2VPcHRpb25zID0ge30sXG4gICAgZmlsZXNBZGFwdGVyLFxuICAgIGRhdGFiYXNlQWRhcHRlcixcbiAgICBwcmVzZXJ2ZUZpbGVOYW1lLFxuICAgIGZpbGVLZXksXG4gIH0gPSBvcHRpb25zO1xuICBpZiAoIWZpbGVzQWRhcHRlciAmJiBkYXRhYmFzZUFkYXB0ZXIpIHtcbiAgICB0aHJvdyAnV2hlbiB1c2luZyBhbiBleHBsaWNpdCBkYXRhYmFzZSBhZGFwdGVyLCB5b3UgbXVzdCBhbHNvIHVzZSBhbiBleHBsaWNpdCBmaWxlc0FkYXB0ZXIuJztcbiAgfVxuICBjb25zdCBmaWxlc0NvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIoZmlsZXNBZGFwdGVyLCAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBHcmlkRlNCdWNrZXRBZGFwdGVyKGRhdGFiYXNlVVJJLCBkYXRhYmFzZU9wdGlvbnMsIGZpbGVLZXkpO1xuICB9KTtcbiAgcmV0dXJuIG5ldyBGaWxlc0NvbnRyb2xsZXIoZmlsZXNDb250cm9sbGVyQWRhcHRlciwgYXBwSWQsIHtcbiAgICBwcmVzZXJ2ZUZpbGVOYW1lLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVzZXJDb250cm9sbGVyKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyk6IFVzZXJDb250cm9sbGVyIHtcbiAgY29uc3QgeyBhcHBJZCwgZW1haWxBZGFwdGVyLCB2ZXJpZnlVc2VyRW1haWxzIH0gPSBvcHRpb25zO1xuICBjb25zdCBlbWFpbENvbnRyb2xsZXJBZGFwdGVyID0gbG9hZEFkYXB0ZXIoZW1haWxBZGFwdGVyKTtcbiAgcmV0dXJuIG5ldyBVc2VyQ29udHJvbGxlcihlbWFpbENvbnRyb2xsZXJBZGFwdGVyLCBhcHBJZCwge1xuICAgIHZlcmlmeVVzZXJFbWFpbHMsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FjaGVDb250cm9sbGVyKG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyk6IENhY2hlQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYXBwSWQsIGNhY2hlQWRhcHRlciwgY2FjaGVUVEwsIGNhY2hlTWF4U2l6ZSB9ID0gb3B0aW9ucztcbiAgY29uc3QgY2FjaGVDb250cm9sbGVyQWRhcHRlciA9IGxvYWRBZGFwdGVyKGNhY2hlQWRhcHRlciwgSW5NZW1vcnlDYWNoZUFkYXB0ZXIsIHtcbiAgICBhcHBJZDogYXBwSWQsXG4gICAgdHRsOiBjYWNoZVRUTCxcbiAgICBtYXhTaXplOiBjYWNoZU1heFNpemUsXG4gIH0pO1xuICByZXR1cm4gbmV3IENhY2hlQ29udHJvbGxlcihjYWNoZUNvbnRyb2xsZXJBZGFwdGVyLCBhcHBJZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJzZUdyYXBoUUxDb250cm9sbGVyKFxuICBvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMsXG4gIGNvbnRyb2xsZXJEZXBzXG4pOiBQYXJzZUdyYXBoUUxDb250cm9sbGVyIHtcbiAgcmV0dXJuIG5ldyBQYXJzZUdyYXBoUUxDb250cm9sbGVyKHtcbiAgICBtb3VudEdyYXBoUUw6IG9wdGlvbnMubW91bnRHcmFwaFFMLFxuICAgIC4uLmNvbnRyb2xsZXJEZXBzLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFuYWx5dGljc0NvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogQW5hbHl0aWNzQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYW5hbHl0aWNzQWRhcHRlciB9ID0gb3B0aW9ucztcbiAgY29uc3QgYW5hbHl0aWNzQ29udHJvbGxlckFkYXB0ZXIgPSBsb2FkQWRhcHRlcihhbmFseXRpY3NBZGFwdGVyLCBBbmFseXRpY3NBZGFwdGVyKTtcbiAgcmV0dXJuIG5ldyBBbmFseXRpY3NDb250cm9sbGVyKGFuYWx5dGljc0NvbnRyb2xsZXJBZGFwdGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpdmVRdWVyeUNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogTGl2ZVF1ZXJ5Q29udHJvbGxlciB7XG4gIHJldHVybiBuZXcgTGl2ZVF1ZXJ5Q29udHJvbGxlcihvcHRpb25zLmxpdmVRdWVyeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRhYmFzZUNvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogRGF0YWJhc2VDb250cm9sbGVyIHtcbiAgY29uc3QgeyBkYXRhYmFzZVVSSSwgY29sbGVjdGlvblByZWZpeCwgZGF0YWJhc2VPcHRpb25zIH0gPSBvcHRpb25zO1xuICBsZXQgeyBkYXRhYmFzZUFkYXB0ZXIgfSA9IG9wdGlvbnM7XG4gIGlmIChcbiAgICAoZGF0YWJhc2VPcHRpb25zIHx8XG4gICAgICAoZGF0YWJhc2VVUkkgJiYgZGF0YWJhc2VVUkkgIT09IGRlZmF1bHRzLmRhdGFiYXNlVVJJKSB8fFxuICAgICAgY29sbGVjdGlvblByZWZpeCAhPT0gZGVmYXVsdHMuY29sbGVjdGlvblByZWZpeCkgJiZcbiAgICBkYXRhYmFzZUFkYXB0ZXJcbiAgKSB7XG4gICAgdGhyb3cgJ1lvdSBjYW5ub3Qgc3BlY2lmeSBib3RoIGEgZGF0YWJhc2VBZGFwdGVyIGFuZCBhIGRhdGFiYXNlVVJJL2RhdGFiYXNlT3B0aW9ucy9jb2xsZWN0aW9uUHJlZml4Lic7XG4gIH0gZWxzZSBpZiAoIWRhdGFiYXNlQWRhcHRlcikge1xuICAgIGRhdGFiYXNlQWRhcHRlciA9IGdldERhdGFiYXNlQWRhcHRlcihkYXRhYmFzZVVSSSwgY29sbGVjdGlvblByZWZpeCwgZGF0YWJhc2VPcHRpb25zKTtcbiAgfSBlbHNlIHtcbiAgICBkYXRhYmFzZUFkYXB0ZXIgPSBsb2FkQWRhcHRlcihkYXRhYmFzZUFkYXB0ZXIpO1xuICB9XG4gIHJldHVybiBuZXcgRGF0YWJhc2VDb250cm9sbGVyKGRhdGFiYXNlQWRhcHRlciwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb29rc0NvbnRyb2xsZXIoXG4gIG9wdGlvbnM6IFBhcnNlU2VydmVyT3B0aW9ucyxcbiAgZGF0YWJhc2VDb250cm9sbGVyOiBEYXRhYmFzZUNvbnRyb2xsZXJcbik6IEhvb2tzQ29udHJvbGxlciB7XG4gIGNvbnN0IHsgYXBwSWQsIHdlYmhvb2tLZXkgfSA9IG9wdGlvbnM7XG4gIHJldHVybiBuZXcgSG9va3NDb250cm9sbGVyKGFwcElkLCBkYXRhYmFzZUNvbnRyb2xsZXIsIHdlYmhvb2tLZXkpO1xufVxuXG5pbnRlcmZhY2UgUHVzaENvbnRyb2xsaW5nIHtcbiAgcHVzaENvbnRyb2xsZXI6IFB1c2hDb250cm9sbGVyO1xuICBoYXNQdXNoU2NoZWR1bGVkU3VwcG9ydDogYm9vbGVhbjtcbiAgcHVzaENvbnRyb2xsZXJRdWV1ZTogUHVzaFF1ZXVlO1xuICBwdXNoV29ya2VyOiBQdXNoV29ya2VyO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHVzaENvbnRyb2xsZXIob3B0aW9uczogUGFyc2VTZXJ2ZXJPcHRpb25zKTogUHVzaENvbnRyb2xsaW5nIHtcbiAgY29uc3QgeyBzY2hlZHVsZWRQdXNoLCBwdXNoIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IHB1c2hPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgcHVzaCk7XG4gIGNvbnN0IHB1c2hRdWV1ZU9wdGlvbnMgPSBwdXNoT3B0aW9ucy5xdWV1ZU9wdGlvbnMgfHwge307XG4gIGlmIChwdXNoT3B0aW9ucy5xdWV1ZU9wdGlvbnMpIHtcbiAgICBkZWxldGUgcHVzaE9wdGlvbnMucXVldWVPcHRpb25zO1xuICB9XG5cbiAgLy8gUGFzcyB0aGUgcHVzaCBvcHRpb25zIHRvbyBhcyBpdCB3b3JrcyB3aXRoIHRoZSBkZWZhdWx0XG4gIGNvbnN0IFBhcnNlUHVzaEFkYXB0ZXIgPSBhd2FpdCBsb2FkTW9kdWxlKCdAcGFyc2UvcHVzaC1hZGFwdGVyJyk7XG4gIGNvbnN0IHB1c2hBZGFwdGVyID0gbG9hZEFkYXB0ZXIoXG4gICAgcHVzaE9wdGlvbnMgJiYgcHVzaE9wdGlvbnMuYWRhcHRlcixcbiAgICBQYXJzZVB1c2hBZGFwdGVyLFxuICAgIHB1c2hPcHRpb25zXG4gICk7XG4gIC8vIFdlIHBhc3MgdGhlIG9wdGlvbnMgYW5kIHRoZSBiYXNlIGNsYXNzIGZvciB0aGUgYWRhdHBlcixcbiAgLy8gTm90ZSB0aGF0IHBhc3NpbmcgYW4gaW5zdGFuY2Ugd291bGQgd29yayB0b29cbiAgY29uc3QgcHVzaENvbnRyb2xsZXIgPSBuZXcgUHVzaENvbnRyb2xsZXIoKTtcbiAgY29uc3QgaGFzUHVzaFN1cHBvcnQgPSAhIShwdXNoQWRhcHRlciAmJiBwdXNoKTtcbiAgY29uc3QgaGFzUHVzaFNjaGVkdWxlZFN1cHBvcnQgPSBoYXNQdXNoU3VwcG9ydCAmJiBzY2hlZHVsZWRQdXNoID09PSB0cnVlO1xuXG4gIGNvbnN0IHsgZGlzYWJsZVB1c2hXb3JrZXIgfSA9IHB1c2hRdWV1ZU9wdGlvbnM7XG5cbiAgY29uc3QgcHVzaENvbnRyb2xsZXJRdWV1ZSA9IG5ldyBQdXNoUXVldWUocHVzaFF1ZXVlT3B0aW9ucyk7XG4gIGxldCBwdXNoV29ya2VyO1xuICBpZiAoIWRpc2FibGVQdXNoV29ya2VyKSB7XG4gICAgcHVzaFdvcmtlciA9IG5ldyBQdXNoV29ya2VyKHB1c2hBZGFwdGVyLCBwdXNoUXVldWVPcHRpb25zKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHB1c2hDb250cm9sbGVyLFxuICAgIGhhc1B1c2hTdXBwb3J0LFxuICAgIGhhc1B1c2hTY2hlZHVsZWRTdXBwb3J0LFxuICAgIHB1c2hDb250cm9sbGVyUXVldWUsXG4gICAgcHVzaFdvcmtlcixcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF1dGhEYXRhTWFuYWdlcihvcHRpb25zOiBQYXJzZVNlcnZlck9wdGlvbnMpIHtcbiAgY29uc3QgeyBhdXRoLCBlbmFibGVBbm9ueW1vdXNVc2VycyB9ID0gb3B0aW9ucztcbiAgcmV0dXJuIGF1dGhEYXRhTWFuYWdlcihhdXRoLCBlbmFibGVBbm9ueW1vdXNVc2Vycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRhYmFzZUFkYXB0ZXIoZGF0YWJhc2VVUkksIGNvbGxlY3Rpb25QcmVmaXgsIGRhdGFiYXNlT3B0aW9ucykge1xuICBsZXQgcHJvdG9jb2w7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkVVJJID0gbmV3IFVSTChkYXRhYmFzZVVSSSk7XG4gICAgcHJvdG9jb2wgPSBwYXJzZWRVUkkucHJvdG9jb2wgPyBwYXJzZWRVUkkucHJvdG9jb2wudG9Mb3dlckNhc2UoKSA6IG51bGw7XG4gIH0gY2F0Y2gge1xuICAgIC8qICovXG4gIH1cbiAgc3dpdGNoIChwcm90b2NvbCkge1xuICAgIGNhc2UgJ3Bvc3RncmVzOic6XG4gICAgY2FzZSAncG9zdGdyZXNxbDonOlxuICAgICAgcmV0dXJuIG5ldyBQb3N0Z3Jlc1N0b3JhZ2VBZGFwdGVyKHtcbiAgICAgICAgdXJpOiBkYXRhYmFzZVVSSSxcbiAgICAgICAgY29sbGVjdGlvblByZWZpeCxcbiAgICAgICAgZGF0YWJhc2VPcHRpb25zLFxuICAgICAgfSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBuZXcgTW9uZ29TdG9yYWdlQWRhcHRlcih7XG4gICAgICAgIHVyaTogZGF0YWJhc2VVUkksXG4gICAgICAgIGNvbGxlY3Rpb25QcmVmaXgsXG4gICAgICAgIG1vbmdvT3B0aW9uczogZGF0YWJhc2VPcHRpb25zLFxuICAgICAgfSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUNB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
|
package/lib/Error.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSanitizedError = createSanitizedError;
|
|
7
|
+
exports.createSanitizedHttpError = createSanitizedHttpError;
|
|
8
|
+
var _logger = _interopRequireDefault(require("./logger"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
/**
|
|
11
|
+
* Creates a sanitized error that hides detailed information from clients
|
|
12
|
+
* while logging the detailed message server-side.
|
|
13
|
+
*
|
|
14
|
+
* @param {number} errorCode - The Parse.Error code (e.g., Parse.Error.OPERATION_FORBIDDEN)
|
|
15
|
+
* @param {string} detailedMessage - The detailed error message to log server-side
|
|
16
|
+
* @returns {Parse.Error} A Parse.Error with sanitized message
|
|
17
|
+
*/
|
|
18
|
+
function createSanitizedError(errorCode, detailedMessage) {
|
|
19
|
+
// On testing we need to add a prefix to the message to allow to find the correct call in the TestUtils.js file
|
|
20
|
+
if (process.env.TESTING) {
|
|
21
|
+
_logger.default.error('Sanitized error:', detailedMessage);
|
|
22
|
+
} else {
|
|
23
|
+
_logger.default.error(detailedMessage);
|
|
24
|
+
}
|
|
25
|
+
return new Parse.Error(errorCode, 'Permission denied');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Creates a sanitized error from a regular Error object
|
|
30
|
+
* Used for non-Parse.Error errors (e.g., Express errors)
|
|
31
|
+
*
|
|
32
|
+
* @param {number} statusCode - HTTP status code (e.g., 403)
|
|
33
|
+
* @param {string} detailedMessage - The detailed error message to log server-side
|
|
34
|
+
* @returns {Error} An Error with sanitized message
|
|
35
|
+
*/
|
|
36
|
+
function createSanitizedHttpError(statusCode, detailedMessage) {
|
|
37
|
+
// On testing we need to add a prefix to the message to allow to find the correct call in the TestUtils.js file
|
|
38
|
+
if (process.env.TESTING) {
|
|
39
|
+
_logger.default.error('Sanitized error:', detailedMessage);
|
|
40
|
+
} else {
|
|
41
|
+
_logger.default.error(detailedMessage);
|
|
42
|
+
}
|
|
43
|
+
const error = new Error();
|
|
44
|
+
error.status = statusCode;
|
|
45
|
+
error.message = 'Permission denied';
|
|
46
|
+
return error;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjcmVhdGVTYW5pdGl6ZWRFcnJvciIsImVycm9yQ29kZSIsImRldGFpbGVkTWVzc2FnZSIsInByb2Nlc3MiLCJlbnYiLCJURVNUSU5HIiwiZGVmYXVsdExvZ2dlciIsImVycm9yIiwiUGFyc2UiLCJFcnJvciIsImNyZWF0ZVNhbml0aXplZEh0dHBFcnJvciIsInN0YXR1c0NvZGUiLCJzdGF0dXMiLCJtZXNzYWdlIl0sInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWZhdWx0TG9nZ2VyIGZyb20gJy4vbG9nZ2VyJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgc2FuaXRpemVkIGVycm9yIHRoYXQgaGlkZXMgZGV0YWlsZWQgaW5mb3JtYXRpb24gZnJvbSBjbGllbnRzXG4gKiB3aGlsZSBsb2dnaW5nIHRoZSBkZXRhaWxlZCBtZXNzYWdlIHNlcnZlci1zaWRlLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBlcnJvckNvZGUgLSBUaGUgUGFyc2UuRXJyb3IgY29kZSAoZS5nLiwgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTilcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXRhaWxlZE1lc3NhZ2UgLSBUaGUgZGV0YWlsZWQgZXJyb3IgbWVzc2FnZSB0byBsb2cgc2VydmVyLXNpZGVcbiAqIEByZXR1cm5zIHtQYXJzZS5FcnJvcn0gQSBQYXJzZS5FcnJvciB3aXRoIHNhbml0aXplZCBtZXNzYWdlXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVNhbml0aXplZEVycm9yKGVycm9yQ29kZSwgZGV0YWlsZWRNZXNzYWdlKSB7XG4gIC8vIE9uIHRlc3Rpbmcgd2UgbmVlZCB0byBhZGQgYSBwcmVmaXggdG8gdGhlIG1lc3NhZ2UgdG8gYWxsb3cgdG8gZmluZCB0aGUgY29ycmVjdCBjYWxsIGluIHRoZSBUZXN0VXRpbHMuanMgZmlsZVxuICBpZiAocHJvY2Vzcy5lbnYuVEVTVElORykge1xuICAgIGRlZmF1bHRMb2dnZXIuZXJyb3IoJ1Nhbml0aXplZCBlcnJvcjonLCBkZXRhaWxlZE1lc3NhZ2UpO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRMb2dnZXIuZXJyb3IoZGV0YWlsZWRNZXNzYWdlKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUGFyc2UuRXJyb3IoZXJyb3JDb2RlLCAnUGVybWlzc2lvbiBkZW5pZWQnKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc2FuaXRpemVkIGVycm9yIGZyb20gYSByZWd1bGFyIEVycm9yIG9iamVjdFxuICogVXNlZCBmb3Igbm9uLVBhcnNlLkVycm9yIGVycm9ycyAoZS5nLiwgRXhwcmVzcyBlcnJvcnMpXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHN0YXR1c0NvZGUgLSBIVFRQIHN0YXR1cyBjb2RlIChlLmcuLCA0MDMpXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV0YWlsZWRNZXNzYWdlIC0gVGhlIGRldGFpbGVkIGVycm9yIG1lc3NhZ2UgdG8gbG9nIHNlcnZlci1zaWRlXG4gKiBAcmV0dXJucyB7RXJyb3J9IEFuIEVycm9yIHdpdGggc2FuaXRpemVkIG1lc3NhZ2VcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU2FuaXRpemVkSHR0cEVycm9yKHN0YXR1c0NvZGUsIGRldGFpbGVkTWVzc2FnZSkge1xuICAvLyBPbiB0ZXN0aW5nIHdlIG5lZWQgdG8gYWRkIGEgcHJlZml4IHRvIHRoZSBtZXNzYWdlIHRvIGFsbG93IHRvIGZpbmQgdGhlIGNvcnJlY3QgY2FsbCBpbiB0aGUgVGVzdFV0aWxzLmpzIGZpbGVcbiAgaWYgKHByb2Nlc3MuZW52LlRFU1RJTkcpIHtcbiAgICBkZWZhdWx0TG9nZ2VyLmVycm9yKCdTYW5pdGl6ZWQgZXJyb3I6JywgZGV0YWlsZWRNZXNzYWdlKTtcbiAgfSBlbHNlIHtcbiAgICBkZWZhdWx0TG9nZ2VyLmVycm9yKGRldGFpbGVkTWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpO1xuICBlcnJvci5zdGF0dXMgPSBzdGF0dXNDb2RlO1xuICBlcnJvci5tZXNzYWdlID0gJ1Blcm1pc3Npb24gZGVuaWVkJztcbiAgcmV0dXJuIGVycm9yO1xufVxuXG5leHBvcnQgeyBjcmVhdGVTYW5pdGl6ZWRFcnJvciwgY3JlYXRlU2FuaXRpemVkSHR0cEVycm9yIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBcUMsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNHLG9CQUFvQkEsQ0FBQ0MsU0FBUyxFQUFFQyxlQUFlLEVBQUU7RUFDeEQ7RUFDQSxJQUFJQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxFQUFFO0lBQ3ZCQyxlQUFhLENBQUNDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRUwsZUFBZSxDQUFDO0VBQzFELENBQUMsTUFBTTtJQUNMSSxlQUFhLENBQUNDLEtBQUssQ0FBQ0wsZUFBZSxDQUFDO0VBQ3RDO0VBRUEsT0FBTyxJQUFJTSxLQUFLLENBQUNDLEtBQUssQ0FBQ1IsU0FBUyxFQUFFLG1CQUFtQixDQUFDO0FBQ3hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTUyx3QkFBd0JBLENBQUNDLFVBQVUsRUFBRVQsZUFBZSxFQUFFO0VBQzdEO0VBQ0EsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLE9BQU8sRUFBRTtJQUN2QkMsZUFBYSxDQUFDQyxLQUFLLENBQUMsa0JBQWtCLEVBQUVMLGVBQWUsQ0FBQztFQUMxRCxDQUFDLE1BQU07SUFDTEksZUFBYSxDQUFDQyxLQUFLLENBQUNMLGVBQWUsQ0FBQztFQUN0QztFQUVBLE1BQU1LLEtBQUssR0FBRyxJQUFJRSxLQUFLLENBQUMsQ0FBQztFQUN6QkYsS0FBSyxDQUFDSyxNQUFNLEdBQUdELFVBQVU7RUFDekJKLEtBQUssQ0FBQ00sT0FBTyxHQUFHLG1CQUFtQjtFQUNuQyxPQUFPTixLQUFLO0FBQ2QiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -49,7 +49,7 @@ const handleUpload = async (upload, config) => {
|
|
|
49
49
|
res.on('end', () => {
|
|
50
50
|
try {
|
|
51
51
|
resolve(JSON.parse(data));
|
|
52
|
-
} catch
|
|
52
|
+
} catch {
|
|
53
53
|
reject(new _node.default.Error(_node.default.error, data));
|
|
54
54
|
}
|
|
55
55
|
});
|
|
@@ -104,4 +104,4 @@ const load = parseGraphQLSchema => {
|
|
|
104
104
|
parseGraphQLSchema.addGraphQLMutation('createFile', createMutation, true, true);
|
|
105
105
|
};
|
|
106
106
|
exports.load = load;
|
|
107
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbCIsInJlcXVpcmUiLCJfaHR0cCIsIl9ncmFwaHFsUmVsYXkiLCJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbG9nZ2VyIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiaGFuZGxlVXBsb2FkIiwidXBsb2FkIiwiY29uZmlnIiwiY3JlYXRlUmVhZFN0cmVhbSIsImZpbGVuYW1lIiwibWltZXR5cGUiLCJoZWFkZXJzIiwic3RyZWFtIiwibWltZSIsImV4dCIsImdldEV4dGVuc2lvbiIsImZ1bGxGaWxlTmFtZSIsImVuZHNXaXRoIiwic2VydmVyVXJsIiwiVVJMIiwic2VydmVyVVJMIiwiZmlsZUluZm8iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlcSIsInJlcXVlc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwYXRoIiwicGF0aG5hbWUiLCJtZXRob2QiLCJyZXMiLCJkYXRhIiwib24iLCJjaHVuayIsIkpTT04iLCJwYXJzZSIsIlBhcnNlIiwiRXJyb3IiLCJlcnJvciIsInBpcGUiLCJlbmQiLCJkZXN0cm95IiwibG9nZ2VyIiwiRklMRV9TQVZFX0VSUk9SIiwiZXhwb3J0cyIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVNdXRhdGlvbiIsIm11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJpbnB1dEZpZWxkcyIsInR5cGUiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxVcGxvYWQiLCJvdXRwdXRGaWVsZHMiLCJGSUxFX0lORk8iLCJtdXRhdGVBbmRHZXRQYXlsb2FkIiwiYXJncyIsImNvbnRleHQiLCJoYW5kbGVFcnJvciIsImFkZEdyYXBoUUxUeXBlIiwiaW5wdXQiLCJvZlR5cGUiLCJhZGRHcmFwaFFMTXV0YXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9sb2FkZXJzL2ZpbGVzTXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxOb25OdWxsIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4vZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5cbi8vIEhhbmRsZSBHcmFwaFFMIGZpbGUgdXBsb2FkIGFuZCBwcm94eSBmaWxlIHVwbG9hZCB0byBHcmFwaFFMIHNlcnZlciB1cmwgc3BlY2lmaWVkIGluIGNvbmZpZztcbi8vIGBjcmVhdGVGaWxlYCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IFBhcnNlIFNlcnZlciB0byBsZXZlcmFnZSBzdGFuZGFyZCBmaWxlIHVwbG9hZCBtZWNoYW5pc21cbmNvbnN0IGhhbmRsZVVwbG9hZCA9IGFzeW5jICh1cGxvYWQsIGNvbmZpZykgPT4ge1xuICBjb25zdCB7IGNyZWF0ZVJlYWRTdHJlYW0sIGZpbGVuYW1lLCBtaW1ldHlwZSB9ID0gYXdhaXQgdXBsb2FkO1xuICBjb25zdCBoZWFkZXJzID0geyAuLi5jb25maWcuaGVhZGVycyB9O1xuICBkZWxldGUgaGVhZGVyc1snYWNjZXB0LWVuY29kaW5nJ107XG4gIGRlbGV0ZSBoZWFkZXJzWydhY2NlcHQnXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2Nvbm5lY3Rpb24nXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2hvc3QnXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ107XG4gIGNvbnN0IHN0cmVhbSA9IGNyZWF0ZVJlYWRTdHJlYW0oKTtcbiAgY29uc3QgbWltZSA9IChhd2FpdCBpbXBvcnQoJ21pbWUnKSkuZGVmYXVsdDtcbiAgdHJ5IHtcbiAgICBjb25zdCBleHQgPSBtaW1lLmdldEV4dGVuc2lvbihtaW1ldHlwZSk7XG4gICAgY29uc3QgZnVsbEZpbGVOYW1lID0gZmlsZW5hbWUuZW5kc1dpdGgoYC4ke2V4dH1gKSA/IGZpbGVuYW1lIDogYCR7ZmlsZW5hbWV9LiR7ZXh0fWA7XG4gICAgY29uc3Qgc2VydmVyVXJsID0gbmV3IFVSTChjb25maWcuc2VydmVyVVJMKTtcbiAgICBjb25zdCBmaWxlSW5mbyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IHJlcXVlc3QoXG4gICAgICAgIHtcbiAgICAgICAgICBob3N0bmFtZTogc2VydmVyVXJsLmhvc3RuYW1lLFxuICAgICAgICAgIHBvcnQ6IHNlcnZlclVybC5wb3J0LFxuICAgICAgICAgIHBhdGg6IGAke3NlcnZlclVybC5wYXRobmFtZX0vZmlsZXMvJHtmdWxsRmlsZU5hbWV9YCxcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9LFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGxldCBkYXRhID0gJyc7XG4gICAgICAgICAgcmVzLm9uKCdkYXRhJywgY2h1bmsgPT4ge1xuICAgICAgICAgICAgZGF0YSArPSBjaHVuaztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXMub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJlc29sdmUoSlNPTi5wYXJzZShkYXRhKSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIHJlamVjdChuZXcgUGFyc2UuRXJyb3IoUGFyc2UuZXJyb3IsIGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHN0cmVhbS5waXBlKHJlcSk7XG4gICAgICBzdHJlYW0ub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgcmVxLmVuZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVJbmZvLFxuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBzdHJlYW0uZGVzdHJveSgpO1xuICAgIGxvZ2dlci5lcnJvcignRXJyb3IgY3JlYXRpbmcgYSBmaWxlOiAnLCBlKTtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCBgQ291bGQgbm90IHN0b3JlIGZpbGU6ICR7ZmlsZW5hbWV9LmApO1xuICB9XG59O1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgY29uc3QgY3JlYXRlTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnQ3JlYXRlRmlsZScsXG4gICAgZGVzY3JpcHRpb246ICdUaGUgY3JlYXRlRmlsZSBtdXRhdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW5kIHVwbG9hZCBhIG5ldyBmaWxlLicsXG4gICAgaW5wdXRGaWVsZHM6IHtcbiAgICAgIHVwbG9hZDoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5ldyBmaWxlIHRvIGJlIGNyZWF0ZWQgYW5kIHVwbG9hZGVkLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChkZWZhdWx0R3JhcGhRTFR5cGVzLkdyYXBoUUxVcGxvYWQpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG91dHB1dEZpZWxkczoge1xuICAgICAgZmlsZUluZm86IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBjcmVhdGVkIGZpbGUgaW5mby4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5GSUxFX0lORk8pLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHVwbG9hZCB9ID0gYXJncztcbiAgICAgICAgY29uc3QgeyBjb25maWcgfSA9IGNvbnRleHQ7XG4gICAgICAgIHJldHVybiBoYW5kbGVVcGxvYWQodXBsb2FkLCBjb25maWcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGNyZWF0ZU11dGF0aW9uLmFyZ3MuaW5wdXQudHlwZS5vZlR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoY3JlYXRlTXV0YXRpb24udHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMTXV0YXRpb24oJ2NyZWF0ZUZpbGUnLCBjcmVhdGVNdXRhdGlvbiwgdHJ1ZSwgdHJ1ZSk7XG59O1xuXG5leHBvcnQgeyBsb2FkLCBoYW5kbGVVcGxvYWQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssbUJBQUEsR0FBQUMsdUJBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQUgs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
|
|
107
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbCIsInJlcXVpcmUiLCJfaHR0cCIsIl9ncmFwaHFsUmVsYXkiLCJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbG9nZ2VyIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiaGFuZGxlVXBsb2FkIiwidXBsb2FkIiwiY29uZmlnIiwiY3JlYXRlUmVhZFN0cmVhbSIsImZpbGVuYW1lIiwibWltZXR5cGUiLCJoZWFkZXJzIiwic3RyZWFtIiwibWltZSIsImV4dCIsImdldEV4dGVuc2lvbiIsImZ1bGxGaWxlTmFtZSIsImVuZHNXaXRoIiwic2VydmVyVXJsIiwiVVJMIiwic2VydmVyVVJMIiwiZmlsZUluZm8iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlcSIsInJlcXVlc3QiLCJob3N0bmFtZSIsInBvcnQiLCJwYXRoIiwicGF0aG5hbWUiLCJtZXRob2QiLCJyZXMiLCJkYXRhIiwib24iLCJjaHVuayIsIkpTT04iLCJwYXJzZSIsIlBhcnNlIiwiRXJyb3IiLCJlcnJvciIsInBpcGUiLCJlbmQiLCJkZXN0cm95IiwibG9nZ2VyIiwiRklMRV9TQVZFX0VSUk9SIiwiZXhwb3J0cyIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVNdXRhdGlvbiIsIm11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJpbnB1dEZpZWxkcyIsInR5cGUiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxVcGxvYWQiLCJvdXRwdXRGaWVsZHMiLCJGSUxFX0lORk8iLCJtdXRhdGVBbmRHZXRQYXlsb2FkIiwiYXJncyIsImNvbnRleHQiLCJoYW5kbGVFcnJvciIsImFkZEdyYXBoUUxUeXBlIiwiaW5wdXQiLCJvZlR5cGUiLCJhZGRHcmFwaFFMTXV0YXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9sb2FkZXJzL2ZpbGVzTXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxOb25OdWxsIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4vZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5cbi8vIEhhbmRsZSBHcmFwaFFMIGZpbGUgdXBsb2FkIGFuZCBwcm94eSBmaWxlIHVwbG9hZCB0byBHcmFwaFFMIHNlcnZlciB1cmwgc3BlY2lmaWVkIGluIGNvbmZpZztcbi8vIGBjcmVhdGVGaWxlYCBpcyBub3QgZGlyZWN0bHkgY2FsbGVkIGJ5IFBhcnNlIFNlcnZlciB0byBsZXZlcmFnZSBzdGFuZGFyZCBmaWxlIHVwbG9hZCBtZWNoYW5pc21cbmNvbnN0IGhhbmRsZVVwbG9hZCA9IGFzeW5jICh1cGxvYWQsIGNvbmZpZykgPT4ge1xuICBjb25zdCB7IGNyZWF0ZVJlYWRTdHJlYW0sIGZpbGVuYW1lLCBtaW1ldHlwZSB9ID0gYXdhaXQgdXBsb2FkO1xuICBjb25zdCBoZWFkZXJzID0geyAuLi5jb25maWcuaGVhZGVycyB9O1xuICBkZWxldGUgaGVhZGVyc1snYWNjZXB0LWVuY29kaW5nJ107XG4gIGRlbGV0ZSBoZWFkZXJzWydhY2NlcHQnXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2Nvbm5lY3Rpb24nXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2hvc3QnXTtcbiAgZGVsZXRlIGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ107XG4gIGNvbnN0IHN0cmVhbSA9IGNyZWF0ZVJlYWRTdHJlYW0oKTtcbiAgY29uc3QgbWltZSA9IChhd2FpdCBpbXBvcnQoJ21pbWUnKSkuZGVmYXVsdDtcbiAgdHJ5IHtcbiAgICBjb25zdCBleHQgPSBtaW1lLmdldEV4dGVuc2lvbihtaW1ldHlwZSk7XG4gICAgY29uc3QgZnVsbEZpbGVOYW1lID0gZmlsZW5hbWUuZW5kc1dpdGgoYC4ke2V4dH1gKSA/IGZpbGVuYW1lIDogYCR7ZmlsZW5hbWV9LiR7ZXh0fWA7XG4gICAgY29uc3Qgc2VydmVyVXJsID0gbmV3IFVSTChjb25maWcuc2VydmVyVVJMKTtcbiAgICBjb25zdCBmaWxlSW5mbyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IHJlcXVlc3QoXG4gICAgICAgIHtcbiAgICAgICAgICBob3N0bmFtZTogc2VydmVyVXJsLmhvc3RuYW1lLFxuICAgICAgICAgIHBvcnQ6IHNlcnZlclVybC5wb3J0LFxuICAgICAgICAgIHBhdGg6IGAke3NlcnZlclVybC5wYXRobmFtZX0vZmlsZXMvJHtmdWxsRmlsZU5hbWV9YCxcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICB9LFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIGxldCBkYXRhID0gJyc7XG4gICAgICAgICAgcmVzLm9uKCdkYXRhJywgY2h1bmsgPT4ge1xuICAgICAgICAgICAgZGF0YSArPSBjaHVuaztcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXMub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJlc29sdmUoSlNPTi5wYXJzZShkYXRhKSk7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgcmVqZWN0KG5ldyBQYXJzZS5FcnJvcihQYXJzZS5lcnJvciwgZGF0YSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgICAgc3RyZWFtLnBpcGUocmVxKTtcbiAgICAgIHN0cmVhbS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICByZXEuZW5kKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgZmlsZUluZm8sXG4gICAgfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHN0cmVhbS5kZXN0cm95KCk7XG4gICAgbG9nZ2VyLmVycm9yKCdFcnJvciBjcmVhdGluZyBhIGZpbGU6ICcsIGUpO1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsIGBDb3VsZCBub3Qgc3RvcmUgZmlsZTogJHtmaWxlbmFtZX0uYCk7XG4gIH1cbn07XG5cbmNvbnN0IGxvYWQgPSBwYXJzZUdyYXBoUUxTY2hlbWEgPT4ge1xuICBjb25zdCBjcmVhdGVNdXRhdGlvbiA9IG11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQoe1xuICAgIG5hbWU6ICdDcmVhdGVGaWxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBjcmVhdGVGaWxlIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBhbmQgdXBsb2FkIGEgbmV3IGZpbGUuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgdXBsb2FkOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgbmV3IGZpbGUgdG8gYmUgY3JlYXRlZCBhbmQgdXBsb2FkZWQuJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGRlZmF1bHRHcmFwaFFMVHlwZXMuR3JhcGhRTFVwbG9hZCksXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3V0cHV0RmllbGRzOiB7XG4gICAgICBmaWxlSW5mbzoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIGNyZWF0ZWQgZmlsZSBpbmZvLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChkZWZhdWx0R3JhcGhRTFR5cGVzLkZJTEVfSU5GTyksXG4gICAgICB9LFxuICAgIH0sXG4gICAgbXV0YXRlQW5kR2V0UGF5bG9hZDogYXN5bmMgKGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdXBsb2FkIH0gPSBhcmdzO1xuICAgICAgICBjb25zdCB7IGNvbmZpZyB9ID0gY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVVwbG9hZCh1cGxvYWQsIGNvbmZpZyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYS5oYW5kbGVFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoY3JlYXRlTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVNdXRhdGlvbi50eXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxNdXRhdGlvbignY3JlYXRlRmlsZScsIGNyZWF0ZU11dGF0aW9uLCB0cnVlLCB0cnVlKTtcbn07XG5cbmV4cG9ydCB7IGxvYWQsIGhhbmRsZVVwbG9hZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBSCxzQkFB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
|
|
@@ -12,6 +12,7 @@ var schemaTypes = _interopRequireWildcard(require("./schemaTypes"));
|
|
|
12
12
|
var _schemaFields = require("../transformers/schemaFields");
|
|
13
13
|
var _parseGraphQLUtils = require("../parseGraphQLUtils");
|
|
14
14
|
var _schemaQueries = require("./schemaQueries");
|
|
15
|
+
var _Error = require("../../Error");
|
|
15
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
const load = parseGraphQLSchema => {
|
|
@@ -43,7 +44,7 @@ const load = parseGraphQLSchema => {
|
|
|
43
44
|
} = context;
|
|
44
45
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
45
46
|
if (auth.isReadOnly) {
|
|
46
|
-
throw
|
|
47
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to create a schema.");
|
|
47
48
|
}
|
|
48
49
|
const schema = await config.database.loadSchema({
|
|
49
50
|
clearCache: true
|
|
@@ -91,7 +92,7 @@ const load = parseGraphQLSchema => {
|
|
|
91
92
|
} = context;
|
|
92
93
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
93
94
|
if (auth.isReadOnly) {
|
|
94
|
-
throw
|
|
95
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to update a schema.");
|
|
95
96
|
}
|
|
96
97
|
const schema = await config.database.loadSchema({
|
|
97
98
|
clearCache: true
|
|
@@ -135,7 +136,7 @@ const load = parseGraphQLSchema => {
|
|
|
135
136
|
} = context;
|
|
136
137
|
(0, _parseGraphQLUtils.enforceMasterKeyAccess)(auth);
|
|
137
138
|
if (auth.isReadOnly) {
|
|
138
|
-
throw
|
|
139
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to delete a schema.");
|
|
139
140
|
}
|
|
140
141
|
const schema = await config.database.loadSchema({
|
|
141
142
|
clearCache: true
|
|
@@ -158,4 +159,4 @@ const load = parseGraphQLSchema => {
|
|
|
158
159
|
parseGraphQLSchema.addGraphQLMutation('deleteClass', deleteClassMutation, true, true);
|
|
159
160
|
};
|
|
160
161
|
exports.load = load;
|
|
161
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWwiLCJfZGVlcGNvcHkiLCJfZ3JhcGhxbFJlbGF5Iiwic2NoZW1hVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9zY2hlbWFGaWVsZHMiLCJfcGFyc2VHcmFwaFFMVXRpbHMiLCJfc2NoZW1hUXVlcmllcyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVDbGFzc011dGF0aW9uIiwibXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImlucHV0RmllbGRzIiwiQ0xBU1NfTkFNRV9BVFQiLCJzY2hlbWFGaWVsZHMiLCJ0eXBlIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsIm91dHB1dEZpZWxkcyIsImNsYXNzIiwiR3JhcGhRTE5vbk51bGwiLCJDTEFTUyIsIm11dGF0ZUFuZEdldFBheWxvYWQiLCJhcmdzIiwiY29udGV4dCIsImRlZXBjb3B5IiwiY29uZmlnIiwiYXV0aCIsImVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJpc1JlYWRPbmx5IiwiUGFyc2UiLCJFcnJvciIsIk9QRVJBVElPTl9GT1JCSURERU4iLCJzY2hlbWEiLCJkYXRhYmFzZSIsImxvYWRTY2hlbWEiLCJjbGVhckNhY2hlIiwicGFyc2VDbGFzcyIsImFkZENsYXNzSWZOb3RFeGlzdHMiLCJ0cmFuc2Zvcm1Ub1BhcnNlIiwiY2xhc3NOYW1lIiwidHJhbnNmb3JtVG9HcmFwaFFMIiwiZmllbGRzIiwiaGFuZGxlRXJyb3IiLCJhZGRHcmFwaFFMVHlwZSIsImlucHV0Iiwib2ZUeXBlIiwiYWRkR3JhcGhRTE11dGF0aW9uIiwidXBkYXRlQ2xhc3NNdXRhdGlvbiIsImV4aXN0aW5nUGFyc2VDbGFzcyIsImdldENsYXNzIiwidXBkYXRlQ2xhc3MiLCJ1bmRlZmluZWQiLCJkZWxldGVDbGFzc011dGF0aW9uIiwiZGVsZXRlU2NoZW1hIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hTXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IEdyYXBoUUxOb25OdWxsIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgZGVlcGNvcHkgZnJvbSAnZGVlcGNvcHknO1xuaW1wb3J0IHsgbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0ICogYXMgc2NoZW1hVHlwZXMgZnJvbSAnLi9zY2hlbWFUeXBlcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Ub1BhcnNlLCB0cmFuc2Zvcm1Ub0dyYXBoUUwgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMvc2NoZW1hRmllbGRzJztcbmltcG9ydCB7IGVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MgfSBmcm9tICcuLi9wYXJzZUdyYXBoUUxVdGlscyc7XG5pbXBvcnQgeyBnZXRDbGFzcyB9IGZyb20gJy4vc2NoZW1hUXVlcmllcyc7XG5cbmNvbnN0IGxvYWQgPSBwYXJzZUdyYXBoUUxTY2hlbWEgPT4ge1xuICBjb25zdCBjcmVhdGVDbGFzc011dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ0NyZWF0ZUNsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdUaGUgY3JlYXRlQ2xhc3MgbXV0YXRpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIHRoZSBzY2hlbWEgZm9yIGEgbmV3IG9iamVjdCBjbGFzcy4nLFxuICAgIGlucHV0RmllbGRzOiB7XG4gICAgICBuYW1lOiBzY2hlbWFUeXBlcy5DTEFTU19OQU1FX0FUVCxcbiAgICAgIHNjaGVtYUZpZWxkczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgICB0eXBlOiBzY2hlbWFUeXBlcy5TQ0hFTUFfRklFTERTX0lOUFVULFxuICAgICAgfSxcbiAgICB9LFxuICAgIG91dHB1dEZpZWxkczoge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBjcmVhdGVkIGNsYXNzLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChzY2hlbWFUeXBlcy5DTEFTUyksXG4gICAgICB9LFxuICAgIH0sXG4gICAgbXV0YXRlQW5kR2V0UGF5bG9hZDogYXN5bmMgKGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgc2NoZW1hRmllbGRzIH0gPSBkZWVwY29weShhcmdzKTtcbiAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKTtcblxuICAgICAgICBpZiAoYXV0aC5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgICAgIFwicmVhZC1vbmx5IG1hc3RlcktleSBpc24ndCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHNjaGVtYS5cIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCBjb25maWcuZGF0YWJhc2UubG9hZFNjaGVtYSh7IGNsZWFyQ2FjaGU6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IHBhcnNlQ2xhc3MgPSBhd2FpdCBzY2hlbWEuYWRkQ2xhc3NJZk5vdEV4aXN0cyhuYW1lLCB0cmFuc2Zvcm1Ub1BhcnNlKHNjaGVtYUZpZWxkcykpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGNyZWF0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCdjcmVhdGVDbGFzcycsIGNyZWF0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xuXG4gIGNvbnN0IHVwZGF0ZUNsYXNzTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnVXBkYXRlQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ1RoZSB1cGRhdGVDbGFzcyBtdXRhdGlvbiBjYW4gYmUgdXNlZCB0byB1cGRhdGUgdGhlIHNjaGVtYSBmb3IgYW4gZXhpc3Rpbmcgb2JqZWN0IGNsYXNzLicsXG4gICAgaW5wdXRGaWVsZHM6IHtcbiAgICAgIG5hbWU6IHNjaGVtYVR5cGVzLkNMQVNTX05BTUVfQVRULFxuICAgICAgc2NoZW1hRmllbGRzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZXNlIGFyZSB0aGUgc2NoZW1hJ3MgZmllbGRzIG9mIHRoZSBvYmplY3QgY2xhc3MuXCIsXG4gICAgICAgIHR5cGU6IHNjaGVtYVR5cGVzLlNDSEVNQV9GSUVMRFNfSU5QVVQsXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3V0cHV0RmllbGRzOiB7XG4gICAgICBjbGFzczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIHVwZGF0ZWQgY2xhc3MuJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKHNjaGVtYVR5cGVzLkNMQVNTKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtdXRhdGVBbmRHZXRQYXlsb2FkOiBhc3luYyAoYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBzY2hlbWFGaWVsZHMgfSA9IGRlZXBjb3B5KGFyZ3MpO1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCB9ID0gY29udGV4dDtcblxuICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgIGlmIChhdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gdXBkYXRlIGEgc2NoZW1hLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgY29uc3QgcGFyc2VDbGFzcyA9IGF3YWl0IHNjaGVtYS51cGRhdGVDbGFzcyhcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHRyYW5zZm9ybVRvUGFyc2Uoc2NoZW1hRmllbGRzLCBleGlzdGluZ1BhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIGNvbmZpZy5kYXRhYmFzZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKHVwZGF0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZSh1cGRhdGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCd1cGRhdGVDbGFzcycsIHVwZGF0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xuXG4gIGNvbnN0IGRlbGV0ZUNsYXNzTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnRGVsZXRlQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRlbGV0ZUNsYXNzIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGRlbGV0ZSBhbiBleGlzdGluZyBvYmplY3QgY2xhc3MuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgbmFtZTogc2NoZW1hVHlwZXMuQ0xBU1NfTkFNRV9BVFQsXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgZGVsZXRlZCBjbGFzcy4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoc2NoZW1hVHlwZXMuQ0xBU1MpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGRlZXBjb3B5KGFyZ3MpO1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCB9ID0gY29udGV4dDtcblxuICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgIGlmIChhdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gZGVsZXRlIGEgc2NoZW1hLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgYXdhaXQgY29uZmlnLmRhdGFiYXNlLmRlbGV0ZVNjaGVtYShuYW1lKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogZXhpc3RpbmdQYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKGV4aXN0aW5nUGFyc2VDbGFzcy5maWVsZHMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYS5oYW5kbGVFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoZGVsZXRlQ2xhc3NNdXRhdGlvbi5hcmdzLmlucHV0LnR5cGUub2ZUeXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGRlbGV0ZUNsYXNzTXV0YXRpb24udHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMTXV0YXRpb24oJ2RlbGV0ZUNsYXNzJywgZGVsZXRlQ2xhc3NNdXRhdGlvbiwgdHJ1ZSwgdHJ1ZSk7XG59O1xuXG5leHBvcnQgeyBsb2FkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFSLE9BQUE7QUFBMkMsU0FBQUssd0JBQUFJLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFOLHVCQUFBLFlBQUFBLENBQUFJLENBQUEsRUFBQUMsQ0FB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
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWwiLCJfZGVlcGNvcHkiLCJfZ3JhcGhxbFJlbGF5Iiwic2NoZW1hVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9zY2hlbWFGaWVsZHMiLCJfcGFyc2VHcmFwaFFMVXRpbHMiLCJfc2NoZW1hUXVlcmllcyIsIl9FcnJvciIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVDbGFzc011dGF0aW9uIiwibXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImlucHV0RmllbGRzIiwiQ0xBU1NfTkFNRV9BVFQiLCJzY2hlbWFGaWVsZHMiLCJ0eXBlIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsIm91dHB1dEZpZWxkcyIsImNsYXNzIiwiR3JhcGhRTE5vbk51bGwiLCJDTEFTUyIsIm11dGF0ZUFuZEdldFBheWxvYWQiLCJhcmdzIiwiY29udGV4dCIsImRlZXBjb3B5IiwiY29uZmlnIiwiYXV0aCIsImVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJpc1JlYWRPbmx5IiwiY3JlYXRlU2FuaXRpemVkRXJyb3IiLCJQYXJzZSIsIkVycm9yIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsInNjaGVtYSIsImRhdGFiYXNlIiwibG9hZFNjaGVtYSIsImNsZWFyQ2FjaGUiLCJwYXJzZUNsYXNzIiwiYWRkQ2xhc3NJZk5vdEV4aXN0cyIsInRyYW5zZm9ybVRvUGFyc2UiLCJjbGFzc05hbWUiLCJ0cmFuc2Zvcm1Ub0dyYXBoUUwiLCJmaWVsZHMiLCJoYW5kbGVFcnJvciIsImFkZEdyYXBoUUxUeXBlIiwiaW5wdXQiLCJvZlR5cGUiLCJhZGRHcmFwaFFMTXV0YXRpb24iLCJ1cGRhdGVDbGFzc011dGF0aW9uIiwiZXhpc3RpbmdQYXJzZUNsYXNzIiwiZ2V0Q2xhc3MiLCJ1cGRhdGVDbGFzcyIsInVuZGVmaW5lZCIsImRlbGV0ZUNsYXNzTXV0YXRpb24iLCJkZWxldGVTY2hlbWEiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0dyYXBoUUwvbG9hZGVycy9zY2hlbWFNdXRhdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IHsgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCBkZWVwY29weSBmcm9tICdkZWVwY29weSc7XG5pbXBvcnQgeyBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5pbXBvcnQgKiBhcyBzY2hlbWFUeXBlcyBmcm9tICcuL3NjaGVtYVR5cGVzJztcbmltcG9ydCB7IHRyYW5zZm9ybVRvUGFyc2UsIHRyYW5zZm9ybVRvR3JhcGhRTCB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy9zY2hlbWFGaWVsZHMnO1xuaW1wb3J0IHsgZW5mb3JjZU1hc3RlcktleUFjY2VzcyB9IGZyb20gJy4uL3BhcnNlR3JhcGhRTFV0aWxzJztcbmltcG9ydCB7IGdldENsYXNzIH0gZnJvbSAnLi9zY2hlbWFRdWVyaWVzJztcbmltcG9ydCB7IGNyZWF0ZVNhbml0aXplZEVycm9yIH0gZnJvbSAnLi4vLi4vRXJyb3InO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgY29uc3QgY3JlYXRlQ2xhc3NNdXRhdGlvbiA9IG11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQoe1xuICAgIG5hbWU6ICdDcmVhdGVDbGFzcycsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnVGhlIGNyZWF0ZUNsYXNzIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSB0aGUgc2NoZW1hIGZvciBhIG5ldyBvYmplY3QgY2xhc3MuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgbmFtZTogc2NoZW1hVHlwZXMuQ0xBU1NfTkFNRV9BVFQsXG4gICAgICBzY2hlbWFGaWVsZHM6IHtcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlc2UgYXJlIHRoZSBzY2hlbWEncyBmaWVsZHMgb2YgdGhlIG9iamVjdCBjbGFzcy5cIixcbiAgICAgICAgdHlwZTogc2NoZW1hVHlwZXMuU0NIRU1BX0ZJRUxEU19JTlBVVCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgY3JlYXRlZCBjbGFzcy4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoc2NoZW1hVHlwZXMuQ0xBU1MpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IG5hbWUsIHNjaGVtYUZpZWxkcyB9ID0gZGVlcGNvcHkoYXJncyk7XG4gICAgICAgIGNvbnN0IHsgY29uZmlnLCBhdXRoIH0gPSBjb250ZXh0O1xuXG4gICAgICAgIGVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MoYXV0aCk7XG5cbiAgICAgICAgaWYgKGF1dGguaXNSZWFkT25seSkge1xuICAgICAgICAgIHRocm93IGNyZWF0ZVNhbml0aXplZEVycm9yKFxuICAgICAgICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICAgICAgIFwicmVhZC1vbmx5IG1hc3RlcktleSBpc24ndCBhbGxvd2VkIHRvIGNyZWF0ZSBhIHNjaGVtYS5cIixcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgY29uZmlnLmRhdGFiYXNlLmxvYWRTY2hlbWEoeyBjbGVhckNhY2hlOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBwYXJzZUNsYXNzID0gYXdhaXQgc2NoZW1hLmFkZENsYXNzSWZOb3RFeGlzdHMobmFtZSwgdHJhbnNmb3JtVG9QYXJzZShzY2hlbWFGaWVsZHMpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogcGFyc2VDbGFzcy5jbGFzc05hbWUsXG4gICAgICAgICAgICBzY2hlbWFGaWVsZHM6IHRyYW5zZm9ybVRvR3JhcGhRTChwYXJzZUNsYXNzLmZpZWxkcyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVDbGFzc011dGF0aW9uLmFyZ3MuaW5wdXQudHlwZS5vZlR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoY3JlYXRlQ2xhc3NNdXRhdGlvbi50eXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxNdXRhdGlvbignY3JlYXRlQ2xhc3MnLCBjcmVhdGVDbGFzc011dGF0aW9uLCB0cnVlLCB0cnVlKTtcblxuICBjb25zdCB1cGRhdGVDbGFzc011dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ1VwZGF0ZUNsYXNzJyxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdUaGUgdXBkYXRlQ2xhc3MgbXV0YXRpb24gY2FuIGJlIHVzZWQgdG8gdXBkYXRlIHRoZSBzY2hlbWEgZm9yIGFuIGV4aXN0aW5nIG9iamVjdCBjbGFzcy4nLFxuICAgIGlucHV0RmllbGRzOiB7XG4gICAgICBuYW1lOiBzY2hlbWFUeXBlcy5DTEFTU19OQU1FX0FUVCxcbiAgICAgIHNjaGVtYUZpZWxkczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgICB0eXBlOiBzY2hlbWFUeXBlcy5TQ0hFTUFfRklFTERTX0lOUFVULFxuICAgICAgfSxcbiAgICB9LFxuICAgIG91dHB1dEZpZWxkczoge1xuICAgICAgY2xhc3M6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSB1cGRhdGVkIGNsYXNzLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChzY2hlbWFUeXBlcy5DTEFTUyksXG4gICAgICB9LFxuICAgIH0sXG4gICAgbXV0YXRlQW5kR2V0UGF5bG9hZDogYXN5bmMgKGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgc2NoZW1hRmllbGRzIH0gPSBkZWVwY29weShhcmdzKTtcbiAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGggfSA9IGNvbnRleHQ7XG5cbiAgICAgICAgZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKTtcblxuICAgICAgICBpZiAoYXV0aC5pc1JlYWRPbmx5KSB7XG4gICAgICAgICAgdGhyb3cgY3JlYXRlU2FuaXRpemVkRXJyb3IoXG4gICAgICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICAgICAgXCJyZWFkLW9ubHkgbWFzdGVyS2V5IGlzbid0IGFsbG93ZWQgdG8gdXBkYXRlIGEgc2NoZW1hLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgY29uc3QgcGFyc2VDbGFzcyA9IGF3YWl0IHNjaGVtYS51cGRhdGVDbGFzcyhcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHRyYW5zZm9ybVRvUGFyc2Uoc2NoZW1hRmllbGRzLCBleGlzdGluZ1BhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIGNvbmZpZy5kYXRhYmFzZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICBuYW1lOiBwYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKHBhcnNlQ2xhc3MuZmllbGRzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKHVwZGF0ZUNsYXNzTXV0YXRpb24uYXJncy5pbnB1dC50eXBlLm9mVHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZSh1cGRhdGVDbGFzc011dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCd1cGRhdGVDbGFzcycsIHVwZGF0ZUNsYXNzTXV0YXRpb24sIHRydWUsIHRydWUpO1xuXG4gIGNvbnN0IGRlbGV0ZUNsYXNzTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnRGVsZXRlQ2xhc3MnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGRlbGV0ZUNsYXNzIG11dGF0aW9uIGNhbiBiZSB1c2VkIHRvIGRlbGV0ZSBhbiBleGlzdGluZyBvYmplY3QgY2xhc3MuJyxcbiAgICBpbnB1dEZpZWxkczoge1xuICAgICAgbmFtZTogc2NoZW1hVHlwZXMuQ0xBU1NfTkFNRV9BVFQsXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgZGVsZXRlZCBjbGFzcy4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoc2NoZW1hVHlwZXMuQ0xBU1MpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG11dGF0ZUFuZEdldFBheWxvYWQ6IGFzeW5jIChhcmdzLCBjb250ZXh0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IG5hbWUgfSA9IGRlZXBjb3B5KGFyZ3MpO1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCB9ID0gY29udGV4dDtcblxuICAgICAgICBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpO1xuXG4gICAgICAgIGlmIChhdXRoLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgICB0aHJvdyBjcmVhdGVTYW5pdGl6ZWRFcnJvcihcbiAgICAgICAgICAgIFBhcnNlLkVycm9yLk9QRVJBVElPTl9GT1JCSURERU4sXG4gICAgICAgICAgICBcInJlYWQtb25seSBtYXN0ZXJLZXkgaXNuJ3QgYWxsb3dlZCB0byBkZWxldGUgYSBzY2hlbWEuXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IGNvbmZpZy5kYXRhYmFzZS5sb2FkU2NoZW1hKHsgY2xlYXJDYWNoZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJzZUNsYXNzID0gYXdhaXQgZ2V0Q2xhc3MobmFtZSwgc2NoZW1hKTtcbiAgICAgICAgYXdhaXQgY29uZmlnLmRhdGFiYXNlLmRlbGV0ZVNjaGVtYShuYW1lKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgbmFtZTogZXhpc3RpbmdQYXJzZUNsYXNzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYUZpZWxkczogdHJhbnNmb3JtVG9HcmFwaFFMKGV4aXN0aW5nUGFyc2VDbGFzcy5maWVsZHMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYS5oYW5kbGVFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoZGVsZXRlQ2xhc3NNdXRhdGlvbi5hcmdzLmlucHV0LnR5cGUub2ZUeXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGRlbGV0ZUNsYXNzTXV0YXRpb24udHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMTXV0YXRpb24oJ2RlbGV0ZUNsYXNzJywgZGVsZXRlQ2xhc3NNdXRhdGlvbiwgdHJ1ZSwgdHJ1ZSk7XG59O1xuXG5leHBvcnQgeyBsb2FkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7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
|
|
@@ -10,6 +10,7 @@ var _node = _interopRequireDefault(require("parse/node"));
|
|
|
10
10
|
var _rest = _interopRequireDefault(require("../../rest"));
|
|
11
11
|
var _parseClassTypes = require("./parseClassTypes");
|
|
12
12
|
var _Auth = require("../../Auth");
|
|
13
|
+
var _Error = require("../../Error");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
const getUserFromSessionToken = async (context, queryInfo, keysPrefix, userId) => {
|
|
15
16
|
const {
|
|
@@ -17,7 +18,7 @@ const getUserFromSessionToken = async (context, queryInfo, keysPrefix, userId) =
|
|
|
17
18
|
config
|
|
18
19
|
} = context;
|
|
19
20
|
if (!info || !info.sessionToken) {
|
|
20
|
-
throw
|
|
21
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.INVALID_SESSION_TOKEN, 'Invalid session token');
|
|
21
22
|
}
|
|
22
23
|
const sessionToken = info.sessionToken;
|
|
23
24
|
const selectedFields = (0, _graphqlListFields.default)(queryInfo).filter(field => field.startsWith(keysPrefix)).map(field => field.replace(keysPrefix, ''));
|
|
@@ -59,7 +60,7 @@ const getUserFromSessionToken = async (context, queryInfo, keysPrefix, userId) =
|
|
|
59
60
|
objectId: context.auth.user.id
|
|
60
61
|
}, options, info.clientVersion, info.context);
|
|
61
62
|
if (!response.results || response.results.length == 0) {
|
|
62
|
-
throw
|
|
63
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.INVALID_SESSION_TOKEN, 'Invalid session token');
|
|
63
64
|
} else {
|
|
64
65
|
const user = response.results[0];
|
|
65
66
|
return {
|
|
@@ -86,4 +87,4 @@ const load = parseGraphQLSchema => {
|
|
|
86
87
|
}, true, true);
|
|
87
88
|
};
|
|
88
89
|
exports.load = load;
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbCIsInJlcXVpcmUiLCJfZ3JhcGhxbExpc3RGaWVsZHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX25vZGUiLCJfcmVzdCIsIl9wYXJzZUNsYXNzVHlwZXMiLCJfQXV0aCIsIl9FcnJvciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImdldFVzZXJGcm9tU2Vzc2lvblRva2VuIiwiY29udGV4dCIsInF1ZXJ5SW5mbyIsImtleXNQcmVmaXgiLCJ1c2VySWQiLCJpbmZvIiwiY29uZmlnIiwic2Vzc2lvblRva2VuIiwiY3JlYXRlU2FuaXRpemVkRXJyb3IiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9TRVNTSU9OX1RPS0VOIiwic2VsZWN0ZWRGaWVsZHMiLCJnZXRGaWVsZE5hbWVzIiwiZmlsdGVyIiwiZmllbGQiLCJzdGFydHNXaXRoIiwibWFwIiwicmVwbGFjZSIsImtleXNBbmRJbmNsdWRlIiwiZXh0cmFjdEtleXNBbmRJbmNsdWRlIiwia2V5cyIsImluY2x1ZGUiLCJhdXRoIiwiQXV0aCIsImlzTWFzdGVyIiwidXNlciIsImlkIiwib3B0aW9ucyIsInNwbGl0Iiwia2V5Iiwiam9pbiIsImluY2x1ZGVkIiwicmVzcG9uc2UiLCJyZXN0IiwiZmluZCIsIm9iamVjdElkIiwiY2xpZW50VmVyc2lvbiIsInJlc3VsdHMiLCJsZW5ndGgiLCJleHBvcnRzIiwibG9hZCIsInBhcnNlR3JhcGhRTFNjaGVtYSIsImlzVXNlcnNDbGFzc0Rpc2FibGVkIiwiYWRkR3JhcGhRTFF1ZXJ5IiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiR3JhcGhRTE5vbk51bGwiLCJ2aWV3ZXJUeXBlIiwicmVzb2x2ZSIsIl9zb3VyY2UiLCJfYXJncyIsImhhbmRsZUVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0dyYXBoUUwvbG9hZGVycy91c2Vyc1F1ZXJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCBnZXRGaWVsZE5hbWVzIGZyb20gJ2dyYXBocWwtbGlzdC1maWVsZHMnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBleHRyYWN0S2V5c0FuZEluY2x1ZGUgfSBmcm9tICcuL3BhcnNlQ2xhc3NUeXBlcyc7XG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnLi4vLi4vQXV0aCc7XG5pbXBvcnQgeyBjcmVhdGVTYW5pdGl6ZWRFcnJvciB9IGZyb20gJy4uLy4uL0Vycm9yJztcblxuY29uc3QgZ2V0VXNlckZyb21TZXNzaW9uVG9rZW4gPSBhc3luYyAoY29udGV4dCwgcXVlcnlJbmZvLCBrZXlzUHJlZml4LCB1c2VySWQpID0+IHtcbiAgY29uc3QgeyBpbmZvLCBjb25maWcgfSA9IGNvbnRleHQ7XG4gIGlmICghaW5mbyB8fCAhaW5mby5zZXNzaW9uVG9rZW4pIHtcbiAgICB0aHJvdyAgY3JlYXRlU2FuaXRpemVkRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9TRVNTSU9OX1RPS0VOLCAnSW52YWxpZCBzZXNzaW9uIHRva2VuJyk7XG4gIH1cbiAgY29uc3Qgc2Vzc2lvblRva2VuID0gaW5mby5zZXNzaW9uVG9rZW47XG4gIGNvbnN0IHNlbGVjdGVkRmllbGRzID0gZ2V0RmllbGROYW1lcyhxdWVyeUluZm8pXG4gICAgLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5zdGFydHNXaXRoKGtleXNQcmVmaXgpKVxuICAgIC5tYXAoZmllbGQgPT4gZmllbGQucmVwbGFjZShrZXlzUHJlZml4LCAnJykpO1xuXG4gIGNvbnN0IGtleXNBbmRJbmNsdWRlID0gZXh0cmFjdEtleXNBbmRJbmNsdWRlKHNlbGVjdGVkRmllbGRzKTtcbiAgY29uc3QgeyBrZXlzIH0gPSBrZXlzQW5kSW5jbHVkZTtcbiAgbGV0IHsgaW5jbHVkZSB9ID0ga2V5c0FuZEluY2x1ZGU7XG5cbiAgaWYgKHVzZXJJZCAmJiAha2V5cyAmJiAhaW5jbHVkZSkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXNzaW9uVG9rZW4sXG4gICAgfTtcbiAgfSBlbHNlIGlmIChrZXlzICYmICFpbmNsdWRlKSB7XG4gICAgaW5jbHVkZSA9ICd1c2VyJztcbiAgfVxuXG4gIGlmICh1c2VySWQpIHtcbiAgICAvLyBXZSBuZWVkIHRvIHJlIGNyZWF0ZSB0aGUgYXV0aCBjb250ZXh0XG4gICAgLy8gdG8gYXZvaWQgc2VjdXJpdHkgYnJlYWNoIGlmIHVzZXJJZCBpcyBwcm92aWRlZFxuICAgIGNvbnRleHQuYXV0aCA9IG5ldyBBdXRoKHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIGlzTWFzdGVyOiBjb250ZXh0LmF1dGguaXNNYXN0ZXIsXG4gICAgICB1c2VyOiB7IGlkOiB1c2VySWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcbiAgaWYgKGtleXMpIHtcbiAgICBvcHRpb25zLmtleXMgPSBrZXlzXG4gICAgICAuc3BsaXQoJywnKVxuICAgICAgLm1hcChrZXkgPT4gYCR7a2V5fWApXG4gICAgICAuam9pbignLCcpO1xuICB9XG4gIGlmIChpbmNsdWRlKSB7XG4gICAgb3B0aW9ucy5pbmNsdWRlID0gaW5jbHVkZVxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoaW5jbHVkZWQgPT4gYCR7aW5jbHVkZWR9YClcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc3QuZmluZChcbiAgICBjb25maWcsXG4gICAgY29udGV4dC5hdXRoLFxuICAgICdfVXNlcicsXG4gICAgLy8gR2V0IHRoZSB1c2VyIGl0IHNlbGYgZnJvbSBhdXRoIG9iamVjdFxuICAgIHsgb2JqZWN0SWQ6IGNvbnRleHQuYXV0aC51c2VyLmlkIH0sXG4gICAgb3B0aW9ucyxcbiAgICBpbmZvLmNsaWVudFZlcnNpb24sXG4gICAgaW5mby5jb250ZXh0XG4gICk7XG4gIGlmICghcmVzcG9uc2UucmVzdWx0cyB8fCByZXNwb25zZS5yZXN1bHRzLmxlbmd0aCA9PSAwKSB7XG4gICAgdGhyb3cgY3JlYXRlU2FuaXRpemVkRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9TRVNTSU9OX1RPS0VOLCAnSW52YWxpZCBzZXNzaW9uIHRva2VuJyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXNlciA9IHJlc3BvbnNlLnJlc3VsdHNbMF07XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlc3Npb25Ub2tlbixcbiAgICAgIHVzZXIsXG4gICAgfTtcbiAgfVxufTtcblxuY29uc3QgbG9hZCA9IHBhcnNlR3JhcGhRTFNjaGVtYSA9PiB7XG4gIGlmIChwYXJzZUdyYXBoUUxTY2hlbWEuaXNVc2Vyc0NsYXNzRGlzYWJsZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFF1ZXJ5KFxuICAgICd2aWV3ZXInLFxuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHZpZXdlciBxdWVyeSBjYW4gYmUgdXNlZCB0byByZXR1cm4gdGhlIGN1cnJlbnQgdXNlciBkYXRhLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwocGFyc2VHcmFwaFFMU2NoZW1hLnZpZXdlclR5cGUpLFxuICAgICAgYXN5bmMgcmVzb2x2ZShfc291cmNlLCBfYXJncywgY29udGV4dCwgcXVlcnlJbmZvKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGdldFVzZXJGcm9tU2Vzc2lvblRva2VuKGNvbnRleHQsIHF1ZXJ5SW5mbywgJ3VzZXIuJywgZmFsc2UpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG4gICk7XG59O1xuXG5leHBvcnQgeyBsb2FkLCBnZXRVc2VyRnJvbVNlc3Npb25Ub2tlbiB9O1xuIl0sIm1h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
|
|
@@ -8,10 +8,11 @@ exports.getParseClassMutationConfig = exports.extractKeysAndInclude = void 0;
|
|
|
8
8
|
exports.toGraphQLError = toGraphQLError;
|
|
9
9
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
10
10
|
var _graphql = require("graphql");
|
|
11
|
+
var _Error = require("../Error");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
function enforceMasterKeyAccess(auth) {
|
|
13
14
|
if (!auth.isMaster) {
|
|
14
|
-
throw
|
|
15
|
+
throw (0, _Error.createSanitizedError)(_node.default.Error.OPERATION_FORBIDDEN, 'unauthorized: master key is required');
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
function toGraphQLError(error) {
|
|
@@ -59,4 +60,4 @@ const getParseClassMutationConfig = function (parseClassConfig) {
|
|
|
59
60
|
return parseClassConfig && parseClassConfig.mutation || {};
|
|
60
61
|
};
|
|
61
62
|
exports.getParseClassMutationConfig = getParseClassMutationConfig;
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWwiLCJfRXJyb3IiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJlbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwiYXV0aCIsImlzTWFzdGVyIiwiY3JlYXRlU2FuaXRpemVkRXJyb3IiLCJQYXJzZSIsIkVycm9yIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsInRvR3JhcGhRTEVycm9yIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkdyYXBoUUxFcnJvciIsImV4dGVuc2lvbnMiLCJleHRyYWN0S2V5c0FuZEluY2x1ZGUiLCJzZWxlY3RlZEZpZWxkcyIsImZpbHRlciIsImZpZWxkIiwiaW5jbHVkZXMiLCJtYXAiLCJlbmRzV2l0aCIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwia2V5cyIsInVuZGVmaW5lZCIsImluY2x1ZGUiLCJsZW5ndGgiLCJTZXQiLCJqb2luIiwiaW5kZXhPZiIsImV4cG9ydHMiLCJnZXRQYXJzZUNsYXNzTXV0YXRpb25Db25maWciLCJwYXJzZUNsYXNzQ29uZmlnIiwibXV0YXRpb24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvR3JhcGhRTC9wYXJzZUdyYXBoUUxVdGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBHcmFwaFFMRXJyb3IgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IGNyZWF0ZVNhbml0aXplZEVycm9yIH0gZnJvbSAnLi4vRXJyb3InO1xuXG5leHBvcnQgZnVuY3Rpb24gZW5mb3JjZU1hc3RlcktleUFjY2VzcyhhdXRoKSB7XG4gIGlmICghYXV0aC5pc01hc3Rlcikge1xuICAgIHRocm93IGNyZWF0ZVNhbml0aXplZEVycm9yKFxuICAgICAgUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTixcbiAgICAgICd1bmF1dGhvcml6ZWQ6IG1hc3RlciBrZXkgaXMgcmVxdWlyZWQnLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvR3JhcGhRTEVycm9yKGVycm9yKSB7XG4gIGxldCBjb2RlLCBtZXNzYWdlO1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBQYXJzZS5FcnJvcikge1xuICAgIGNvZGUgPSBlcnJvci5jb2RlO1xuICAgIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICB9IGVsc2Uge1xuICAgIGNvZGUgPSBQYXJzZS5FcnJvci5JTlRFUk5BTF9TRVJWRVJfRVJST1I7XG4gICAgbWVzc2FnZSA9ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InO1xuICB9XG4gIHJldHVybiBuZXcgR3JhcGhRTEVycm9yKG1lc3NhZ2UsIHsgZXh0ZW5zaW9uczogeyBjb2RlIH0gfSk7XG59XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0S2V5c0FuZEluY2x1ZGUgPSBzZWxlY3RlZEZpZWxkcyA9PiB7XG4gIHNlbGVjdGVkRmllbGRzID0gc2VsZWN0ZWRGaWVsZHMuZmlsdGVyKGZpZWxkID0+ICFmaWVsZC5pbmNsdWRlcygnX190eXBlbmFtZScpKTtcbiAgLy8gSGFuZGxlcyBcImlkXCIgZmllbGQgZm9yIGJvdGggY3VycmVudCBhbmQgaW5jbHVkZWQgb2JqZWN0c1xuICBzZWxlY3RlZEZpZWxkcyA9IHNlbGVjdGVkRmllbGRzLm1hcChmaWVsZCA9PiB7XG4gICAgaWYgKGZpZWxkID09PSAnaWQnKSB7IHJldHVybiAnb2JqZWN0SWQnOyB9XG4gICAgcmV0dXJuIGZpZWxkLmVuZHNXaXRoKCcuaWQnKVxuICAgICAgPyBgJHtmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQubGFzdEluZGV4T2YoJy5pZCcpKX0ub2JqZWN0SWRgXG4gICAgICA6IGZpZWxkO1xuICB9KTtcbiAgbGV0IGtleXMgPSB1bmRlZmluZWQ7XG4gIGxldCBpbmNsdWRlID0gdW5kZWZpbmVkO1xuXG4gIGlmIChzZWxlY3RlZEZpZWxkcy5sZW5ndGggPiAwKSB7XG4gICAga2V5cyA9IFsuLi5uZXcgU2V0KHNlbGVjdGVkRmllbGRzKV0uam9pbignLCcpO1xuICAgIC8vIFdlIGNhbiB1c2UgdGhpcyBzaG9ydGN1dCBzaW5jZSBvcHRpbWl6YXRpb24gaXMgaGFuZGxlZFxuICAgIC8vIGxhdGVyIG9uIFJlc3RRdWVyeSwgYXZvaWQgb3ZlcmhlYWQgaGVyZS5cbiAgICBpbmNsdWRlID0ga2V5cztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gSWYgYXV0aERhdGEgaXMgZGV0ZWN0ZWQga2V5cyB3aWxsIG5vdCB3b3JrIHByb3Blcmx5XG4gICAgLy8gc2luY2UgYXV0aERhdGEgaGFzIGEgc3BlY2lhbCBzdG9yYWdlIGJlaGF2aW9yXG4gICAgLy8gc28gd2UgbmVlZCB0byBza2lwIGtleXMgY3VycmVudGx5XG4gICAga2V5czoga2V5cyAmJiBrZXlzLmluZGV4T2YoJ2F1dGhEYXRhJykgPT09IC0xID8ga2V5cyA6IHVuZGVmaW5lZCxcbiAgICBpbmNsdWRlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBhcnNlQ2xhc3NNdXRhdGlvbkNvbmZpZyA9IGZ1bmN0aW9uIChwYXJzZUNsYXNzQ29uZmlnKSB7XG4gIHJldHVybiAocGFyc2VDbGFzc0NvbmZpZyAmJiBwYXJzZUNsYXNzQ29uZmlnLm11dGF0aW9uKSB8fCB7fTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQWdELFNBQUFELHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXpDLFNBQVNHLHNCQUFzQkEsQ0FBQ0MsSUFBSSxFQUFFO0VBQzNDLElBQUksQ0FBQ0EsSUFBSSxDQUFDQyxRQUFRLEVBQUU7SUFDbEIsTUFBTSxJQUFBQywyQkFBb0IsRUFDeEJDLGFBQUssQ0FBQ0MsS0FBSyxDQUFDQyxtQkFBbUIsRUFDL0Isc0NBQ0YsQ0FBQztFQUNIO0FBQ0Y7QUFFTyxTQUFTQyxjQUFjQSxDQUFDQyxLQUFLLEVBQUU7RUFDcEMsSUFBSUMsSUFBSSxFQUFFQyxPQUFPO0VBQ2pCLElBQUlGLEtBQUssWUFBWUosYUFBSyxDQUFDQyxLQUFLLEVBQUU7SUFDaENJLElBQUksR0FBR0QsS0FBSyxDQUFDQyxJQUFJO0lBQ2pCQyxPQUFPLEdBQUdGLEtBQUssQ0FBQ0UsT0FBTztFQUN6QixDQUFDLE1BQU07SUFDTEQsSUFBSSxHQUFHTCxhQUFLLENBQUNDLEtBQUssQ0FBQ00scUJBQXFCO0lBQ3hDRCxPQUFPLEdBQUcsdUJBQXVCO0VBQ25DO0VBQ0EsT0FBTyxJQUFJRSxxQkFBWSxDQUFDRixPQUFPLEVBQUU7SUFBRUcsVUFBVSxFQUFFO01BQUVKO0lBQUs7RUFBRSxDQUFDLENBQUM7QUFDNUQ7QUFFTyxNQUFNSyxxQkFBcUIsR0FBR0MsY0FBYyxJQUFJO0VBQ3JEQSxjQUFjLEdBQUdBLGNBQWMsQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7RUFDOUU7RUFDQUgsY0FBYyxHQUFHQSxjQUFjLENBQUNJLEdBQUcsQ0FBQ0YsS0FBSyxJQUFJO0lBQzNDLElBQUlBLEtBQUssS0FBSyxJQUFJLEVBQUU7TUFBRSxPQUFPLFVBQVU7SUFBRTtJQUN6QyxPQUFPQSxLQUFLLENBQUNHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FDeEIsR0FBR0gsS0FBSyxDQUFDSSxTQUFTLENBQUMsQ0FBQyxFQUFFSixLQUFLLENBQUNLLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEdBQzFETCxLQUFLO0VBQ1gsQ0FBQyxDQUFDO0VBQ0YsSUFBSU0sSUFBSSxHQUFHQyxTQUFTO0VBQ3BCLElBQUlDLE9BQU8sR0FBR0QsU0FBUztFQUV2QixJQUFJVCxjQUFjLENBQUNXLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDN0JILElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSUksR0FBRyxDQUFDWixjQUFjLENBQUMsQ0FBQyxDQUFDYSxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzdDO0lBQ0E7SUFDQUgsT0FBTyxHQUFHRixJQUFJO0VBQ2hCO0VBRUEsT0FBTztJQUNMO0lBQ0E7SUFDQTtJQUNBQSxJQUFJLEVBQUVBLElBQUksSUFBSUEsSUFBSSxDQUFDTSxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUdOLElBQUksR0FBR0MsU0FBUztJQUNoRUM7RUFDRixDQUFDO0FBQ0gsQ0FBQztBQUFDSyxPQUFBLENBQUFoQixxQkFBQSxHQUFBQSxxQkFBQTtBQUVLLE1BQU1pQiwyQkFBMkIsR0FBRyxTQUFBQSxDQUFVQyxnQkFBZ0IsRUFBRTtFQUNyRSxPQUFRQSxnQkFBZ0IsSUFBSUEsZ0JBQWdCLENBQUNDLFFBQVEsSUFBSyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUFDSCxPQUFBLENBQUFDLDJCQUFBLEdBQUFBLDJCQUFBIiwiaWdub3JlTGlzdCI6W119
|
package/lib/Options/parsers.js
CHANGED
|
@@ -52,7 +52,7 @@ function moduleOrObjectParser(opt) {
|
|
|
52
52
|
}
|
|
53
53
|
try {
|
|
54
54
|
return JSON.parse(opt);
|
|
55
|
-
} catch
|
|
55
|
+
} catch {
|
|
56
56
|
/* */
|
|
57
57
|
}
|
|
58
58
|
return opt;
|
|
@@ -79,4 +79,4 @@ module.exports = {
|
|
|
79
79
|
arrayParser,
|
|
80
80
|
objectParser
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJudW1iZXJQYXJzZXIiLCJrZXkiLCJvcHQiLCJpbnRPcHQiLCJwYXJzZUludCIsIk51bWJlciIsImlzSW50ZWdlciIsIkVycm9yIiwibnVtYmVyT3JCb29sUGFyc2VyIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJvYmplY3RQYXJzZXIiLCJKU09OIiwicGFyc2UiLCJhcnJheVBhcnNlciIsIkFycmF5IiwiaXNBcnJheSIsInNwbGl0IiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJib29sZWFuUGFyc2VyIiwibnVsbFBhcnNlciIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvT3B0aW9ucy9wYXJzZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG51bWJlclBhcnNlcihrZXkpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvcHQpIHtcbiAgICBjb25zdCBpbnRPcHQgPSBwYXJzZUludChvcHQpO1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihpbnRPcHQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEtleSAke2tleX0gaGFzIGludmFsaWQgdmFsdWUgJHtvcHR9YCk7XG4gICAgfVxuICAgIHJldHVybiBpbnRPcHQ7XG4gIH07XG59XG5cbmZ1bmN0aW9uIG51bWJlck9yQm9vbFBhcnNlcihrZXkpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvcHQpIHtcbiAgICBpZiAodHlwZW9mIG9wdCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gb3B0O1xuICAgIH1cbiAgICBpZiAob3B0ID09PSAndHJ1ZScpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3B0ID09PSAnZmFsc2UnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBudW1iZXJQYXJzZXIoa2V5KShvcHQpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBudW1iZXJPclN0cmluZ1BhcnNlcihrZXkpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChvcHQpIHtcbiAgICBpZiAodHlwZW9mIG9wdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBvcHQ7XG4gICAgfVxuICAgIHJldHVybiBudW1iZXJQYXJzZXIoa2V5KShvcHQpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBvYmplY3RQYXJzZXIob3B0KSB7XG4gIGlmICh0eXBlb2Ygb3B0ID09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG9wdDtcbiAgfVxuICByZXR1cm4gSlNPTi5wYXJzZShvcHQpO1xufVxuXG5mdW5jdGlvbiBhcnJheVBhcnNlcihvcHQpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkob3B0KSkge1xuICAgIHJldHVybiBvcHQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIG9wdCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gb3B0LnNwbGl0KCcsJyk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke29wdH0gc2hvdWxkIGJlIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvciBhbiBhcnJheWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vZHVsZU9yT2JqZWN0UGFyc2VyKG9wdCkge1xuICBpZiAodHlwZW9mIG9wdCA9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBvcHQ7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShvcHQpO1xuICB9IGNhdGNoIHtcbiAgICAvKiAqL1xuICB9XG4gIHJldHVybiBvcHQ7XG59XG5cbmZ1bmN0aW9uIGJvb2xlYW5QYXJzZXIob3B0KSB7XG4gIGlmIChvcHQgPT0gdHJ1ZSB8fCBvcHQgPT0gJ3RydWUnIHx8IG9wdCA9PSAnMScpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG51bGxQYXJzZXIob3B0KSB7XG4gIGlmIChvcHQgPT0gJ251bGwnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIG9wdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG51bWJlclBhcnNlcixcbiAgbnVtYmVyT3JCb29sUGFyc2VyLFxuICBudW1iZXJPclN0cmluZ1BhcnNlcixcbiAgbnVsbFBhcnNlcixcbiAgYm9vbGVhblBhcnNlcixcbiAgbW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIGFycmF5UGFyc2VyLFxuICBvYmplY3RQYXJzZXIsXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFlBQVlBLENBQUNDLEdBQUcsRUFBRTtFQUN6QixPQUFPLFVBQVVDLEdBQUcsRUFBRTtJQUNwQixNQUFNQyxNQUFNLEdBQUdDLFFBQVEsQ0FBQ0YsR0FBRyxDQUFDO0lBQzVCLElBQUksQ0FBQ0csTUFBTSxDQUFDQyxTQUFTLENBQUNILE1BQU0sQ0FBQyxFQUFFO01BQzdCLE1BQU0sSUFBSUksS0FBSyxDQUFDLE9BQU9OLEdBQUcsc0JBQXNCQyxHQUFHLEVBQUUsQ0FBQztJQUN4RDtJQUNBLE9BQU9DLE1BQU07RUFDZixDQUFDO0FBQ0g7QUFFQSxTQUFTSyxrQkFBa0JBLENBQUNQLEdBQUcsRUFBRTtFQUMvQixPQUFPLFVBQVVDLEdBQUcsRUFBRTtJQUNwQixJQUFJLE9BQU9BLEdBQUcsS0FBSyxTQUFTLEVBQUU7TUFDNUIsT0FBT0EsR0FBRztJQUNaO0lBQ0EsSUFBSUEsR0FBRyxLQUFLLE1BQU0sRUFBRTtNQUNsQixPQUFPLElBQUk7SUFDYjtJQUNBLElBQUlBLEdBQUcsS0FBSyxPQUFPLEVBQUU7TUFDbkIsT0FBTyxLQUFLO0lBQ2Q7SUFDQSxPQUFPRixZQUFZLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxHQUFHLENBQUM7RUFDL0IsQ0FBQztBQUNIO0FBRUEsU0FBU08sb0JBQW9CQSxDQUFDUixHQUFHLEVBQUU7RUFDakMsT0FBTyxVQUFVQyxHQUFHLEVBQUU7SUFDcEIsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO01BQzNCLE9BQU9BLEdBQUc7SUFDWjtJQUNBLE9BQU9GLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLEdBQUcsQ0FBQztFQUMvQixDQUFDO0FBQ0g7QUFFQSxTQUFTUSxZQUFZQSxDQUFDUixHQUFHLEVBQUU7RUFDekIsSUFBSSxPQUFPQSxHQUFHLElBQUksUUFBUSxFQUFFO0lBQzFCLE9BQU9BLEdBQUc7RUFDWjtFQUNBLE9BQU9TLElBQUksQ0FBQ0MsS0FBSyxDQUFDVixHQUFHLENBQUM7QUFDeEI7QUFFQSxTQUFTVyxXQUFXQSxDQUFDWCxHQUFHLEVBQUU7RUFDeEIsSUFBSVksS0FBSyxDQUFDQyxPQUFPLENBQUNiLEdBQUcsQ0FBQyxFQUFFO0lBQ3RCLE9BQU9BLEdBQUc7RUFDWixDQUFDLE1BQU0sSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQ2xDLE9BQU9BLEdBQUcsQ0FBQ2MsS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUN2QixDQUFDLE1BQU07SUFDTCxNQUFNLElBQUlULEtBQUssQ0FBQyxHQUFHTCxHQUFHLGlEQUFpRCxDQUFDO0VBQzFFO0FBQ0Y7QUFFQSxTQUFTZSxvQkFBb0JBLENBQUNmLEdBQUcsRUFBRTtFQUNqQyxJQUFJLE9BQU9BLEdBQUcsSUFBSSxRQUFRLEVBQUU7SUFDMUIsT0FBT0EsR0FBRztFQUNaO0VBQ0EsSUFBSTtJQUNGLE9BQU9TLElBQUksQ0FBQ0MsS0FBSyxDQUFDVixHQUFHLENBQUM7RUFDeEIsQ0FBQyxDQUFDLE1BQU07SUFDTjtFQUFBO0VBRUYsT0FBT0EsR0FBRztBQUNaO0FBRUEsU0FBU2dCLGFBQWFBLENBQUNoQixHQUFHLEVBQUU7RUFDMUIsSUFBSUEsR0FBRyxJQUFJLElBQUksSUFBSUEsR0FBRyxJQUFJLE1BQU0sSUFBSUEsR0FBRyxJQUFJLEdBQUcsRUFBRTtJQUM5QyxPQUFPLElBQUk7RUFDYjtFQUNBLE9BQU8sS0FBSztBQUNkO0FBRUEsU0FBU2lCLFVBQVVBLENBQUNqQixHQUFHLEVBQUU7RUFDdkIsSUFBSUEsR0FBRyxJQUFJLE1BQU0sRUFBRTtJQUNqQixPQUFPLElBQUk7RUFDYjtFQUNBLE9BQU9BLEdBQUc7QUFDWjtBQUVBa0IsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDZnJCLFlBQVk7RUFDWlEsa0JBQWtCO0VBQ2xCQyxvQkFBb0I7RUFDcEJVLFVBQVU7RUFDVkQsYUFBYTtFQUNiRCxvQkFBb0I7RUFDcEJKLFdBQVc7RUFDWEg7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|