parse-server 5.3.0-alpha.6 → 5.3.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,7 @@ const transformTypes = async (inputType, fields, {
40
40
  isUpdateEnabled
41
41
  }
42
42
  } = parseGraphQLSchema.parseClassTypes[className];
43
- const parseClass = parseGraphQLSchema.parseClasses.find(clazz => clazz.className === className);
43
+ const parseClass = parseGraphQLSchema.parseClasses[className];
44
44
 
45
45
  if (fields) {
46
46
  const classGraphQLCreateTypeFields = isCreateEnabled && classGraphQLCreateType ? classGraphQLCreateType.getFields() : null;
@@ -307,4 +307,4 @@ const transformers = {
307
307
  }
308
308
  }
309
309
  };
310
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9tdXRhdGlvbi5qcyJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1UeXBlcyIsImlucHV0VHlwZSIsImZpZWxkcyIsImNsYXNzTmFtZSIsInBhcnNlR3JhcGhRTFNjaGVtYSIsInJlcSIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImZpbmQiLCJjbGF6eiIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiZmllbGQiLCJpbnB1dFR5cGVGaWVsZCIsInR5cGUiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiR0VPX1BPSU5UX0lOUFVUIiwiX19vcCIsInRyYW5zZm9ybWVycyIsImdlb1BvaW50IiwiUE9MWUdPTl9JTlBVVCIsInBvbHlnb24iLCJGSUxFX0lOUFVUIiwiZmlsZSIsInJlbGF0aW9uIiwidGFyZ2V0Q2xhc3MiLCJwb2ludGVyIiwiUHJvbWlzZSIsImFsbCIsIkFDTCIsImlucHV0IiwidXBsb2FkIiwiZmlsZUluZm8iLCJfX3R5cGUiLCJuYW1lIiwidXJsIiwiUGFyc2UiLCJFcnJvciIsIkZJTEVfU0FWRV9FUlJPUiIsInZhbHVlIiwiY29vcmRpbmF0ZXMiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInBhcnNlQUNMIiwicHVibGljIiwicmVhZCIsIndyaXRlIiwidXNlcnMiLCJmb3JFYWNoIiwicnVsZSIsImdsb2JhbElkT2JqZWN0IiwidXNlcklkIiwiaWQiLCJyb2xlcyIsInJvbGVOYW1lIiwiYXV0aCIsImluZm8iLCJsZW5ndGgiLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwib2JqZWN0c011dGF0aW9ucyIsImNyZWF0ZU9iamVjdCIsIm9iamVjdCIsIm9iamVjdElkIiwiYWRkIiwicHVzaCIsIm9iamVjdHMiLCJyZW1vdmUiLCJuZXN0ZWRPYmplY3RUb0FkZCIsImNyZWF0ZUFuZExpbmsiLCJsaW5rIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLE9BQ3JCQyxTQURxQixFQUVyQkMsTUFGcUIsRUFHckI7QUFBRUMsRUFBQUEsU0FBRjtBQUFhQyxFQUFBQSxrQkFBYjtBQUFpQ0MsRUFBQUE7QUFBakMsQ0FIcUIsS0FJbEI7QUFDSCxRQUFNO0FBQ0pDLElBQUFBLHNCQURJO0FBRUpDLElBQUFBLHNCQUZJO0FBR0pDLElBQUFBLE1BQU0sRUFBRTtBQUFFQyxNQUFBQSxlQUFGO0FBQW1CQyxNQUFBQTtBQUFuQjtBQUhKLE1BSUZOLGtCQUFrQixDQUFDTyxlQUFuQixDQUFtQ1IsU0FBbkMsQ0FKSjtBQUtBLFFBQU1TLFVBQVUsR0FBR1Isa0JBQWtCLENBQUNTLFlBQW5CLENBQWdDQyxJQUFoQyxDQUFxQ0MsS0FBSyxJQUFJQSxLQUFLLENBQUNaLFNBQU4sS0FBb0JBLFNBQWxFLENBQW5COztBQUNBLE1BQUlELE1BQUosRUFBWTtBQUNWLFVBQU1jLDRCQUE0QixHQUNoQ1AsZUFBZSxJQUFJSCxzQkFBbkIsR0FBNENBLHNCQUFzQixDQUFDVyxTQUF2QixFQUE1QyxHQUFpRixJQURuRjtBQUVBLFVBQU1DLDRCQUE0QixHQUNoQ1IsZUFBZSxJQUFJSCxzQkFBbkIsR0FBNENBLHNCQUFzQixDQUFDVSxTQUF2QixFQUE1QyxHQUFpRixJQURuRjtBQUVBLFVBQU1FLFFBQVEsR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVluQixNQUFaLEVBQW9Cb0IsR0FBcEIs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RUFBRSxTQURIO0FBRUx6QyxRQUFBQSxTQUFTLEVBQUVpQyxXQUZOO0FBR0wwQyxRQUFBQTtBQUhLLE9BQVA7QUFLRDtBQUNGO0FBaEtrQixDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IGZyb21HbG9iYWxJZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHsgaGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vbG9hZGVycy9maWxlc011dGF0aW9ucyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgKiBhcyBvYmplY3RzTXV0YXRpb25zIGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0c011dGF0aW9ucyc7XG5cbmNvbnN0IHRyYW5zZm9ybVR5cGVzID0gYXN5bmMgKFxuICBpbnB1dFR5cGU6ICdjcmVhdGUnIHwgJ3VwZGF0ZScsXG4gIGZpZWxkcyxcbiAgeyBjbGFzc05hbWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgcmVxIH1cbikgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSxcbiAgICBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLFxuICAgIGNvbmZpZzogeyBpc0NyZWF0ZUVuYWJsZWQsIGlzVXBkYXRlRW5hYmxlZCB9LFxuICB9ID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3NUeXBlc1tjbGFzc05hbWVdO1xuICBjb25zdCBwYXJzZUNsYXNzID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3Nlcy5maW5kKGNsYXp6ID0+IGNsYXp6LmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lKTtcbiAgaWYgKGZpZWxkcykge1xuICAgIGNvbnN0IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMgPVxuICAgICAgaXNDcmVhdGVFbmFibGVkICYmIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUgPyBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlLmdldEZpZWxkcygpIDogbnVsbDtcbiAgICBjb25zdCBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzID1cbiAgICAgIGlzVXBkYXRlRW5hYmxlZCAmJiBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlID8gY2xhc3NHcmFwaFFMVXBkYXRlVHlwZS5nZXRGaWVsZHMoKSA6IG51bGw7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBPYmplY3Qua2V5cyhmaWVsZHMpLm1hcChhc3luYyBmaWVsZCA9PiB7XG4gICAgICBsZXQgaW5wdXRUeXBlRmllbGQ7XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSAnY3JlYXRlJyAmJiBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzKSB7XG4gICAgICAgIGlucHV0VHlwZUZpZWxkID0gY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkc1tmaWVsZF07XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHMpIHtcbiAgICAgICAgaW5wdXRUeXBlRmllbGQgPSBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzW2ZpZWxkXTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFR5cGVGaWVsZCkge1xuICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuR0VPX1BPSU5UX0lOUFVUOlxuICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gdHJhbnNmb3JtZXJzLmdlb1BvaW50KGZpZWxkc1tmaWVsZF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLlBPTFlHT05fSU5QVVQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB0cmFuc2Zvcm1lcnMucG9seWdvbihmaWVsZHNbZmllbGRdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5GSUxFX0lOUFVUOlxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5maWxlKGZpZWxkc1tmaWVsZF0sIHJlcSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHBhcnNlQ2xhc3MuZmllbGRzW2ZpZWxkXS50eXBlID09PSAnUmVsYXRpb24nOlxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5yZWxhdGlvbihcbiAgICAgICAgICAgICAgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnRhcmdldENsYXNzLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHBhcnNlQ2xhc3MuZmllbGRzW2ZpZWxkXS50eXBlID09PSAnUG9pbnRlcic6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSBhd2FpdCB0cmFuc2Zvcm1lcnMucG9pbnRlcihcbiAgICAgICAgICAgICAgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnRhcmdldENsYXNzLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgaWYgKGZpZWxkcy5BQ0wpIGZpZWxkcy5BQ0wgPSB0cmFuc2Zvcm1lcnMuQUNMKGZpZWxkcy5BQ0wpO1xuICB9XG4gIHJldHVybiBmaWVsZHM7XG59O1xuXG5jb25zdCB0cmFuc2Zvcm1lcnMgPSB7XG4gIGZpbGU6IGFzeW5jIChpbnB1dCwgeyBjb25maWcgfSkgPT4ge1xuICAgIGlmIChpbnB1dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICB9XG4gICAgY29uc3QgeyBmaWxlLCB1cGxvYWQgfSA9IGlucHV0O1xuICAgIGlmICh1cGxvYWQpIHtcbiAgICAgIGNvbnN0IHsgZmlsZUluZm8gfSA9IGF3YWl0IGhhbmRsZVVwbG9hZCh1cGxvYWQsIGNvbmZpZyk7XG4gICAgICByZXR1cm4geyAuLi5maWxlSW5mbywgX190eXBlOiAnRmlsZScgfTtcbiAgICB9IGVsc2UgaWYgKGZpbGUgJiYgZmlsZS5uYW1lKSB7XG4gICAgICByZXR1cm4geyBuYW1lOiBmaWxlLm5hbWUsIF9fdHlwZTogJ0ZpbGUnLCB1cmw6IGZpbGUudXJsIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsICdJbnZhbGlkIGZpbGUgdXBsb2FkLicpO1xuICB9LFxuICBwb2x5Z29uOiB2YWx1ZSA9PiAoe1xuICAgIF9fdHlwZTogJ1BvbHlnb24nLFxuICAgIGNvb3JkaW5hdGVzOiB2YWx1ZS5tYXAoZ2VvUG9pbnQgPT4gW2dlb1BvaW50LmxhdGl0dWRlLCBnZW9Qb2ludC5sb25naXR1ZGVdKSxcbiAgfSksXG4gIGdlb1BvaW50OiB2YWx1ZSA9PiAoe1xuICAgIC4uLnZhbHVlLFxuICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgfSksXG4gIEFDTDogdmFsdWUgPT4ge1xuICAgIGNvbnN0IHBhcnNlQUNMID0ge307XG4gICAgaWYgKHZhbHVlLnB1YmxpYykge1xuICAgICAgcGFyc2VBQ0xbJyonXSA9IHtcbiAgICAgICAgcmVhZDogdmFsdWUucHVibGljLnJlYWQsXG4gICAgICAgIHdyaXRlOiB2YWx1ZS5wdWJsaWMud3JpdGUsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUudXNlcnMpIHtcbiAgICAgIHZhbHVlLnVzZXJzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKHJ1bGUudXNlcklkKTtcbiAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09ICdfVXNlcicpIHtcbiAgICAgICAgICBydWxlLnVzZXJJZCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlQUNMW3J1bGUudXNlcklkXSA9IHtcbiAgICAgICAgICByZWFkOiBydWxlLnJlYWQsXG4gICAgICAgICAgd3JpdGU6IHJ1bGUud3JpdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJvbGVzKSB7XG4gICAgICB2YWx1ZS5yb2xlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICBwYXJzZUFDTFtgcm9sZToke3J1bGUucm9sZU5hbWV9YF0gPSB7XG4gICAgICAgICAgcmVhZDogcnVsZS5yZWFkLFxuICAgICAgICAgIHdyaXRlOiBydWxlLndyaXRlLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUFDTDtcbiAgfSxcbiAgcmVsYXRpb246IGFzeW5jICh0YXJnZXRDbGFzcywgZmllbGQsIHZhbHVlLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHsgY29uZmlnLCBhdXRoLCBpbmZvIH0pID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBhdCBsZWFzdCBvbmUgb3BlcmF0aW9uIG9uIHRoZSByZWxhdGlvbiBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBjb25zdCBvcCA9IHtcbiAgICAgIF9fb3A6ICdCYXRjaCcsXG4gICAgICBvcHM6IFtdLFxuICAgIH07XG4gICAgbGV0IG5lc3RlZE9iamVjdHNUb0FkZCA9IFtdO1xuXG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZEFkZCkge1xuICAgICAgbmVzdGVkT2JqZWN0c1RvQWRkID0gKFxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICB2YWx1ZS5jcmVhdGVBbmRBZGQubWFwKGFzeW5jIGlucHV0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlRmllbGRzID0gYXdhaXQgdHJhbnNmb3JtVHlwZXMoJ2NyZWF0ZScsIGlucHV0LCB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgICAgICAgcmVxOiB7IGNvbmZpZywgYXV0aCwgaW5mbyB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0c011dGF0aW9ucy5jcmVhdGVPYmplY3QodGFyZ2V0Q2xhc3MsIHBhcnNlRmllbGRzLCBjb25maWcsIGF1dGgsIGluZm8pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICkubWFwKG9iamVjdCA9PiAoe1xuICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgb2JqZWN0SWQ6IG9iamVjdC5vYmplY3RJZCxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUuYWRkIHx8IG5lc3RlZE9iamVjdHNUb0FkZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoIXZhbHVlLmFkZCkgdmFsdWUuYWRkID0gW107XG4gICAgICB2YWx1ZS5hZGQgPSB2YWx1ZS5hZGQubWFwKGlucHV0ID0+IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoaW5wdXQpO1xuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gdGFyZ2V0Q2xhc3MpIHtcbiAgICAgICAgICBpbnB1dCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICBvYmplY3RJZDogaW5wdXQsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIG9wLm9wcy5wdXNoKHtcbiAgICAgICAgX19vcDogJ0FkZFJlbGF0aW9uJyxcbiAgICAgICAgb2JqZWN0czogWy4uLnZhbHVlLmFkZCwgLi4ubmVzdGVkT2JqZWN0c1RvQWRkXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5yZW1vdmUpIHtcbiAgICAgIG9wLm9wcy5wdXNoKHtcbiAgICAgICAgX19vcDogJ1JlbW92ZVJlbGF0aW9uJyxcbiAgICAgICAgb2JqZWN0czogdmFsdWUucmVtb3ZlLm1hcChpbnB1dCA9PiB7XG4gICAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoaW5wdXQpO1xuICAgICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICAgICAgaW5wdXQgPSBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIG9iamVjdElkOiBpbnB1dCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG4gIH0sXG4gIHBvaW50ZXI6IGFzeW5jICh0YXJnZXRDbGFzcywgZmllbGQsIHZhbHVlLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHsgY29uZmlnLCBhdXRoLCBpbmZvIH0pID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA+IDEgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBsaW5rIE9SIGNyZWF0ZUxpbmsgb24gdGhlIHBvaW50ZXIgbXV0YXRpb24gb2YgZmllbGQgJHtmaWVsZH1gXG4gICAgICApO1xuXG4gICAgbGV0IG5lc3RlZE9iamVjdFRvQWRkO1xuICAgIGlmICh2YWx1ZS5jcmVhdGVBbmRMaW5rKSB7XG4gICAgICBjb25zdCBwYXJzZUZpZWxkcyA9IGF3YWl0IHRyYW5zZm9ybVR5cGVzKCdjcmVhdGUnLCB2YWx1ZS5jcmVhdGVBbmRMaW5rLCB7XG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgcmVxOiB7IGNvbmZpZywgYXV0aCwgaW5mbyB9LFxuICAgICAgfSk7XG4gICAgICBuZXN0ZWRPYmplY3RUb0FkZCA9IGF3YWl0IG9iamVjdHNNdXRhdGlvbnMuY3JlYXRlT2JqZWN0KFxuICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VGaWVsZHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgYXV0aCxcbiAgICAgICAgaW5mb1xuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogbmVzdGVkT2JqZWN0VG9BZGQub2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUubGluaykge1xuICAgICAgbGV0IG9iamVjdElkID0gdmFsdWUubGluaztcbiAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKG9iamVjdElkKTtcbiAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICBvYmplY3RJZCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1UeXBlcyB9O1xuIl19
310
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9tdXRhdGlvbi5qcyJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1UeXBlcyIsImlucHV0VHlwZSIsImZpZWxkcyIsImNsYXNzTmFtZSIsInBhcnNlR3JhcGhRTFNjaGVtYSIsInJlcSIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiZmllbGQiLCJpbnB1dFR5cGVGaWVsZCIsInR5cGUiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiR0VPX1BPSU5UX0lOUFVUIiwiX19vcCIsInRyYW5zZm9ybWVycyIsImdlb1BvaW50IiwiUE9MWUdPTl9JTlBVVCIsInBvbHlnb24iLCJGSUxFX0lOUFVUIiwiZmlsZSIsInJlbGF0aW9uIiwidGFyZ2V0Q2xhc3MiLCJwb2ludGVyIiwiUHJvbWlzZSIsImFsbCIsIkFDTCIsImlucHV0IiwidXBsb2FkIiwiZmlsZUluZm8iLCJfX3R5cGUiLCJuYW1lIiwidXJsIiwiUGFyc2UiLCJFcnJvciIsIkZJTEVfU0FWRV9FUlJPUiIsInZhbHVlIiwiY29vcmRpbmF0ZXMiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInBhcnNlQUNMIiwicHVibGljIiwicmVhZCIsIndyaXRlIiwidXNlcnMiLCJmb3JFYWNoIiwicnVsZSIsImdsb2JhbElkT2JqZWN0IiwidXNlcklkIiwiaWQiLCJyb2xlcyIsInJvbGVOYW1lIiwiYXV0aCIsImluZm8iLCJsZW5ndGgiLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwib2JqZWN0c011dGF0aW9ucyIsImNyZWF0ZU9iamVjdCIsIm9iamVjdCIsIm9iamVjdElkIiwiYWRkIiwicHVzaCIsIm9iamVjdHMiLCJyZW1vdmUiLCJuZXN0ZWRPYmplY3RUb0FkZCIsImNyZWF0ZUFuZExpbmsiLCJsaW5rIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLE9BQ3JCQyxTQURxQixFQUVyQkMsTUFGcUIsRUFHckI7QUFBRUMsRUFBQUEsU0FBRjtBQUFhQyxFQUFBQSxrQkFBYjtBQUFpQ0MsRUFBQUE7QUFBakMsQ0FIcUIsS0FJbEI7QUFDSCxRQUFNO0FBQ0pDLElBQUFBLHNCQURJO0FBRUpDLElBQUFBLHNCQUZJO0FBR0pDLElBQUFBLE1BQU0sRUFBRTtBQUFFQyxNQUFBQSxlQUFGO0FBQW1CQyxNQUFBQTtBQUFuQjtBQUhKLE1BSUZOLGtCQUFrQixDQUFDTyxlQUFuQixDQUFtQ1IsU0FBbkMsQ0FKSjtBQUtBLFFBQU1TLFVBQVUsR0FBR1Isa0JBQWtCLENBQUNTLFlBQW5CLENBQWdDVixTQUFoQyxDQUFuQjs7QUFDQSxNQUFJRCxNQUFKLEVBQVk7QUFDVixVQUFNWSw0QkFBNEIsR0FDaENMLGVBQWUsSUFBSUgsc0JBQW5CLEdBQTRDQSxzQkFBc0IsQ0FBQ1MsU0FBdkIsRUFBNUMsR0FBaUYsSUFEbkY7QUFFQSxVQUFNQyw0QkFBNEIsR0FDaENOLGVBQWUsSUFBSUgsc0JBQW5CLEdBQTRDQSxzQkFBc0IsQ0FBQ1EsU0FBdkIsRUFBNUMsR0FBaUYsSUFEbkY7QUFFQSxVQUFNRSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZakIsTUFBWixFQUFvQmtCLEdBQXBCLENBQXdCLE1BQU1DLEtBQU4sSUFBZTtBQUN0RCxVQUFJQyxjQUFKOztBQUNBLFVBQUlyQixTQUFTLEtBQUss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QUFLRDtBQUNGO0FBaEtrQixDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IGZyb21HbG9iYWxJZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHsgaGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vbG9hZGVycy9maWxlc011dGF0aW9ucyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgKiBhcyBvYmplY3RzTXV0YXRpb25zIGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0c011dGF0aW9ucyc7XG5cbmNvbnN0IHRyYW5zZm9ybVR5cGVzID0gYXN5bmMgKFxuICBpbnB1dFR5cGU6ICdjcmVhdGUnIHwgJ3VwZGF0ZScsXG4gIGZpZWxkcyxcbiAgeyBjbGFzc05hbWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgcmVxIH1cbikgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSxcbiAgICBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLFxuICAgIGNvbmZpZzogeyBpc0NyZWF0ZUVuYWJsZWQsIGlzVXBkYXRlRW5hYmxlZCB9LFxuICB9ID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3NUeXBlc1tjbGFzc05hbWVdO1xuICBjb25zdCBwYXJzZUNsYXNzID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdO1xuICBpZiAoZmllbGRzKSB7XG4gICAgY29uc3QgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkcyA9XG4gICAgICBpc0NyZWF0ZUVuYWJsZWQgJiYgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSA/IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUuZ2V0RmllbGRzKCkgOiBudWxsO1xuICAgIGNvbnN0IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHMgPVxuICAgICAgaXNVcGRhdGVFbmFibGVkICYmIGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGUgPyBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLmdldEZpZWxkcygpIDogbnVsbDtcbiAgICBjb25zdCBwcm9taXNlcyA9IE9iamVjdC5rZXlzKGZpZWxkcykubWFwKGFzeW5jIGZpZWxkID0+IHtcbiAgICAgIGxldCBpbnB1dFR5cGVGaWVsZDtcbiAgICAgIGlmIChpbnB1dFR5cGUgPT09ICdjcmVhdGUnICYmIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMpIHtcbiAgICAgICAgaW5wdXRUeXBlRmllbGQgPSBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzW2ZpZWxkXTtcbiAgICAgIH0gZWxzZSBpZiAoY2xhc3NHcmFwaFFMVXBkYXRlVHlwZUZpZWxkcykge1xuICAgICAgICBpbnB1dFR5cGVGaWVsZCA9IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHNbZmllbGRdO1xuICAgICAgfVxuICAgICAgaWYgKGlucHV0VHlwZUZpZWxkKSB7XG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5HRU9fUE9JTlRfSU5QVVQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB0cmFuc2Zvcm1lcnMuZ2VvUG9pbnQoZmllbGRzW2ZpZWxkXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuUE9MWUdPTl9JTlBVVDpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHRyYW5zZm9ybWVycy5wb2x5Z29uKGZpZWxkc1tmaWVsZF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLkZJTEVfSU5QVVQ6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLmZpbGUoZmllbGRzW2ZpZWxkXSwgcmVxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdSZWxhdGlvbic6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLnJlbGF0aW9uKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdQb2ludGVyJzpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5wb2ludGVyKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICBpZiAoZmllbGRzLkFDTCkgZmllbGRzLkFDTCA9IHRyYW5zZm9ybWVycy5BQ0woZmllbGRzLkFDTCk7XG4gIH1cbiAgcmV0dXJuIGZpZWxkcztcbn07XG5cbmNvbnN0IHRyYW5zZm9ybWVycyA9IHtcbiAgZmlsZTogYXN5bmMgKGlucHV0LCB7IGNvbmZpZyB9KSA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgIH1cbiAgICBjb25zdCB7IGZpbGUsIHVwbG9hZCB9ID0gaW5wdXQ7XG4gICAgaWYgKHVwbG9hZCkge1xuICAgICAgY29uc3QgeyBmaWxlSW5mbyB9ID0gYXdhaXQgaGFuZGxlVXBsb2FkKHVwbG9hZCwgY29uZmlnKTtcbiAgICAgIHJldHVybiB7IC4uLmZpbGVJbmZvLCBfX3R5cGU6ICdGaWxlJyB9O1xuICAgIH0gZWxzZSBpZiAoZmlsZSAmJiBmaWxlLm5hbWUpIHtcbiAgICAgIHJldHVybiB7IG5hbWU6IGZpbGUubmFtZSwgX190eXBlOiAnRmlsZScsIHVybDogZmlsZS51cmwgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgJ0ludmFsaWQgZmlsZSB1cGxvYWQuJyk7XG4gIH0sXG4gIHBvbHlnb246IHZhbHVlID0+ICh7XG4gICAgX190eXBlOiAnUG9seWdvbicsXG4gICAgY29vcmRpbmF0ZXM6IHZhbHVlLm1hcChnZW9Qb2ludCA9PiBbZ2VvUG9pbnQubGF0aXR1ZGUsIGdlb1BvaW50LmxvbmdpdHVkZV0pLFxuICB9KSxcbiAgZ2VvUG9pbnQ6IHZhbHVlID0+ICh7XG4gICAgLi4udmFsdWUsXG4gICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICB9KSxcbiAgQUNMOiB2YWx1ZSA9PiB7XG4gICAgY29uc3QgcGFyc2VBQ0wgPSB7fTtcbiAgICBpZiAodmFsdWUucHVibGljKSB7XG4gICAgICBwYXJzZUFDTFsnKiddID0ge1xuICAgICAgICByZWFkOiB2YWx1ZS5wdWJsaWMucmVhZCxcbiAgICAgICAgd3JpdGU6IHZhbHVlLnB1YmxpYy53cml0ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS51c2Vycykge1xuICAgICAgdmFsdWUudXNlcnMuZm9yRWFjaChydWxlID0+IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQocnVsZS51c2VySWQpO1xuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgIHJ1bGUudXNlcklkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VBQ0xbcnVsZS51c2VySWRdID0ge1xuICAgICAgICAgIHJlYWQ6IHJ1bGUucmVhZCxcbiAgICAgICAgICB3cml0ZTogcnVsZS53cml0ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodmFsdWUucm9sZXMpIHtcbiAgICAgIHZhbHVlLnJvbGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIHBhcnNlQUNMW2Byb2xlOiR7cnVsZS5yb2xlTmFtZX1gXSA9IHtcbiAgICAgICAgICByZWFkOiBydWxlLnJlYWQsXG4gICAgICAgICAgd3JpdGU6IHJ1bGUud3JpdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlQUNMO1xuICB9LFxuICByZWxhdGlvbjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGF0IGxlYXN0IG9uZSBvcGVyYXRpb24gb24gdGhlIHJlbGF0aW9uIG11dGF0aW9uIG9mIGZpZWxkICR7ZmllbGR9YFxuICAgICAgKTtcblxuICAgIGNvbnN0IG9wID0ge1xuICAgICAgX19vcDogJ0JhdGNoJyxcbiAgICAgIG9wczogW10sXG4gICAgfTtcbiAgICBsZXQgbmVzdGVkT2JqZWN0c1RvQWRkID0gW107XG5cbiAgICBpZiAodmFsdWUuY3JlYXRlQW5kQWRkKSB7XG4gICAgICBuZXN0ZWRPYmplY3RzVG9BZGQgPSAoXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIHZhbHVlLmNyZWF0ZUFuZEFkZC5tYXAoYXN5bmMgaW5wdXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VGaWVsZHMgPSBhd2FpdCB0cmFuc2Zvcm1UeXBlcygnY3JlYXRlJywgaW5wdXQsIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3RzTXV0YXRpb25zLmNyZWF0ZU9iamVjdCh0YXJnZXRDbGFzcywgcGFyc2VGaWVsZHMsIGNvbmZpZywgYXV0aCwgaW5mbyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKS5tYXAob2JqZWN0ID0+ICh7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogb2JqZWN0Lm9iamVjdElkLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5hZGQgfHwgbmVzdGVkT2JqZWN0c1RvQWRkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICghdmFsdWUuYWRkKSB2YWx1ZS5hZGQgPSBbXTtcbiAgICAgIHZhbHVlLmFkZCA9IHZhbHVlLmFkZC5tYXAoaW5wdXQgPT4ge1xuICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICAgIGlucHV0ID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgIG9iamVjdElkOiBpbnB1dCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnQWRkUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiBbLi4udmFsdWUuYWRkLCAuLi5uZXN0ZWRPYmplY3RzVG9BZGRdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLnJlbW92ZSkge1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnUmVtb3ZlUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiB2YWx1ZS5yZW1vdmUubWFwKGlucHV0ID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgICAgICBpbnB1dCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgICAgb2JqZWN0SWQ6IGlucHV0LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfSxcbiAgcG9pbnRlcjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID4gMSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGxpbmsgT1IgY3JlYXRlTGluayBvbiB0aGUgcG9pbnRlciBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBsZXQgbmVzdGVkT2JqZWN0VG9BZGQ7XG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZExpbmspIHtcbiAgICAgIGNvbnN0IHBhcnNlRmllbGRzID0gYXdhaXQgdHJhbnNmb3JtVHlwZXMoJ2NyZWF0ZScsIHZhbHVlLmNyZWF0ZUFuZExpbmssIHtcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICB9KTtcbiAgICAgIG5lc3RlZE9iamVjdFRvQWRkID0gYXdhaXQgb2JqZWN0c011dGF0aW9ucy5jcmVhdGVPYmplY3QoXG4gICAgICAgIHRhcmdldENsYXNzLFxuICAgICAgICBwYXJzZUZpZWxkcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBhdXRoLFxuICAgICAgICBpbmZvXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkOiBuZXN0ZWRPYmplY3RUb0FkZC5vYmplY3RJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS5saW5rKSB7XG4gICAgICBsZXQgb2JqZWN0SWQgPSB2YWx1ZS5saW5rO1xuICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQob2JqZWN0SWQpO1xuICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgIG9iamVjdElkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgfSxcbn07XG5cbmV4cG9ydCB7IHRyYW5zZm9ybVR5cGVzIH07XG4iXX0=
@@ -57,7 +57,7 @@ const parseConstraintMap = {
57
57
  };
58
58
 
59
59
  const transformQueryConstraintInputToParse = (constraints, parentFieldName, className, parentConstraints, parseClasses) => {
60
- const fields = parseClasses.find(parseClass => parseClass.className === className).fields;
60
+ const fields = parseClasses[className].fields;
61
61
 
62
62
  if (parentFieldName === 'id' && className) {
63
63
  Object.keys(constraints).forEach(constraintName => {
@@ -270,4 +270,4 @@ const transformQueryInputToParse = (constraints, className, parseClasses) => {
270
270
  };
271
271
 
272
272
  exports.transformQueryInputToParse = transformQueryInputToParse;
273
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9xdWVyeS5qcyJdLCJuYW1lcyI6WyJwYXJzZVF1ZXJ5TWFwIiwiT1IiLCJBTkQiLCJOT1IiLCJwYXJzZUNvbnN0cmFpbnRNYXAiLCJlcXVhbFRvIiwibm90RXF1YWxUbyIsImxlc3NUaGFuIiwibGVzc1RoYW5PckVxdWFsVG8iLCJncmVhdGVyVGhhbiIsImdyZWF0ZXJUaGFuT3JFcXVhbFRvIiwiaW4iLCJub3RJbiIsImV4aXN0cyIsImluUXVlcnlLZXkiLCJub3RJblF1ZXJ5S2V5IiwiaW5RdWVyeSIsIm5vdEluUXVlcnkiLCJjb250YWluZWRCeSIsImNvbnRhaW5zIiwibWF0Y2hlc1JlZ2V4Iiwib3B0aW9ucyIsInRleHQiLCJzZWFyY2giLCJ0ZXJtIiwibGFuZ3VhZ2UiLCJjYXNlU2Vuc2l0aXZlIiwiZGlhY3JpdGljU2Vuc2l0aXZlIiwibmVhclNwaGVyZSIsIm1heERpc3RhbmNlIiwibWF4RGlzdGFuY2VJblJhZGlhbnMiLCJtYXhEaXN0YW5jZUluTWlsZXMiLCJtYXhEaXN0YW5jZUluS2lsb21ldGVycyIsIndpdGhpbiIsImJveCIsImdlb1dpdGhpbiIsInBvbHlnb24iLCJjZW50ZXJTcGhlcmUiLCJnZW9JbnRlcnNlY3RzIiwicG9pbnQiLCJ0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UiLCJjb25zdHJhaW50cyIsInBhcmVudEZpZWxkTmFtZSIsImNsYXNzTmFtZSIsInBhcmVudENvbnN0cmFpbnRzIiwicGFyc2VDbGFzc2VzIiwiZmllbGRzIiwiZmluZCIsInBhcnNlQ2xhc3MiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImNvbnN0cmFpbnROYW1lIiwiY29uc3RyYWludFZhbHVlIiwiZ2xvYmFsSWRPYmplY3QiLCJ0eXBlIiwiaWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJ2YWx1ZSIsIm9iamVjdElkIiwiZmllbGROYW1lIiwiZmllbGRWYWx1ZSIsImtleSIsInRhcmdldENsYXNzIiwid2hlcmVUYXJnZXQiLCIkZXhpc3RzIiwicGFyc2VXaGVyZVRhcmdldCIsIndoZXJlIiwiJGluUXVlcnkiLCJ0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSIsIiRub3RJblF1ZXJ5IiwiX190eXBlIiwiYm90dG9tTGVmdCIsInVwcGVyUmlnaHQiLCJnZW9Qb2ludCIsImNlbnRlciIsImRpc3RhbmNlIiwiZmllbGRWYWx1ZUl0ZW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFFQSxNQUFNQSxhQUFhLEdBQUc7QUFDcEJDLEVBQUFBLEVBQUUsRUFBRSxLQURnQjtBQUVwQkMsRUFBQUEsR0FBRyxFQUFFLE1BRmU7QUFHcEJDLEVBQUFBLEdBQUcsRUFBRTtBQUhlLENBQXRCO0FBTUEsTUFBTUMsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLE9BQU8sRUFBRSxLQURnQjtBQUV6QkMsRUFBQUEsVUFBVSxFQUFFLEtBRmE7QUFHekJDLEVBQUFBLFFBQVEsRUFBRSxLQUhlO0FBSXpCQyxFQUFBQSxpQkFBaUIsRUFBRSxNQUpNO0FBS3pCQyxFQUFBQSxXQUFXLEVBQUUsS0FMWTtBQU16QkMsRUFBQUEsb0JBQW9CLEVBQUUsTUFORztBQU96QkMsRUFBQUEsRUFBRSxFQUFFLEtBUHFCO0FBUXpCQyxFQUFBQSxLQUFLLEVBQUUsTUFSa0I7QUFTekJDLEVBQUFBLE1BQU0sRUFBRSxTQVRpQjtBQVV6QkMsRUFBQUEsVUFBVSxFQUFFLFNBVmE7QUFXekJDLEVBQUFBLGFBQWEsRUFBRSxhQVhVO0FBWXpCQyxFQUFBQSxPQUFPLEVBQUUsVUFaZ0I7QUFhekJDLEVBQUFBLFVBQVUsRUFBRSxhQWJhO0FBY3pCQyxFQUFBQSxXQUFXLEVBQUUsY0FkWTtBQWV6QkMsRUFBQUEsUUFBUSxFQUFFLE1BZmU7QUFnQnpCQyxFQUFBQSxZQUFZLEVBQUUsUUFoQlc7QUFpQnpCQyxFQUFBQSxPQUFPLEVBQUUsVUFqQmdCO0FBa0J6QkMsRUFBQUEsSUFBSSxFQUFFLE9BbEJtQjtBQW1CekJD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LEVBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZVCxXQUFaLEVBQXlCVSxPQUF6QixDQUFpQ1csU0FBUyxJQUFJO0FBQzVDLFVBQU1DLFVBQVUsR0FBR3RCLFdBQVcsQ0FBQ3FCLFNBQUQsQ0FBOUI7O0FBRUEsUUFBSTlELGFBQWEsQ0FBQzhELFNBQUQsQ0FBakIsRUFBOEI7QUFDNUIsYUFBT3JCLFdBQVcsQ0FBQ3FCLFNBQUQsQ0FBbEI7QUFDQUEsTUFBQUEsU0FBUyxHQUFHOUQsYUFBYSxDQUFDOEQsU0FBRCxDQUF6QjtBQUNBckIsTUFBQUEsV0FBVyxDQUFDcUIsU0FBRCxDQUFYLEdBQXlCQyxVQUF6QjtBQUNBQSxNQUFBQSxVQUFVLENBQUNaLE9BQVgsQ0FBbUI0QixjQUFjLElBQUk7QUFDbkNSLFFBQUFBLDBCQUEwQixDQUFDUSxjQUFELEVBQWlCcEMsU0FBakIsRUFBNEJFLFlBQTVCLENBQTFCO0FBQ0QsT0FGRDtBQUdBO0FBQ0QsS0FSRCxNQVFPO0FBQ0xMLE1BQUFBLG9DQUFvQyxDQUNsQ3VCLFVBRGtDLEVBRWxDRCxTQUZrQyxFQUdsQ25CLFNBSGtDLEVBSWxDRixXQUprQyxFQUtsQ0ksWUFMa0MsQ0FBcEM7QUFPRDtBQUNGLEdBcEJEO0FBcUJELENBMUJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUdsb2JhbElkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5cbmNvbnN0IHBhcnNlUXVlcnlNYXAgPSB7XG4gIE9SOiAnJG9yJyxcbiAgQU5EOiAnJGFuZCcsXG4gIE5PUjogJyRub3InLFxufTtcblxuY29uc3QgcGFyc2VDb25zdHJhaW50TWFwID0ge1xuICBlcXVhbFRvOiAnJGVxJyxcbiAgbm90RXF1YWxUbzogJyRuZScsXG4gIGxlc3NUaGFuOiAnJGx0JyxcbiAgbGVzc1RoYW5PckVxdWFsVG86ICckbHRlJyxcbiAgZ3JlYXRlclRoYW46ICckZ3QnLFxuICBncmVhdGVyVGhhbk9yRXF1YWxUbzogJyRndGUnLFxuICBpbjogJyRpbicsXG4gIG5vdEluOiAnJG5pbicsXG4gIGV4aXN0czogJyRleGlzdHMnLFxuICBpblF1ZXJ5S2V5OiAnJHNlbGVjdCcsXG4gIG5vdEluUXVlcnlLZXk6ICckZG9udFNlbGVjdCcsXG4gIGluUXVlcnk6ICckaW5RdWVyeScsXG4gIG5vdEluUXVlcnk6ICckbm90SW5RdWVyeScsXG4gIGNvbnRhaW5lZEJ5OiAnJGNvbnRhaW5lZEJ5JyxcbiAgY29udGFpbnM6ICckYWxsJyxcbiAgbWF0Y2hlc1JlZ2V4OiAnJHJlZ2V4JyxcbiAgb3B0aW9uczogJyRvcHRpb25zJyxcbiAgdGV4dDogJyR0ZXh0JyxcbiAgc2VhcmNoOiAnJHNlYXJjaCcsXG4gIHRlcm06ICckdGVybScsXG4gIGxhbmd1YWdlOiAnJGxhbmd1YWdlJyxcbiAgY2FzZVNlbnNpdGl2ZTogJyRjYXNlU2Vuc2l0aXZlJyxcbiAgZGlhY3JpdGljU2Vuc2l0aXZlOiAnJGRpYWNyaXRpY1NlbnNpdGl2ZScsXG4gIG5lYXJTcGhlcmU6ICckbmVhclNwaGVyZScsXG4gIG1heERpc3RhbmNlOiAnJG1heERpc3RhbmNlJyxcbiAgbWF4RGlzdGFuY2VJblJhZGlhbnM6ICckbWF4RGlzdGFuY2VJblJhZGlhbnMnLFxuICBtYXhEaXN0YW5jZUluTWlsZXM6ICckbWF4RGlzdGFuY2VJbk1pbGVzJyxcbiAgbWF4RGlzdGFuY2VJbktpbG9tZXRlcnM6ICckbWF4RGlzdGFuY2VJbktpbG9tZXRlcnMnLFxuICB3aXRoaW46ICckd2l0aGluJyxcbiAgYm94OiAnJGJveCcsXG4gIGdlb1dpdGhpbjogJyRnZW9XaXRoaW4nLFxuICBwb2x5Z29uOiAnJHBvbHlnb24nLFxuICBjZW50ZXJTcGhlcmU6ICckY2VudGVyU3BoZXJlJyxcbiAgZ2VvSW50ZXJzZWN0czogJyRnZW9JbnRlcnNlY3RzJyxcbiAgcG9pbnQ6ICckcG9pbnQnLFxufTtcblxuY29uc3QgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlID0gKFxuICBjb25zdHJhaW50cyxcbiAgcGFyZW50RmllbGROYW1lLFxuICBjbGFzc05hbWUsXG4gIHBhcmVudENvbnN0cmFpbnRzLFxuICBwYXJzZUNsYXNzZXNcbikgPT4ge1xuICBjb25zdCBmaWVsZHMgPSBwYXJzZUNsYXNzZXMuZmluZChwYXJzZUNsYXNzID0+IHBhcnNlQ2xhc3MuY2xhc3NOYW1lID09PSBjbGFzc05hbWUpLmZpZWxkcztcbiAgaWYgKHBhcmVudEZpZWxkTmFtZSA9PT0gJ2lkJyAmJiBjbGFzc05hbWUpIHtcbiAgICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChjb25zdHJhaW50TmFtZSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJhaW50VmFsdWUgPSBjb25zdHJhaW50c1tjb25zdHJhaW50TmFtZV07XG4gICAgICBpZiAodHlwZW9mIGNvbnN0cmFpbnRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoY29uc3RyYWludFZhbHVlKTtcblxuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gY2xhc3NOYW1lKSB7XG4gICAgICAgICAgY29uc3RyYWludHNbY29uc3RyYWludE5hbWVdID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb25zdHJhaW50VmFsdWUpKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzW2NvbnN0cmFpbnROYW1lXSA9IGNvbnN0cmFpbnRWYWx1ZS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKHZhbHVlKTtcblxuICAgICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSBjbGFzc05hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHBhcmVudENvbnN0cmFpbnRzLm9iamVjdElkID0gY29uc3RyYWludHM7XG4gICAgZGVsZXRlIHBhcmVudENvbnN0cmFpbnRzLmlkO1xuICB9XG4gIE9iamVjdC5rZXlzKGNvbnN0cmFpbnRzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XG4gICAgbGV0IGZpZWxkVmFsdWUgPSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIGlmIChwYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXSkge1xuICAgICAgY29uc3RyYWludHNbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dID0gY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIGRlbGV0ZSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiB3ZSBoYXZlIGEga2V5LXZhbHVlIHBhaXIsIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSB3YXkgdGhlIGNvbnN0cmFpbnQgaXMgc3RydWN0dXJlZC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogICBGcm9tOlxuICAgICAqICAge1xuICAgICAqICAgICBcInNvbWVGaWVsZFwiOiB7XG4gICAgICogICAgICAgXCJsZXNzVGhhblwiOiB7XG4gICAgICogICAgICAgICBcImtleVwiOlwiZm9vLmJhclwiLFxuICAgICAqICAgICAgICAgXCJ2YWx1ZVwiOiAxMDBcbiAgICAgKiAgICAgICB9LFxuICAgICAqICAgICAgIFwiZ3JlYXRlclRoYW5cIjoge1xuICAgICAqICAgICAgICAgXCJrZXlcIjpcImZvby5iYXJcIixcbiAgICAgKiAgICAgICAgIFwidmFsdWVcIjogMTBcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKlxuICAgICAqICAgVG86XG4gICAgICogICB7XG4gICAgICogICAgIFwic29tZUZpZWxkLmZvby5iYXJcIjoge1xuICAgICAqICAgICAgIFwiJGx0XCI6IDEwMCxcbiAgICAgKiAgICAgICBcIiRndFwiOiAxMFxuICAgICAqICAgICAgfVxuICAgICAqICAgfVxuICAgICAqL1xuICAgIGlmIChmaWVsZFZhbHVlLmtleSAmJiBmaWVsZFZhbHVlLnZhbHVlICYmIHBhcmVudENvbnN0cmFpbnRzICYmIHBhcmVudEZpZWxkTmFtZSkge1xuICAgICAgZGVsZXRlIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV07XG4gICAgICBwYXJlbnRDb25zdHJhaW50c1tgJHtwYXJlbnRGaWVsZE5hbWV9LiR7ZmllbGRWYWx1ZS5rZXl9YF0gPSB7XG4gICAgICAgIC4uLnBhcmVudENvbnN0cmFpbnRzW2Ake3BhcmVudEZpZWxkTmFtZX0uJHtmaWVsZFZhbHVlLmtleX1gXSxcbiAgICAgICAgW3BhcnNlQ29uc3RyYWludE1hcFtmaWVsZE5hbWVdXTogZmllbGRWYWx1ZS52YWx1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdICYmXG4gICAgICAoZmllbGRzW3BhcmVudEZpZWxkTmFtZV0udHlwZSA9PT0gJ1BvaW50ZXInIHx8IGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdLnR5cGUgPT09ICdSZWxhdGlvbicpXG4gICAgKSB7XG4gICAgICBjb25zdCB7IHRhcmdldENsYXNzIH0gPSBmaWVsZHNbcGFyZW50RmllbGROYW1lXTtcbiAgICAgIGlmIChmaWVsZE5hbWUgPT09ICdleGlzdHMnKSB7XG4gICAgICAgIGlmIChmaWVsZHNbcGFyZW50RmllbGROYW1lXS50eXBlID09PSAnUmVsYXRpb24nKSB7XG4gICAgICAgICAgY29uc3Qgd2hlcmVUYXJnZXQgPSBmaWVsZFZhbHVlID8gJ3doZXJlJyA6ICdub3RXaGVyZSc7XG4gICAgICAgICAgaWYgKGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XSkge1xuICAgICAgICAgICAgaWYgKGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCkge1xuICAgICAgICAgICAgICBjb25zdHJhaW50c1t3aGVyZVRhcmdldF0ub2JqZWN0SWQgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uc3RyYWludHNbd2hlcmVUYXJnZXRdLm9iamVjdElkLFxuICAgICAgICAgICAgICAgICRleGlzdHM6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdHJhaW50c1t3aGVyZVRhcmdldF0ub2JqZWN0SWQgPSB7XG4gICAgICAgICAgICAgICAgJGV4aXN0czogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VXaGVyZVRhcmdldCA9IGZpZWxkVmFsdWUgPyAnJGluUXVlcnknIDogJyRub3RJblF1ZXJ5JztcbiAgICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV1bcGFyc2VXaGVyZVRhcmdldF0gPSB7XG4gICAgICAgICAgICAgIHdoZXJlOiB7IG9iamVjdElkOiB7ICRleGlzdHM6IHRydWUgfSB9LFxuICAgICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVsZXRlIGNvbnN0cmFpbnRzLiRleGlzdHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXS4kZXhpc3RzID0gZmllbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKGZpZWxkTmFtZSkge1xuICAgICAgICBjYXNlICdoYXZlJzpcbiAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRpblF1ZXJ5ID0ge1xuICAgICAgICAgICAgd2hlcmU6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UoXG4gICAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRpblF1ZXJ5LndoZXJlLFxuICAgICAgICAgICAgdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICBwYXJzZUNsYXNzZXNcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdoYXZlTm90JzpcbiAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRub3RJblF1ZXJ5ID0ge1xuICAgICAgICAgICAgd2hlcmU6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UoXG4gICAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRub3RJblF1ZXJ5LndoZXJlLFxuICAgICAgICAgICAgdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICBwYXJzZUNsYXNzZXNcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV07XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICBjYXNlICdwb2ludCc6XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgIWZpZWxkVmFsdWUuX190eXBlKSB7XG4gICAgICAgICAgZmllbGRWYWx1ZS5fX3R5cGUgPSAnR2VvUG9pbnQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbmVhclNwaGVyZSc6XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgIWZpZWxkVmFsdWUuX190eXBlKSB7XG4gICAgICAgICAgZmllbGRWYWx1ZS5fX3R5cGUgPSAnR2VvUG9pbnQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm94JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiBmaWVsZFZhbHVlLmJvdHRvbUxlZnQgJiYgZmllbGRWYWx1ZS51cHBlclJpZ2h0KSB7XG4gICAgICAgICAgZmllbGRWYWx1ZSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICAgICAgICAgICAgICAuLi5maWVsZFZhbHVlLmJvdHRvbUxlZnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkVmFsdWUudXBwZXJSaWdodCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgICBjb25zdHJhaW50c1twYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXV0gPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIGlmIChmaWVsZFZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlLmZvckVhY2goZ2VvUG9pbnQgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBnZW9Qb2ludCA9PT0gJ29iamVjdCcgJiYgIWdlb1BvaW50Ll9fdHlwZSkge1xuICAgICAgICAgICAgICBnZW9Qb2ludC5fX3R5cGUgPSAnR2VvUG9pbnQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyU3BoZXJlJzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiBmaWVsZFZhbHVlLmNlbnRlciAmJiBmaWVsZFZhbHVlLmRpc3RhbmNlKSB7XG4gICAgICAgICAgZmllbGRWYWx1ZSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICAgICAgICAgICAgICAuLi5maWVsZFZhbHVlLmNlbnRlcixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmaWVsZFZhbHVlLmRpc3RhbmNlLFxuICAgICAgICAgIF07XG4gICAgICAgICAgY29uc3RyYWludHNbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dID0gZmllbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKGZpZWxkTmFtZSA9PT0gJ3doZXJlJykge1xuICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShmaWVsZFZhbHVlLCBjbGFzc05hbWUsIHBhcnNlQ2xhc3Nlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UoXG4gICAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSA9IChjb25zdHJhaW50cywgY2xhc3NOYW1lLCBwYXJzZUNsYXNzZXMpID0+IHtcbiAgaWYgKCFjb25zdHJhaW50cyB8fCB0eXBlb2YgY29uc3RyYWludHMgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgT2JqZWN0LmtleXMoY29uc3RyYWludHMpLmZvckVhY2goZmllbGROYW1lID0+IHtcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gY29uc3RyYWludHNbZmllbGROYW1lXTtcblxuICAgIGlmIChwYXJzZVF1ZXJ5TWFwW2ZpZWxkTmFtZV0pIHtcbiAgICAgIGRlbGV0ZSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgICAgZmllbGROYW1lID0gcGFyc2VRdWVyeU1hcFtmaWVsZE5hbWVdO1xuICAgICAgY29uc3RyYWludHNbZmllbGROYW1lXSA9IGZpZWxkVmFsdWU7XG4gICAgICBmaWVsZFZhbHVlLmZvckVhY2goZmllbGRWYWx1ZUl0ZW0gPT4ge1xuICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShmaWVsZFZhbHVlSXRlbSwgY2xhc3NOYW1lLCBwYXJzZUNsYXNzZXMpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyYW5zZm9ybVF1ZXJ5Q29uc3RyYWludElucHV0VG9QYXJzZShcbiAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgZmllbGROYW1lLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICBwYXJzZUNsYXNzZXNcbiAgICAgICk7XG4gICAgfVxuICB9KTtcbn07XG5cbmV4cG9ydCB7IHRyYW5zZm9ybVF1ZXJ5Q29uc3RyYWludElucHV0VG9QYXJzZSwgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UgfTtcbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9xdWVyeS5qcyJdLCJuYW1lcyI6WyJwYXJzZVF1ZXJ5TWFwIiwiT1IiLCJBTkQiLCJOT1IiLCJwYXJzZUNvbnN0cmFpbnRNYXAiLCJlcXVhbFRvIiwibm90RXF1YWxUbyIsImxlc3NUaGFuIiwibGVzc1RoYW5PckVxdWFsVG8iLCJncmVhdGVyVGhhbiIsImdyZWF0ZXJUaGFuT3JFcXVhbFRvIiwiaW4iLCJub3RJbiIsImV4aXN0cyIsImluUXVlcnlLZXkiLCJub3RJblF1ZXJ5S2V5IiwiaW5RdWVyeSIsIm5vdEluUXVlcnkiLCJjb250YWluZWRCeSIsImNvbnRhaW5zIiwibWF0Y2hlc1JlZ2V4Iiwib3B0aW9ucyIsInRleHQiLCJzZWFyY2giLCJ0ZXJtIiwibGFuZ3VhZ2UiLCJjYXNlU2Vuc2l0aXZlIiwiZGlhY3JpdGljU2Vuc2l0aXZlIiwibmVhclNwaGVyZSIsIm1heERpc3RhbmNlIiwibWF4RGlzdGFuY2VJblJhZGlhbnMiLCJtYXhEaXN0YW5jZUluTWlsZXMiLCJtYXhEaXN0YW5jZUluS2lsb21ldGVycyIsIndpdGhpbiIsImJveCIsImdlb1dpdGhpbiIsInBvbHlnb24iLCJjZW50ZXJTcGhlcmUiLCJnZW9JbnRlcnNlY3RzIiwicG9pbnQiLCJ0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UiLCJjb25zdHJhaW50cyIsInBhcmVudEZpZWxkTmFtZSIsImNsYXNzTmFtZSIsInBhcmVudENvbnN0cmFpbnRzIiwicGFyc2VDbGFzc2VzIiwiZmllbGRzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJjb25zdHJhaW50TmFtZSIsImNvbnN0cmFpbnRWYWx1ZSIsImdsb2JhbElkT2JqZWN0IiwidHlwZSIsImlkIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwidmFsdWUiLCJvYmplY3RJZCIsImZpZWxkTmFtZSIsImZpZWxkVmFsdWUiLCJrZXkiLCJ0YXJnZXRDbGFzcyIsIndoZXJlVGFyZ2V0IiwiJGV4aXN0cyIsInBhcnNlV2hlcmVUYXJnZXQiLCJ3aGVyZSIsIiRpblF1ZXJ5IiwidHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UiLCIkbm90SW5RdWVyeSIsIl9fdHlwZSIsImJvdHRvbUxlZnQiLCJ1cHBlclJpZ2h0IiwiZ2VvUG9pbnQiLCJjZW50ZXIiLCJkaXN0YW5jZSIsImZpZWxkVmFsdWVJdGVtIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7O0FBRUEsTUFBTUEsYUFBYSxHQUFHO0FBQ3BCQyxFQUFBQSxFQUFFLEVBQUUsS0FEZ0I7QUFFcEJDLEVBQUFBLEdBQUcsRUFBRSxNQUZlO0FBR3BCQyxFQUFBQSxHQUFHLEVBQUU7QUFIZSxDQUF0QjtBQU1BLE1BQU1DLGtCQUFrQixHQUFHO0FBQ3pCQyxFQUFBQSxPQUFPLEVBQUUsS0FEZ0I7QUFFekJDLEVBQUFBLFVBQVUsRUFBRSxLQUZhO0FBR3pCQyxFQUFBQSxRQUFRLEVBQUUsS0FIZTtBQUl6QkMsRUFBQUEsaUJBQWlCLEVBQUUsTUFKTTtBQUt6QkMsRUFBQUEsV0FBVyxFQUFFLEtBTFk7QUFNekJDLEVBQUFBLG9CQUFvQixFQUFFLE1BTkc7QUFPekJDLEVBQUFBLEVBQUUsRUFBRSxLQVBxQjtBQVF6QkMsRUFBQUEsS0FBSyxFQUFFLE1BUmtCO0FBU3pCQyxFQUFBQSxNQUFNLEVBQUUsU0FUaUI7QUFVekJDLEVBQUFBLFVBQVUsRUFBRSxTQVZhO0FBV3pCQyxFQUFBQSxhQUFhLEVBQUUsYUFYVTtBQVl6QkMsRUFBQUEsT0FBTyxFQUFFLFVBWmdCO0FBYXpCQyxFQUFBQSxVQUFVLEVBQUUsYUFiYTtBQWN6QkMsRUFBQUEsV0FBVyxFQUFFLGNBZFk7QUFlekJDLEVBQUFBLFFBQVEsRUFBRSxNQWZlO0FBZ0J6QkMsRUFBQUEsWUFBWSxFQUFFLFFBaEJXO0FBaUJ6QkMsRUFBQUEsT0FBTyxFQUFFLFVBakJnQjtBQWtCekJDLEVBQUFBLElBQUksRUFBRSxPQWxCbUI7QUFtQnpCQyxFQUFBQSxNQUFNLEVBQUUsU0FuQmlCO0FBb0J6QkMsRUFBQUEsSUFBSSxFQUFFLE9BcEJtQjtBQXFCekJDLEVBQUFBLFFBQVEsRUFBRSxXQXJCZTtBQXNCekJDLEVBQUFBLGFBQWEsRUFBRSxnQkF0QlU7QUF1QnpCQyxFQUFBQSxrQkFBa0IsRUFBRSxxQkF2Qks7QUF3QnpCQyxFQUFBQSxVQUFVLEVBQUUsYUF4QmE7QUF5QnpCQyxFQUFBQSxXQUFXLEVBQUUsY0F6Qlk7QUEwQnpCQyxFQUFBQSxvQkFBb0IsRUFBRSx1QkExQkc7QUEyQnpCQyxFQUFBQSxrQkFBa0IsRUFBRSxxQkEzQks7QUE0QnpCQyxFQUFBQSx1QkFBdUIsRUFBRSwwQkE1QkE7QUE2QnpCQyxFQUFBQSxNQUFNLEVBQUUsU0E3QmlCO0FBOEJ6QkMsRUFBQUEsR0FBRyxFQUFFLE1BOUJvQjtBQStCekJDLEVBQUFBLFNBQVMsRUFBRSxZQS9CYztBQWdDekJDLEVBQUFBLE9BQU8sRUFBRSxVQWhDZ0I7QUFpQ3pCQyxFQUFBQSxZQUFZLEVBQUUsZUFqQ1c7QUFrQ3pCQyxFQUFBQSxhQUFhLEVBQUUsZ0JBbENVO0FBbUN6QkMsRUFBQUEsS0FBSyxFQUFFO0FBbkNrQixDQUEzQjs7QUFzQ0EsTUFBTUMsb0NBQW9DLEdBQUcsQ0FDM0NDLFdBRDJDLEVBRTNDQyxlQUYyQyxFQUczQ0MsU0FIMkMsRUFJM0NDLGlCQUoyQyxFQUszQ0MsWUFMMkMsS0FNeEM7QUFDSCxRQUFNQyxNQUFNLEdBQUdELFlBQVksQ0FBQ0YsU0FBRCxDQUFaLENBQXdCRyxNQUF2Qzs7QUFDQSxNQUFJSixlQUFlLEtBQUssSUFBcEIsSUFBNEJDLFNBQWhDLEVBQTJDO0FBQ3pDSSxJQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWVAsV0FBWixFQUF5QlEsT0FBekIsQ0FBaUNDLGNBQWMsSUFBSTtBQUNqRCxZQUFNQyxlQUFlLEdBQUdWLFdBQVcsQ0FBQ1MsY0FBRCxDQUFuQzs7QUFDQSxVQUFJLE9BQU9DLGVBQVAsS0FBMkIsUUFBL0IsRUFBeUM7QUFDdkMsY0FBTUMsY0FBYyxHQUFHLGdDQUFhRCxlQUFiLENBQXZCOztBQUVBLFlBQUlDLGNBQWMsQ0FBQ0MsSUFBZixLQUF3QlYsU0FBNUIsRUFBdUM7QUFDckNGLFVBQUFBLFdBQVcsQ0FBQ1MsY0FBRCxDQUFYLEdBQThCRSxjQUFjLENBQUNFLEVBQTdDO0FBQ0Q7QUFDRixPQU5ELE1BTU8sSUFBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNMLGVBQWQsQ0FBSixFQUFvQztBQUN6Q1YsUUFBQUEsV0FBVyxDQUFDUyxjQUFELENBQVgsR0FBOEJDLGVBQWUsQ0FBQ00sR0FBaEIsQ0FBb0JDLEtBQUssSUFBSTtBQUN6RCxnQkFBTU4sY0FBYyxHQUFHLGdDQUFhTSxLQUFiLENBQXZCOztBQUVBLGNBQUlOLGNBQWMsQ0FBQ0MsSUFBZixLQUF3QlYsU0FBNUIsRUFBdUM7QUFDckMsbUJBQU9TLGNBQWMsQ0FBQ0UsRUFBdEI7QUFDRDs7QUFFRCxpQkFBT0ksS0FBUDtBQUNELFNBUjZCLENBQTlCO0FBU0Q7QUFDRixLQW5CRDtBQW9CQWQsSUFBQUEsaUJBQWlCLENBQUNlLFFBQWxCLEdBQTZCbEIsV0FBN0I7QUFDQSxXQUFPRyxpQkFBaUIsQ0FBQ1UsRUFBekI7QUFDRDs7QUFDRFAsRUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVlQLFdBQVosRUFBeUJRLE9BQXpCLENBQWlDVyxTQUFTLElBQUk7QUFDNUMsUUFBSUMsVUFBVSxHQUFHcEIsV0FBVyxDQUFDbUIsU0FBRCxDQUE1Qjs7QUFDQSxRQUFJeEQsa0JBQWtCLENBQUN3RCxTQUFELENBQXRCLEVBQW1DO0FBQ2pDbkIsTUFBQUEsV0FBVyxDQUFDckMsa0JBQWtCLENBQUN3RCxTQUFELENBQW5CLENBQVgsR0FBNkNuQixXQUFXLENBQUNtQixTQUFELENBQXhEO0FBQ0EsYUFBT25CLFdBQVcsQ0FBQ21CLFNBQUQsQ0FBbEI7QUFDRDtBQUNEO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNJLFFBQUlDLFVBQVUsQ0FBQ0MsR0FBWCxJQUFrQkQsVUFBVSxDQUFDSCxLQUE3QixJQUFzQ2QsaUJBQXRDLElBQTJERixlQUEvRCxFQUFnRjtBQUM5RSxhQUFPRSxpQkFBaUIsQ0FBQ0YsZUFBRCxDQUF4QjtBQUNBRSxNQUFBQSxpQkFBaUIsQ0FBRSxHQUFFRixlQUFnQixJQUFHbUIsVUFBVSxDQUFDQyxHQUFJLEVBQXRDLENBQWpCLG1DQUNLbEIsaUJBQWlCLENBQUUsR0FBRUYsZUFBZ0IsSUFBR21CLFVBQVUsQ0FBQ0MsR0FBSSxFQUF0QyxDQUR0QjtBQUVFLFNBQUMxRCxrQkFBa0IsQ0FBQ3dELFNBQUQsQ0FBbkIsR0FBaUNDLFVBQVUsQ0FBQ0g7QUFGOUM7QUFJRCxLQU5ELE1BTU8sSUFDTFosTUFBTSxDQUFDSixlQUFELENBQU4sS0FDQ0ksTUFBTSxDQUFDSixlQUFELENBQU4sQ0FBd0JXLElBQXhCLEtBQWlDLFNBQWpDLElBQThDUCxNQUFNLENBQUNKLGVBQUQsQ0FBTixDQUF3QlcsSUFBeEIsS0FBaUMsVUFEaEYsQ0FESyxFQUdMO0FBQ0EsWUFBTTtBQUFFVSxRQUFBQTtBQUFGLFVBQWtCakIsTUFBTSxDQUFDSixlQUFELENBQTlCOztBQUNBLFVBQUlrQixTQUFTLEtBQUssUUFBbEIsRUFBNEI7QUFDMUIsWUFBSWQsTUFBTSxDQUFDSixlQUFELENBQU4sQ0FBd0JXLElBQXhCLEtBQWlDLFVBQXJDLEVBQWlEO0FBQy9DLGdCQUFNVyxXQUFXLEdBQUdILFVBQVUsR0FBRyxPQUFILEdBQWEsVUFBM0M7O0FBQ0EsY0FBSXBCLFdBQVcsQ0FBQ3VCLFdBQUQsQ0FBZixFQUE4QjtBQUM1QixnQkFBSXZCLFdBQVcsQ0FBQ3VCLFdBQUQsQ0FBWCxDQUF5QkwsUUFBN0IsRUFBdUM7QUFDckNsQixjQUFBQSxXQUFXLENBQUN1QixXQUFELENBQVgsQ0FBeUJMLFFBQXpCLG1DQUNLbEIsV0FBVyxDQUFDdUIsV0FBRCxDQUFYLENBQXlCTCxRQUQ5QjtBQUVFTSxnQkFBQUEsT0FBTyxFQUFFSjtBQUZYO0FBSUQsYUFMRCxNQUtPO0FBQ0xwQixjQUFBQSxXQUFXLENBQUN1QixXQUFELENBQVgsQ0FBeUJMLFFBQXpCLEdBQW9DO0FBQ2xDTSxnQkFBQUEsT0FBTyxFQUFFSjtBQUR5QixlQUFwQztBQUdEO0FBQ0YsV0FYRCxNQVdPO0FBQ0wsa0JBQU1LLGdCQUFnQixHQUFHTCxVQUFVLEdBQUcsVUFBSCxHQUFnQixhQUFuRDtBQUNBakIsWUFBQUEsaUJBQWlCLENBQUNGLGVBQUQsQ0FBakIsQ0FBbUN3QixnQkFBbkMsSUFBdUQ7QUFDckRDLGNBQUFBLEtBQUssRUFBRTtBQUFFUixnQkFBQUEsUUFBUSxFQUFFO0FBQUVNLGtCQUFBQSxPQUFPLEVBQUU7QUFBWDtBQUFaLGVBRDhDO0FBRXJEdEIsY0FBQUEsU0FBUyxFQUFFb0I7QUFGMEMsYUFBdkQ7QUFJRDs7QUFDRCxpQkFBT3RCLFdBQVcsQ0FBQ3dCLE9BQW5CO0FBQ0QsU0FyQkQsTUFxQk87QUFDTHJCLFVBQUFBLGlCQUFpQixDQUFDRixlQUFELENBQWpCLENBQW1DdUIsT0FBbkMsR0FBNkNKLFVBQTdDO0FBQ0Q7O0FBQ0Q7QUFDRDs7QUFDRCxjQUFRRCxTQUFSO0FBQ0UsYUFBSyxNQUFMO0FBQ0VoQixVQUFBQSxpQkFBaUIsQ0FBQ0YsZUFBRCxDQUFqQixDQUFtQzBCLFFBQW5DLEdBQThDO0FBQzVDRCxZQUFBQSxLQUFLLEVBQUVOLFVBRHFDO0FBRTVDbEIsWUFBQUEsU0FBUyxFQUFFb0I7QUFGaUMsV0FBOUM7QUFJQU0sVUFBQUEsMEJBQTBCLENBQ3hCekIsaUJBQWlCLENBQUNGLGVBQUQsQ0FBakIsQ0FBbUMwQixRQUFuQyxDQUE0Q0QsS0FEcEIsRUFFeEJKLFdBRndCLEVBR3hCbEIsWUFId0IsQ0FBMUI7QUFLQTs7QUFDRixhQUFLLFNBQUw7QUFDRUQsVUFBQUEsaUJBQWlCLENBQUNGLGVBQUQsQ0FBakIsQ0FBbUM0QixXQUFuQyxHQUFpRDtBQUMvQ0gsWUFBQUEsS0FBSyxFQUFFTixVQUR3QztBQUUvQ2xCLFlBQUFBLFNBQVMsRUFBRW9CO0FBRm9DLFdBQWpEO0FBSUFNLFVBQUFBLDBCQUEwQixDQUN4QnpCLGlCQUFpQixDQUFDRixlQUFELENBQWpCLENBQW1DNEIsV0FBbkMsQ0FBK0NILEtBRHZCLEVBRXhCSixXQUZ3QixFQUd4QmxCLFlBSHdCLENBQTFCO0FBS0E7QUF0Qko7O0FBd0JBLGFBQU9KLFdBQVcsQ0FBQ21CLFNBQUQsQ0FBbEI7QUFDQTtBQUNEOztBQUNELFlBQVFBLFNBQVI7QUFDRSxXQUFLLE9BQUw7QUFDRSxZQUFJLE9BQU9DLFVBQVAsS0FBc0IsUUFBdEIsSUFBa0MsQ0FBQ0EsVUFBVSxDQUFDVSxNQUFsRCxFQUEwRDtBQUN4RFYsVUFBQUEsVUFBVSxDQUFDVSxNQUFYLEdBQW9CLFVBQXBCO0FBQ0Q7O0FBQ0Q7O0FBQ0YsV0FBSyxZQUFMO0FBQ0UsWUFBSSxPQUFPVixVQUFQLEtBQXNCLFFBQXRCLElBQWtDLENBQUNBLFVBQVUsQ0FBQ1UsTUFBbEQsRUFBMEQ7QUFDeERWLFVBQUFBLFVBQVUsQ0FBQ1UsTUFBWCxHQUFvQixVQUFwQjtBQUNEOztBQUNEOztBQUNGLFdBQUssS0FBTDtBQUNFLFlBQUksT0FBT1YsVUFBUCxLQUFzQixRQUF0QixJQUFrQ0EsVUFBVSxDQUFDVyxVQUE3QyxJQUEyRFgsVUFBVSxDQUFDWSxVQUExRSxFQUFzRjtBQUNwRlosVUFBQUEsVUFBVSxHQUFHO0FBRVRVLFlBQUFBLE1BQU0sRUFBRTtBQUZDLGFBR05WLFVBQVUsQ0FBQ1csVUFITDtBQU1URCxZQUFBQSxNQUFNLEVBQUU7QUFOQyxhQU9OVixVQUFVLENBQUNZLFVBUEwsRUFBYjtBQVVBaEMsVUFBQUEsV0FBVyxDQUFDckMsa0JBQWtCLENBQUN3RCxTQUFELENBQW5CLENBQVgsR0FBNkNDLFVBQTdDO0FBQ0Q7O0FBQ0Q7O0FBQ0YsV0FBSyxTQUFMO0FBQ0UsWUFBSUEsVUFBVSxZQUFZTixLQUExQixFQUFpQztBQUMvQk0sVUFBQUEsVUFBVSxDQUFDWixPQUFYLENBQW1CeUIsUUFBUSxJQUFJO0FBQzdCLGdCQUFJLE9BQU9BLFFBQVAsS0FBb0IsUUFBcEIsSUFBZ0MsQ0FBQ0EsUUFBUSxDQUFDSCxNQUE5QyxFQUFzRDtBQUNwREcsY0FBQUEsUUFBUSxDQUFDSCxNQUFULEdBQWtCLFVBQWxCO0FBQ0Q7QUFDRixXQUpEO0FBS0Q7O0FBQ0Q7O0FBQ0YsV0FBSyxjQUFMO0FBQ0UsWUFBSSxPQUFPVixVQUFQLEtBQXNCLFFBQXRCLElBQWtDQSxVQUFVLENBQUNjLE1BQTdDLElBQXVEZCxVQUFVLENBQUNlLFFBQXRFLEVBQWdGO0FBQzlFZixVQUFBQSxVQUFVLEdBQUc7QUFFVFUsWUFBQUEsTUFBTSxFQUFFO0FBRkMsYUFHTlYsVUFBVSxDQUFDYyxNQUhMLEdBS1hkLFVBQVUsQ0FBQ2UsUUFMQSxDQUFiO0FBT0FuQyxVQUFBQSxXQUFXLENBQUNyQyxrQkFBa0IsQ0FBQ3dELFNBQUQsQ0FBbkIsQ0FBWCxHQUE2Q0MsVUFBN0M7QUFDRDs7QUFDRDtBQTlDSjs7QUFnREEsUUFBSSxPQUFPQSxVQUFQLEtBQXNCLFFBQTFCLEVBQW9DO0FBQ2xDLFVBQUlELFNBQVMsS0FBSyxPQUFsQixFQUEyQjtBQUN6QlMsUUFBQUEsMEJBQTBCLENBQUNSLFVBQUQsRUFBYWxCLFNBQWIsRUFBd0JFLFlBQXhCLENBQTFCO0FBQ0QsT0FGRCxNQUVPO0FBQ0xMLFFBQUFBLG9DQUFvQyxDQUNsQ3FCLFVBRGtDLEVBRWxDRCxTQUZrQyxFQUdsQ2pCLFNBSGtDLEVBSWxDRixXQUprQyxFQUtsQ0ksWUFMa0MsQ0FBcEM7QUFPRDtBQUNGO0FBQ0YsR0E5SkQ7QUErSkQsQ0EvTEQ7Ozs7QUFpTUEsTUFBTXdCLDBCQUEwQixHQUFHLENBQUM1QixXQUFELEVBQWNFLFNBQWQsRUFBeUJFLFlBQXpCLEtBQTBDO0FBQzNFLE1BQUksQ0FBQ0osV0FBRCxJQUFnQixPQUFPQSxXQUFQLEtBQXVCLFFBQTNDLEVBQXFEO0FBQ25EO0FBQ0Q7O0FBRURNLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZUCxXQUFaLEVBQXlCUSxPQUF6QixDQUFpQ1csU0FBUyxJQUFJO0FBQzVDLFVBQU1DLFVBQVUsR0FBR3BCLFdBQVcsQ0FBQ21CLFNBQUQsQ0FBOUI7O0FBRUEsUUFBSTVELGFBQWEsQ0FBQzRELFNBQUQsQ0FBakIsRUFBOEI7QUFDNUIsYUFBT25CLFdBQVcsQ0FBQ21CLFNBQUQsQ0FBbEI7QUFDQUEsTUFBQUEsU0FBUyxHQUFHNUQsYUFBYSxDQUFDNEQsU0FBRCxDQUF6QjtBQUNBbkIsTUFBQUEsV0FBVyxDQUFDbUIsU0FBRCxDQUFYLEdBQXlCQyxVQUF6QjtBQUNBQSxNQUFBQSxVQUFVLENBQUNaLE9BQVgsQ0FBbUI0QixjQUFjLElBQUk7QUFDbkNSLFFBQUFBLDBCQUEwQixDQUFDUSxjQUFELEVBQWlCbEMsU0FBakIsRUFBNEJFLFlBQTVCLENBQTFCO0FBQ0QsT0FGRDtBQUdBO0FBQ0QsS0FSRCxNQVFPO0FBQ0xMLE1BQUFBLG9DQUFvQyxDQUNsQ3FCLFVBRGtDLEVBRWxDRCxTQUZrQyxFQUdsQ2pCLFNBSGtDLEVBSWxDRixXQUprQyxFQUtsQ0ksWUFMa0MsQ0FBcEM7QUFPRDtBQUNGLEdBcEJEO0FBcUJELENBMUJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUdsb2JhbElkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5cbmNvbnN0IHBhcnNlUXVlcnlNYXAgPSB7XG4gIE9SOiAnJG9yJyxcbiAgQU5EOiAnJGFuZCcsXG4gIE5PUjogJyRub3InLFxufTtcblxuY29uc3QgcGFyc2VDb25zdHJhaW50TWFwID0ge1xuICBlcXVhbFRvOiAnJGVxJyxcbiAgbm90RXF1YWxUbzogJyRuZScsXG4gIGxlc3NUaGFuOiAnJGx0JyxcbiAgbGVzc1RoYW5PckVxdWFsVG86ICckbHRlJyxcbiAgZ3JlYXRlclRoYW46ICckZ3QnLFxuICBncmVhdGVyVGhhbk9yRXF1YWxUbzogJyRndGUnLFxuICBpbjogJyRpbicsXG4gIG5vdEluOiAnJG5pbicsXG4gIGV4aXN0czogJyRleGlzdHMnLFxuICBpblF1ZXJ5S2V5OiAnJHNlbGVjdCcsXG4gIG5vdEluUXVlcnlLZXk6ICckZG9udFNlbGVjdCcsXG4gIGluUXVlcnk6ICckaW5RdWVyeScsXG4gIG5vdEluUXVlcnk6ICckbm90SW5RdWVyeScsXG4gIGNvbnRhaW5lZEJ5OiAnJGNvbnRhaW5lZEJ5JyxcbiAgY29udGFpbnM6ICckYWxsJyxcbiAgbWF0Y2hlc1JlZ2V4OiAnJHJlZ2V4JyxcbiAgb3B0aW9uczogJyRvcHRpb25zJyxcbiAgdGV4dDogJyR0ZXh0JyxcbiAgc2VhcmNoOiAnJHNlYXJjaCcsXG4gIHRlcm06ICckdGVybScsXG4gIGxhbmd1YWdlOiAnJGxhbmd1YWdlJyxcbiAgY2FzZVNlbnNpdGl2ZTogJyRjYXNlU2Vuc2l0aXZlJyxcbiAgZGlhY3JpdGljU2Vuc2l0aXZlOiAnJGRpYWNyaXRpY1NlbnNpdGl2ZScsXG4gIG5lYXJTcGhlcmU6ICckbmVhclNwaGVyZScsXG4gIG1heERpc3RhbmNlOiAnJG1heERpc3RhbmNlJyxcbiAgbWF4RGlzdGFuY2VJblJhZGlhbnM6ICckbWF4RGlzdGFuY2VJblJhZGlhbnMnLFxuICBtYXhEaXN0YW5jZUluTWlsZXM6ICckbWF4RGlzdGFuY2VJbk1pbGVzJyxcbiAgbWF4RGlzdGFuY2VJbktpbG9tZXRlcnM6ICckbWF4RGlzdGFuY2VJbktpbG9tZXRlcnMnLFxuICB3aXRoaW46ICckd2l0aGluJyxcbiAgYm94OiAnJGJveCcsXG4gIGdlb1dpdGhpbjogJyRnZW9XaXRoaW4nLFxuICBwb2x5Z29uOiAnJHBvbHlnb24nLFxuICBjZW50ZXJTcGhlcmU6ICckY2VudGVyU3BoZXJlJyxcbiAgZ2VvSW50ZXJzZWN0czogJyRnZW9JbnRlcnNlY3RzJyxcbiAgcG9pbnQ6ICckcG9pbnQnLFxufTtcblxuY29uc3QgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlID0gKFxuICBjb25zdHJhaW50cyxcbiAgcGFyZW50RmllbGROYW1lLFxuICBjbGFzc05hbWUsXG4gIHBhcmVudENvbnN0cmFpbnRzLFxuICBwYXJzZUNsYXNzZXNcbikgPT4ge1xuICBjb25zdCBmaWVsZHMgPSBwYXJzZUNsYXNzZXNbY2xhc3NOYW1lXS5maWVsZHM7XG4gIGlmIChwYXJlbnRGaWVsZE5hbWUgPT09ICdpZCcgJiYgY2xhc3NOYW1lKSB7XG4gICAgT2JqZWN0LmtleXMoY29uc3RyYWludHMpLmZvckVhY2goY29uc3RyYWludE5hbWUgPT4ge1xuICAgICAgY29uc3QgY29uc3RyYWludFZhbHVlID0gY29uc3RyYWludHNbY29uc3RyYWludE5hbWVdO1xuICAgICAgaWYgKHR5cGVvZiBjb25zdHJhaW50VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKGNvbnN0cmFpbnRWYWx1ZSk7XG5cbiAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IGNsYXNzTmFtZSkge1xuICAgICAgICAgIGNvbnN0cmFpbnRzW2NvbnN0cmFpbnROYW1lXSA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29uc3RyYWludFZhbHVlKSkge1xuICAgICAgICBjb25zdHJhaW50c1tjb25zdHJhaW50TmFtZV0gPSBjb25zdHJhaW50VmFsdWUubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZCh2YWx1ZSk7XG5cbiAgICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBwYXJlbnRDb25zdHJhaW50cy5vYmplY3RJZCA9IGNvbnN0cmFpbnRzO1xuICAgIGRlbGV0ZSBwYXJlbnRDb25zdHJhaW50cy5pZDtcbiAgfVxuICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChmaWVsZE5hbWUgPT4ge1xuICAgIGxldCBmaWVsZFZhbHVlID0gY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICBpZiAocGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV0pIHtcbiAgICAgIGNvbnN0cmFpbnRzW3BhcnNlQ29uc3RyYWludE1hcFtmaWVsZE5hbWVdXSA9IGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV07XG4gICAgICBkZWxldGUgY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSWYgd2UgaGF2ZSBhIGtleS12YWx1ZSBwYWlyLCB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgd2F5IHRoZSBjb25zdHJhaW50IGlzIHN0cnVjdHVyZWQuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlOlxuICAgICAqICAgRnJvbTpcbiAgICAgKiAgIHtcbiAgICAgKiAgICAgXCJzb21lRmllbGRcIjoge1xuICAgICAqICAgICAgIFwibGVzc1RoYW5cIjoge1xuICAgICAqICAgICAgICAgXCJrZXlcIjpcImZvby5iYXJcIixcbiAgICAgKiAgICAgICAgIFwidmFsdWVcIjogMTAwXG4gICAgICogICAgICAgfSxcbiAgICAgKiAgICAgICBcImdyZWF0ZXJUaGFuXCI6IHtcbiAgICAgKiAgICAgICAgIFwia2V5XCI6XCJmb28uYmFyXCIsXG4gICAgICogICAgICAgICBcInZhbHVlXCI6IDEwXG4gICAgICogICAgICAgfVxuICAgICAqICAgICB9XG4gICAgICogICB9XG4gICAgICpcbiAgICAgKiAgIFRvOlxuICAgICAqICAge1xuICAgICAqICAgICBcInNvbWVGaWVsZC5mb28uYmFyXCI6IHtcbiAgICAgKiAgICAgICBcIiRsdFwiOiAxMDAsXG4gICAgICogICAgICAgXCIkZ3RcIjogMTBcbiAgICAgKiAgICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKi9cbiAgICBpZiAoZmllbGRWYWx1ZS5rZXkgJiYgZmllbGRWYWx1ZS52YWx1ZSAmJiBwYXJlbnRDb25zdHJhaW50cyAmJiBwYXJlbnRGaWVsZE5hbWUpIHtcbiAgICAgIGRlbGV0ZSBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdO1xuICAgICAgcGFyZW50Q29uc3RyYWludHNbYCR7cGFyZW50RmllbGROYW1lfS4ke2ZpZWxkVmFsdWUua2V5fWBdID0ge1xuICAgICAgICAuLi5wYXJlbnRDb25zdHJhaW50c1tgJHtwYXJlbnRGaWVsZE5hbWV9LiR7ZmllbGRWYWx1ZS5rZXl9YF0sXG4gICAgICAgIFtwYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXV06IGZpZWxkVmFsdWUudmFsdWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBmaWVsZHNbcGFyZW50RmllbGROYW1lXSAmJlxuICAgICAgKGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdLnR5cGUgPT09ICdQb2ludGVyJyB8fCBmaWVsZHNbcGFyZW50RmllbGROYW1lXS50eXBlID09PSAnUmVsYXRpb24nKVxuICAgICkge1xuICAgICAgY29uc3QgeyB0YXJnZXRDbGFzcyB9ID0gZmllbGRzW3BhcmVudEZpZWxkTmFtZV07XG4gICAgICBpZiAoZmllbGROYW1lID09PSAnZXhpc3RzJykge1xuICAgICAgICBpZiAoZmllbGRzW3BhcmVudEZpZWxkTmFtZV0udHlwZSA9PT0gJ1JlbGF0aW9uJykge1xuICAgICAgICAgIGNvbnN0IHdoZXJlVGFyZ2V0ID0gZmllbGRWYWx1ZSA/ICd3aGVyZScgOiAnbm90V2hlcmUnO1xuICAgICAgICAgIGlmIChjb25zdHJhaW50c1t3aGVyZVRhcmdldF0pIHtcbiAgICAgICAgICAgIGlmIChjb25zdHJhaW50c1t3aGVyZVRhcmdldF0ub2JqZWN0SWQpIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHNbd2hlcmVUYXJnZXRdLm9iamVjdElkID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCxcbiAgICAgICAgICAgICAgICAkZXhpc3RzOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3RyYWludHNbd2hlcmVUYXJnZXRdLm9iamVjdElkID0ge1xuICAgICAgICAgICAgICAgICRleGlzdHM6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlV2hlcmVUYXJnZXQgPSBmaWVsZFZhbHVlID8gJyRpblF1ZXJ5JyA6ICckbm90SW5RdWVyeSc7XG4gICAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdW3BhcnNlV2hlcmVUYXJnZXRdID0ge1xuICAgICAgICAgICAgICB3aGVyZTogeyBvYmplY3RJZDogeyAkZXhpc3RzOiB0cnVlIH0gfSxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlbGV0ZSBjb25zdHJhaW50cy4kZXhpc3RzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJGV4aXN0cyA9IGZpZWxkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgICAgY2FzZSAnaGF2ZSc6XG4gICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXS4kaW5RdWVyeSA9IHtcbiAgICAgICAgICAgIHdoZXJlOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKFxuICAgICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXS4kaW5RdWVyeS53aGVyZSxcbiAgICAgICAgICAgIHRhcmdldENsYXNzLFxuICAgICAgICAgICAgcGFyc2VDbGFzc2VzXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaGF2ZU5vdCc6XG4gICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXS4kbm90SW5RdWVyeSA9IHtcbiAgICAgICAgICAgIHdoZXJlOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKFxuICAgICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXS4kbm90SW5RdWVyeS53aGVyZSxcbiAgICAgICAgICAgIHRhcmdldENsYXNzLFxuICAgICAgICAgICAgcGFyc2VDbGFzc2VzXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGZpZWxkTmFtZSkge1xuICAgICAgY2FzZSAncG9pbnQnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmICFmaWVsZFZhbHVlLl9fdHlwZSkge1xuICAgICAgICAgIGZpZWxkVmFsdWUuX190eXBlID0gJ0dlb1BvaW50JztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25lYXJTcGhlcmUnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmICFmaWVsZFZhbHVlLl9fdHlwZSkge1xuICAgICAgICAgIGZpZWxkVmFsdWUuX190eXBlID0gJ0dlb1BvaW50JztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JveCc6XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgZmllbGRWYWx1ZS5ib3R0b21MZWZ0ICYmIGZpZWxkVmFsdWUudXBwZXJSaWdodCkge1xuICAgICAgICAgIGZpZWxkVmFsdWUgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgICAgICAgICAgICAgLi4uZmllbGRWYWx1ZS5ib3R0b21MZWZ0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICAgICAgICAgICAgICAuLi5maWVsZFZhbHVlLnVwcGVyUmlnaHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgICAgY29uc3RyYWludHNbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dID0gZmllbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICBpZiAoZmllbGRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgZmllbGRWYWx1ZS5mb3JFYWNoKGdlb1BvaW50ID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZ2VvUG9pbnQgPT09ICdvYmplY3QnICYmICFnZW9Qb2ludC5fX3R5cGUpIHtcbiAgICAgICAgICAgICAgZ2VvUG9pbnQuX190eXBlID0gJ0dlb1BvaW50JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlclNwaGVyZSc6XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgZmllbGRWYWx1ZS5jZW50ZXIgJiYgZmllbGRWYWx1ZS5kaXN0YW5jZSkge1xuICAgICAgICAgIGZpZWxkVmFsdWUgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgICAgICAgICAgICAgLi4uZmllbGRWYWx1ZS5jZW50ZXIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmllbGRWYWx1ZS5kaXN0YW5jZSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0cmFpbnRzW3BhcnNlQ29uc3RyYWludE1hcFtmaWVsZE5hbWVdXSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChmaWVsZE5hbWUgPT09ICd3aGVyZScpIHtcbiAgICAgICAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UoZmllbGRWYWx1ZSwgY2xhc3NOYW1lLCBwYXJzZUNsYXNzZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlKFxuICAgICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgICAgZmllbGROYW1lLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBwYXJzZUNsYXNzZXNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UgPSAoY29uc3RyYWludHMsIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKSA9PiB7XG4gIGlmICghY29uc3RyYWludHMgfHwgdHlwZW9mIGNvbnN0cmFpbnRzICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKGNvbnN0cmFpbnRzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV07XG5cbiAgICBpZiAocGFyc2VRdWVyeU1hcFtmaWVsZE5hbWVdKSB7XG4gICAgICBkZWxldGUgY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIGZpZWxkTmFtZSA9IHBhcnNlUXVlcnlNYXBbZmllbGROYW1lXTtcbiAgICAgIGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV0gPSBmaWVsZFZhbHVlO1xuICAgICAgZmllbGRWYWx1ZS5mb3JFYWNoKGZpZWxkVmFsdWVJdGVtID0+IHtcbiAgICAgICAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UoZmllbGRWYWx1ZUl0ZW0sIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UoXG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgcGFyc2VDbGFzc2VzXG4gICAgICApO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UsIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlIH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-server",
3
- "version": "5.3.0-alpha.6",
3
+ "version": "5.3.0-alpha.9",
4
4
  "description": "An express module providing a Parse-compatible API server",
5
5
  "main": "lib/index.js",
6
6
  "repository": {
@@ -19,21 +19,21 @@
19
19
  ],
20
20
  "license": "BSD-3-Clause",
21
21
  "dependencies": {
22
- "@apollo/client": "3.5.9",
22
+ "@apollo/client": "3.5.10",
23
23
  "@apollographql/graphql-playground-html": "1.6.29",
24
- "@graphql-tools/links": "8.2.2",
24
+ "@graphql-tools/links": "8.2.11",
25
25
  "@graphql-tools/stitch": "6.2.4",
26
26
  "@graphql-tools/utils": "6.2.4",
27
- "@parse/fs-files-adapter": "1.2.1",
27
+ "@parse/fs-files-adapter": "1.2.2",
28
28
  "@parse/push-adapter": "4.1.2",
29
29
  "apollo-server-express": "2.25.2",
30
30
  "bcryptjs": "2.4.3",
31
- "body-parser": "1.19.1",
31
+ "body-parser": "1.20.0",
32
32
  "commander": "5.1.0",
33
33
  "cors": "2.8.5",
34
34
  "deepcopy": "2.1.0",
35
- "express": "4.17.2",
36
- "follow-redirects": "1.14.8",
35
+ "express": "4.17.3",
36
+ "follow-redirects": "1.14.9",
37
37
  "graphql": "15.8.0",
38
38
  "graphql-list-fields": "2.0.2",
39
39
  "graphql-relay": "0.7.0",
@@ -53,11 +53,11 @@
53
53
  "pg-promise": "10.11.1",
54
54
  "pluralize": "8.0.0",
55
55
  "redis": "3.1.2",
56
- "semver": "7.3.5",
56
+ "semver": "7.3.7",
57
57
  "subscriptions-transport-ws": "0.11.0",
58
58
  "tv4": "1.3.0",
59
59
  "uuid": "8.3.2",
60
- "winston": "3.5.1",
60
+ "winston": "3.7.2",
61
61
  "winston-daily-rotate-file": "4.6.0",
62
62
  "ws": "8.2.3"
63
63
  },
@@ -135,7 +135,7 @@
135
135
  "madge:circular": "node_modules/.bin/madge ./src --circular"
136
136
  },
137
137
  "engines": {
138
- "node": ">=12.22.10 <17"
138
+ "node": ">=12.22.10 <19"
139
139
  },
140
140
  "bin": {
141
141
  "parse-server": "bin/parse-server"