payload 3.0.0-alpha.0 → 3.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/baseFields/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAMtD,QAAA,MAAM,cAAc,EAAE,KAAK,EAkC1B,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/baseFields/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAOtD,QAAA,MAAM,cAAc,EAAE,KAAK,EAkC1B,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- const _validations = require("payload/fields/validations");
11
+ const _validations = require("../../fields/validations");
12
12
  const _extractTranslations = require("../../translations/extractTranslations");
13
13
  const labels = (0, _extractTranslations.extractTranslations)([
14
14
  'general:email'
@@ -16,6 +16,7 @@ const labels = (0, _extractTranslations.extractTranslations)([
16
16
  const baseAuthFields = [
17
17
  {
18
18
  name: 'email',
19
+ type: 'email',
19
20
  admin: {
20
21
  components: {
21
22
  Field: ()=>null
@@ -23,31 +24,30 @@ const baseAuthFields = [
23
24
  },
24
25
  label: labels['general:email'],
25
26
  required: true,
26
- type: 'email',
27
27
  unique: true,
28
28
  validate: _validations.email
29
29
  },
30
30
  {
31
31
  name: 'resetPasswordToken',
32
- hidden: true,
33
- type: 'text'
32
+ type: 'text',
33
+ hidden: true
34
34
  },
35
35
  {
36
36
  name: 'resetPasswordExpiration',
37
- hidden: true,
38
- type: 'date'
37
+ type: 'date',
38
+ hidden: true
39
39
  },
40
40
  {
41
41
  name: 'salt',
42
- hidden: true,
43
- type: 'text'
42
+ type: 'text',
43
+ hidden: true
44
44
  },
45
45
  {
46
46
  name: 'hash',
47
- hidden: true,
48
- type: 'text'
47
+ type: 'text',
48
+ hidden: true
49
49
  }
50
50
  ];
51
51
  const _default = baseAuthFields;
52
52
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2Jhc2VGaWVsZHMvYXV0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbWFpbCB9IGZyb20gJ3BheWxvYWQvZmllbGRzL3ZhbGlkYXRpb25zJ1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZXh0cmFjdFRyYW5zbGF0aW9ucyB9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9ucy9leHRyYWN0VHJhbnNsYXRpb25zJ1xuXG5jb25zdCBsYWJlbHMgPSBleHRyYWN0VHJhbnNsYXRpb25zKFsnZ2VuZXJhbDplbWFpbCddKVxuXG5jb25zdCBiYXNlQXV0aEZpZWxkczogRmllbGRbXSA9IFtcbiAge1xuICAgIG5hbWU6ICdlbWFpbCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgRmllbGQ6ICgpID0+IG51bGwsXG4gICAgICB9LFxuICAgIH0sXG4gICAgbGFiZWw6IGxhYmVsc1snZ2VuZXJhbDplbWFpbCddLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIHR5cGU6ICdlbWFpbCcsXG4gICAgdW5pcXVlOiB0cnVlLFxuICAgIHZhbGlkYXRlOiBlbWFpbCxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdyZXNldFBhc3N3b3JkVG9rZW4nLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB0eXBlOiAndGV4dCcsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAncmVzZXRQYXNzd29yZEV4cGlyYXRpb24nLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB0eXBlOiAnZGF0ZScsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnc2FsdCcsXG4gICAgaGlkZGVuOiB0cnVlLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdoYXNoJyxcbiAgICBoaWRkZW46IHRydWUsXG4gICAgdHlwZTogJ3RleHQnLFxuICB9LFxuXVxuXG5leHBvcnQgZGVmYXVsdCBiYXNlQXV0aEZpZWxkc1xuIl0sIm5hbWVzIjpbImxhYmVscyIsImV4dHJhY3RUcmFuc2xhdGlvbnMiLCJiYXNlQXV0aEZpZWxkcyIsIm5hbWUiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsImxhYmVsIiwicmVxdWlyZWQiLCJ0eXBlIiwidW5pcXVlIiwidmFsaWRhdGUiLCJlbWFpbCIsImhpZGRlbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE0Q0E7OztlQUFBOzs7NkJBNUNzQjtxQ0FJYztBQUVwQyxNQUFNQSxTQUFTQyxJQUFBQSx3Q0FBbUIsRUFBQztJQUFDO0NBQWdCO0FBRXBELE1BQU1DLGlCQUEwQjtJQUM5QjtRQUNFQyxNQUFNO1FBQ05DLE9BQU87WUFDTEMsWUFBWTtnQkFDVkMsT0FBTyxJQUFNO1lBQ2Y7UUFDRjtRQUNBQyxPQUFPUCxNQUFNLENBQUMsZ0JBQWdCO1FBQzlCUSxVQUFVO1FBQ1ZDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxVQUFVQyxrQkFBSztJQUNqQjtJQUNBO1FBQ0VULE1BQU07UUFDTlUsUUFBUTtRQUNSSixNQUFNO0lBQ1I7SUFDQTtRQUNFTixNQUFNO1FBQ05VLFFBQVE7UUFDUkosTUFBTTtJQUNSO0lBQ0E7UUFDRU4sTUFBTTtRQUNOVSxRQUFRO1FBQ1JKLE1BQU07SUFDUjtJQUNBO1FBQ0VOLE1BQU07UUFDTlUsUUFBUTtRQUNSSixNQUFNO0lBQ1I7Q0FDRDtNQUVELFdBQWVQIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2Jhc2VGaWVsZHMvYXV0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZW1haWwgfSBmcm9tICcuLi8uLi9maWVsZHMvdmFsaWRhdGlvbnMnXG5pbXBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb25zL2V4dHJhY3RUcmFuc2xhdGlvbnMnXG5cbmNvbnN0IGxhYmVscyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoWydnZW5lcmFsOmVtYWlsJ10pXG5cbmNvbnN0IGJhc2VBdXRoRmllbGRzOiBGaWVsZFtdID0gW1xuICB7XG4gICAgbmFtZTogJ2VtYWlsJyxcbiAgICB0eXBlOiAnZW1haWwnLFxuICAgIGFkbWluOiB7XG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIEZpZWxkOiAoKSA9PiBudWxsLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGxhYmVsOiBsYWJlbHNbJ2dlbmVyYWw6ZW1haWwnXSxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB1bmlxdWU6IHRydWUsXG4gICAgdmFsaWRhdGU6IGVtYWlsLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ3Jlc2V0UGFzc3dvcmRUb2tlbicsXG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdyZXNldFBhc3N3b3JkRXhwaXJhdGlvbicsXG4gICAgdHlwZTogJ2RhdGUnLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdzYWx0JyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgaGlkZGVuOiB0cnVlLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2hhc2gnLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBoaWRkZW46IHRydWUsXG4gIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGJhc2VBdXRoRmllbGRzXG4iXSwibmFtZXMiOlsibGFiZWxzIiwiZXh0cmFjdFRyYW5zbGF0aW9ucyIsImJhc2VBdXRoRmllbGRzIiwibmFtZSIsInR5cGUiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWVsZCIsImxhYmVsIiwicmVxdWlyZWQiLCJ1bmlxdWUiLCJ2YWxpZGF0ZSIsImVtYWlsIiwiaGlkZGVuIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJDQTs7O2VBQUE7Ozs2QkF6Q3NCO3FDQUNjO0FBRXBDLE1BQU1BLFNBQVNDLElBQUFBLHdDQUFtQixFQUFDO0lBQUM7Q0FBZ0I7QUFFcEQsTUFBTUMsaUJBQTBCO0lBQzlCO1FBQ0VDLE1BQU07UUFDTkMsTUFBTTtRQUNOQyxPQUFPO1lBQ0xDLFlBQVk7Z0JBQ1ZDLE9BQU8sSUFBTTtZQUNmO1FBQ0Y7UUFDQUMsT0FBT1IsTUFBTSxDQUFDLGdCQUFnQjtRQUM5QlMsVUFBVTtRQUNWQyxRQUFRO1FBQ1JDLFVBQVVDLGtCQUFLO0lBQ2pCO0lBQ0E7UUFDRVQsTUFBTTtRQUNOQyxNQUFNO1FBQ05TLFFBQVE7SUFDVjtJQUNBO1FBQ0VWLE1BQU07UUFDTkMsTUFBTTtRQUNOUyxRQUFRO0lBQ1Y7SUFDQTtRQUNFVixNQUFNO1FBQ05DLE1BQU07UUFDTlMsUUFBUTtJQUNWO0lBQ0E7UUFDRVYsTUFBTTtRQUNOQyxNQUFNO1FBQ05TLFFBQVE7SUFDVjtDQUNEO01BRUQsV0FBZVgifQ==
@@ -8,7 +8,13 @@ let options = {
8
8
  data: undefined,
9
9
  operation: 'create',
10
10
  siblingData: undefined,
11
- t
11
+ req: {
12
+ t,
13
+ context: {},
14
+ payload: {
15
+ config: {}
16
+ }
17
+ }
12
18
  };
13
19
  describe('Field Validations', ()=>{
14
20
  describe('text', ()=>{
@@ -295,15 +301,19 @@ describe('Field Validations', ()=>{
295
301
  };
296
302
  const relationshipOptions = {
297
303
  ...options,
298
- config: {
299
- collections: [
300
- relationCollection
301
- ]
302
- },
303
- payload: {
304
- collections: {
305
- relation: {
306
- config: relationCollection
304
+ req: {
305
+ ...options.req,
306
+ payload: {
307
+ ...options.req.payload,
308
+ config: {
309
+ collections: [
310
+ relationCollection
311
+ ]
312
+ },
313
+ collections: {
314
+ relation: {
315
+ config: relationCollection
316
+ }
307
317
  }
308
318
  }
309
319
  },
@@ -645,4 +655,4 @@ describe('Field Validations', ()=>{
645
655
  });
646
656
  });
647
657
 
648
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZhbGlkYXRlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBudW1iZXIsIHBhc3N3b3JkLCBwb2ludCwgcmVsYXRpb25zaGlwLCBzZWxlY3QsIHRleHQsIHRleHRhcmVhIH0gZnJvbSAnLi92YWxpZGF0aW9ucydcblxuY29uc3QgdCA9IGplc3QuZm4oKHN0cmluZykgPT4gc3RyaW5nKVxuXG5sZXQgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPGFueSwgYW55LCBhbnk+ID0ge1xuICBkYXRhOiB1bmRlZmluZWQsXG4gIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gIHNpYmxpbmdEYXRhOiB1bmRlZmluZWQsXG4gIHQsXG59XG5cbmRlc2NyaWJlKCdGaWVsZCBWYWxpZGF0aW9ucycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3RleHQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIG9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgb3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rvb2xvbmcnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnc2hvcnQnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIHRleHRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWyd0ZXN0J11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIGhhc01hbnk6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHJlcXVpcmVkIGFycmF5IG9mIHRleHRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWyd0ZXN0J11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIGhhc01hbnk6IHRydWUsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgndGV4dGFyZWEnLCAoKSA9PiB7XG4gICAgb3B0aW9ucyA9IHsgLi4ub3B0aW9ucywgZmllbGQ6IHsgbmFtZTogJ3Rlc3QnLCB0eXBlOiAndGV4dGFyZWEnIH0gfVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndGVzdCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgb3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIHsgLi4ub3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgb3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rvb2xvbmcnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIHsgLi4ub3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JylcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnc2hvcnQnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIHsgLi4ub3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncGFzc3dvcmQnLCAoKSA9PiB7XG4gICAgY29uc3QgcGFzc3dvcmRPcHRpb25zID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6ICd0ZXN0JyxcbiAgICAgIHR5cGU6ICdwYXNzd29yZCcsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndGVzdCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgcGFzc3dvcmRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgeyAuLi5wYXNzd29yZE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCBwYXNzd29yZE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0b29sb25nJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Nob3J0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgeyAuLi5wYXNzd29yZE9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3BvaW50JywgKCkgPT4ge1xuICAgIGNvbnN0IHBvaW50T3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiAncG9pbnQnLFxuICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWycwLjEnLCAnMC4yJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBzdHJpbmdzIHRoYXQgY291bGQgYmUgbnVtYmVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnMC4xJywgJzAuMiddXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlIHdoZW4gdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHsgLi4ucG9pbnRPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlIHdoZW4gYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCB7IC4uLnBvaW50T3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZSB3aGVuIGFycmF5IG9mIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFt1bmRlZmluZWQsIHVuZGVmaW5lZF1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgeyAuLi5wb2ludE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkIG5vdCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBlbXB0eSBhcnJheSBub3QgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBhcnJheSBvZiB1bmRlZmluZWQgbm90IHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgdGV4dCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnYmFkJywgJ2lucHV0J11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBtaXNzaW5nIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzAuMV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdyZWxhdGlvbnNoaXAnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVsYXRpb25Db2xsZWN0aW9uID0ge1xuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBzbHVnOiAncmVsYXRpb24nLFxuICAgIH1cblxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3Rpb25zOiBbcmVsYXRpb25Db2xsZWN0aW9uXSxcbiAgICAgIH0sXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIGNvbGxlY3Rpb25zOiB7XG4gICAgICAgICAgcmVsYXRpb246IHtcbiAgICAgICAgICAgIGNvbmZpZzogcmVsYXRpb25Db2xsZWN0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVsYXRpb25UbzogJ3JlbGF0aW9uJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIHsgLi4ucmVsYXRpb25zaGlwT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSByZXF1aXJlZCB3aXRoIGhhc01hbnknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbXVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwge1xuICAgICAgICAuLi5yZWxhdGlvbnNoaXBPcHRpb25zLFxuICAgICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBlbmZvcmNlIGhhc01hbnkgbWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWluT3B0aW9ucyA9IHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgbWluUm93czogMixcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsID0gWydhJ11cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWluT3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG5cbiAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCByZWxhdGlvbnNoaXAoWydhJywgJ2InXSwgbWluT3B0aW9ucylcbiAgICAgIGV4cGVjdChhbGxvd2VkKS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGVuZm9yY2UgaGFzTWFueSBtYXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtYXhPcHRpb25zID0ge1xuICAgICAgICAuLi5yZWxhdGlvbnNoaXBPcHRpb25zLFxuICAgICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgICBtYXhSb3dzOiAyLFxuICAgICAgfVxuICAgICAgbGV0IHZhbCA9IFsnYScsICdiJywgJ2MnXVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCBtYXhPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcblxuICAgICAgdmFsID0gWydhJ11cbiAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCBtYXhPcHRpb25zKVxuICAgICAgZXhwZWN0KGFsbG93ZWQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdzZWxlY3QnLCAoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBvcHRpb25zOiBbJ29uZScsICd0d28nLCAndGhyZWUnXSxcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIH1cbiAgICBjb25zdCBvcHRpb25zUmVxdWlyZWQgPSB7XG4gICAgICAuLi5zZWxlY3RPcHRpb25zLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPbmUnLFxuICAgICAgICAgIHZhbHVlOiAnb25lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAndHdvJyxcbiAgICAgICAgICB2YWx1ZTogJ3R3bycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ3RocmVlJyxcbiAgICAgICAgICB2YWx1ZTogJ3RocmVlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uc1dpdGhFbXB0eVN0cmluZyA9IHtcbiAgICAgIC4uLnNlbGVjdE9wdGlvbnMsXG4gICAgICBvcHRpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ05vbmUnLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT3B0aW9uJyxcbiAgICAgICAgICB2YWx1ZTogJ29wdGlvbicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ29uZSdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgaW52YWxpZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdiYWQnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgbnVsbCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IG51bGxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHVuZGVmaW5lZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgc3RyaW5nIGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IHVuZGVmaW5lZCBpbnB1dCB3aXRoIHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgbGV0IHZhbFxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBlbXB0eSBzdHJpbmcgaW5wdXQgd2l0aCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCgnJywgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB1bmRlZmluZWQgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgYXJyYXkgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KFtdLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IHN0cmluZyBhcnJheSBpbnB1dCB3aXRoIHJlcXVpcmVkIGFuZCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KFsnJ10sIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgbnVsbCBpbnB1dCB3aXRoIHJlcXVpcmVkIGFuZCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gbnVsbFxuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgdmFsaWQgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdvbmUnXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSBmYWxzZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdiYWQnXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSBmYWxzZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zV2l0aEVtcHR5U3RyaW5nKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyBlbXB0eSBzdHJpbmcgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0IGFuZCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBvcHRpb25zV2l0aEVtcHR5U3RyaW5nLnJlcXVpcmVkID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1dpdGhFbXB0eVN0cmluZylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgdmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydvbmUnLCAndHdvJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgaW52YWxpZCBpbnB1dCB3aXRoIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ29uZScsICdiYWQnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgc2VsZWN0T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggaGFzTWFueSBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnb25lJywgJ3RocmVlJ11cbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55IG9wdGlvbiBvYmplY3RzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWyd0aHJlZScsICdiYWQnXVxuICAgICAgb3B0aW9uc1JlcXVpcmVkLmhhc01hbnkgPSB0cnVlXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gIH0pXG4gIGRlc2NyaWJlKCdudW1iZXInLCAoKSA9PiB7XG4gICAgY29uc3QgbnVtYmVyT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IDFcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIG51bWJlck9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIDAnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAwXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIDInLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxLjVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIG51bWJlck9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgaW52YWxpZCBudW1iZXIgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pblZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMi40XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIG1pbjogMi41IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4VmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxLjI1XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIG1heDogMSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpncmVhdGVyVGhhbk1heCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWluOiAzIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgbnVtYmVycyB1c2luZyBtYXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlLCBtYXg6IDEgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1pblJvd3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlLCBtaW5Sb3dzOiA0IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWF4Um93cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsxLjI1LCAyLjUsIDMuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWF4Um93czogMiB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nKVxuICAgIH0pXG4gIH0pXG59KVxuIl0sIm5hbWVzIjpbInQiLCJqZXN0IiwiZm4iLCJzdHJpbmciLCJvcHRpb25zIiwiZGF0YSIsInVuZGVmaW5lZCIsIm9wZXJhdGlvbiIsInNpYmxpbmdEYXRhIiwiZGVzY3JpYmUiLCJpdCIsInZhbCIsInJlc3VsdCIsInRleHQiLCJleHBlY3QiLCJ0b0JlIiwicmVxdWlyZWQiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJoYXNNYW55IiwiZmllbGQiLCJuYW1lIiwidHlwZSIsInRleHRhcmVhIiwicGFzc3dvcmRPcHRpb25zIiwicGFzc3dvcmQiLCJwb2ludE9wdGlvbnMiLCJwb2ludCIsIm5vdCIsInJlbGF0aW9uQ29sbGVjdGlvbiIsImZpZWxkcyIsInNsdWciLCJyZWxhdGlvbnNoaXBPcHRpb25zIiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJwYXlsb2FkIiwicmVsYXRpb24iLCJyZWxhdGlvblRvIiwicmVsYXRpb25zaGlwIiwibWluT3B0aW9ucyIsIm1pblJvd3MiLCJhbGxvd2VkIiwidG9TdHJpY3RFcXVhbCIsIm1heE9wdGlvbnMiLCJtYXhSb3dzIiwic2VsZWN0T3B0aW9ucyIsIm9wdGlvbnNSZXF1aXJlZCIsImxhYmVsIiwidmFsdWUiLCJvcHRpb25zV2l0aEVtcHR5U3RyaW5nIiwic2VsZWN0IiwibnVtYmVyT3B0aW9ucyIsIm51bWJlciIsIm1pbiIsIm1heCJdLCJtYXBwaW5ncyI6Ijs7Ozs2QkFFOEU7QUFFOUUsTUFBTUEsSUFBSUMsS0FBS0MsRUFBRSxDQUFDLENBQUNDLFNBQVdBO0FBRTlCLElBQUlDLFVBQTBDO0lBQzVDQyxNQUFNQztJQUNOQyxXQUFXO0lBQ1hDLGFBQWFGO0lBQ2JOO0FBQ0Y7QUFFQVMsU0FBUyxxQkFBcUI7SUFDNUJBLFNBQVMsUUFBUTtR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
658
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZhbGlkYXRlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBudW1iZXIsIHBhc3N3b3JkLCBwb2ludCwgcmVsYXRpb25zaGlwLCBzZWxlY3QsIHRleHQsIHRleHRhcmVhIH0gZnJvbSAnLi92YWxpZGF0aW9ucydcblxuY29uc3QgdCA9IGplc3QuZm4oKHN0cmluZykgPT4gc3RyaW5nKVxuXG5sZXQgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPGFueSwgYW55PiA9IHtcbiAgZGF0YTogdW5kZWZpbmVkLFxuICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICBzaWJsaW5nRGF0YTogdW5kZWZpbmVkLFxuICByZXE6IHtcbiAgICB0LFxuICAgIGNvbnRleHQ6IHt9LFxuICAgIHBheWxvYWQ6IHtcbiAgICAgIGNvbmZpZzoge30sXG4gICAgfSxcbiAgfSxcbn1cblxuZGVzY3JpYmUoJ0ZpZWxkIFZhbGlkYXRpb25zJywgKCkgPT4ge1xuICBkZXNjcmliZSgndGV4dCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rlc3QnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgb3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndG9vbG9uZydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdzaG9ydCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgdGV4dHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ3Rlc3QnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgaGFzTWFueTogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgYXJyYXkgb2YgdGV4dHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ3Rlc3QnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCd0ZXh0YXJlYScsICgpID0+IHtcbiAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBmaWVsZDogeyBuYW1lOiAndGVzdCcsIHR5cGU6ICd0ZXh0YXJlYScgfSB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndG9vbG9uZydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdzaG9ydCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdwYXNzd29yZCcsICgpID0+IHtcbiAgICBjb25zdCBwYXNzd29yZE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogJ3Rlc3QnLFxuICAgICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCBwYXNzd29yZE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHBhc3N3b3JkT3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rvb2xvbmcnXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnc2hvcnQnXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncG9pbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRPcHRpb25zID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6ICdwb2ludCcsXG4gICAgICB0eXBlOiAncG9pbnQnLFxuICAgIH1cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG51bWJlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJzAuMScsICcwLjInXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIHN0cmluZ3MgdGhhdCBjb3VsZCBiZSBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWycwLjEnLCAnMC4yJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2Ugd2hlbiB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgeyAuLi5wb2ludE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2Ugd2hlbiBhcnJheScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFtdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHsgLi4ucG9pbnRPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlIHdoZW4gYXJyYXkgb2YgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCB7IC4uLnBvaW50T3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQgbm90IHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IGFycmF5IG5vdCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFtdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGFycmF5IG9mIHVuZGVmaW5lZCBub3QgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbdW5kZWZpbmVkLCB1bmRlZmluZWRdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB0ZXh0IGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydiYWQnLCAnaW5wdXQnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IG1pc3NpbmcgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMC4xXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JlbGF0aW9uc2hpcCcsICgpID0+IHtcbiAgICBjb25zdCByZWxhdGlvbkNvbGxlY3Rpb24gPSB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNsdWc6ICdyZWxhdGlvbicsXG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25zaGlwT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICByZXE6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5yZXEsXG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLnJlcS5wYXlsb2FkLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgY29sbGVjdGlvbnM6IFtyZWxhdGlvbkNvbGxlY3Rpb25dLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uOiB7XG4gICAgICAgICAgICAgIGNvbmZpZzogcmVsYXRpb25Db2xsZWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlbGF0aW9uVG86ICdyZWxhdGlvbicsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHJlcXVpcmVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCB7IC4uLnJlbGF0aW9uc2hpcE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgd2l0aCBoYXNNYW55JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgZW5mb3JjZSBoYXNNYW55IG1pbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1pbk9wdGlvbnMgPSB7XG4gICAgICAgIC4uLnJlbGF0aW9uc2hpcE9wdGlvbnMsXG4gICAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICAgIG1pblJvd3M6IDIsXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbCA9IFsnYSddXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIG1pbk9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuXG4gICAgICBjb25zdCBhbGxvd2VkID0gYXdhaXQgcmVsYXRpb25zaGlwKFsnYScsICdiJ10sIG1pbk9wdGlvbnMpXG4gICAgICBleHBlY3QoYWxsb3dlZCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBlbmZvcmNlIGhhc01hbnkgbWF4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWF4T3B0aW9ucyA9IHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgbWF4Um93czogMixcbiAgICAgIH1cbiAgICAgIGxldCB2YWwgPSBbJ2EnLCAnYicsICdjJ11cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWF4T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG5cbiAgICAgIHZhbCA9IFsnYSddXG4gICAgICBjb25zdCBhbGxvd2VkID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWF4T3B0aW9ucylcbiAgICAgIGV4cGVjdChhbGxvd2VkKS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnc2VsZWN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgb3B0aW9uczogWydvbmUnLCAndHdvJywgJ3RocmVlJ10sXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uc1JlcXVpcmVkID0ge1xuICAgICAgLi4uc2VsZWN0T3B0aW9ucyxcbiAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT25lJyxcbiAgICAgICAgICB2YWx1ZTogJ29uZScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ3R3bycsXG4gICAgICAgICAgdmFsdWU6ICd0d28nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICd0aHJlZScsXG4gICAgICAgICAgdmFsdWU6ICd0aHJlZScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfVxuICAgIGNvbnN0IG9wdGlvbnNXaXRoRW1wdHlTdHJpbmcgPSB7XG4gICAgICAuLi5zZWxlY3RPcHRpb25zLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdOb25lJyxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ09wdGlvbicsXG4gICAgICAgICAgdmFsdWU6ICdvcHRpb24nLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB2YWxpZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdvbmUnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnYmFkJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgc2VsZWN0T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IG51bGwgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBudWxsXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB1bmRlZmluZWQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBsZXQgdmFsXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IHN0cmluZyBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB1bmRlZmluZWQgaW5wdXQgd2l0aCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QoJycsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgdW5kZWZpbmVkIGlucHV0IHdpdGggcmVxdWlyZWQgYW5kIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBsZXQgdmFsXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSB0cnVlXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IGFycmF5IGlucHV0IHdpdGggcmVxdWlyZWQgYW5kIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBvcHRpb25zUmVxdWlyZWQuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdChbXSwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBlbXB0eSBzdHJpbmcgYXJyYXkgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdChbJyddLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IG51bGwgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IG51bGxcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnb25lJ1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gZmFsc2VcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBpbnZhbGlkIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnYmFkJ1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gZmFsc2VcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IGVtcHR5IHN0cmluZyBpbnB1dCB3aXRoIG9wdGlvbiBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1dpdGhFbXB0eVN0cmluZylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdCBhbmQgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgb3B0aW9uc1dpdGhFbXB0eVN0cmluZy5yZXF1aXJlZCA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNXaXRoRW1wdHlTdHJpbmcpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggaGFzTWFueScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnb25lJywgJ3R3byddXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydvbmUnLCAnYmFkJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB2YWxpZCBpbnB1dCB3aXRoIGhhc01hbnkgb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ29uZScsICd0aHJlZSddXG4gICAgICBvcHRpb25zUmVxdWlyZWQuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBpbnZhbGlkIGlucHV0IHdpdGggaGFzTWFueSBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsndGhyZWUnLCAnYmFkJ11cbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICB9KVxuICBkZXNjcmliZSgnbnVtYmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IG51bWJlck9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogJ3Rlc3QnLFxuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCBudW1iZXJPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMFxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMS41XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCBudW1iZXJPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IGludmFsaWQgbnVtYmVyIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndGVzdCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjplbnRlck51bWJlcicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBlbXB0eSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHJlcXVpcmVkIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5WYWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IDIuNFxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBtaW46IDIuNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heFZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMS4yNVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBtYXg6IDEgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1pbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsxLjI1LCAyLjVdXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIGhhc01hbnk6IHRydWUsIG1pbjogMyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWF4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWF4OiAxIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgbnVtYmVycyB1c2luZyBtaW5Sb3dzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWluUm93czogNCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1heFJvd3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41LCAzLjVdXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIGhhc01hbnk6IHRydWUsIG1heFJvd3M6IDIgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJylcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJ0IiwiamVzdCIsImZuIiwic3RyaW5nIiwib3B0aW9ucyIsImRhdGEiLCJ1bmRlZmluZWQiLCJvcGVyYXRpb24iLCJzaWJsaW5nRGF0YSIsInJlcSIsImNvbnRleHQiLCJwYXlsb2FkIiwiY29uZmlnIiwiZGVzY3JpYmUiLCJpdCIsInZhbCIsInJlc3VsdCIsInRleHQiLCJleHBlY3QiLCJ0b0JlIiwicmVxdWlyZWQiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJoYXNNYW55IiwiZmllbGQiLCJuYW1lIiwidHlwZSIsInRleHRhcmVhIiwicGFzc3dvcmRPcHRpb25zIiwicGFzc3dvcmQiLCJwb2ludE9wdGlvbnMiLCJwb2ludCIsIm5vdCIsInJlbGF0aW9uQ29sbGVjdGlvbiIsImZpZWxkcyIsInNsdWciLCJyZWxhdGlvbnNoaXBPcHRpb25zIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbiIsInJlbGF0aW9uVG8iLCJyZWxhdGlvbnNoaXAiLCJtaW5PcHRpb25zIiwibWluUm93cyIsImFsbG93ZWQiLCJ0b1N0cmljdEVxdWFsIiwibWF4T3B0aW9ucyIsIm1heFJvd3MiLCJzZWxlY3RPcHRpb25zIiwib3B0aW9uc1JlcXVpcmVkIiwibGFiZWwiLCJ2YWx1ZSIsIm9wdGlvbnNXaXRoRW1wdHlTdHJpbmciLCJzZWxlY3QiLCJudW1iZXJP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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.11",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -8,7 +8,18 @@
8
8
  "bin": {
9
9
  "payload": "bin.js"
10
10
  },
11
- "exports": null,
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.js",
15
+ "types": "./dist/index.d.ts"
16
+ },
17
+ "./*": {
18
+ "import": "./dist/exports/*.js",
19
+ "require": "./dist/exports/*.js",
20
+ "types": "./dist/exports/*.d.ts"
21
+ }
22
+ },
12
23
  "dependencies": {
13
24
  "bson-objectid": "2.0.4",
14
25
  "conf": "10.2.0",
@@ -34,8 +45,7 @@
34
45
  "sanitize-filename": "1.6.3",
35
46
  "scheduler": "0.23.0",
36
47
  "scmp": "2.1.0",
37
- "sharp": "0.33.2",
38
- "@payloadcms/translations": "3.0.0-alpha.0"
48
+ "@payloadcms/translations": "3.0.0-alpha.11"
39
49
  },
40
50
  "devDependencies": {
41
51
  "@monaco-editor/react": "4.5.1",
@@ -82,8 +92,12 @@
82
92
  "rimraf": "3.0.2",
83
93
  "serve-static": "1.15.0",
84
94
  "ts-essentials": "7.0.3",
95
+ "sharp": "0.33.2",
85
96
  "@payloadcms/eslint-config": "1.1.1"
86
97
  },
98
+ "peerDependencies": {
99
+ "sharp": "0.33.2"
100
+ },
87
101
  "engines": {
88
102
  "node": ">=18.17.0"
89
103
  },