@payloadcms/db-postgres 3.0.0-alpha.18 → 3.0.0-alpha.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. package/dist/connect.js +17 -32
  2. package/dist/create.js +6 -21
  3. package/dist/createGlobal.js +6 -21
  4. package/dist/createGlobalVersion.js +10 -25
  5. package/dist/createMigration.js +11 -26
  6. package/dist/createVersion.js +10 -25
  7. package/dist/deleteMany.js +8 -23
  8. package/dist/deleteOne.js +10 -25
  9. package/dist/deleteVersions.js +10 -25
  10. package/dist/destroy.js +2 -12
  11. package/dist/find/buildFindManyArgs.js +6 -14
  12. package/dist/find/chainMethods.js +2 -11
  13. package/dist/find/findMany.js +14 -29
  14. package/dist/find/traverseFields.js +8 -23
  15. package/dist/find.js +6 -21
  16. package/dist/findGlobal.js +6 -21
  17. package/dist/findGlobalVersions.js +8 -23
  18. package/dist/findOne.js +6 -21
  19. package/dist/findVersions.js +8 -23
  20. package/dist/index.js +72 -87
  21. package/dist/init.js +17 -32
  22. package/dist/migrate.js +15 -30
  23. package/dist/migrateDown.js +12 -22
  24. package/dist/migrateFresh.js +15 -28
  25. package/dist/migrateRefresh.js +18 -26
  26. package/dist/migrateReset.js +13 -21
  27. package/dist/migrateStatus.js +9 -19
  28. package/dist/queries/buildAndOrConditions.js +4 -14
  29. package/dist/queries/buildQuery.js +10 -20
  30. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +4 -14
  31. package/dist/queries/createJSONQuery/formatJSONPathSegment.js +2 -12
  32. package/dist/queries/createJSONQuery/index.js +6 -16
  33. package/dist/queries/getTableColumnFromPath.js +38 -49
  34. package/dist/queries/operatorMap.js +17 -27
  35. package/dist/queries/parseParams.js +32 -42
  36. package/dist/queries/sanitizeQueryValue.js +8 -18
  37. package/dist/queryDrafts.js +10 -25
  38. package/dist/schema/build.js +49 -64
  39. package/dist/schema/createIndex.js +5 -15
  40. package/dist/schema/idToUUID.js +2 -12
  41. package/dist/schema/parentIDColumnMap.js +7 -17
  42. package/dist/schema/setColumnID.js +10 -20
  43. package/dist/schema/traverseFields.js +62 -77
  44. package/dist/schema/validateExistingBlockIsIdentical.js +9 -19
  45. package/dist/transactions/beginTransaction.js +4 -14
  46. package/dist/transactions/commitTransaction.js +2 -12
  47. package/dist/transactions/rollbackTransaction.js +2 -12
  48. package/dist/transform/read/hasManyNumber.js +2 -12
  49. package/dist/transform/read/hasManyText.js +2 -12
  50. package/dist/transform/read/index.js +12 -20
  51. package/dist/transform/read/relationship.js +2 -12
  52. package/dist/transform/read/traverseFields.js +15 -23
  53. package/dist/transform/write/array.js +6 -16
  54. package/dist/transform/write/blocks.js +6 -21
  55. package/dist/transform/write/index.js +4 -14
  56. package/dist/transform/write/numbers.js +2 -12
  57. package/dist/transform/write/relationships.js +4 -14
  58. package/dist/transform/write/selects.js +4 -14
  59. package/dist/transform/write/texts.js +2 -12
  60. package/dist/transform/write/traverseFields.js +30 -45
  61. package/dist/transform/write/types.js +2 -5
  62. package/dist/types.js +2 -5
  63. package/dist/update.js +11 -26
  64. package/dist/updateGlobal.js +6 -21
  65. package/dist/updateGlobalVersion.js +10 -25
  66. package/dist/updateVersion.js +10 -25
  67. package/dist/upsertRow/deleteExistingArrayRows.js +5 -15
  68. package/dist/upsertRow/deleteExistingRowsByPath.js +9 -19
  69. package/dist/upsertRow/index.js +24 -34
  70. package/dist/upsertRow/insertArrays.js +2 -12
  71. package/dist/upsertRow/types.js +2 -5
  72. package/dist/utilities/appendPrefixToKeys.js +2 -12
  73. package/dist/utilities/createBlocksMap.js +2 -12
  74. package/dist/utilities/createMigrationTable.js +4 -14
  75. package/dist/utilities/createRelationshipMap.js +2 -12
  76. package/dist/utilities/hasLocalesTable.js +5 -15
  77. package/dist/utilities/isArrayOfRows.js +2 -12
  78. package/dist/utilities/migrationTableExists.js +4 -14
  79. package/dist/utilities/parseError.js +6 -14
  80. package/package.json +5 -4
@@ -1,15 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "validateExistingBlockIsIdentical", {
6
- enumerable: true,
7
- get: function() {
8
- return validateExistingBlockIsIdentical;
9
- }
10
- });
11
- const _errors = require("payload/errors");
12
- const _types = require("payload/types");
1
+ import { InvalidConfiguration } from 'payload/errors';
2
+ import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/types';
13
3
  const getFlattenedFieldNames = (fields, prefix = '')=>{
14
4
  return fields.reduce((fieldsToUse, field)=>{
15
5
  let fieldPrefix = prefix;
@@ -21,7 +11,7 @@ const getFlattenedFieldNames = (fields, prefix = '')=>{
21
11
  ].includes(field.type) || 'hasMany' in field && field.hasMany === true) {
22
12
  return fieldsToUse;
23
13
  }
24
- if ((0, _types.fieldHasSubFields)(field)) {
14
+ if (fieldHasSubFields(field)) {
25
15
  fieldPrefix = 'name' in field ? `${prefix}${field.name}.` : prefix;
26
16
  return [
27
17
  ...fieldsToUse,
@@ -35,7 +25,7 @@ const getFlattenedFieldNames = (fields, prefix = '')=>{
35
25
  fieldPrefix = 'name' in tab ? `${prefix}.${tab.name}` : prefix;
36
26
  return [
37
27
  ...tabFields,
38
- ...(0, _types.tabHasName)(tab) ? [
28
+ ...tabHasName(tab) ? [
39
29
  {
40
30
  ...tab,
41
31
  type: 'tab'
@@ -45,7 +35,7 @@ const getFlattenedFieldNames = (fields, prefix = '')=>{
45
35
  }, [])
46
36
  ];
47
37
  }
48
- if ((0, _types.fieldAffectsData)(field)) {
38
+ if (fieldAffectsData(field)) {
49
39
  return [
50
40
  ...fieldsToUse,
51
41
  `${fieldPrefix?.replace('.', '_') || ''}${field.name}`
@@ -54,7 +44,7 @@ const getFlattenedFieldNames = (fields, prefix = '')=>{
54
44
  return fieldsToUse;
55
45
  }, []);
56
46
  };
57
- const validateExistingBlockIsIdentical = ({ block, localized, rootTableName, table })=>{
47
+ export const validateExistingBlockIsIdentical = ({ block, localized, rootTableName, table })=>{
58
48
  const fieldNames = getFlattenedFieldNames(block.fields);
59
49
  const missingField = // ensure every field from the config is in the matching table
60
50
  fieldNames.find((name)=>Object.keys(table).indexOf(name) === -1) || // ensure every table column is matched for every field from the config
@@ -70,11 +60,11 @@ const validateExistingBlockIsIdentical = ({ block, localized, rootTableName, tab
70
60
  }
71
61
  });
72
62
  if (missingField) {
73
- throw new _errors.InvalidConfiguration(`The table ${rootTableName} has multiple blocks with slug ${block.slug}, but the schemas do not match. One block includes the field ${missingField}, while the other block does not.`);
63
+ throw new InvalidConfiguration(`The table ${rootTableName} has multiple blocks with slug ${block.slug}, but the schemas do not match. One block includes the field ${missingField}, while the other block does not.`);
74
64
  }
75
65
  if (Boolean(localized) !== Boolean(table._locale)) {
76
- throw new _errors.InvalidConfiguration(`The table ${rootTableName} has multiple blocks with slug ${block.slug}, but the schemas do not match. One is localized, but another is not. Block schemas of the same name must match exactly.`);
66
+ throw new InvalidConfiguration(`The table ${rootTableName} has multiple blocks with slug ${block.slug}, but the schemas do not match. One is localized, but another is not. Block schemas of the same name must match exactly.`);
77
67
  }
78
68
  };
79
69
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgZmllbGRIYXNTdWJGaWVsZHMsIHRhYkhhc05hbWUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNUYWJsZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGJsb2NrOiBCbG9ja1xuICBsb2NhbGl6ZWQ6IGJvb2xlYW5cbiAgcm9vdFRhYmxlTmFtZTogc3RyaW5nXG4gIHRhYmxlOiBHZW5lcmljVGFibGVcbn1cblxuY29uc3QgZ2V0RmxhdHRlbmVkRmllbGROYW1lcyA9IChmaWVsZHM6IEZpZWxkW10sIHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmdbXSA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChmaWVsZHNUb1VzZSwgZmllbGQpID0+IHtcbiAgICBsZXQgZmllbGRQcmVmaXggPSBwcmVmaXhcblxuICAgIGlmIChcbiAgICAgIFsnYXJyYXknLCAnYmxvY2tzJywgJ3JlbGF0aW9uc2hpcCcsICd1cGxvYWQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSB8fFxuICAgICAgKCdoYXNNYW55JyBpbiBmaWVsZCAmJiBmaWVsZC5oYXNNYW55ID09PSB0cnVlKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZpZWxkc1RvVXNlXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSkge1xuICAgICAgZmllbGRQcmVmaXggPSAnbmFtZScgaW4gZmllbGQgPyBgJHtwcmVmaXh9JHtmaWVsZC5uYW1lfS5gIDogcHJlZml4XG4gICAgICByZXR1cm4gWy4uLmZpZWxkc1RvVXNlLCAuLi5nZXRGbGF0dGVuZWRGaWVsZE5hbWVzKGZpZWxkLmZpZWxkcywgZmllbGRQcmVmaXgpXVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmZpZWxkc1RvVXNlLFxuICAgICAgICAuLi5maWVsZC50YWJzLnJlZHVjZSgodGFiRmllbGRzLCB0YWIpID0+IHtcbiAgICAgICAgICBmaWVsZFByZWZpeCA9ICduYW1lJyBpbiB0YWIgPyBgJHtwcmVmaXh9LiR7dGFiLm5hbWV9YCA6IHByZWZpeFxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50YWJGaWVsZHMsXG4gICAgICAgICAgICAuLi4odGFiSGFzTmFtZSh0YWIpXG4gICAgICAgICAgICAgID8gW3sgLi4udGFiLCB0eXBlOiAndGFiJyB9XVxuICAgICAgICAgICAgICA6IGdldEZsYXR0ZW5lZEZpZWxkTmFtZXModGFiLmZpZWxkcywgZmllbGRQcmVmaXgpKSxcbiAgICAgICAgICBdXG4gICAgICAgIH0sIFtdKSxcbiAgICAgIF1cbiAgICB9XG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIHJldHVybiBbLi4uZmllbGRzVG9Vc2UsIGAke2ZpZWxkUHJlZml4Py5yZXBsYWNlKCcuJywgJ18nKSB8fCAnJ30ke2ZpZWxkLm5hbWV9YF1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzVG9Vc2VcbiAgfSwgW10pXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCA9ICh7XG4gIGJsb2NrLFxuICBsb2NhbGl6ZWQsXG4gIHJvb3RUYWJsZU5hbWUsXG4gIHRhYmxlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBjb25zdCBmaWVsZE5hbWVzID0gZ2V0RmxhdHRlbmVkRmllbGROYW1lcyhibG9jay5maWVsZHMpXG5cbiAgY29uc3QgbWlzc2luZ0ZpZWxkID1cbiAgICAvLyBlbnN1cmUgZXZlcnkgZmllbGQgZnJvbSB0aGUgY29uZmlnIGlzIGluIHRoZSBtYXRjaGluZyB0YWJsZVxuICAgIGZpZWxkTmFtZXMuZmluZCgobmFtZSkgPT4gT2JqZWN0LmtleXModGFibGUpLmluZGV4T2YobmFtZSkgPT09IC0xKSB8fFxuICAgIC8vIGVuc3VyZSBldmVyeSB0YWJsZSBjb2x1bW4gaXMgbWF0Y2hlZCBmb3IgZXZlcnkgZmllbGQgZnJvbSB0aGUgY29uZmlnXG4gICAgT2JqZWN0LmtleXModGFibGUpLmZpbmQoKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgaWYgKCFbJ19sb2NhbGUnLCAnX29yZGVyJywgJ19wYXJlbnRJRCcsICdfcGF0aCcsICdfdXVpZCddLmluY2x1ZGVzKGZpZWxkTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkTmFtZXMuaW5kZXhPZihmaWVsZE5hbWUpID09PSAtMVxuICAgICAgfVxuICAgIH0pXG5cbiAgaWYgKG1pc3NpbmdGaWVsZCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgIGBUaGUgdGFibGUgJHtyb290VGFibGVOYW1lfSBoYXMgbXVsdGlwbGUgYmxvY2tzIHdpdGggc2x1ZyAke2Jsb2NrLnNsdWd9LCBidXQgdGhlIHNjaGVtYXMgZG8gbm90IG1hdGNoLiBPbmUgYmxvY2sgaW5jbHVkZXMgdGhlIGZpZWxkICR7bWlzc2luZ0ZpZWxkfSwgd2hpbGUgdGhlIG90aGVyIGJsb2NrIGRvZXMgbm90LmAsXG4gICAgKVxuICB9XG5cbiAgaWYgKEJvb2xlYW4obG9jYWxpemVkKSAhPT0gQm9vbGVhbih0YWJsZS5fbG9jYWxlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgIGBUaGUgdGFibGUgJHtyb290VGFibGVOYW1lfSBoYXMgbXVsdGlwbGUgYmxvY2tzIHdpdGggc2x1ZyAke2Jsb2NrLnNsdWd9LCBidXQgdGhlIHNjaGVtYXMgZG8gbm90IG1hdGNoLiBPbmUgaXMgbG9jYWxpemVkLCBidXQgYW5vdGhlciBpcyBub3QuIEJsb2NrIHNjaGVtYXMgb2YgdGhlIHNhbWUgbmFtZSBtdXN0IG1hdGNoIGV4YWN0bHkuYCxcbiAgICApXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsImdldEZsYXR0ZW5lZEZpZWxkTmFtZXMiLCJmaWVsZHMiLCJwcmVmaXgiLCJyZWR1Y2UiLCJmaWVsZHNUb1VzZSIsImZpZWxkIiwiZmllbGRQcmVmaXgiLCJpbmNsdWRlcyIsInR5cGUiLCJoYXNNYW55IiwiZmllbGRIYXNTdWJGaWVsZHMiLCJuYW1lIiwidGFicyIsInRhYkZpZWxkcyIsInRhYiIsInRhYkhhc05hbWUiLCJmaWVsZEFmZmVjdHNEYXRhIiwicmVwbGFjZSIsImJsb2NrIiwibG9jYWxpemVkIiwicm9vdFRhYmxlTmFtZSIsInRhYmxlIiwiZmllbGROYW1lcyIsIm1pc3NpbmdGaWVsZCIsImZpbmQiLCJPYmplY3QiLCJrZXlzIiwiaW5kZXhPZiIsImZpZWxkTmFtZSIsIkludmFsaWRDb25maWd1cmF0aW9uIiwic2x1ZyIsIkJvb2xlYW4iLCJfbG9jYWxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQXFEYUE7OztlQUFBQTs7O3dCQW5Ed0I7dUJBQzJCO0FBV2hFLE1BQU1DLHlCQUF5QixDQUFDQyxRQUFpQkMsU0FBaUIsRUFBRTtJQUNsRSxPQUFPRCxPQUFPRSxNQUFNLENBQUMsQ0FBQ0MsYUFBYUM7UUFDakMsSUFBSUMsY0FBY0o7UUFFbEIsSUFDRTtZQUFDO1lBQVM7WUFBVTtZQUFnQjtTQUFTLENBQUNLLFFBQVEsQ0FBQ0YsTUFBTUcsSUFBSSxLQUNoRSxhQUFhSCxTQUFTQSxNQUFNSSxPQUFPLEtBQUssTUFDekM7WUFDQSxPQUFPTDtRQUNUO1FBRUEsSUFBSU0sSUFBQUEsd0JBQWlCLEVBQUNMLFFBQVE7WUFDNUJDLGNBQWMsVUFBVUQsUUFBUSxDQUFDLEVBQUVILE9BQU8sRUFBRUcsTUFBTU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHVDtZQUM1RCxPQUFPO21CQUFJRTttQkFBZ0JKLHVCQUF1QkssTUFBTUosTUFBTSxFQUFFSzthQUFhO1FBQy9FO1FBRUEsSUFBSUQsTUFBTUcsSUFBSSxLQUFLLFFBQVE7WUFDekIsT0FBTzttQkFDRko7bUJBQ0FDLE1BQU1PLElBQUksQ0FBQ1QsTUFBTSxDQUFDLENBQUNVLFdBQVdDO29CQUMvQlIsY0FBYyxVQUFVUSxNQUFNLENBQUMsRUFBRVosT0FBTyxDQUFDLEVBQUVZLElBQUlILElBQUksQ0FBQyxDQUFDLEdBQUdUO29CQUN4RCxPQUFPOzJCQUNGVzsyQkFDQ0UsSUFBQUEsaUJBQVUsRUFBQ0QsT0FDWDs0QkFBQztnQ0FBRSxHQUFHQSxHQUFHO2dDQUFFTixNQUFNOzRCQUFNO3lCQUFFLEdBQ3pCUix1QkFBdUJjLElBQUliLE1BQU0sRUFBRUs7cUJBQ3hDO2dCQUNILEdBQUcsRUFBRTthQUNOO1FBQ0g7UUFFQSxJQUFJVSxJQUFBQSx1QkFBZ0IsRUFBQ1gsUUFBUTtZQUMzQixPQUFPO21CQUFJRDtnQkFBYSxDQUFDLEVBQUVFLGFBQWFXLFFBQVEsS0FBSyxRQUFRLEdBQUcsRUFBRVosTUFBTU0sSUFBSSxDQUFDLENBQUM7YUFBQztRQUNqRjtRQUVBLE9BQU9QO0lBQ1QsR0FBRyxFQUFFO0FBQ1A7QUFFTyxNQUFNTCxtQ0FBbUMsQ0FBQyxFQUMvQ21CLEtBQUssRUFDTEMsU0FBUyxFQUNUQyxhQUFhLEVBQ2JDLEtBQUssRUFDQTtJQUNMLE1BQU1DLGFBQWF0Qix1QkFBdUJrQixNQUFNakIsTUFBTTtJQUV0RCxNQUFNc0IsZUFDSiw4REFBOEQ7SUFDOURELFdBQVdFLElBQUksQ0FBQyxDQUFDYixPQUFTYyxPQUFPQyxJQUFJLENBQUNMLE9BQU9NLE9BQU8sQ0FBQ2hCLFVBQVUsQ0FBQyxNQUNoRSx1RUFBdUU7SUFDdkVjLE9BQU9DLElBQUksQ0FBQ0wsT0FBT0csSUFBSSxDQUFDLENBQUNJO1FBQ3ZCLElBQUksQ0FBQztZQUFDO1lBQVc7WUFBVTtZQUFhO1lBQVM7U0FBUSxDQUFDckIsUUFBUSxDQUFDcUIsWUFBWTtZQUM3RSxPQUFPTixXQUFXSyxPQUFPLENBQUNDLGVBQWUsQ0FBQztRQUM1QztJQUNGO0lBRUYsSUFBSUwsY0FBYztRQUNoQixNQUFNLElBQUlNLDRCQUFvQixDQUM1QixDQUFDLFVBQVUsRUFBRVQsY0FBYywrQkFBK0IsRUFBRUYsTUFBTVksSUFBSSxDQUFDLDZEQUE2RCxFQUFFUCxhQUFhLGlDQUFpQyxDQUFDO0lBRXpMO0lBRUEsSUFBSVEsUUFBUVosZUFBZVksUUFBUVYsTUFBTVcsT0FBTyxHQUFHO1FBQ2pELE1BQU0sSUFBSUgsNEJBQW9CLENBQzVCLENBQUMsVUFBVSxFQUFFVCxjQUFjLCtCQUErQixFQUFFRixNQUFNWSxJQUFJLENBQUMsd0hBQXdILENBQUM7SUFFcE07QUFDRiJ9
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgZmllbGRIYXNTdWJGaWVsZHMsIHRhYkhhc05hbWUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNUYWJsZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGJsb2NrOiBCbG9ja1xuICBsb2NhbGl6ZWQ6IGJvb2xlYW5cbiAgcm9vdFRhYmxlTmFtZTogc3RyaW5nXG4gIHRhYmxlOiBHZW5lcmljVGFibGVcbn1cblxuY29uc3QgZ2V0RmxhdHRlbmVkRmllbGROYW1lcyA9IChmaWVsZHM6IEZpZWxkW10sIHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmdbXSA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChmaWVsZHNUb1VzZSwgZmllbGQpID0+IHtcbiAgICBsZXQgZmllbGRQcmVmaXggPSBwcmVmaXhcblxuICAgIGlmIChcbiAgICAgIFsnYXJyYXknLCAnYmxvY2tzJywgJ3JlbGF0aW9uc2hpcCcsICd1cGxvYWQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSB8fFxuICAgICAgKCdoYXNNYW55JyBpbiBmaWVsZCAmJiBmaWVsZC5oYXNNYW55ID09PSB0cnVlKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZpZWxkc1RvVXNlXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSkge1xuICAgICAgZmllbGRQcmVmaXggPSAnbmFtZScgaW4gZmllbGQgPyBgJHtwcmVmaXh9JHtmaWVsZC5uYW1lfS5gIDogcHJlZml4XG4gICAgICByZXR1cm4gWy4uLmZpZWxkc1RvVXNlLCAuLi5nZXRGbGF0dGVuZWRGaWVsZE5hbWVzKGZpZWxkLmZpZWxkcywgZmllbGRQcmVmaXgpXVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLmZpZWxkc1RvVXNlLFxuICAgICAgICAuLi5maWVsZC50YWJzLnJlZHVjZSgodGFiRmllbGRzLCB0YWIpID0+IHtcbiAgICAgICAgICBmaWVsZFByZWZpeCA9ICduYW1lJyBpbiB0YWIgPyBgJHtwcmVmaXh9LiR7dGFiLm5hbWV9YCA6IHByZWZpeFxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50YWJGaWVsZHMsXG4gICAgICAgICAgICAuLi4odGFiSGFzTmFtZSh0YWIpXG4gICAgICAgICAgICAgID8gW3sgLi4udGFiLCB0eXBlOiAndGFiJyB9XVxuICAgICAgICAgICAgICA6IGdldEZsYXR0ZW5lZEZpZWxkTmFtZXModGFiLmZpZWxkcywgZmllbGRQcmVmaXgpKSxcbiAgICAgICAgICBdXG4gICAgICAgIH0sIFtdKSxcbiAgICAgIF1cbiAgICB9XG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIHJldHVybiBbLi4uZmllbGRzVG9Vc2UsIGAke2ZpZWxkUHJlZml4Py5yZXBsYWNlKCcuJywgJ18nKSB8fCAnJ30ke2ZpZWxkLm5hbWV9YF1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzVG9Vc2VcbiAgfSwgW10pXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCA9ICh7XG4gIGJsb2NrLFxuICBsb2NhbGl6ZWQsXG4gIHJvb3RUYWJsZU5hbWUsXG4gIHRhYmxlLFxufTogQXJncyk6IHZvaWQgPT4ge1xuICBjb25zdCBmaWVsZE5hbWVzID0gZ2V0RmxhdHRlbmVkRmllbGROYW1lcyhibG9jay5maWVsZHMpXG5cbiAgY29uc3QgbWlzc2luZ0ZpZWxkID1cbiAgICAvLyBlbnN1cmUgZXZlcnkgZmllbGQgZnJvbSB0aGUgY29uZmlnIGlzIGluIHRoZSBtYXRjaGluZyB0YWJsZVxuICAgIGZpZWxkTmFtZXMuZmluZCgobmFtZSkgPT4gT2JqZWN0LmtleXModGFibGUpLmluZGV4T2YobmFtZSkgPT09IC0xKSB8fFxuICAgIC8vIGVuc3VyZSBldmVyeSB0YWJsZSBjb2x1bW4gaXMgbWF0Y2hlZCBmb3IgZXZlcnkgZmllbGQgZnJvbSB0aGUgY29uZmlnXG4gICAgT2JqZWN0LmtleXModGFibGUpLmZpbmQoKGZpZWxkTmFtZSkgPT4ge1xuICAgICAgaWYgKCFbJ19sb2NhbGUnLCAnX29yZGVyJywgJ19wYXJlbnRJRCcsICdfcGF0aCcsICdfdXVpZCddLmluY2x1ZGVzKGZpZWxkTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkTmFtZXMuaW5kZXhPZihmaWVsZE5hbWUpID09PSAtMVxuICAgICAgfVxuICAgIH0pXG5cbiAgaWYgKG1pc3NpbmdGaWVsZCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgIGBUaGUgdGFibGUgJHtyb290VGFibGVOYW1lfSBoYXMgbXVsdGlwbGUgYmxvY2tzIHdpdGggc2x1ZyAke2Jsb2NrLnNsdWd9LCBidXQgdGhlIHNjaGVtYXMgZG8gbm90IG1hdGNoLiBPbmUgYmxvY2sgaW5jbHVkZXMgdGhlIGZpZWxkICR7bWlzc2luZ0ZpZWxkfSwgd2hpbGUgdGhlIG90aGVyIGJsb2NrIGRvZXMgbm90LmAsXG4gICAgKVxuICB9XG5cbiAgaWYgKEJvb2xlYW4obG9jYWxpemVkKSAhPT0gQm9vbGVhbih0YWJsZS5fbG9jYWxlKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgIGBUaGUgdGFibGUgJHtyb290VGFibGVOYW1lfSBoYXMgbXVsdGlwbGUgYmxvY2tzIHdpdGggc2x1ZyAke2Jsb2NrLnNsdWd9LCBidXQgdGhlIHNjaGVtYXMgZG8gbm90IG1hdGNoLiBPbmUgaXMgbG9jYWxpemVkLCBidXQgYW5vdGhlciBpcyBub3QuIEJsb2NrIHNjaGVtYXMgb2YgdGhlIHNhbWUgbmFtZSBtdXN0IG1hdGNoIGV4YWN0bHkuYCxcbiAgICApXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJJbnZhbGlkQ29uZmlndXJhdGlvbiIsImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsInRhYkhhc05hbWUiLCJnZXRGbGF0dGVuZWRGaWVsZE5hbWVzIiwiZmllbGRzIiwicHJlZml4IiwicmVkdWNlIiwiZmllbGRzVG9Vc2UiLCJmaWVsZCIsImZpZWxkUHJlZml4IiwiaW5jbHVkZXMiLCJ0eXBlIiwiaGFzTWFueSIsIm5hbWUiLCJ0YWJzIiwidGFiRmllbGRzIiwidGFiIiwicmVwbGFjZSIsInZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsIiwiYmxvY2siLCJsb2NhbGl6ZWQiLCJyb290VGFibGVOYW1lIiwidGFibGUiLCJmaWVsZE5hbWVzIiwibWlzc2luZ0ZpZWxkIiwiZmluZCIsIk9iamVjdCIsImtleXMiLCJpbmRleE9mIiwiZmllbGROYW1lIiwic2x1ZyIsIkJvb2xlYW4iLCJfbG9jYWxlIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxvQkFBb0IsUUFBUSxpQkFBZ0I7QUFDckQsU0FBU0MsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFQyxVQUFVLFFBQVEsZ0JBQWU7QUFXL0UsTUFBTUMseUJBQXlCLENBQUNDLFFBQWlCQyxTQUFpQixFQUFFO0lBQ2xFLE9BQU9ELE9BQU9FLE1BQU0sQ0FBQyxDQUFDQyxhQUFhQztRQUNqQyxJQUFJQyxjQUFjSjtRQUVsQixJQUNFO1lBQUM7WUFBUztZQUFVO1lBQWdCO1NBQVMsQ0FBQ0ssUUFBUSxDQUFDRixNQUFNRyxJQUFJLEtBQ2hFLGFBQWFILFNBQVNBLE1BQU1JLE9BQU8sS0FBSyxNQUN6QztZQUNBLE9BQU9MO1FBQ1Q7UUFFQSxJQUFJTixrQkFBa0JPLFFBQVE7WUFDNUJDLGNBQWMsVUFBVUQsUUFBUSxDQUFDLEVBQUVILE9BQU8sRUFBRUcsTUFBTUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHUjtZQUM1RCxPQUFPO21CQUFJRTttQkFBZ0JKLHVCQUF1QkssTUFBTUosTUFBTSxFQUFFSzthQUFhO1FBQy9FO1FBRUEsSUFBSUQsTUFBTUcsSUFBSSxLQUFLLFFBQVE7WUFDekIsT0FBTzttQkFDRko7bUJBQ0FDLE1BQU1NLElBQUksQ0FBQ1IsTUFBTSxDQUFDLENBQUNTLFdBQVdDO29CQUMvQlAsY0FBYyxVQUFVTyxNQUFNLENBQUMsRUFBRVgsT0FBTyxDQUFDLEVBQUVXLElBQUlILElBQUksQ0FBQyxDQUFDLEdBQUdSO29CQUN4RCxPQUFPOzJCQUNGVTsyQkFDQ2IsV0FBV2MsT0FDWDs0QkFBQztnQ0FBRSxHQUFHQSxHQUFHO2dDQUFFTCxNQUFNOzRCQUFNO3lCQUFFLEdBQ3pCUix1QkFBdUJhLElBQUlaLE1BQU0sRUFBRUs7cUJBQ3hDO2dCQUNILEdBQUcsRUFBRTthQUNOO1FBQ0g7UUFFQSxJQUFJVCxpQkFBaUJRLFFBQVE7WUFDM0IsT0FBTzttQkFBSUQ7Z0JBQWEsQ0FBQyxFQUFFRSxhQUFhUSxRQUFRLEtBQUssUUFBUSxHQUFHLEVBQUVULE1BQU1LLElBQUksQ0FBQyxDQUFDO2FBQUM7UUFDakY7UUFFQSxPQUFPTjtJQUNULEdBQUcsRUFBRTtBQUNQO0FBRUEsT0FBTyxNQUFNVyxtQ0FBbUMsQ0FBQyxFQUMvQ0MsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLGFBQWEsRUFDYkMsS0FBSyxFQUNBO0lBQ0wsTUFBTUMsYUFBYXBCLHVCQUF1QmdCLE1BQU1mLE1BQU07SUFFdEQsTUFBTW9CLGVBQ0osOERBQThEO0lBQzlERCxXQUFXRSxJQUFJLENBQUMsQ0FBQ1osT0FBU2EsT0FBT0MsSUFBSSxDQUFDTCxPQUFPTSxPQUFPLENBQUNmLFVBQVUsQ0FBQyxNQUNoRSx1RUFBdUU7SUFDdkVhLE9BQU9DLElBQUksQ0FBQ0wsT0FBT0csSUFBSSxDQUFDLENBQUNJO1FBQ3ZCLElBQUksQ0FBQztZQUFDO1lBQVc7WUFBVTtZQUFhO1lBQVM7U0FBUSxDQUFDbkIsUUFBUSxDQUFDbUIsWUFBWTtZQUM3RSxPQUFPTixXQUFXSyxPQUFPLENBQUNDLGVBQWUsQ0FBQztRQUM1QztJQUNGO0lBRUYsSUFBSUwsY0FBYztRQUNoQixNQUFNLElBQUl6QixxQkFDUixDQUFDLFVBQVUsRUFBRXNCLGNBQWMsK0JBQStCLEVBQUVGLE1BQU1XLElBQUksQ0FBQyw2REFBNkQsRUFBRU4sYUFBYSxpQ0FBaUMsQ0FBQztJQUV6TDtJQUVBLElBQUlPLFFBQVFYLGVBQWVXLFFBQVFULE1BQU1VLE9BQU8sR0FBRztRQUNqRCxNQUFNLElBQUlqQyxxQkFDUixDQUFDLFVBQVUsRUFBRXNCLGNBQWMsK0JBQStCLEVBQUVGLE1BQU1XLElBQUksQ0FBQyx3SEFBd0gsQ0FBQztJQUVwTTtBQUNGLEVBQUMifQ==
@@ -1,18 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "beginTransaction", {
6
- enumerable: true,
7
- get: function() {
8
- return beginTransaction;
9
- }
10
- });
11
- const _uuid = require("uuid");
12
- const beginTransaction = async function beginTransaction() {
1
+ import { v4 as uuid } from 'uuid';
2
+ export const beginTransaction = async function beginTransaction() {
13
3
  let id;
14
4
  try {
15
- id = (0, _uuid.v4)();
5
+ id = uuid();
16
6
  let reject;
17
7
  let resolve;
18
8
  let transaction;
@@ -54,4 +44,4 @@ const beginTransaction = async function beginTransaction() {
54
44
  return id;
55
45
  };
56
46
 
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvYmVnaW5UcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJlZ2luVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBEcml6emxlVHJhbnNhY3Rpb24sIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgYmVnaW5UcmFuc2FjdGlvbjogQmVnaW5UcmFuc2FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIGJlZ2luVHJhbnNhY3Rpb24oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbikge1xuICBsZXQgaWRcbiAgdHJ5IHtcbiAgICBpZCA9IHV1aWQoKVxuXG4gICAgbGV0IHJlamVjdDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAgIGxldCByZXNvbHZlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgbGV0IHRyYW5zYWN0aW9uOiBEcml6emxlVHJhbnNhY3Rpb25cblxuICAgIGxldCB0cmFuc2FjdGlvblJlYWR5OiAoKSA9PiB2b2lkXG5cbiAgICAvLyBEcml6emxlIG9ubHkgZXhwb3NlcyBhIHRyYW5zYWN0aW9ucyBBUEkgdGhhdCBpcyBzdWZmaWNpZW50IGlmIHlvdVxuICAgIC8vIGNhbiBkaXJlY3RseSBwYXNzIGFyb3VuZCB0aGUgYHR4YCBhcmd1bWVudC4gQnV0IG91ciBvcGVyYXRpb25zIGFyZSBzcHJlYWRcbiAgICAvLyBvdmVyIG1hbnkgZmlsZXMgYW5kIHdlIGRvbid0IHdhbnQgdG8gcGFzcyB0aGUgYHR4YCBhcm91bmQgbGlrZSB0aGF0LFxuICAgIC8vIHNvIGluc3RlYWQsIHdlIFwibGlmdFwiIHVwIHRoZSBgcmVzb2x2ZWAgYW5kIGByZWplY3RgIG1ldGhvZHNcbiAgICAvLyBhbmQgd2lsbCBjYWxsIHRoZW0gaW4gb3VyIHJlc3BlY3RpdmUgdHJhbnNhY3Rpb24gbWV0aG9kc1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgIGNvbnN0IGRvbmUgPSB0aGlzLmRyaXp6bGVcbiAgICAgIC50cmFuc2FjdGlvbihhc3luYyAodHgpID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb24gPSB0eFxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzLCByZWopID0+IHtcbiAgICAgICAgICByZXNvbHZlID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVzKClcbiAgICAgICAgICAgIHJldHVybiBkb25lXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlamVjdCA9ICgpID0+IHtcbiAgICAgICAgICAgIHJlaigpXG4gICAgICAgICAgICByZXR1cm4gZG9uZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0cmFuc2FjdGlvblJlYWR5KClcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBzd2FsbG93XG4gICAgICB9KVxuXG4gICAgLy8gTmVlZCB0byB3YWl0IHVudGlsIHRoZSB0cmFuc2FjdGlvbiBpcyByZWFkeVxuICAgIC8vIGJlZm9yZSBiaW5kaW5nIGl0cyBgcmVzb2x2ZWAgYW5kIGByZWplY3RgIG1ldGhvZHMgYmVsb3dcbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4gKHRyYW5zYWN0aW9uUmVhZHkgPSByZXNvbHZlKSlcblxuICAgIHRoaXMuc2Vzc2lvbnNbaWRdID0ge1xuICAgICAgZGI6IHRyYW5zYWN0aW9uLFxuICAgICAgcmVqZWN0LFxuICAgICAgcmVzb2x2ZSxcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRoaXMucGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yOiBjYW5ub3QgYmVnaW4gdHJhbnNhY3Rpb246ICR7ZXJyLm1lc3NhZ2V9YCwgZXJyKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9XG5cbiAgcmV0dXJuIGlkXG59XG4iXSwibmFtZXMiOlsiYmVnaW5UcmFuc2FjdGlvbiIsImlkIiwidXVpZCIsInJlamVjdCIsInJlc29sdmUiLCJ0cmFuc2FjdGlvbiIsInRyYW5zYWN0aW9uUmVhZHkiLCJkb25lIiwiZHJpenpsZSIsInR4IiwiUHJvbWlzZSIsInJlcyIsInJlaiIsImNhdGNoIiwic2Vzc2lvbnMiLCJkYiIsImVyciIsInBheWxvYWQiLCJsb2dnZXIiLCJlcnJvciIsIm1lc3NhZ2UiLCJwcm9jZXNzIiwiZXhpdCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFNYUE7OztlQUFBQTs7O3NCQUpjO0FBSXBCLE1BQU1BLG1CQUFxQyxlQUFlQTtJQUcvRCxJQUFJQztJQUNKLElBQUk7UUFDRkEsS0FBS0MsSUFBQUEsUUFBSTtRQUVULElBQUlDO1FBQ0osSUFBSUM7UUFDSixJQUFJQztRQUVKLElBQUlDO1FBRUosb0VBQW9FO1FBQ3BFLDRFQUE0RTtRQUM1RSx1RUFBdUU7UUFDdkUsOERBQThEO1FBQzlELDJEQUEyRDtRQUUzRCxtRUFBbUU7UUFDbkUsTUFBTUMsT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FDdEJILFdBQVcsQ0FBQyxPQUFPSTtZQUNsQkosY0FBY0k7WUFDZCxNQUFNLElBQUlDLFFBQWMsQ0FBQ0MsS0FBS0M7Z0JBQzVCUixVQUFVO29CQUNSTztvQkFDQSxPQUFPSjtnQkFDVDtnQkFDQUosU0FBUztvQkFDUFM7b0JBQ0EsT0FBT0w7Z0JBQ1Q7Z0JBQ0FEO1lBQ0Y7UUFDRixHQUNDTyxLQUFLLENBQUM7UUFDTCxVQUFVO1FBQ1o7UUFFRiw4Q0FBOEM7UUFDOUMsMERBQTBEO1FBQzFELE1BQU0sSUFBSUgsUUFBYyxDQUFDTixVQUFhRSxtQkFBbUJGO1FBRXpELElBQUksQ0FBQ1UsUUFBUSxDQUFDYixHQUFHLEdBQUc7WUFDbEJjLElBQUlWO1lBQ0pGO1lBQ0FDO1FBQ0Y7SUFDRixFQUFFLE9BQU9ZLEtBQUs7UUFDWixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxpQ0FBaUMsRUFBRUgsSUFBSUksT0FBTyxDQUFDLENBQUMsRUFBRUo7UUFDN0VLLFFBQVFDLElBQUksQ0FBQztJQUNmO0lBRUEsT0FBT3JCO0FBQ1QifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvYmVnaW5UcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJlZ2luVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBEcml6emxlVHJhbnNhY3Rpb24sIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgYmVnaW5UcmFuc2FjdGlvbjogQmVnaW5UcmFuc2FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIGJlZ2luVHJhbnNhY3Rpb24oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbikge1xuICBsZXQgaWRcbiAgdHJ5IHtcbiAgICBpZCA9IHV1aWQoKVxuXG4gICAgbGV0IHJlamVjdDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAgIGxldCByZXNvbHZlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgbGV0IHRyYW5zYWN0aW9uOiBEcml6emxlVHJhbnNhY3Rpb25cblxuICAgIGxldCB0cmFuc2FjdGlvblJlYWR5OiAoKSA9PiB2b2lkXG5cbiAgICAvLyBEcml6emxlIG9ubHkgZXhwb3NlcyBhIHRyYW5zYWN0aW9ucyBBUEkgdGhhdCBpcyBzdWZmaWNpZW50IGlmIHlvdVxuICAgIC8vIGNhbiBkaXJlY3RseSBwYXNzIGFyb3VuZCB0aGUgYHR4YCBhcmd1bWVudC4gQnV0IG91ciBvcGVyYXRpb25zIGFyZSBzcHJlYWRcbiAgICAvLyBvdmVyIG1hbnkgZmlsZXMgYW5kIHdlIGRvbid0IHdhbnQgdG8gcGFzcyB0aGUgYHR4YCBhcm91bmQgbGlrZSB0aGF0LFxuICAgIC8vIHNvIGluc3RlYWQsIHdlIFwibGlmdFwiIHVwIHRoZSBgcmVzb2x2ZWAgYW5kIGByZWplY3RgIG1ldGhvZHNcbiAgICAvLyBhbmQgd2lsbCBjYWxsIHRoZW0gaW4gb3VyIHJlc3BlY3RpdmUgdHJhbnNhY3Rpb24gbWV0aG9kc1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgIGNvbnN0IGRvbmUgPSB0aGlzLmRyaXp6bGVcbiAgICAgIC50cmFuc2FjdGlvbihhc3luYyAodHgpID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb24gPSB0eFxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzLCByZWopID0+IHtcbiAgICAgICAgICByZXNvbHZlID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVzKClcbiAgICAgICAgICAgIHJldHVybiBkb25lXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlamVjdCA9ICgpID0+IHtcbiAgICAgICAgICAgIHJlaigpXG4gICAgICAgICAgICByZXR1cm4gZG9uZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0cmFuc2FjdGlvblJlYWR5KClcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAvLyBzd2FsbG93XG4gICAgICB9KVxuXG4gICAgLy8gTmVlZCB0byB3YWl0IHVudGlsIHRoZSB0cmFuc2FjdGlvbiBpcyByZWFkeVxuICAgIC8vIGJlZm9yZSBiaW5kaW5nIGl0cyBgcmVzb2x2ZWAgYW5kIGByZWplY3RgIG1ldGhvZHMgYmVsb3dcbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4gKHRyYW5zYWN0aW9uUmVhZHkgPSByZXNvbHZlKSlcblxuICAgIHRoaXMuc2Vzc2lvbnNbaWRdID0ge1xuICAgICAgZGI6IHRyYW5zYWN0aW9uLFxuICAgICAgcmVqZWN0LFxuICAgICAgcmVzb2x2ZSxcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRoaXMucGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yOiBjYW5ub3QgYmVnaW4gdHJhbnNhY3Rpb246ICR7ZXJyLm1lc3NhZ2V9YCwgZXJyKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9XG5cbiAgcmV0dXJuIGlkXG59XG4iXSwibmFtZXMiOlsidjQiLCJ1dWlkIiwiYmVnaW5UcmFuc2FjdGlvbiIsImlkIiwicmVqZWN0IiwicmVzb2x2ZSIsInRyYW5zYWN0aW9uIiwidHJhbnNhY3Rpb25SZWFkeSIsImRvbmUiLCJkcml6emxlIiwidHgiLCJQcm9taXNlIiwicmVzIiwicmVqIiwiY2F0Y2giLCJzZXNzaW9ucyIsImRiIiwiZXJyIiwicGF5bG9hZCIsImxvZ2dlciIsImVycm9yIiwibWVzc2FnZSIsInByb2Nlc3MiLCJleGl0Il0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxNQUFNQyxJQUFJLFFBQVEsT0FBTTtBQUlqQyxPQUFPLE1BQU1DLG1CQUFxQyxlQUFlQTtJQUcvRCxJQUFJQztJQUNKLElBQUk7UUFDRkEsS0FBS0Y7UUFFTCxJQUFJRztRQUNKLElBQUlDO1FBQ0osSUFBSUM7UUFFSixJQUFJQztRQUVKLG9FQUFvRTtRQUNwRSw0RUFBNEU7UUFDNUUsdUVBQXVFO1FBQ3ZFLDhEQUE4RDtRQUM5RCwyREFBMkQ7UUFFM0QsbUVBQW1FO1FBQ25FLE1BQU1DLE9BQU8sSUFBSSxDQUFDQyxPQUFPLENBQ3RCSCxXQUFXLENBQUMsT0FBT0k7WUFDbEJKLGNBQWNJO1lBQ2QsTUFBTSxJQUFJQyxRQUFjLENBQUNDLEtBQUtDO2dCQUM1QlIsVUFBVTtvQkFDUk87b0JBQ0EsT0FBT0o7Z0JBQ1Q7Z0JBQ0FKLFNBQVM7b0JBQ1BTO29CQUNBLE9BQU9MO2dCQUNUO2dCQUNBRDtZQUNGO1FBQ0YsR0FDQ08sS0FBSyxDQUFDO1FBQ0wsVUFBVTtRQUNaO1FBRUYsOENBQThDO1FBQzlDLDBEQUEwRDtRQUMxRCxNQUFNLElBQUlILFFBQWMsQ0FBQ04sVUFBYUUsbUJBQW1CRjtRQUV6RCxJQUFJLENBQUNVLFFBQVEsQ0FBQ1osR0FBRyxHQUFHO1lBQ2xCYSxJQUFJVjtZQUNKRjtZQUNBQztRQUNGO0lBQ0YsRUFBRSxPQUFPWSxLQUFLO1FBQ1osSUFBSSxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLENBQUMsaUNBQWlDLEVBQUVILElBQUlJLE9BQU8sQ0FBQyxDQUFDLEVBQUVKO1FBQzdFSyxRQUFRQyxJQUFJLENBQUM7SUFDZjtJQUVBLE9BQU9wQjtBQUNULEVBQUMifQ==
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "commitTransaction", {
6
- enumerable: true,
7
- get: function() {
8
- return commitTransaction;
9
- }
10
- });
11
- const commitTransaction = async function commitTransaction(id) {
1
+ export const commitTransaction = async function commitTransaction(id) {
12
2
  // if the session was deleted it has already been aborted
13
3
  if (!this.sessions[id]) {
14
4
  return;
@@ -21,4 +11,4 @@ const commitTransaction = async function commitTransaction(id) {
21
11
  delete this.sessions[id];
22
12
  };
23
13
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvY29tbWl0VHJhbnNhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmV4cG9ydCBjb25zdCBjb21taXRUcmFuc2FjdGlvbjogQ29tbWl0VHJhbnNhY3Rpb24gPSBhc3luYyBmdW5jdGlvbiBjb21taXRUcmFuc2FjdGlvbihpZCkge1xuICAvLyBpZiB0aGUgc2Vzc2lvbiB3YXMgZGVsZXRlZCBpdCBoYXMgYWxyZWFkeSBiZWVuIGFib3J0ZWRcbiAgaWYgKCF0aGlzLnNlc3Npb25zW2lkXSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLnNlc3Npb25zW2lkXS5yZXNvbHZlKClcbiAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uc1tpZF0ucmVqZWN0KClcbiAgfVxuXG4gIGRlbGV0ZSB0aGlzLnNlc3Npb25zW2lkXVxufVxuIl0sIm5hbWVzIjpbImNvbW1pdFRyYW5zYWN0aW9uIiwiaWQiLCJzZXNzaW9ucyIsInJlc29sdmUiLCJlcnIiLCJyZWplY3QiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG9CQUF1QyxlQUFlQSxrQkFBa0JDLEVBQUU7SUFDckYseURBQXlEO0lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0QsR0FBRyxFQUFFO1FBQ3RCO0lBQ0Y7SUFFQSxJQUFJO1FBQ0YsTUFBTSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0QsR0FBRyxDQUFDRSxPQUFPO0lBQ2pDLEVBQUUsT0FBT0MsS0FBYztRQUNyQixNQUFNLElBQUksQ0FBQ0YsUUFBUSxDQUFDRCxHQUFHLENBQUNJLE1BQU07SUFDaEM7SUFFQSxPQUFPLElBQUksQ0FBQ0gsUUFBUSxDQUFDRCxHQUFHO0FBQzFCIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvY29tbWl0VHJhbnNhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmV4cG9ydCBjb25zdCBjb21taXRUcmFuc2FjdGlvbjogQ29tbWl0VHJhbnNhY3Rpb24gPSBhc3luYyBmdW5jdGlvbiBjb21taXRUcmFuc2FjdGlvbihpZCkge1xuICAvLyBpZiB0aGUgc2Vzc2lvbiB3YXMgZGVsZXRlZCBpdCBoYXMgYWxyZWFkeSBiZWVuIGFib3J0ZWRcbiAgaWYgKCF0aGlzLnNlc3Npb25zW2lkXSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLnNlc3Npb25zW2lkXS5yZXNvbHZlKClcbiAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uc1tpZF0ucmVqZWN0KClcbiAgfVxuXG4gIGRlbGV0ZSB0aGlzLnNlc3Npb25zW2lkXVxufVxuIl0sIm5hbWVzIjpbImNvbW1pdFRyYW5zYWN0aW9uIiwiaWQiLCJzZXNzaW9ucyIsInJlc29sdmUiLCJlcnIiLCJyZWplY3QiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sTUFBTUEsb0JBQXVDLGVBQWVBLGtCQUFrQkMsRUFBRTtJQUNyRix5REFBeUQ7SUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxDQUFDRCxHQUFHLEVBQUU7UUFDdEI7SUFDRjtJQUVBLElBQUk7UUFDRixNQUFNLElBQUksQ0FBQ0MsUUFBUSxDQUFDRCxHQUFHLENBQUNFLE9BQU87SUFDakMsRUFBRSxPQUFPQyxLQUFjO1FBQ3JCLE1BQU0sSUFBSSxDQUFDRixRQUFRLENBQUNELEdBQUcsQ0FBQ0ksTUFBTTtJQUNoQztJQUVBLE9BQU8sSUFBSSxDQUFDSCxRQUFRLENBQUNELEdBQUc7QUFDMUIsRUFBQyJ9
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "rollbackTransaction", {
6
- enumerable: true,
7
- get: function() {
8
- return rollbackTransaction;
9
- }
10
- });
11
- const rollbackTransaction = async function rollbackTransaction(id = '') {
1
+ export const rollbackTransaction = async function rollbackTransaction(id = '') {
12
2
  // if multiple operations are using the same transaction, the first will flow through and delete the session.
13
3
  // subsequent calls should be ignored.
14
4
  if (!this.sessions[id]) {
@@ -20,4 +10,4 @@ const rollbackTransaction = async function rollbackTransaction(id = '') {
20
10
  delete this.sessions[id];
21
11
  };
22
12
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvcm9sbGJhY2tUcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJvbGxiYWNrVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5leHBvcnQgY29uc3Qgcm9sbGJhY2tUcmFuc2FjdGlvbjogUm9sbGJhY2tUcmFuc2FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIHJvbGxiYWNrVHJhbnNhY3Rpb24oXG4gIGlkID0gJycsXG4pIHtcbiAgLy8gaWYgbXVsdGlwbGUgb3BlcmF0aW9ucyBhcmUgdXNpbmcgdGhlIHNhbWUgdHJhbnNhY3Rpb24sIHRoZSBmaXJzdCB3aWxsIGZsb3cgdGhyb3VnaCBhbmQgZGVsZXRlIHRoZSBzZXNzaW9uLlxuICAvLyBzdWJzZXF1ZW50IGNhbGxzIHNob3VsZCBiZSBpZ25vcmVkLlxuICBpZiAoIXRoaXMuc2Vzc2lvbnNbaWRdKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBlbmQgdGhlIHNlc3Npb24gcHJvbWlzZSBpbiBmYWlsdXJlIGJ5IGNhbGxpbmcgcmVqZWN0XG4gIGF3YWl0IHRoaXMuc2Vzc2lvbnNbaWRdLnJlamVjdCgpXG5cbiAgLy8gZGVsZXRlIHRoZSBzZXNzaW9uIGNhdXNpbmcgYW55IG90aGVyIG9wZXJhdGlvbnMgd2l0aCB0aGUgc2FtZSB0cmFuc2FjdGlvbiB0byBmYWlsXG4gIGRlbGV0ZSB0aGlzLnNlc3Npb25zW2lkXVxufVxuIl0sIm5hbWVzIjpbInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJpZCIsInNlc3Npb25zIiwicmVqZWN0Il0sIm1hcHBpbmdzIjoiOzs7OytCQUVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxzQkFBMkMsZUFBZUEsb0JBQ3JFQyxLQUFLLEVBQUU7SUFFUCw2R0FBNkc7SUFDN0csc0NBQXNDO0lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0QsR0FBRyxFQUFFO1FBQ3RCO0lBQ0Y7SUFFQSx1REFBdUQ7SUFDdkQsTUFBTSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0QsR0FBRyxDQUFDRSxNQUFNO0lBRTlCLG9GQUFvRjtJQUNwRixPQUFPLElBQUksQ0FBQ0QsUUFBUSxDQUFDRCxHQUFHO0FBQzFCIn0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2FjdGlvbnMvcm9sbGJhY2tUcmFuc2FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJvbGxiYWNrVHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5leHBvcnQgY29uc3Qgcm9sbGJhY2tUcmFuc2FjdGlvbjogUm9sbGJhY2tUcmFuc2FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIHJvbGxiYWNrVHJhbnNhY3Rpb24oXG4gIGlkID0gJycsXG4pIHtcbiAgLy8gaWYgbXVsdGlwbGUgb3BlcmF0aW9ucyBhcmUgdXNpbmcgdGhlIHNhbWUgdHJhbnNhY3Rpb24sIHRoZSBmaXJzdCB3aWxsIGZsb3cgdGhyb3VnaCBhbmQgZGVsZXRlIHRoZSBzZXNzaW9uLlxuICAvLyBzdWJzZXF1ZW50IGNhbGxzIHNob3VsZCBiZSBpZ25vcmVkLlxuICBpZiAoIXRoaXMuc2Vzc2lvbnNbaWRdKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBlbmQgdGhlIHNlc3Npb24gcHJvbWlzZSBpbiBmYWlsdXJlIGJ5IGNhbGxpbmcgcmVqZWN0XG4gIGF3YWl0IHRoaXMuc2Vzc2lvbnNbaWRdLnJlamVjdCgpXG5cbiAgLy8gZGVsZXRlIHRoZSBzZXNzaW9uIGNhdXNpbmcgYW55IG90aGVyIG9wZXJhdGlvbnMgd2l0aCB0aGUgc2FtZSB0cmFuc2FjdGlvbiB0byBmYWlsXG4gIGRlbGV0ZSB0aGlzLnNlc3Npb25zW2lkXVxufVxuIl0sIm5hbWVzIjpbInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJpZCIsInNlc3Npb25zIiwicmVqZWN0Il0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLE1BQU1BLHNCQUEyQyxlQUFlQSxvQkFDckVDLEtBQUssRUFBRTtJQUVQLDZHQUE2RztJQUM3RyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxDQUFDRCxHQUFHLEVBQUU7UUFDdEI7SUFDRjtJQUVBLHVEQUF1RDtJQUN2RCxNQUFNLElBQUksQ0FBQ0MsUUFBUSxDQUFDRCxHQUFHLENBQUNFLE1BQU07SUFFOUIsb0ZBQW9GO0lBQ3BGLE9BQU8sSUFBSSxDQUFDRCxRQUFRLENBQUNELEdBQUc7QUFDMUIsRUFBQyJ9
@@ -1,14 +1,4 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "transformHasManyNumber", {
6
- enumerable: true,
7
- get: function() {
8
- return transformHasManyNumber;
9
- }
10
- });
11
- const transformHasManyNumber = ({ field, locale, numberRows, ref })=>{
1
+ /* eslint-disable no-param-reassign */ export const transformHasManyNumber = ({ field, locale, numberRows, ref })=>{
12
2
  const result = numberRows.map(({ number })=>number);
13
3
  if (locale) {
14
4
  ref[field.name][locale] = result;
@@ -17,4 +7,4 @@ const transformHasManyNumber = ({ field, locale, numberRows, ref })=>{
17
7
  }
18
8
  };
19
9
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9oYXNNYW55TnVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IE51bWJlckZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBmaWVsZDogTnVtYmVyRmllbGRcbiAgbG9jYWxlPzogc3RyaW5nXG4gIG51bWJlclJvd3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVmOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtSGFzTWFueU51bWJlciA9ICh7IGZpZWxkLCBsb2NhbGUsIG51bWJlclJvd3MsIHJlZiB9OiBBcmdzKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IG51bWJlclJvd3MubWFwKCh7IG51bWJlciB9KSA9PiBudW1iZXIpXG5cbiAgaWYgKGxvY2FsZSkge1xuICAgIHJlZltmaWVsZC5uYW1lXVtsb2NhbGVdID0gcmVzdWx0XG4gIH0gZWxzZSB7XG4gICAgcmVmW2ZpZWxkLm5hbWVdID0gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIiwiZmllbGQiLCJsb2NhbGUiLCJudW1iZXJSb3dzIiwicmVmIiwicmVzdWx0IiwibWFwIiwibnVtYmVyIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQVV2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEseUJBQXlCLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFRO0lBQzdFLE1BQU1DLFNBQVNGLFdBQVdHLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLE1BQU0sRUFBRSxHQUFLQTtJQUU5QyxJQUFJTCxRQUFRO1FBQ1ZFLEdBQUcsQ0FBQ0gsTUFBTU8sSUFBSSxDQUFDLENBQUNOLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRCxHQUFHLENBQUNILE1BQU1PLElBQUksQ0FBQyxHQUFHSDtJQUNwQjtBQUNGIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9oYXNNYW55TnVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IE51bWJlckZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBmaWVsZDogTnVtYmVyRmllbGRcbiAgbG9jYWxlPzogc3RyaW5nXG4gIG51bWJlclJvd3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVmOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtSGFzTWFueU51bWJlciA9ICh7IGZpZWxkLCBsb2NhbGUsIG51bWJlclJvd3MsIHJlZiB9OiBBcmdzKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IG51bWJlclJvd3MubWFwKCh7IG51bWJlciB9KSA9PiBudW1iZXIpXG5cbiAgaWYgKGxvY2FsZSkge1xuICAgIHJlZltmaWVsZC5uYW1lXVtsb2NhbGVdID0gcmVzdWx0XG4gIH0gZWxzZSB7XG4gICAgcmVmW2ZpZWxkLm5hbWVdID0gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIiwiZmllbGQiLCJsb2NhbGUiLCJudW1iZXJSb3dzIiwicmVmIiwicmVzdWx0IiwibWFwIiwibnVtYmVyIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DLEdBVXBDLE9BQU8sTUFBTUEseUJBQXlCLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFRO0lBQzdFLE1BQU1DLFNBQVNGLFdBQVdHLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLE1BQU0sRUFBRSxHQUFLQTtJQUU5QyxJQUFJTCxRQUFRO1FBQ1ZFLEdBQUcsQ0FBQ0gsTUFBTU8sSUFBSSxDQUFDLENBQUNOLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRCxHQUFHLENBQUNILE1BQU1PLElBQUksQ0FBQyxHQUFHSDtJQUNwQjtBQUNGLEVBQUMifQ==
@@ -1,14 +1,4 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "transformHasManyText", {
6
- enumerable: true,
7
- get: function() {
8
- return transformHasManyText;
9
- }
10
- });
11
- const transformHasManyText = ({ field, locale, textRows, ref })=>{
1
+ /* eslint-disable no-param-reassign */ export const transformHasManyText = ({ field, locale, textRows, ref })=>{
12
2
  const result = textRows.map(({ text })=>text);
13
3
  if (locale) {
14
4
  ref[field.name][locale] = result;
@@ -17,4 +7,4 @@ const transformHasManyText = ({ field, locale, textRows, ref })=>{
17
7
  }
18
8
  };
19
9
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9oYXNNYW55VGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGZpZWxkOiBUZXh0RmllbGRcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHRleHRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUhhc01hbnlUZXh0ID0gKHsgZmllbGQsIGxvY2FsZSwgdGV4dFJvd3MsIHJlZiB9OiBBcmdzKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IHRleHRSb3dzLm1hcCgoeyB0ZXh0IH0pID0+IHRleHQpXG5cbiAgaWYgKGxvY2FsZSkge1xuICAgIHJlZltmaWVsZC5uYW1lXVtsb2NhbGVdID0gcmVzdWx0XG4gIH0gZWxzZSB7XG4gICAgcmVmW2ZpZWxkLm5hbWVdID0gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1IYXNNYW55VGV4dCIsImZpZWxkIiwibG9jYWxlIiwidGV4dFJvd3MiLCJyZWYiLCJyZXN1bHQiLCJtYXAiLCJ0ZXh0IiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQVV2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsdUJBQXVCLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsR0FBRyxFQUFRO0lBQ3pFLE1BQU1DLFNBQVNGLFNBQVNHLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQTtJQUUxQyxJQUFJTCxRQUFRO1FBQ1ZFLEdBQUcsQ0FBQ0gsTUFBTU8sSUFBSSxDQUFDLENBQUNOLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRCxHQUFHLENBQUNILE1BQU1PLElBQUksQ0FBQyxHQUFHSDtJQUNwQjtBQUNGIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9oYXNNYW55VGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGZpZWxkOiBUZXh0RmllbGRcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHRleHRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybUhhc01hbnlUZXh0ID0gKHsgZmllbGQsIGxvY2FsZSwgdGV4dFJvd3MsIHJlZiB9OiBBcmdzKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IHRleHRSb3dzLm1hcCgoeyB0ZXh0IH0pID0+IHRleHQpXG5cbiAgaWYgKGxvY2FsZSkge1xuICAgIHJlZltmaWVsZC5uYW1lXVtsb2NhbGVdID0gcmVzdWx0XG4gIH0gZWxzZSB7XG4gICAgcmVmW2ZpZWxkLm5hbWVdID0gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1IYXNNYW55VGV4dCIsImZpZWxkIiwibG9jYWxlIiwidGV4dFJvd3MiLCJyZWYiLCJyZXN1bHQiLCJtYXAiLCJ0ZXh0IiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DLEdBVXBDLE9BQU8sTUFBTUEsdUJBQXVCLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsR0FBRyxFQUFRO0lBQ3pFLE1BQU1DLFNBQVNGLFNBQVNHLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQTtJQUUxQyxJQUFJTCxRQUFRO1FBQ1ZFLEdBQUcsQ0FBQ0gsTUFBTU8sSUFBSSxDQUFDLENBQUNOLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRCxHQUFHLENBQUNILE1BQU1PLElBQUksQ0FBQyxHQUFHSDtJQUNwQjtBQUNGLEVBQUMifQ==
@@ -1,35 +1,27 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "transform", {
6
- enumerable: true,
7
- get: function() {
8
- return transform;
9
- }
10
- });
11
- const _createBlocksMap = require("../../utilities/createBlocksMap");
12
- const _createRelationshipMap = require("../../utilities/createRelationshipMap");
13
- const _traverseFields = require("./traverseFields");
14
- const transform = ({ config, data, fields })=>{
1
+ /* eslint-disable no-param-reassign */ import { createBlocksMap } from '../../utilities/createBlocksMap';
2
+ import { createPathMap } from '../../utilities/createRelationshipMap';
3
+ import { traverseFields } from './traverseFields';
4
+ // This is the entry point to transform Drizzle output data
5
+ // into the shape Payload expects based on field schema
6
+ export const transform = ({ config, data, fields })=>{
15
7
  let relationships = {};
16
8
  let texts = {};
17
9
  let numbers = {};
18
10
  if ('_rels' in data) {
19
- relationships = (0, _createRelationshipMap.createPathMap)(data._rels);
11
+ relationships = createPathMap(data._rels);
20
12
  delete data._rels;
21
13
  }
22
14
  if ('_texts' in data) {
23
- texts = (0, _createRelationshipMap.createPathMap)(data._texts);
15
+ texts = createPathMap(data._texts);
24
16
  delete data._texts;
25
17
  }
26
18
  if ('_numbers' in data) {
27
- numbers = (0, _createRelationshipMap.createPathMap)(data._numbers);
19
+ numbers = createPathMap(data._numbers);
28
20
  delete data._numbers;
29
21
  }
30
- const blocks = (0, _createBlocksMap.createBlocksMap)(data);
22
+ const blocks = createBlocksMap(data);
31
23
  const deletions = [];
32
- const result = (0, _traverseFields.traverseFields)({
24
+ const result = traverseFields({
33
25
  blocks,
34
26
  config,
35
27
  dataRef: {
@@ -48,4 +40,4 @@ const transform = ({ config, data, fields })=>{
48
40
  return result;
49
41
  };
50
42
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBjcmVhdGVCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuaW1wb3J0IHsgY3JlYXRlUGF0aE1hcCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jcmVhdGVSZWxhdGlvbnNoaXBNYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgVHJhbnNmb3JtQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU/OiBmYWxzZSB8IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgbG9jYWxlPzogc3RyaW5nXG59XG5cbi8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IHRvIHRyYW5zZm9ybSBEcml6emxlIG91dHB1dCBkYXRhXG4vLyBpbnRvIHRoZSBzaGFwZSBQYXlsb2FkIGV4cGVjdHMgYmFzZWQgb24gZmllbGQgc2NoZW1hXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7IGNvbmZpZywgZGF0YSwgZmllbGRzIH06IFRyYW5zZm9ybUFyZ3MpOiBUID0+IHtcbiAgbGV0IHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cbiAgbGV0IHRleHRzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG4gIGxldCBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgaWYgKCdfcmVscycgaW4gZGF0YSkge1xuICAgIHJlbGF0aW9uc2hpcHMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX3JlbHMpXG4gICAgZGVsZXRlIGRhdGEuX3JlbHNcbiAgfVxuXG4gIGlmICgnX3RleHRzJyBpbiBkYXRhKSB7XG4gICAgdGV4dHMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX3RleHRzKVxuICAgIGRlbGV0ZSBkYXRhLl90ZXh0c1xuICB9XG5cbiAgaWYgKCdfbnVtYmVycycgaW4gZGF0YSkge1xuICAgIG51bWJlcnMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX251bWJlcnMpXG4gICAgZGVsZXRlIGRhdGEuX251bWJlcnNcbiAgfVxuXG4gIGNvbnN0IGJsb2NrcyA9IGNyZWF0ZUJsb2Nrc01hcChkYXRhKVxuICBjb25zdCBkZWxldGlvbnMgPSBbXVxuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICBibG9ja3MsXG4gICAgY29uZmlnLFxuICAgIGRhdGFSZWY6IHtcbiAgICAgIGlkOiBkYXRhLmlkLFxuICAgIH0sXG4gICAgZGVsZXRpb25zLFxuICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICBmaWVsZHMsXG4gICAgdGV4dHMsXG4gICAgbnVtYmVycyxcbiAgICBwYXRoOiAnJyxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHRhYmxlOiBkYXRhLFxuICB9KVxuXG4gIGRlbGV0aW9ucy5mb3JFYWNoKChkZWxldGlvbikgPT4gZGVsZXRpb24oKSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtIiwiY29uZmlnIiwiZGF0YSIsImZpZWxkcyIsInJlbGF0aW9uc2hpcHMiLCJ0ZXh0cyIsIm51bWJlcnMiLCJjcmVhdGVQYXRoTWFwIiwiX3JlbHMiLCJfdGV4dHMiLCJfbnVtYmVycyIsImJsb2NrcyIsImNyZWF0ZUJsb2Nrc01hcCIsImRlbGV0aW9ucyIsInJlc3VsdCIsInRyYXZlcnNlRmllbGRzIiwiZGF0YVJlZiIsImlkIiwiZmllbGRQcmVmaXgiLCJwYXRoIiwidGFibGUiLCJmb3JFYWNoIiwiZGVsZXRpb24iXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFrQnZCQTs7O2VBQUFBOzs7aUNBZG1CO3VDQUNGO2dDQUNDO0FBWXhCLE1BQU1BLFlBQVksQ0FBdUIsRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBaUI7SUFDckYsSUFBSUMsZ0JBQTJELENBQUM7SUFDaEUsSUFBSUMsUUFBbUQsQ0FBQztJQUN4RCxJQUFJQyxVQUFxRCxDQUFDO0lBRTFELElBQUksV0FBV0osTUFBTTtRQUNuQkUsZ0JBQWdCRyxJQUFBQSxvQ0FBYSxFQUFDTCxLQUFLTSxLQUFLO1FBQ3hDLE9BQU9OLEtBQUtNLEtBQUs7SUFDbkI7SUFFQSxJQUFJLFlBQVlOLE1BQU07UUFDcEJHLFFBQVFFLElBQUFBLG9DQUFhLEVBQUNMLEtBQUtPLE1BQU07UUFDakMsT0FBT1AsS0FBS08sTUFBTTtJQUNwQjtJQUVBLElBQUksY0FBY1AsTUFBTTtRQUN0QkksVUFBVUMsSUFBQUEsb0NBQWEsRUFBQ0wsS0FBS1EsUUFBUTtRQUNyQyxPQUFPUixLQUFLUSxRQUFRO0lBQ3RCO0lBRUEsTUFBTUMsU0FBU0MsSUFBQUEsZ0NBQWUsRUFBQ1Y7SUFDL0IsTUFBTVcsWUFBWSxFQUFFO0lBRXBCLE1BQU1DLFNBQVNDLElBQUFBLDhCQUFjLEVBQUk7UUFDL0JKO1FBQ0FWO1FBQ0FlLFNBQVM7WUFDUEMsSUFBSWYsS0FBS2UsRUFBRTtRQUNiO1FBQ0FKO1FBQ0FLLGFBQWE7UUFDYmY7UUFDQUU7UUFDQUM7UUFDQWEsTUFBTTtRQUNOZjtRQUNBZ0IsT0FBT2xCO0lBQ1Q7SUFFQVcsVUFBVVEsT0FBTyxDQUFDLENBQUNDLFdBQWFBO0lBRWhDLE9BQU9SO0FBQ1QifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBjcmVhdGVCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuaW1wb3J0IHsgY3JlYXRlUGF0aE1hcCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jcmVhdGVSZWxhdGlvbnNoaXBNYXAnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgVHJhbnNmb3JtQXJncyA9IHtcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgZmFsbGJhY2tMb2NhbGU/OiBmYWxzZSB8IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgbG9jYWxlPzogc3RyaW5nXG59XG5cbi8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IHRvIHRyYW5zZm9ybSBEcml6emxlIG91dHB1dCBkYXRhXG4vLyBpbnRvIHRoZSBzaGFwZSBQYXlsb2FkIGV4cGVjdHMgYmFzZWQgb24gZmllbGQgc2NoZW1hXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtID0gPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7IGNvbmZpZywgZGF0YSwgZmllbGRzIH06IFRyYW5zZm9ybUFyZ3MpOiBUID0+IHtcbiAgbGV0IHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cbiAgbGV0IHRleHRzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG4gIGxldCBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgaWYgKCdfcmVscycgaW4gZGF0YSkge1xuICAgIHJlbGF0aW9uc2hpcHMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX3JlbHMpXG4gICAgZGVsZXRlIGRhdGEuX3JlbHNcbiAgfVxuXG4gIGlmICgnX3RleHRzJyBpbiBkYXRhKSB7XG4gICAgdGV4dHMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX3RleHRzKVxuICAgIGRlbGV0ZSBkYXRhLl90ZXh0c1xuICB9XG5cbiAgaWYgKCdfbnVtYmVycycgaW4gZGF0YSkge1xuICAgIG51bWJlcnMgPSBjcmVhdGVQYXRoTWFwKGRhdGEuX251bWJlcnMpXG4gICAgZGVsZXRlIGRhdGEuX251bWJlcnNcbiAgfVxuXG4gIGNvbnN0IGJsb2NrcyA9IGNyZWF0ZUJsb2Nrc01hcChkYXRhKVxuICBjb25zdCBkZWxldGlvbnMgPSBbXVxuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICBibG9ja3MsXG4gICAgY29uZmlnLFxuICAgIGRhdGFSZWY6IHtcbiAgICAgIGlkOiBkYXRhLmlkLFxuICAgIH0sXG4gICAgZGVsZXRpb25zLFxuICAgIGZpZWxkUHJlZml4OiAnJyxcbiAgICBmaWVsZHMsXG4gICAgdGV4dHMsXG4gICAgbnVtYmVycyxcbiAgICBwYXRoOiAnJyxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHRhYmxlOiBkYXRhLFxuICB9KVxuXG4gIGRlbGV0aW9ucy5mb3JFYWNoKChkZWxldGlvbikgPT4gZGVsZXRpb24oKSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQmxvY2tzTWFwIiwiY3JlYXRlUGF0aE1hcCIsInRyYXZlcnNlRmllbGRzIiwidHJhbnNmb3JtIiwiY29uZmlnIiwiZGF0YSIsImZpZWxkcyIsInJlbGF0aW9uc2hpcHMiLCJ0ZXh0cyIsIm51bWJlcnMiLCJfcmVscyIsIl90ZXh0cyIsIl9udW1iZXJzIiwiYmxvY2tzIiwiZGVsZXRpb25zIiwicmVzdWx0IiwiZGF0YVJlZiIsImlkIiwiZmllbGRQcmVmaXgiLCJwYXRoIiwidGFibGUiLCJmb3JFYWNoIiwiZGVsZXRpb24iXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQUlwQyxTQUFTQSxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLGFBQWEsUUFBUSx3Q0FBdUM7QUFDckUsU0FBU0MsY0FBYyxRQUFRLG1CQUFrQjtBQVVqRCwyREFBMkQ7QUFDM0QsdURBQXVEO0FBQ3ZELE9BQU8sTUFBTUMsWUFBWSxDQUF1QixFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFpQjtJQUNyRixJQUFJQyxnQkFBMkQsQ0FBQztJQUNoRSxJQUFJQyxRQUFtRCxDQUFDO0lBQ3hELElBQUlDLFVBQXFELENBQUM7SUFFMUQsSUFBSSxXQUFXSixNQUFNO1FBQ25CRSxnQkFBZ0JOLGNBQWNJLEtBQUtLLEtBQUs7UUFDeEMsT0FBT0wsS0FBS0ssS0FBSztJQUNuQjtJQUVBLElBQUksWUFBWUwsTUFBTTtRQUNwQkcsUUFBUVAsY0FBY0ksS0FBS00sTUFBTTtRQUNqQyxPQUFPTixLQUFLTSxNQUFNO0lBQ3BCO0lBRUEsSUFBSSxjQUFjTixNQUFNO1FBQ3RCSSxVQUFVUixjQUFjSSxLQUFLTyxRQUFRO1FBQ3JDLE9BQU9QLEtBQUtPLFFBQVE7SUFDdEI7SUFFQSxNQUFNQyxTQUFTYixnQkFBZ0JLO0lBQy9CLE1BQU1TLFlBQVksRUFBRTtJQUVwQixNQUFNQyxTQUFTYixlQUFrQjtRQUMvQlc7UUFDQVQ7UUFDQVksU0FBUztZQUNQQyxJQUFJWixLQUFLWSxFQUFFO1FBQ2I7UUFDQUg7UUFDQUksYUFBYTtRQUNiWjtRQUNBRTtRQUNBQztRQUNBVSxNQUFNO1FBQ05aO1FBQ0FhLE9BQU9mO0lBQ1Q7SUFFQVMsVUFBVU8sT0FBTyxDQUFDLENBQUNDLFdBQWFBO0lBRWhDLE9BQU9QO0FBQ1QsRUFBQyJ9
@@ -1,14 +1,4 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "transformRelationship", {
6
- enumerable: true,
7
- get: function() {
8
- return transformRelationship;
9
- }
10
- });
11
- const transformRelationship = ({ field, locale, ref, relations })=>{
1
+ /* eslint-disable no-param-reassign */ export const transformRelationship = ({ field, locale, ref, relations })=>{
12
2
  let result;
13
3
  if (!('hasMany' in field) || field.hasMany === false) {
14
4
  const relation = relations[0];
@@ -71,4 +61,4 @@ const transformRelationship = ({ field, locale, ref, relations })=>{
71
61
  }
72
62
  };
73
63
 
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9yZWxhdGlvbnNoaXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb25zaGlwRmllbGQsIFVwbG9hZEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBmaWVsZDogUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgcmVmOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICByZWxhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCA9ICh7IGZpZWxkLCBsb2NhbGUsIHJlZiwgcmVsYXRpb25zIH06IEFyZ3MpID0+IHtcbiAgbGV0IHJlc3VsdDogdW5rbm93blxuXG4gIGlmICghKCdoYXNNYW55JyBpbiBmaWVsZCkgfHwgZmllbGQuaGFzTWFueSA9PT0gZmFsc2UpIHtcbiAgICBjb25zdCByZWxhdGlvbiA9IHJlbGF0aW9uc1swXVxuXG4gICAgaWYgKHJlbGF0aW9uKSB7XG4gICAgICAvLyBIYW5kbGUgaGFzT25lIFBvbHlcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uKS5maW5kKFxuICAgICAgICAgIChba2V5LCB2YWxdKSA9PlxuICAgICAgICAgICAgdmFsICE9PSBudWxsICYmICFbJ2lkJywgJ2xvY2FsZScsICdvcmRlcicsICdwYXJlbnQnLCAncGF0aCddLmluY2x1ZGVzKGtleSksXG4gICAgICAgIClcblxuICAgICAgICBpZiAobWF0Y2hlZFJlbGF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IG1hdGNoZWRSZWxhdGlvblswXS5yZXBsYWNlKCdJRCcsICcnKVxuXG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgICAgIHZhbHVlOiBtYXRjaGVkUmVsYXRpb25bMV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBIYW5kbGUgaGFzT25lXG4gICAgICAgIGNvbnN0IHJlbGF0ZWREYXRhID0gcmVsYXRpb25bYCR7ZmllbGQucmVsYXRpb25Ub31JRGBdXG4gICAgICAgIHJlc3VsdCA9IHJlbGF0ZWREYXRhXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVsYXRpb25zID0gW11cblxuICAgIHJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgLy8gSGFuZGxlIGhhc01hbnlcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCByZWxhdGVkRGF0YSA9IHJlbGF0aW9uW2Ake2ZpZWxkLnJlbGF0aW9uVG99SURgXVxuXG4gICAgICAgIGlmIChyZWxhdGVkRGF0YSkge1xuICAgICAgICAgIHRyYW5zZm9ybWVkUmVsYXRpb25zLnB1c2gocmVsYXRlZERhdGEpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEhhbmRsZSBoYXNNYW55IFBvbHlcbiAgICAgICAgY29uc3QgbWF0Y2hlZFJlbGF0aW9uID0gT2JqZWN0LmVudHJpZXMocmVsYXRpb24pLmZpbmQoXG4gICAgICAgICAgKFtrZXksIHZhbF0pID0+XG4gICAgICAgICAgICB2YWwgIT09IG51bGwgJiYgIVsnaWQnLCAnbG9jYWxlJywgJ29yZGVyJywgJ3BhcmVudCcsICdwYXRoJ10uaW5jbHVkZXMoa2V5KSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvblRvID0gbWF0Y2hlZFJlbGF0aW9uWzBdLnJlcGxhY2UoJ0lEJywgJycpXG5cbiAgICAgICAgICB0cmFuc2Zvcm1lZFJlbGF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgICB2YWx1ZTogbWF0Y2hlZFJlbGF0aW9uWzFdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmVzdWx0ID0gdHJhbnNmb3JtZWRSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChsb2NhbGUpIHtcbiAgICByZWZbZmllbGQubmFtZV1bbG9jYWxlXSA9IHJlc3VsdFxuICB9IGVsc2Uge1xuICAgIHJlZltmaWVsZC5uYW1lXSA9IHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwiZmllbGQiLCJsb2NhbGUiLCJyZWYiLCJyZWxhdGlvbnMiLCJyZXN1bHQiLCJoYXNNYW55IiwicmVsYXRpb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwibWF0Y2hlZFJlbGF0aW9uIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbmQiLCJrZXkiLCJ2YWwiLCJpbmNsdWRlcyIsInJlcGxhY2UiLCJ2YWx1ZSIsInJlbGF0ZWREYXRhIiwidHJhbnNmb3JtZWRSZWxhdGlvbnMiLCJmb3JFYWNoIiwicHVzaCIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFVdkJBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHdCQUF3QixDQUFDLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxHQUFHLEVBQUVDLFNBQVMsRUFBUTtJQUMzRSxJQUFJQztJQUVKLElBQUksQ0FBRSxDQUFBLGFBQWFKLEtBQUksS0FBTUEsTUFBTUssT0FBTyxLQUFLLE9BQU87UUFDcEQsTUFBTUMsV0FBV0gsU0FBUyxDQUFDLEVBQUU7UUFFN0IsSUFBSUcsVUFBVTtZQUNaLHFCQUFxQjtZQUNyQixJQUFJQyxNQUFNQyxPQUFPLENBQUNSLE1BQU1TLFVBQVUsR0FBRztnQkFDbkMsTUFBTUMsa0JBQWtCQyxPQUFPQyxPQUFPLENBQUNOLFVBQVVPLElBQUksQ0FDbkQsQ0FBQyxDQUFDQyxLQUFLQyxJQUFJLEdBQ1RBLFFBQVEsUUFBUSxDQUFDO3dCQUFDO3dCQUFNO3dCQUFVO3dCQUFTO3dCQUFVO3FCQUFPLENBQUNDLFFBQVEsQ0FBQ0Y7Z0JBRzFFLElBQUlKLGlCQUFpQjtvQkFDbkIsTUFBTUQsYUFBYUMsZUFBZSxDQUFDLEVBQUUsQ0FBQ08sT0FBTyxDQUFDLE1BQU07b0JBRXBEYixTQUFTO3dCQUNQSzt3QkFDQVMsT0FBT1IsZUFBZSxDQUFDLEVBQUU7b0JBQzNCO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxnQkFBZ0I7Z0JBQ2hCLE1BQU1TLGNBQWNiLFFBQVEsQ0FBQyxDQUFDLEVBQUVOLE1BQU1TLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckRMLFNBQVNlO1lBQ1g7UUFDRjtJQUNGLE9BQU87UUFDTCxNQUFNQyx1QkFBdUIsRUFBRTtRQUUvQmpCLFVBQVVrQixPQUFPLENBQUMsQ0FBQ2Y7WUFDakIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDUixNQUFNUyxVQUFVLEdBQUc7Z0JBQ3BDLE1BQU1VLGNBQWNiLFFBQVEsQ0FBQyxDQUFDLEVBQUVOLE1BQU1TLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFckQsSUFBSVUsYUFBYTtvQkFDZkMscUJBQXFCRSxJQUFJLENBQUNIO2dCQUM1QjtZQUNGLE9BQU87Z0JBQ0wsc0JBQXNCO2dCQUN0QixNQUFNVCxrQkFBa0JDLE9BQU9DLE9BQU8sQ0FBQ04sVUFBVU8sSUFBSSxDQUNuRCxDQUFDLENBQUNDLEtBQUtDLElBQUksR0FDVEEsUUFBUSxRQUFRLENBQUM7d0JBQUM7d0JBQU07d0JBQVU7d0JBQVM7d0JBQVU7cUJBQU8sQ0FBQ0MsUUFBUSxDQUFDRjtnQkFHMUUsSUFBSUosaUJBQWlCO29CQUNuQixNQUFNRCxhQUFhQyxlQUFlLENBQUMsRUFBRSxDQUFDTyxPQUFPLENBQUMsTUFBTTtvQkFFcERHLHFCQUFxQkUsSUFBSSxDQUFDO3dCQUN4QmI7d0JBQ0FTLE9BQU9SLGVBQWUsQ0FBQyxFQUFFO29CQUMzQjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQU4sU0FBU2dCO0lBQ1g7SUFFQSxJQUFJbkIsUUFBUTtRQUNWQyxHQUFHLENBQUNGLE1BQU11QixJQUFJLENBQUMsQ0FBQ3RCLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRixHQUFHLENBQUNGLE1BQU11QixJQUFJLENBQUMsR0FBR25CO0lBQ3BCO0FBQ0YifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC9yZWxhdGlvbnNoaXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb25zaGlwRmllbGQsIFVwbG9hZEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBmaWVsZDogUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuICBsb2NhbGU/OiBzdHJpbmdcbiAgcmVmOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICByZWxhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCA9ICh7IGZpZWxkLCBsb2NhbGUsIHJlZiwgcmVsYXRpb25zIH06IEFyZ3MpID0+IHtcbiAgbGV0IHJlc3VsdDogdW5rbm93blxuXG4gIGlmICghKCdoYXNNYW55JyBpbiBmaWVsZCkgfHwgZmllbGQuaGFzTWFueSA9PT0gZmFsc2UpIHtcbiAgICBjb25zdCByZWxhdGlvbiA9IHJlbGF0aW9uc1swXVxuXG4gICAgaWYgKHJlbGF0aW9uKSB7XG4gICAgICAvLyBIYW5kbGUgaGFzT25lIFBvbHlcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRSZWxhdGlvbiA9IE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uKS5maW5kKFxuICAgICAgICAgIChba2V5LCB2YWxdKSA9PlxuICAgICAgICAgICAgdmFsICE9PSBudWxsICYmICFbJ2lkJywgJ2xvY2FsZScsICdvcmRlcicsICdwYXJlbnQnLCAncGF0aCddLmluY2x1ZGVzKGtleSksXG4gICAgICAgIClcblxuICAgICAgICBpZiAobWF0Y2hlZFJlbGF0aW9uKSB7XG4gICAgICAgICAgY29uc3QgcmVsYXRpb25UbyA9IG1hdGNoZWRSZWxhdGlvblswXS5yZXBsYWNlKCdJRCcsICcnKVxuXG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgICAgIHZhbHVlOiBtYXRjaGVkUmVsYXRpb25bMV0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBIYW5kbGUgaGFzT25lXG4gICAgICAgIGNvbnN0IHJlbGF0ZWREYXRhID0gcmVsYXRpb25bYCR7ZmllbGQucmVsYXRpb25Ub31JRGBdXG4gICAgICAgIHJlc3VsdCA9IHJlbGF0ZWREYXRhXG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVsYXRpb25zID0gW11cblxuICAgIHJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgLy8gSGFuZGxlIGhhc01hbnlcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCByZWxhdGVkRGF0YSA9IHJlbGF0aW9uW2Ake2ZpZWxkLnJlbGF0aW9uVG99SURgXVxuXG4gICAgICAgIGlmIChyZWxhdGVkRGF0YSkge1xuICAgICAgICAgIHRyYW5zZm9ybWVkUmVsYXRpb25zLnB1c2gocmVsYXRlZERhdGEpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEhhbmRsZSBoYXNNYW55IFBvbHlcbiAgICAgICAgY29uc3QgbWF0Y2hlZFJlbGF0aW9uID0gT2JqZWN0LmVudHJpZXMocmVsYXRpb24pLmZpbmQoXG4gICAgICAgICAgKFtrZXksIHZhbF0pID0+XG4gICAgICAgICAgICB2YWwgIT09IG51bGwgJiYgIVsnaWQnLCAnbG9jYWxlJywgJ29yZGVyJywgJ3BhcmVudCcsICdwYXRoJ10uaW5jbHVkZXMoa2V5KSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChtYXRjaGVkUmVsYXRpb24pIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvblRvID0gbWF0Y2hlZFJlbGF0aW9uWzBdLnJlcGxhY2UoJ0lEJywgJycpXG5cbiAgICAgICAgICB0cmFuc2Zvcm1lZFJlbGF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgICB2YWx1ZTogbWF0Y2hlZFJlbGF0aW9uWzFdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmVzdWx0ID0gdHJhbnNmb3JtZWRSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChsb2NhbGUpIHtcbiAgICByZWZbZmllbGQubmFtZV1bbG9jYWxlXSA9IHJlc3VsdFxuICB9IGVsc2Uge1xuICAgIHJlZltmaWVsZC5uYW1lXSA9IHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwiZmllbGQiLCJsb2NhbGUiLCJyZWYiLCJyZWxhdGlvbnMiLCJyZXN1bHQiLCJoYXNNYW55IiwicmVsYXRpb24iLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwibWF0Y2hlZFJlbGF0aW9uIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbmQiLCJrZXkiLCJ2YWwiLCJpbmNsdWRlcyIsInJlcGxhY2UiLCJ2YWx1ZSIsInJlbGF0ZWREYXRhIiwidHJhbnNmb3JtZWRSZWxhdGlvbnMiLCJmb3JFYWNoIiwicHVzaCIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQVVwQyxPQUFPLE1BQU1BLHdCQUF3QixDQUFDLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxHQUFHLEVBQUVDLFNBQVMsRUFBUTtJQUMzRSxJQUFJQztJQUVKLElBQUksQ0FBRSxDQUFBLGFBQWFKLEtBQUksS0FBTUEsTUFBTUssT0FBTyxLQUFLLE9BQU87UUFDcEQsTUFBTUMsV0FBV0gsU0FBUyxDQUFDLEVBQUU7UUFFN0IsSUFBSUcsVUFBVTtZQUNaLHFCQUFxQjtZQUNyQixJQUFJQyxNQUFNQyxPQUFPLENBQUNSLE1BQU1TLFVBQVUsR0FBRztnQkFDbkMsTUFBTUMsa0JBQWtCQyxPQUFPQyxPQUFPLENBQUNOLFVBQVVPLElBQUksQ0FDbkQsQ0FBQyxDQUFDQyxLQUFLQyxJQUFJLEdBQ1RBLFFBQVEsUUFBUSxDQUFDO3dCQUFDO3dCQUFNO3dCQUFVO3dCQUFTO3dCQUFVO3FCQUFPLENBQUNDLFFBQVEsQ0FBQ0Y7Z0JBRzFFLElBQUlKLGlCQUFpQjtvQkFDbkIsTUFBTUQsYUFBYUMsZUFBZSxDQUFDLEVBQUUsQ0FBQ08sT0FBTyxDQUFDLE1BQU07b0JBRXBEYixTQUFTO3dCQUNQSzt3QkFDQVMsT0FBT1IsZUFBZSxDQUFDLEVBQUU7b0JBQzNCO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxnQkFBZ0I7Z0JBQ2hCLE1BQU1TLGNBQWNiLFFBQVEsQ0FBQyxDQUFDLEVBQUVOLE1BQU1TLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckRMLFNBQVNlO1lBQ1g7UUFDRjtJQUNGLE9BQU87UUFDTCxNQUFNQyx1QkFBdUIsRUFBRTtRQUUvQmpCLFVBQVVrQixPQUFPLENBQUMsQ0FBQ2Y7WUFDakIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDUixNQUFNUyxVQUFVLEdBQUc7Z0JBQ3BDLE1BQU1VLGNBQWNiLFFBQVEsQ0FBQyxDQUFDLEVBQUVOLE1BQU1TLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFckQsSUFBSVUsYUFBYTtvQkFDZkMscUJBQXFCRSxJQUFJLENBQUNIO2dCQUM1QjtZQUNGLE9BQU87Z0JBQ0wsc0JBQXNCO2dCQUN0QixNQUFNVCxrQkFBa0JDLE9BQU9DLE9BQU8sQ0FBQ04sVUFBVU8sSUFBSSxDQUNuRCxDQUFDLENBQUNDLEtBQUtDLElBQUksR0FDVEEsUUFBUSxRQUFRLENBQUM7d0JBQUM7d0JBQU07d0JBQVU7d0JBQVM7d0JBQVU7cUJBQU8sQ0FBQ0MsUUFBUSxDQUFDRjtnQkFHMUUsSUFBSUosaUJBQWlCO29CQUNuQixNQUFNRCxhQUFhQyxlQUFlLENBQUMsRUFBRSxDQUFDTyxPQUFPLENBQUMsTUFBTTtvQkFFcERHLHFCQUFxQkUsSUFBSSxDQUFDO3dCQUN4QmI7d0JBQ0FTLE9BQU9SLGVBQWUsQ0FBQyxFQUFFO29CQUMzQjtnQkFDRjtZQUNGO1FBQ0Y7UUFFQU4sU0FBU2dCO0lBQ1g7SUFFQSxJQUFJbkIsUUFBUTtRQUNWQyxHQUFHLENBQUNGLE1BQU11QixJQUFJLENBQUMsQ0FBQ3RCLE9BQU8sR0FBR0c7SUFDNUIsT0FBTztRQUNMRixHQUFHLENBQUNGLE1BQU11QixJQUFJLENBQUMsR0FBR25CO0lBQ3BCO0FBQ0YsRUFBQyJ9
@@ -1,18 +1,10 @@
1
- /* eslint-disable no-param-reassign */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "traverseFields", {
6
- enumerable: true,
7
- get: function() {
8
- return traverseFields;
9
- }
10
- });
11
- const _types = require("payload/types");
12
- const _hasManyNumber = require("./hasManyNumber");
13
- const _hasManyText = require("./hasManyText");
14
- const _relationship = require("./relationship");
15
- const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, texts })=>{
1
+ /* eslint-disable no-param-reassign */ import { fieldAffectsData } from 'payload/types';
2
+ import { transformHasManyNumber } from './hasManyNumber';
3
+ import { transformHasManyText } from './hasManyText';
4
+ import { transformRelationship } from './relationship';
5
+ // Traverse fields recursively, transforming data
6
+ // for each field type into required Payload shape
7
+ export const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, texts })=>{
16
8
  const sanitizedPath = path ? `${path}.` : path;
17
9
  const formatted = fields.reduce((result, field)=>{
18
10
  if (field.type === 'tabs') {
@@ -48,7 +40,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
48
40
  texts
49
41
  });
50
42
  }
51
- if ((0, _types.fieldAffectsData)(field)) {
43
+ if (fieldAffectsData(field)) {
52
44
  const fieldName = `${fieldPrefix || ''}${field.name}`;
53
45
  const fieldData = table[fieldName];
54
46
  if (fieldPrefix) {
@@ -206,7 +198,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
206
198
  }
207
199
  });
208
200
  Object.entries(relationsByLocale).forEach(([locale, relations])=>{
209
- (0, _relationship.transformRelationship)({
201
+ transformRelationship({
210
202
  field,
211
203
  locale,
212
204
  ref: result,
@@ -214,7 +206,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
214
206
  });
215
207
  });
216
208
  } else {
217
- (0, _relationship.transformRelationship)({
209
+ transformRelationship({
218
210
  field,
219
211
  ref: result,
220
212
  relations: relationPathMatch
@@ -235,7 +227,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
235
227
  }
236
228
  });
237
229
  Object.entries(textsByLocale).forEach(([locale, texts])=>{
238
- (0, _hasManyText.transformHasManyText)({
230
+ transformHasManyText({
239
231
  field,
240
232
  locale,
241
233
  ref: result,
@@ -243,7 +235,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
243
235
  });
244
236
  });
245
237
  } else {
246
- (0, _hasManyText.transformHasManyText)({
238
+ transformHasManyText({
247
239
  field,
248
240
  ref: result,
249
241
  textRows: textPathMatch
@@ -264,7 +256,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
264
256
  }
265
257
  });
266
258
  Object.entries(numbersByLocale).forEach(([locale, numbers])=>{
267
- (0, _hasManyNumber.transformHasManyNumber)({
259
+ transformHasManyNumber({
268
260
  field,
269
261
  locale,
270
262
  numberRows: numbers,
@@ -272,7 +264,7 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
272
264
  });
273
265
  });
274
266
  } else {
275
- (0, _hasManyNumber.transformHasManyNumber)({
267
+ transformHasManyNumber({
276
268
  field,
277
269
  numberRows: numberPathMatch,
278
270
  ref: result
@@ -426,4 +418,4 @@ const traverseFields = ({ blocks, config, dataRef, deletions, fieldPrefix, field
426
418
  return formatted;
427
419
  };
428
420
 
429
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtSGFzTWFueVRleHQgfSBmcm9tICcuL2hhc01hbnlUZXh0J1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBEYXRhIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSByZXN1bHQgYWZ0ZXIgYWxsIGZpZWxkcyBoYXZlIHBvcHVsYXRlZFxuICAgKi9cbiAgZGVsZXRpb25zOiAoKCkgPT4gdm9pZClbXVxuICAvKipcbiAgICogQ29sdW1uIHByZWZpeCBjYW4gYmUgYnVpbHQgdXAgYnkgZ3JvdXAgYW5kIG5hbWVkIHRhYiBmaWVsZHNcbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBheWxvYWQgZmllbGRzIHRvIHRyYXZlcnNlXG4gICAqL1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgLyoqXG4gICAqIEFsbCBoYXNNYW55IG51bWJlciBmaWVsZHMsIGFzIHJldHVybmVkIGJ5IERyaXp6bGUsIGtleWVkIG9uIGFuIG9iamVjdCBieSBmaWVsZCBwYXRoXG4gICAqL1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZmllbGQgcGF0aCAoaW4gZG90IG5vdGF0aW9uKSwgdXNlZCB0byBtZXJnZSBpbiByZWxhdGlvbnNoaXBzXG4gICAqL1xuICBwYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEFsbCByZWxhdGVkIGRvY3VtZW50cywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBEYXRhIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgdGhlIG5lYXJlc3QgdGFibGUgZnJvbSBkYlxuICAgKi9cbiAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBBbGwgaGFzTWFueSB0ZXh0IGZpZWxkcywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxufVxuXG4vLyBUcmF2ZXJzZSBmaWVsZHMgcmVjdXJzaXZlbHksIHRyYW5zZm9ybWluZyBkYXRhXG4vLyBmb3IgZWFjaCBmaWVsZCB0eXBlIGludG8gcmVxdWlyZWQgUGF5bG9hZCBzaGFwZVxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBibG9ja3MsXG4gIGNvbmZpZyxcbiAgZGF0YVJlZixcbiAgZGVsZXRpb25zLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBudW1iZXJzLFxuICBwYXRoLFxuICByZWxhdGlvbnNoaXBzLFxuICB0YWJsZSxcbiAgdGV4dHMsXG59OiBUcmF2ZXJzZUZpZWxkc0FyZ3MpOiBUID0+IHtcbiAgY29uc3Qgc2FuaXRpemVkUGF0aCA9IHBhdGggPyBgJHtwYXRofS5gIDogcGF0aFxuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IGZpZWxkcy5yZWR1Y2UoKHJlc3VsdCwgZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGJsb2NrcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhUmVmLFxuICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB0YWJsZSxcbiAgICAgICAgdGV4dHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHxcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgICAoZmllbGQudHlwZSA9PT0gJ3RhYicgJiYgISgnbmFtZScgaW4gZmllbGQpKVxuICAgICkge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHRhYmxlLFxuICAgICAgICB0ZXh0cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbZmllbGROYW1lXVxuXG4gICAgICBpZiAoZmllbGRQcmVmaXgpIHtcbiAgICAgICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlW2ZpZWxkTmFtZV0pXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChhcnJheVJlc3VsdCwgcm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93Ll9sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFhcnJheVJlc3VsdFtyb3cuX2xvY2FsZV0pIGFycmF5UmVzdWx0W3Jvdy5fbG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0ge31cbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByb3dSZXN1bHQgPSB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBkYXRhLFxuICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9LiR7cm93Ll9vcmRlciAtIDF9YCxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmICgnX29yZGVyJyBpbiByb3dSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3dSZXN1bHQuX29yZGVyXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJvdykge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX29yZGVyXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX0uJHtpfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYmxvY2tzJykge1xuICAgICAgICBjb25zdCBibG9ja0ZpZWxkUGF0aCA9IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShibG9ja3NbYmxvY2tGaWVsZFBhdGhdKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgICAgIGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyb3cuX3V1aWQpIHtcbiAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll91dWlkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0pIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlc3VsdFtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZSwgbG9jYWxpemVkQmxvY2tzXSkgPT4ge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV1bbG9jYWxlXSA9IGxvY2FsaXplZEJsb2Nrcy5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1Jlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtyb3cuX29yZGVyIC0gMX1gLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBibG9ja1Jlc3VsdC5fb3JkZXJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBibG9ja1Jlc3VsdFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGUgcm93Ll9vcmRlclxuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiByb3csXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtpfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge31cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25QYXRoTWF0Y2ggPSByZWxhdGlvbnNoaXBzW2Ake3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGlmICghcmVsYXRpb25QYXRoTWF0Y2gpIHtcbiAgICAgICAgICBpZiAoJ2hhc01hbnknIGluIGZpZWxkICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbiAmJiBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgIFtjb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVdOiBbXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgcmVsYXRpb25QYXRoTWF0Y2guZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGlmICghcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0pIHJlbGF0aW9uc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uc0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCByZWxhdGlvbnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgcmVsYXRpb25zOiByZWxhdGlvblBhdGhNYXRjaCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkPy5oYXNNYW55KSB7XG4gICAgICAgIGNvbnN0IHRleHRQYXRoTWF0Y2ggPSB0ZXh0c1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIXRleHRQYXRoTWF0Y2gpIHJldHVybiByZXN1bHRcblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCB0ZXh0c0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICB0ZXh0UGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIXRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0pIHRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICB0ZXh0c0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyh0ZXh0c0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCB0ZXh0c10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlUZXh0KHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICAgIHRleHRSb3dzOiB0ZXh0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55VGV4dCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgdGV4dFJvd3M6IHRleHRQYXRoTWF0Y2gsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgY29uc3QgbnVtYmVyUGF0aE1hdGNoID0gbnVtYmVyc1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIW51bWJlclBhdGhNYXRjaCkgcmV0dXJuIHJlc3VsdFxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IG51bWJlcnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgbnVtYmVyUGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIW51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyhudW1iZXJzQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIG51bWJlcnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyKHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgbnVtYmVyUm93czogbnVtYmVycyxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtSGFzTWFueU51bWJlcih7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIG51bWJlclJvd3M6IG51bWJlclBhdGhNYXRjaCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChzZWxlY3RSZXN1bHQsIHJvdykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0pIHNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdLnB1c2gocm93LnZhbHVlKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdFJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgY29uc3QgbG9jYWxpemVkRmllbGREYXRhID0ge31cbiAgICAgIGNvbnN0IHZhbHVlc1RvVHJhbnNmb3JtOiB7XG4gICAgICAgIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB9W10gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgICAgIHRhYmxlLl9sb2NhbGVzLmZvckVhY2goKGxvY2FsZVJvdykgPT4ge1xuICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWY6IGxvY2FsaXplZEZpZWxkRGF0YSwgdGFibGU6IGxvY2FsZVJvdyB9KVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZjogcmVzdWx0LCB0YWJsZSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IHJlZiwgdGFibGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZERhdGEgPSB0YWJsZVtgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGFibGU/Ll9sb2NhbGVcblxuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBGaWVsZFByZWZpeCA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1fYFxuXG4gICAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJyAmJiAhcmVmW2xvY2FsZV0pIHtcbiAgICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHt9XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRhYmxlLl9sb2NhbGVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlZikuZm9yRWFjaCgoW2dyb3VwTG9jYWxlLCBncm91cExvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVmW2dyb3VwTG9jYWxlXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cExvY2FsZURhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBpZiAoJ19vcmRlcicgaW4gcmVmKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHJlZi5fb3JkZXJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgZ3JvdXBEYXRhID0ge31cblxuICAgICAgICAgICAgICByZWZbZmllbGQubmFtZV0gPSB0cmF2ZXJzZUZpZWxkczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogZ3JvdXBEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJlZikge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByZWYuX29yZGVyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IFN0cmluZyhmaWVsZERhdGEpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IE51bWJlci5wYXJzZUZsb2F0KGZpZWxkRGF0YSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gbmV3IERhdGUoZmllbGREYXRhKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gZmllbGREYXRhXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGFcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyhsb2NhbGl6ZWRGaWVsZERhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbG9jYWxpemVkRmllbGREYXRhXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIGRhdGFSZWYpXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlLl9sb2NhbGVzKVxuICB9XG5cbiAgcmV0dXJuIGZvcm1hdHRlZCBhcyBUXG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJibG9ja3MiLCJjb25maWciLCJkYXRhUmVmIiwiZGVsZXRpb25zIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJudW1iZXJzIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJ0YWJsZSIsInRleHRzIiwic2FuaXRpemVkUGF0aCIsImZvcm1hdHRlZCIsInJlZHVjZSIsInJlc3VsdCIsImZpZWxkIiwidHlwZSIsInRhYnMiLCJtYXAiLCJ0YWIiLCJmaWVsZEFmZmVjdHNEYXRhIiwiZmllbGROYW1lIiwibmFtZSIsImZpZWxkRGF0YSIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGl6ZWQiLCJhcnJheVJlc3VsdCIsInJvdyIsIl9sb2NhbGUiLCJsb2NhbGUiLCJkYXRhIiwiX3V1aWQiLCJpZCIsInJvd1Jlc3VsdCIsIl9vcmRlciIsImkiLCJibG9ja0ZpZWxkUGF0aCIsImZvckVhY2giLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxpemVkQmxvY2tzIiwiYmxvY2siLCJmaW5kIiwic2x1ZyIsImJsb2NrVHlwZSIsImJsb2NrUmVzdWx0IiwicmVsYXRpb25QYXRoTWF0Y2giLCJoYXNNYW55IiwibG9jYWxpemF0aW9uIiwibG9jYWxlcyIsImRlZmF1bHRMb2NhbGUiLCJyZWxhdGlvbnNCeUxvY2FsZSIsInJlbGF0aW9ucyIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsInJlZiIsInRleHRQYXRoTWF0Y2giLCJ0ZXh0c0J5TG9jYWxlIiwidHJhbnNmb3JtSGFzTWFueVRleHQiLCJ0ZXh0Um93cyIsIm51bWJlclBhdGhNYXRjaCIsIm51bWJlcnNCeUxvY2FsZSIsInRyYW5zZm9ybUhhc01hbnlOdW1iZXIiLCJudW1iZXJSb3dzIiwic2VsZWN0UmVzdWx0IiwidmFsdWUiLCJsb2NhbGl6ZWRGaWVsZERhdGEiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsIl9sb2NhbGVzIiwibG9jYWxlUm93IiwiZ3JvdXBGaWVsZFByZWZpeCIsImdyb3VwTG9jYWxlIiwiZ3JvdXBMb2NhbGVEYXRhIiwiZ3JvdXBEYXRhIiwidmFsIiwiU3RyaW5nIiwiTnVtYmVyIiwicGFyc2VGbG9hdCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE2RHZCQTs7O2VBQUFBOzs7dUJBekRvQjsrQkFJTTs2QkFDRjs4QkFDQztBQW1EL0IsTUFBTUEsaUJBQWlCLENBQW9DLEVBQ2hFQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxTQUFT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
421
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vcmVhZC90cmF2ZXJzZUZpZWxkcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBCbG9ja3NNYXAgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwJ1xuXG5pbXBvcnQgeyB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyIH0gZnJvbSAnLi9oYXNNYW55TnVtYmVyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtSGFzTWFueVRleHQgfSBmcm9tICcuL2hhc01hbnlUZXh0J1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXAnXG5cbnR5cGUgVHJhdmVyc2VGaWVsZHNBcmdzID0ge1xuICAvKipcbiAgICogUHJlLWZvcm1hdHRlZCBibG9ja3MgbWFwXG4gICAqL1xuICBibG9ja3M6IEJsb2Nrc01hcFxuICAvKipcbiAgICogVGhlIGZ1bGwgUGF5bG9hZCBjb25maWdcbiAgICovXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBUaGUgZGF0YSByZWZlcmVuY2UgdG8gYmUgbXV0YXRlZCB3aXRoaW4gdGhpcyByZWN1cnNpdmUgZnVuY3Rpb25cbiAgICovXG4gIGRhdGFSZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBEYXRhIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSByZXN1bHQgYWZ0ZXIgYWxsIGZpZWxkcyBoYXZlIHBvcHVsYXRlZFxuICAgKi9cbiAgZGVsZXRpb25zOiAoKCkgPT4gdm9pZClbXVxuICAvKipcbiAgICogQ29sdW1uIHByZWZpeCBjYW4gYmUgYnVpbHQgdXAgYnkgZ3JvdXAgYW5kIG5hbWVkIHRhYiBmaWVsZHNcbiAgICovXG4gIGZpZWxkUHJlZml4OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIFBheWxvYWQgZmllbGRzIHRvIHRyYXZlcnNlXG4gICAqL1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgLyoqXG4gICAqIEFsbCBoYXNNYW55IG51bWJlciBmaWVsZHMsIGFzIHJldHVybmVkIGJ5IERyaXp6bGUsIGtleWVkIG9uIGFuIG9iamVjdCBieSBmaWVsZCBwYXRoXG4gICAqL1xuICBudW1iZXJzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZmllbGQgcGF0aCAoaW4gZG90IG5vdGF0aW9uKSwgdXNlZCB0byBtZXJnZSBpbiByZWxhdGlvbnNoaXBzXG4gICAqL1xuICBwYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEFsbCByZWxhdGVkIGRvY3VtZW50cywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+XG4gIC8qKlxuICAgKiBEYXRhIHN0cnVjdHVyZSByZXByZXNlbnRpbmcgdGhlIG5lYXJlc3QgdGFibGUgZnJvbSBkYlxuICAgKi9cbiAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIC8qKlxuICAgKiBBbGwgaGFzTWFueSB0ZXh0IGZpZWxkcywgYXMgcmV0dXJuZWQgYnkgRHJpenpsZSwga2V5ZWQgb24gYW4gb2JqZWN0IGJ5IGZpZWxkIHBhdGhcbiAgICovXG4gIHRleHRzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPlxufVxuXG4vLyBUcmF2ZXJzZSBmaWVsZHMgcmVjdXJzaXZlbHksIHRyYW5zZm9ybWluZyBkYXRhXG4vLyBmb3IgZWFjaCBmaWVsZCB0eXBlIGludG8gcmVxdWlyZWQgUGF5bG9hZCBzaGFwZVxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICBibG9ja3MsXG4gIGNvbmZpZyxcbiAgZGF0YVJlZixcbiAgZGVsZXRpb25zLFxuICBmaWVsZFByZWZpeCxcbiAgZmllbGRzLFxuICBudW1iZXJzLFxuICBwYXRoLFxuICByZWxhdGlvbnNoaXBzLFxuICB0YWJsZSxcbiAgdGV4dHMsXG59OiBUcmF2ZXJzZUZpZWxkc0FyZ3MpOiBUID0+IHtcbiAgY29uc3Qgc2FuaXRpemVkUGF0aCA9IHBhdGggPyBgJHtwYXRofS5gIDogcGF0aFxuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IGZpZWxkcy5yZWR1Y2UoKHJlc3VsdCwgZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGJsb2NrcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBkYXRhUmVmLFxuICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXRoLFxuICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICB0YWJsZSxcbiAgICAgICAgdGV4dHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdjb2xsYXBzaWJsZScgfHxcbiAgICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgICAoZmllbGQudHlwZSA9PT0gJ3RhYicgJiYgISgnbmFtZScgaW4gZmllbGQpKVxuICAgICkge1xuICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICBibG9ja3MsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZGF0YVJlZixcbiAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIG51bWJlcnMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHRhYmxlLFxuICAgICAgICB0ZXh0cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuICAgICAgY29uc3QgZmllbGREYXRhID0gdGFibGVbZmllbGROYW1lXVxuXG4gICAgICBpZiAoZmllbGRQcmVmaXgpIHtcbiAgICAgICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlW2ZpZWxkTmFtZV0pXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChhcnJheVJlc3VsdCwgcm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93Ll9sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFhcnJheVJlc3VsdFtyb3cuX2xvY2FsZV0pIGFycmF5UmVzdWx0W3Jvdy5fbG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxlID0gcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0ge31cbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll9sb2NhbGVcbiAgICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByb3dSZXN1bHQgPSB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBkYXRhLFxuICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgZmllbGRQcmVmaXg6ICcnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgcGF0aDogYCR7c2FuaXRpemVkUGF0aH0ke2ZpZWxkLm5hbWV9LiR7cm93Ll9vcmRlciAtIDF9YCxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmICgnX29yZGVyJyBpbiByb3dSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSByb3dSZXN1bHQuX29yZGVyXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXJyYXlSZXN1bHRbbG9jYWxlXS5wdXNoKHJvd1Jlc3VsdClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBhcnJheVJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJvdykge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByb3cuX29yZGVyXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2VGaWVsZHM8VD4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogcm93LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX0uJHtpfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnYmxvY2tzJykge1xuICAgICAgICBjb25zdCBibG9ja0ZpZWxkUGF0aCA9IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShibG9ja3NbYmxvY2tGaWVsZFBhdGhdKSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IHt9XG5cbiAgICAgICAgICAgIGJsb2Nrc1tibG9ja0ZpZWxkUGF0aF0uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChyb3cuX3V1aWQpIHtcbiAgICAgICAgICAgICAgICByb3cuaWQgPSByb3cuX3V1aWRcbiAgICAgICAgICAgICAgICBkZWxldGUgcm93Ll91dWlkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cuX2xvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0pIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXVtyb3cuX2xvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fbG9jYWxlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlc3VsdFtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZSwgbG9jYWxpemVkQmxvY2tzXSkgPT4ge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV1bbG9jYWxlXSA9IGxvY2FsaXplZEJsb2Nrcy5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1Jlc3VsdCA9IHRyYXZlcnNlRmllbGRzPFQ+KHtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFSZWY6IHJvdyxcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtyb3cuX29yZGVyIC0gMX1gLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZTogcm93LFxuICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBibG9ja1Jlc3VsdC5fb3JkZXJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBibG9ja1Jlc3VsdFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gYmxvY2tzW2Jsb2NrRmllbGRQYXRoXS5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGUgcm93Ll9vcmRlclxuICAgICAgICAgICAgICBpZiAocm93Ll91dWlkKSB7XG4gICAgICAgICAgICAgICAgcm93LmlkID0gcm93Ll91dWlkXG4gICAgICAgICAgICAgICAgZGVsZXRlIHJvdy5fdXVpZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByb3cuYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICAgIGlmIChibG9jaykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZUZpZWxkczxUPih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiByb3csXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogJycsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgICBwYXRoOiBgJHtibG9ja0ZpZWxkUGF0aH0uJHtpfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGU6IHJvdyxcbiAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge31cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgY29uc3QgcmVsYXRpb25QYXRoTWF0Y2ggPSByZWxhdGlvbnNoaXBzW2Ake3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWBdXG4gICAgICAgIGlmICghcmVsYXRpb25QYXRoTWF0Y2gpIHtcbiAgICAgICAgICBpZiAoJ2hhc01hbnknIGluIGZpZWxkICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbiAmJiBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgIFtjb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVdOiBbXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCByZWxhdGlvbnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgcmVsYXRpb25QYXRoTWF0Y2guZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGlmICghcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0pIHJlbGF0aW9uc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgcmVsYXRpb25zQnlMb2NhbGVbcm93LmxvY2FsZV0ucHVzaChyb3cpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uc0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCByZWxhdGlvbnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICByZWY6IHJlc3VsdCxcbiAgICAgICAgICAgICAgcmVsYXRpb25zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybVJlbGF0aW9uc2hpcCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgcmVsYXRpb25zOiByZWxhdGlvblBhdGhNYXRjaCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RleHQnICYmIGZpZWxkPy5oYXNNYW55KSB7XG4gICAgICAgIGNvbnN0IHRleHRQYXRoTWF0Y2ggPSB0ZXh0c1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIXRleHRQYXRoTWF0Y2gpIHJldHVybiByZXN1bHRcblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0ge31cbiAgICAgICAgICBjb25zdCB0ZXh0c0J5TG9jYWxlOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPiA9IHt9XG5cbiAgICAgICAgICB0ZXh0UGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIXRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0pIHRleHRzQnlMb2NhbGVbcm93LmxvY2FsZV0gPSBbXVxuICAgICAgICAgICAgICB0ZXh0c0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyh0ZXh0c0J5TG9jYWxlKS5mb3JFYWNoKChbbG9jYWxlLCB0ZXh0c10pID0+IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybUhhc01hbnlUZXh0KHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICAgIHRleHRSb3dzOiB0ZXh0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55VGV4dCh7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgICAgdGV4dFJvd3M6IHRleHRQYXRoTWF0Y2gsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgY29uc3QgbnVtYmVyUGF0aE1hdGNoID0gbnVtYmVyc1tgJHtzYW5pdGl6ZWRQYXRofSR7ZmllbGQubmFtZX1gXVxuICAgICAgICBpZiAoIW51bWJlclBhdGhNYXRjaCkgcmV0dXJuIHJlc3VsdFxuXG4gICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB7fVxuICAgICAgICAgIGNvbnN0IG51bWJlcnNCeUxvY2FsZTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgICAgICAgbnVtYmVyUGF0aE1hdGNoLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3cubG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBpZiAoIW51bWJlcnNCeUxvY2FsZVtyb3cubG9jYWxlXSkgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdID0gW11cbiAgICAgICAgICAgICAgbnVtYmVyc0J5TG9jYWxlW3Jvdy5sb2NhbGVdLnB1c2gocm93KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyhudW1iZXJzQnlMb2NhbGUpLmZvckVhY2goKFtsb2NhbGUsIG51bWJlcnNdKSA9PiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1IYXNNYW55TnVtYmVyKHtcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgbnVtYmVyUm93czogbnVtYmVycyxcbiAgICAgICAgICAgICAgcmVmOiByZXN1bHQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtSGFzTWFueU51bWJlcih7XG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIG51bWJlclJvd3M6IG51bWJlclBhdGhNYXRjaCxcbiAgICAgICAgICAgIHJlZjogcmVzdWx0LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkRGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGEucmVkdWNlKChzZWxlY3RSZXN1bHQsIHJvdykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHJvdy5sb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3RSZXN1bHRbcm93LmxvY2FsZV0pIHNlbGVjdFJlc3VsdFtyb3cubG9jYWxlXSA9IFtdXG4gICAgICAgICAgICAgICAgc2VsZWN0UmVzdWx0W3Jvdy5sb2NhbGVdLnB1c2gocm93LnZhbHVlKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdFJlc3VsdFxuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdFtmaWVsZC5uYW1lXSA9IGZpZWxkRGF0YS5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgY29uc3QgbG9jYWxpemVkRmllbGREYXRhID0ge31cbiAgICAgIGNvbnN0IHZhbHVlc1RvVHJhbnNmb3JtOiB7XG4gICAgICAgIHJlZjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICAgdGFibGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB9W10gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgICAgIHRhYmxlLl9sb2NhbGVzLmZvckVhY2goKGxvY2FsZVJvdykgPT4ge1xuICAgICAgICAgIHZhbHVlc1RvVHJhbnNmb3JtLnB1c2goeyByZWY6IGxvY2FsaXplZEZpZWxkRGF0YSwgdGFibGU6IGxvY2FsZVJvdyB9KVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZjogcmVzdWx0LCB0YWJsZSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IHJlZiwgdGFibGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZERhdGEgPSB0YWJsZVtgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YF1cbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGFibGU/Ll9sb2NhbGVcblxuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBGaWVsZFByZWZpeCA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1fYFxuXG4gICAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJyAmJiAhcmVmW2xvY2FsZV0pIHtcbiAgICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHt9XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRhYmxlLl9sb2NhbGVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJlZikuZm9yRWFjaCgoW2dyb3VwTG9jYWxlLCBncm91cExvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVmW2dyb3VwTG9jYWxlXSA9IHRyYXZlcnNlRmllbGRzPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7XG4gICAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBkYXRhUmVmOiBncm91cExvY2FsZURhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICBkZWxldGlvbnMsXG4gICAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgICAgdGFibGUsXG4gICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBpZiAoJ19vcmRlcicgaW4gcmVmKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHJlZi5fb3JkZXJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgZ3JvdXBEYXRhID0ge31cblxuICAgICAgICAgICAgICByZWZbZmllbGQubmFtZV0gPSB0cmF2ZXJzZUZpZWxkczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZGF0YVJlZjogZ3JvdXBEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGRlbGV0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogZ3JvdXBGaWVsZFByZWZpeCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3Nhbml0aXplZFBhdGh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICB0YWJsZSxcbiAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgaWYgKCdfb3JkZXInIGluIHJlZikge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSByZWYuX29yZGVyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IFN0cmluZyhmaWVsZERhdGEpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHZhbCA9IE51bWJlci5wYXJzZUZsb2F0KGZpZWxkRGF0YSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gdmFsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSB2YWxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgbGV0IHZhbCA9IGZpZWxkRGF0YVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIGZpZWxkRGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdmFsID0gbmV3IERhdGUoZmllbGREYXRhKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZWZbbG9jYWxlXSA9IHZhbFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gdmFsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJlZltsb2NhbGVdID0gZmllbGREYXRhXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmaWVsZERhdGFcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyhsb2NhbGl6ZWRGaWVsZERhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbG9jYWxpemVkRmllbGREYXRhXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIGRhdGFSZWYpXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodGFibGUuX2xvY2FsZXMpKSB7XG4gICAgZGVsZXRpb25zLnB1c2goKCkgPT4gZGVsZXRlIHRhYmxlLl9sb2NhbGVzKVxuICB9XG5cbiAgcmV0dXJuIGZvcm1hdHRlZCBhcyBUXG59XG4iXSwibmFtZXMiOlsiZmllbGRBZmZlY3RzRGF0YSIsInRyYW5zZm9ybUhhc01hbnlOdW1iZXIiLCJ0cmFuc2Zvcm1IYXNNYW55VGV4dCIsInRyYW5zZm9ybVJlbGF0aW9uc2hpcCIsInRyYXZlcnNlRmllbGRzIiwiYmxvY2tzIiwiY29uZmlnIiwiZGF0YVJlZiIsImRlbGV0aW9ucyIsImZpZWxkUHJlZml4IiwiZmllbGRzIiwibnVtYmVycyIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwidGFibGUiLCJ0ZXh0cyIsInNhbml0aXplZFBhdGgiLCJmb3JtYXR0ZWQiLCJyZWR1Y2UiLCJyZXN1bHQiLCJmaWVsZCIsInR5cGUiLCJ0YWJzIiwibWFwIiwidGFiIiwiZmllbGROYW1lIiwibmFtZSIsImZpZWxkRGF0YSIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGl6ZWQiLCJhcnJheVJlc3VsdCIsInJvdyIsIl9sb2NhbGUiLCJsb2NhbGUiLCJkYXRhIiwiX3V1aWQiLCJpZCIsInJvd1Jlc3VsdCIsIl9vcmRlciIsImkiLCJibG9ja0ZpZWxkUGF0aCIsImZvckVhY2giLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxpemVkQmxvY2tzIiwiYmxvY2siLCJmaW5kIiwic2x1ZyIsImJsb2NrVHlwZSIsImJsb2NrUmVzdWx0IiwicmVsYXRpb25QYXRoTWF0Y2giLCJoYXNNYW55IiwibG9jYWxpemF0aW9uIiwibG9jYWxlcyIsImRlZmF1bHRMb2NhbGUiLCJyZWxhdGlvbnNCeUxvY2FsZSIsInJlbGF0aW9ucyIsInJlZiIsInRleHRQYXRoTWF0Y2giLCJ0ZXh0c0J5TG9jYWxlIiwidGV4dFJvd3MiLCJudW1iZXJQYXRoTWF0Y2giLCJudW1iZXJzQnlMb2NhbGUiLCJudW1iZXJSb3dzIiwic2VsZWN0UmVzdWx0IiwidmFsdWUiLCJsb2NhbGl6ZWRGaWVsZERhdGEiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsIl9sb2NhbGVzIiwibG9jYWxlUm93IiwiZ3JvdXBGaWVsZFByZWZpeCIsImdyb3VwTG9jYWxlIiwiZ3JvdXBMb2NhbGVEYXRhIiwiZ3JvdXBEYXRhIiwidmFsIiwiU3RyaW5nIiwiTnVtYmVyIiwicGFyc2VGbG9hdCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQUlwQyxTQUFTQSxnQkFBZ0IsUUFBUSxnQkFBZTtBQUloRCxTQUFTQyxzQkFBc0IsUUFBUSxrQkFBaUI7QUFDeEQsU0FBU0Msb0JBQW9CLFFBQVEsZ0JBQWU7QUFDcEQsU0FBU0MscUJBQXFCLFFBQVEsaUJB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