parse-server 5.3.0-alpha.9 → 5.3.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.
@@ -60,6 +60,14 @@ class LiveQueryController {
60
60
  return false;
61
61
  }
62
62
 
63
+ clearCachedRoles(user) {
64
+ if (!user) {
65
+ return;
66
+ }
67
+
68
+ return this.liveQueryPublisher.onClearCachedRoles(user);
69
+ }
70
+
63
71
  _makePublisherRequest(currentObject, originalObject, classLevelPermissions) {
64
72
  const req = {
65
73
  object: currentObject
@@ -81,4 +89,4 @@ class LiveQueryController {
81
89
  exports.LiveQueryController = LiveQueryController;
82
90
  var _default = LiveQueryController;
83
91
  exports.default = _default;
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9MaXZlUXVlcnlDb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIkxpdmVRdWVyeUNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsImNsYXNzTmFtZXMiLCJTZXQiLCJBcnJheSIsIm1hcCIsIm5hbWUiLCJfbmFtZSIsIlJlZ0V4cCIsImxpdmVRdWVyeVB1Ymxpc2hlciIsIlBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyIiwib25BZnRlclNhdmUiLCJjbGFzc05hbWUiLCJjdXJyZW50T2JqZWN0Iiwib3JpZ2luYWxPYmplY3QiLCJjbGFzc0xldmVsUGVybWlzc2lvbnMiLCJoYXNMaXZlUXVlcnkiLCJyZXEiLCJfbWFrZVB1Ymxpc2hlclJlcXVlc3QiLCJvbkNsb3VkQ29kZUFmdGVyU2F2ZSIsIm9uQWZ0ZXJEZWxldGUiLCJvbkNsb3VkQ29kZUFmdGVyRGVsZXRlIiwidGVzdCIsIm9iamVjdCIsIm9yaWdpbmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ08sTUFBTUEsbUJBQU4sQ0FBMEI7QUFJL0JDLEVBQUFBLFdBQVcsQ0FBQ0MsTUFBRCxFQUE0QjtBQUNyQztBQUNBLFFBQUksQ0FBQ0EsTUFBRCxJQUFXLENBQUNBLE1BQU0sQ0FBQ0MsVUFBdkIsRUFBbUM7QUFDakMsV0FBS0EsVUFBTCxHQUFrQixJQUFJQyxHQUFKLEVBQWxCO0FBQ0QsS0FGRCxNQUVPLElBQUlGLE1BQU0sQ0FBQ0MsVUFBUCxZQUE2QkUsS0FBakMsRUFBd0M7QUFDN0MsWUFBTUYsVUFBVSxHQUFHRCxNQUFNLENBQUNDLFVBQVAsQ0FBa0JHLEdBQWxCLENBQXNCQyxJQUFJLElBQUk7QUFDL0MsY0FBTUMsS0FBSyxHQUFHLDRCQUFhRCxJQUFiLENBQWQ7O0FBQ0EsZUFBTyxJQUFJRSxNQUFKLENBQVksSUFBR0QsS0FBTSxHQUFyQixDQUFQO0FBQ0QsT0FIa0IsQ0FBbkI7QUFJQSxXQUFLTCxVQUFMLEdBQWtCLElBQUlDLEdBQUosQ0FBUUQsVUFBUixDQUFsQjtBQUNELEtBTk0sTUFNQTtBQUNMLFlBQU0sZ0RBQU47QUFDRDs7QUFDRCxTQUFLTyxrQkFBTCxHQUEwQixJQUFJQyxnREFBSixDQUE0QlQsTUFBNUIsQ0FBMUI7QUFDRDs7QUFFRFUsRUFBQUEsV0FBVyxDQUNUQyxTQURTLEVBRVRDLGFBRlMsRUFHVEMsY0FIUyxFQUlUQyxxQkFKUyxFQUtUO0FBQ0EsUUFBSSxDQUFDLEtBQUtDLFlBQUwsQ0FBa0JKLFNBQWxCLENBQUwsRUFBbUM7QUFDakM7QUFDRDs7QUFDRCxVQUFNSyxHQUFHLEdBQUcsS0FBS0MscUJBQUwsQ0FBMkJMLGFBQTNCLEVBQTBDQyxjQUExQyxFQUEwREMscUJBQTFELENBQVo7O0FBQ0EsU0FBS04sa0JBQUwsQ0FBd0JVLG9CQUF4QixDQUE2Q0YsR0FBN0M7QUFDRDs7QUFFREcsRUFBQUEsYUFBYSxDQUNYUixTQURXLEVBRVhDLGFBRlcsRUFHWEMsY0FIVyxFQUlYQyxxQkFKVyxFQUtYO0FBQ0EsUUFBSSxDQUFDLEtBQUtDLFlBQUwsQ0FBa0JKLFNBQWxCLENBQUwsRUFBbUM7QUFDakM7QUFDRDs7QUFDRCxVQUFNSyxHQUFHLEdBQUcsS0FBS0MscUJBQUwsQ0FBMkJMLGFBQTNCLEVBQTBDQyxjQUExQyxFQUEwREMscUJBQTFELENBQVo7O0FBQ0EsU0FBS04sa0JBQUwsQ0FBd0JZLHNCQUF4QixDQUErQ0osR0FBL0M7QUFDRDs7QUFFREQsRUFBQUEsWUFBWSxDQUFDSixTQUFELEVBQTZCO0FBQ3ZDLFNBQUssTUFBTU4sSUFBWCxJQUFtQixLQUFLSixVQUF4QixFQUFvQztBQUNsQyxVQUFJSSxJQUFJLENBQUNnQixJQUFMLENBQVVWLFNBQVYsQ0FBSixFQUEwQjtBQUN4QixlQUFPLElBQVA7QUFDRDtBQUNGOztBQUNELFdBQU8sS0FBUDtBQUNEOztBQUVETSxFQUFBQSxxQkFBcUIsQ0FBQ0wsYUFBRCxFQUFxQkMsY0FBckIsRUFBMENDLHFCQUExQyxFQUE0RTtBQUMvRixVQUFNRSxHQUFHLEdBQUc7QUFDVk0sTUFBQUEsTUFBTSxFQUFFVjtBQURFLEtBQVo7O0FBR0EsUUFBSUEsYUFBSixFQUFtQjtBQUNqQkksTUFBQUEsR0FBRyxDQUFDTyxRQUFKLEdBQWVWLGNBQWY7QUFDRDs7QUFDRCxRQUFJQyxxQkFBSixFQUEyQjtBQUN6QkUsTUFBQUEsR0FBRyxDQUFDRixxQkFBSixHQUE0QkEscUJBQTVCO0FBQ0Q7O0FBQ0QsV0FBT0UsR0FBUDtBQUNEOztBQWxFOEI7OztlQXFFbEJsQixtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyIH0gZnJvbSAnLi4vTGl2ZVF1ZXJ5L1BhcnNlQ2xvdWRDb2RlUHVibGlzaGVyJztcbmltcG9ydCB7IExpdmVRdWVyeU9wdGlvbnMgfSBmcm9tICcuLi9PcHRpb25zJztcbmltcG9ydCB7IGdldENsYXNzTmFtZSB9IGZyb20gJy4vLi4vdHJpZ2dlcnMnO1xuZXhwb3J0IGNsYXNzIExpdmVRdWVyeUNvbnRyb2xsZXIge1xuICBjbGFzc05hbWVzOiBhbnk7XG4gIGxpdmVRdWVyeVB1Ymxpc2hlcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogP0xpdmVRdWVyeU9wdGlvbnMpIHtcbiAgICAvLyBJZiBjb25maWcgaXMgZW1wdHksIHdlIGp1c3QgYXNzdW1lIG5vIGNsYXNzcyBuZWVkcyB0byBiZSByZWdpc3RlcmVkIGFzIExpdmVRdWVyeVxuICAgIGlmICghY29uZmlnIHx8ICFjb25maWcuY2xhc3NOYW1lcykge1xuICAgICAgdGhpcy5jbGFzc05hbWVzID0gbmV3IFNldCgpO1xuICAgIH0gZWxzZSBpZiAoY29uZmlnLmNsYXNzTmFtZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgY29uc3QgY2xhc3NOYW1lcyA9IGNvbmZpZy5jbGFzc05hbWVzLm1hcChuYW1lID0+IHtcbiAgICAgICAgY29uc3QgX25hbWUgPSBnZXRDbGFzc05hbWUobmFtZSk7XG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKGBeJHtfbmFtZX0kYCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2xhc3NOYW1lcyA9IG5ldyBTZXQoY2xhc3NOYW1lcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93ICdsaXZlUXVlcnkuY2xhc3NlcyBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nJztcbiAgICB9XG4gICAgdGhpcy5saXZlUXVlcnlQdWJsaXNoZXIgPSBuZXcgUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIoY29uZmlnKTtcbiAgfVxuXG4gIG9uQWZ0ZXJTYXZlKFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRPYmplY3Q6IGFueSxcbiAgICBvcmlnaW5hbE9iamVjdDogYW55LFxuICAgIGNsYXNzTGV2ZWxQZXJtaXNzaW9uczogP2FueVxuICApIHtcbiAgICBpZiAoIXRoaXMuaGFzTGl2ZVF1ZXJ5KGNsYXNzTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVxID0gdGhpcy5fbWFrZVB1Ymxpc2hlclJlcXVlc3QoY3VycmVudE9iamVjdCwgb3JpZ2luYWxPYmplY3QsIGNsYXNzTGV2ZWxQZXJtaXNzaW9ucyk7XG4gICAgdGhpcy5saXZlUXVlcnlQdWJsaXNoZXIub25DbG91ZENvZGVBZnRlclNhdmUocmVxKTtcbiAgfVxuXG4gIG9uQWZ0ZXJEZWxldGUoXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudE9iamVjdDogYW55LFxuICAgIG9yaWdpbmFsT2JqZWN0OiBhbnksXG4gICAgY2xhc3NMZXZlbFBlcm1pc3Npb25zOiBhbnlcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmhhc0xpdmVRdWVyeShjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlcSA9IHRoaXMuX21ha2VQdWJsaXNoZXJSZXF1ZXN0KGN1cnJlbnRPYmplY3QsIG9yaWdpbmFsT2JqZWN0LCBjbGFzc0xldmVsUGVybWlzc2lvbnMpO1xuICAgIHRoaXMubGl2ZVF1ZXJ5UHVibGlzaGVyLm9uQ2xvdWRDb2RlQWZ0ZXJEZWxldGUocmVxKTtcbiAgfVxuXG4gIGhhc0xpdmVRdWVyeShjbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmNsYXNzTmFtZXMpIHtcbiAgICAgIGlmIChuYW1lLnRlc3QoY2xhc3NOYW1lKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgX21ha2VQdWJsaXNoZXJSZXF1ZXN0KGN1cnJlbnRPYmplY3Q6IGFueSwgb3JpZ2luYWxPYmplY3Q6IGFueSwgY2xhc3NMZXZlbFBlcm1pc3Npb25zOiA/YW55KTogYW55IHtcbiAgICBjb25zdCByZXEgPSB7XG4gICAgICBvYmplY3Q6IGN1cnJlbnRPYmplY3QsXG4gICAgfTtcbiAgICBpZiAoY3VycmVudE9iamVjdCkge1xuICAgICAgcmVxLm9yaWdpbmFsID0gb3JpZ2luYWxPYmplY3Q7XG4gICAgfVxuICAgIGlmIChjbGFzc0xldmVsUGVybWlzc2lvbnMpIHtcbiAgICAgIHJlcS5jbGFzc0xldmVsUGVybWlzc2lvbnMgPSBjbGFzc0xldmVsUGVybWlzc2lvbnM7XG4gICAgfVxuICAgIHJldHVybiByZXE7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVF1ZXJ5Q29udHJvbGxlcjtcbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9MaXZlUXVlcnlDb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIkxpdmVRdWVyeUNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsImNsYXNzTmFtZXMiLCJTZXQiLCJBcnJheSIsIm1hcCIsIm5hbWUiLCJfbmFtZSIsIlJlZ0V4cCIsImxpdmVRdWVyeVB1Ymxpc2hlciIsIlBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyIiwib25BZnRlclNhdmUiLCJjbGFzc05hbWUiLCJjdXJyZW50T2JqZWN0Iiwib3JpZ2luYWxPYmplY3QiLCJjbGFzc0xldmVsUGVybWlzc2lvbnMiLCJoYXNMaXZlUXVlcnkiLCJyZXEiLCJfbWFrZVB1Ymxpc2hlclJlcXVlc3QiLCJvbkNsb3VkQ29kZUFmdGVyU2F2ZSIsIm9uQWZ0ZXJEZWxldGUiLCJvbkNsb3VkQ29kZUFmdGVyRGVsZXRlIiwidGVzdCIsImNsZWFyQ2FjaGVkUm9sZXMiLCJ1c2VyIiwib25DbGVhckNhY2hlZFJvbGVzIiwib2JqZWN0Iiwib3JpZ2luYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDTyxNQUFNQSxtQkFBTixDQUEwQjtBQUkvQkMsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQTRCO0FBQ3JDO0FBQ0EsUUFBSSxDQUFDQSxNQUFELElBQVcsQ0FBQ0EsTUFBTSxDQUFDQyxVQUF2QixFQUFtQztBQUNqQyxXQUFLQSxVQUFMLEdBQWtCLElBQUlDLEdBQUosRUFBbEI7QUFDRCxLQUZELE1BRU8sSUFBSUYsTUFBTSxDQUFDQyxVQUFQLFlBQTZCRSxLQUFqQyxFQUF3QztBQUM3QyxZQUFNRixVQUFVLEdBQUdELE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkcsR0FBbEIsQ0FBc0JDLElBQUksSUFBSTtBQUMvQyxjQUFNQyxLQUFLLEdBQUcsNEJBQWFELElBQWIsQ0FBZDs7QUFDQSxlQUFPLElBQUlFLE1BQUosQ0FBWSxJQUFHRCxLQUFNLEdBQXJCLENBQVA7QUFDRCxPQUhrQixDQUFuQjtBQUlBLFdBQUtMLFVBQUwsR0FBa0IsSUFBSUMsR0FBSixDQUFRRCxVQUFSLENBQWxCO0FBQ0QsS0FOTSxNQU1BO0FBQ0wsWUFBTSxnREFBTjtBQUNEOztBQUNELFNBQUtPLGtCQUFMLEdBQTBCLElBQUlDLGdEQUFKLENBQTRCVCxNQUE1QixDQUExQjtBQUNEOztBQUVEVSxFQUFBQSxXQUFXLENBQ1RDLFNBRFMsRUFFVEMsYUFGUyxFQUdUQyxjQUhTLEVBSVRDLHFCQUpTLEVBS1Q7QUFDQSxRQUFJLENBQUMsS0FBS0MsWUFBTCxDQUFrQkosU0FBbEIsQ0FBTCxFQUFtQztBQUNqQztBQUNEOztBQUNELFVBQU1LLEdBQUcsR0FBRyxLQUFLQyxxQkFBTCxDQUEyQkwsYUFBM0IsRUFBMENDLGNBQTFDLEVBQTBEQyxxQkFBMUQsQ0FBWjs7QUFDQSxTQUFLTixrQkFBTCxDQUF3QlUsb0JBQXhCLENBQTZDRixHQUE3QztBQUNEOztBQUVERyxFQUFBQSxhQUFhLENBQ1hSLFNBRFcsRUFFWEMsYUFGVyxFQUdYQyxjQUhXLEVBSVhDLHFCQUpXLEVBS1g7QUFDQSxRQUFJLENBQUMsS0FBS0MsWUFBTCxDQUFrQkosU0FBbEIsQ0FBTCxFQUFtQztBQUNqQztBQUNEOztBQUNELFVBQU1LLEdBQUcsR0FBRyxLQUFLQyxxQkFBTCxDQUEyQkwsYUFBM0IsRUFBMENDLGNBQTFDLEVBQTBEQyxxQkFBMUQsQ0FBWjs7QUFDQSxTQUFLTixrQkFBTCxDQUF3Qlksc0JBQXhCLENBQStDSixHQUEvQztBQUNEOztBQUVERCxFQUFBQSxZQUFZLENBQUNKLFNBQUQsRUFBNkI7QUFDdkMsU0FBSyxNQUFNTixJQUFYLElBQW1CLEtBQUtKLFVBQXhCLEVBQW9DO0FBQ2xDLFVBQUlJLElBQUksQ0FBQ2dCLElBQUwsQ0FBVVYsU0FBVixDQUFKLEVBQTBCO0FBQ3hCLGVBQU8sSUFBUDtBQUNEO0FBQ0Y7O0FBQ0QsV0FBTyxLQUFQO0FBQ0Q7O0FBRURXLEVBQUFBLGdCQUFnQixDQUFDQyxJQUFELEVBQVk7QUFDMUIsUUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVDtBQUNEOztBQUNELFdBQU8sS0FBS2Ysa0JBQUwsQ0FBd0JnQixrQkFBeEIsQ0FBMkNELElBQTNDLENBQVA7QUFDRDs7QUFFRE4sRUFBQUEscUJBQXFCLENBQUNMLGFBQUQsRUFBcUJDLGNBQXJCLEVBQTBDQyxxQkFBMUMsRUFBNEU7QUFDL0YsVUFBTUUsR0FBRyxHQUFHO0FBQ1ZTLE1BQUFBLE1BQU0sRUFBRWI7QUFERSxLQUFaOztBQUdBLFFBQUlBLGFBQUosRUFBbUI7QUFDakJJLE1BQUFBLEdBQUcsQ0FBQ1UsUUFBSixHQUFlYixjQUFmO0FBQ0Q7O0FBQ0QsUUFBSUMscUJBQUosRUFBMkI7QUFDekJFLE1BQUFBLEdBQUcsQ0FBQ0YscUJBQUosR0FBNEJBLHFCQUE1QjtBQUNEOztBQUNELFdBQU9FLEdBQVA7QUFDRDs7QUF6RThCOzs7ZUE0RWxCbEIsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZUNsb3VkQ29kZVB1Ymxpc2hlciB9IGZyb20gJy4uL0xpdmVRdWVyeS9QYXJzZUNsb3VkQ29kZVB1Ymxpc2hlcic7XG5pbXBvcnQgeyBMaXZlUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vT3B0aW9ucyc7XG5pbXBvcnQgeyBnZXRDbGFzc05hbWUgfSBmcm9tICcuLy4uL3RyaWdnZXJzJztcbmV4cG9ydCBjbGFzcyBMaXZlUXVlcnlDb250cm9sbGVyIHtcbiAgY2xhc3NOYW1lczogYW55O1xuICBsaXZlUXVlcnlQdWJsaXNoZXI6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6ID9MaXZlUXVlcnlPcHRpb25zKSB7XG4gICAgLy8gSWYgY29uZmlnIGlzIGVtcHR5LCB3ZSBqdXN0IGFzc3VtZSBubyBjbGFzc3MgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCBhcyBMaXZlUXVlcnlcbiAgICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLmNsYXNzTmFtZXMpIHtcbiAgICAgIHRoaXMuY2xhc3NOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICB9IGVsc2UgaWYgKGNvbmZpZy5jbGFzc05hbWVzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBjb25maWcuY2xhc3NOYW1lcy5tYXAobmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IF9uYW1lID0gZ2V0Q2xhc3NOYW1lKG5hbWUpO1xuICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChgXiR7X25hbWV9JGApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNsYXNzTmFtZXMgPSBuZXcgU2V0KGNsYXNzTmFtZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyAnbGl2ZVF1ZXJ5LmNsYXNzZXMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZyc7XG4gICAgfVxuICAgIHRoaXMubGl2ZVF1ZXJ5UHVibGlzaGVyID0gbmV3IFBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyKGNvbmZpZyk7XG4gIH1cblxuICBvbkFmdGVyU2F2ZShcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgICBjdXJyZW50T2JqZWN0OiBhbnksXG4gICAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgICBjbGFzc0xldmVsUGVybWlzc2lvbnM6ID9hbnlcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmhhc0xpdmVRdWVyeShjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlcSA9IHRoaXMuX21ha2VQdWJsaXNoZXJSZXF1ZXN0KGN1cnJlbnRPYmplY3QsIG9yaWdpbmFsT2JqZWN0LCBjbGFzc0xldmVsUGVybWlzc2lvbnMpO1xuICAgIHRoaXMubGl2ZVF1ZXJ5UHVibGlzaGVyLm9uQ2xvdWRDb2RlQWZ0ZXJTYXZlKHJlcSk7XG4gIH1cblxuICBvbkFmdGVyRGVsZXRlKFxuICAgIGNsYXNzTmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRPYmplY3Q6IGFueSxcbiAgICBvcmlnaW5hbE9iamVjdDogYW55LFxuICAgIGNsYXNzTGV2ZWxQZXJtaXNzaW9uczogYW55XG4gICkge1xuICAgIGlmICghdGhpcy5oYXNMaXZlUXVlcnkoY2xhc3NOYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZXEgPSB0aGlzLl9tYWtlUHVibGlzaGVyUmVxdWVzdChjdXJyZW50T2JqZWN0LCBvcmlnaW5hbE9iamVjdCwgY2xhc3NMZXZlbFBlcm1pc3Npb25zKTtcbiAgICB0aGlzLmxpdmVRdWVyeVB1Ymxpc2hlci5vbkNsb3VkQ29kZUFmdGVyRGVsZXRlKHJlcSk7XG4gIH1cblxuICBoYXNMaXZlUXVlcnkoY2xhc3NOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5jbGFzc05hbWVzKSB7XG4gICAgICBpZiAobmFtZS50ZXN0KGNsYXNzTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNsZWFyQ2FjaGVkUm9sZXModXNlcjogYW55KSB7XG4gICAgaWYgKCF1c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpdmVRdWVyeVB1Ymxpc2hlci5vbkNsZWFyQ2FjaGVkUm9sZXModXNlcik7XG4gIH1cblxuICBfbWFrZVB1Ymxpc2hlclJlcXVlc3QoY3VycmVudE9iamVjdDogYW55LCBvcmlnaW5hbE9iamVjdDogYW55LCBjbGFzc0xldmVsUGVybWlzc2lvbnM6ID9hbnkpOiBhbnkge1xuICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgIG9iamVjdDogY3VycmVudE9iamVjdCxcbiAgICB9O1xuICAgIGlmIChjdXJyZW50T2JqZWN0KSB7XG4gICAgICByZXEub3JpZ2luYWwgPSBvcmlnaW5hbE9iamVjdDtcbiAgICB9XG4gICAgaWYgKGNsYXNzTGV2ZWxQZXJtaXNzaW9ucykge1xuICAgICAgcmVxLmNsYXNzTGV2ZWxQZXJtaXNzaW9ucyA9IGNsYXNzTGV2ZWxQZXJtaXNzaW9ucztcbiAgICB9XG4gICAgcmV0dXJuIHJlcTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMaXZlUXVlcnlDb250cm9sbGVyO1xuIl19