construct-hub 0.4.148 → 0.4.149

Sign up to get free protection for your applications and to get access to all the features.
package/.jsii CHANGED
@@ -16809,6 +16809,6 @@
16809
16809
  "symbolId": "src/package-sources/npmjs:NpmJsProps"
16810
16810
  }
16811
16811
  },
16812
- "version": "0.4.148",
16813
- "fingerprint": "mN7MulmtY45u79SD8t1/dolzHrrk8Lr+TSL0ApJFihE="
16812
+ "version": "0.4.149",
16813
+ "fingerprint": "KuU71YgKKV9+9XW8/Hzcu1pe5WnoWEFPgbYaRaZ9GKQ="
16814
16814
  }
@@ -391,8 +391,8 @@ class BackendDashboard extends constructs_1.Construct {
391
391
  ];
392
392
  const mFargateUsage = new aws_cloudwatch_1.Metric({
393
393
  dimensionsMap: {
394
- Class: 'None',
395
- Resource: 'OnDemand',
394
+ Class: 'Standard/OnDemand',
395
+ Resource: 'vCPU',
396
396
  Service: 'Fargate',
397
397
  Type: 'Resource',
398
398
  },
@@ -406,10 +406,10 @@ class BackendDashboard extends constructs_1.Construct {
406
406
  width: 12,
407
407
  title: 'Fargate Resources',
408
408
  left: [
409
- mFargateUsage.with({ label: 'Fargate Usage (On-Demand)' }),
409
+ mFargateUsage.with({ label: 'Fargate vCPU Usage (On-Demand)' }),
410
410
  new aws_cloudwatch_1.MathExpression({
411
411
  expression: 'SERVICE_QUOTA(mFargateUsage)',
412
- label: 'Fargate Quota (On-Demand)',
412
+ label: 'Fargate vCPU Quota (On-Demand)',
413
413
  usingMetrics: { mFargateUsage },
414
414
  }),
415
415
  ],
@@ -678,4 +678,4 @@ function renderReleaseNotesWidgets(releaseNotes) {
678
678
  ],
679
679
  ];
680
680
  }
681
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZC1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLCtEQVVvQztBQUVwQywyQ0FBdUM7QUFJdkMscUdBQStGO0FBSS9GLDBEQUtvQztBQUNwQyx3REFBa0U7QUFFbEUsMkNBUXFCO0FBQ3JCLGlEQUE0QztBQWdCNUMsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUE0QjtRQUU1QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFnQjtZQUMzQjtnQkFDRSxJQUFJLDBEQUEwQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtvQkFDNUQsS0FBSyxFQUFFLHlDQUF5QztvQkFDaEQsV0FBVyxFQUFFO3dCQUNYLDBIQUEwSDt3QkFDMUgsRUFBRTt3QkFDRiw4RkFBOEY7cUJBQy9GLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQ3pCLEdBQUcsRUFBRSx5Q0FBNkI7b0JBQ2xDLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUM7YUFDSDtTQUNGLENBQUM7UUFFRixLQUFLLE1BQU0sUUFBUSxJQUFJLGdDQUFxQixDQUFDLEdBQUcsRUFBRTtZQUNoRCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUMsUUFBUSxFQUNSLEtBQUssQ0FBQyxXQUFXLENBQ2xCLEVBQUU7Z0JBQ0QsaUNBQWlDO2dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNGO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxxQkFB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d0JBQ3BDLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLENBQUM7b0JBQ0YsWUFBWSxDQUFDLDJCQUEyQixDQUFDO3dCQUN2QyxLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQixDQUFDO29CQUNGLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIsQ0FBQztvQkFDRixZQUFZLENBQUMsK0JBQStCLENBQUM7d0JBQzNDLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLENBQUM7b0JBQ0YsWUFBWSxDQUFDLHlCQUF5QixDQUFDO3dCQUNyQyxLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixDQUFDO2lCQUNIO2FBQ0YsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxJQUFJLDRCQUFXLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLHdCQUF3QjtnQkFDL0IsSUFBSSxFQUFFO29CQUNKLHlCQUFVLENBQ1IsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQ3ZELFFBQVEsQ0FDVDtvQkFDRCx5QkFBVSxDQUNSLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUNyRCxRQUFRLENBQ1Q7b0JBQ0QseUJBQVUsQ0FDUixZQUFZLENBQUMsMEJBQTBCLENBQUM7d0JBQ3RDLEtBQUssRUFBRSxXQUFXO3FCQUNuQixDQUFDLEVBQ0YsUUFBUSxDQUNUO2lCQUNGO2FBQ0YsQ0FBQztTQUNIO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIERhc2hib2FyZCxcbiAgR3JhcGhXaWRnZXQsXG4gIEdyYXBoV2lkZ2V0VmlldyxcbiAgVGV4dFdpZGdldCxcbiAgSVdpZGdldCxcbiAgTWF0aEV4cHJlc3Npb24sXG4gIE1ldHJpYyxcbiAgU3RhdGlzdGljLFxuICBQZXJpb2RPdmVycmlkZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERlbnlMaXN0IH0gZnJvbSAnLi9iYWNrZW5kL2RlbnktbGlzdCc7XG5pbXBvcnQgeyBJbmdlc3Rpb24gfSBmcm9tICcuL2JhY2tlbmQvaW5nZXN0aW9uJztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vYmFja2VuZC9pbnZlbnRvcnknO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zVGFibGVXaWRnZXQgfSBmcm9tICcuL2JhY2tlbmQvaW52ZW50b3J5L3BhY2thZ2UtdmVyc2lvbnMtdGFibGUtd2lkZ2V0JztcbmltcG9ydCB7IE9yY2hlc3RyYXRpb24gfSBmcm9tICcuL2JhY2tlbmQvb3JjaGVzdHJhdGlvbic7XG5pbXBvcnQgeyBQYWNrYWdlU3RhdHMgfSBmcm9tICcuL2JhY2tlbmQvcGFja2FnZS1zdGF0cyc7XG5pbXBvcnQgeyBSZWxlYXNlTm90ZUZldGNoZXIgfSBmcm9tICcuL2JhY2tlbmQvcmVsZWFzZS1ub3Rlcyc7XG5pbXBvcnQge1xuICBtaXNzaW5nRG9jdW1lbnRhdGlvblJlcG9ydCxcbiAgVU5JTlNUQUxMQUJMRV9QQUNLQUdFU19SRVBPUlQsXG4gIGNvcnJ1cHRBc3NlbWJseVJlcG9ydCxcbiAgVkVSU0lPTl9UUkFDS0VSX0tFWSxcbn0gZnJvbSAnLi9iYWNrZW5kL3NoYXJlZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgRG9jdW1lbnRhdGlvbkxhbmd1YWdlIH0gZnJvbSAnLi9iYWNrZW5kL3NoYXJlZC9sYW5ndWFnZSc7XG5pbXBvcnQgeyBWZXJzaW9uVHJhY2tlciB9IGZyb20gJy4vYmFja2VuZC92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IHtcbiAgZWNzQ2x1c3RlclVybCxcbiAgbGFtYmRhRnVuY3Rpb25VcmwsXG4gIGxhbWJkYVNlYXJjaExvZ0dyb3VwVXJsLFxuICBsb2dHcm91cFVybCxcbiAgczNPYmplY3RVcmwsXG4gIHNxc1F1ZXVlVXJsLFxuICBzdGF0ZU1hY2hpbmVVcmwsXG59IGZyb20gJy4vZGVlcC1saW5rJztcbmltcG9ydCB7IGZpbGxNZXRyaWMgfSBmcm9tICcuL21ldHJpYy11dGlscyc7XG5pbXBvcnQgeyBQYWNrYWdlU291cmNlQmluZFJlc3VsdCB9IGZyb20gJy4vcGFja2FnZS1zb3VyY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tlbmREYXNoYm9hcmRQcm9wcyB7XG4gIHJlYWRvbmx5IGRhc2hib2FyZE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhY2thZ2VTb3VyY2VzOiBQYWNrYWdlU291cmNlQmluZFJlc3VsdFtdO1xuICByZWFkb25seSBpbmdlc3Rpb246IEluZ2VzdGlvbjtcbiAgcmVhZG9ubHkgb3JjaGVzdHJhdGlvbjogT3JjaGVzdHJhdGlvbjtcbiAgcmVhZG9ubHkgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG4gIHJlYWRvbmx5IGRlbnlMaXN0OiBEZW55TGlzdDtcbiAgcmVhZG9ubHkgcGFja2FnZURhdGE6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IHBhY2thZ2VTdGF0cz86IFBhY2thZ2VTdGF0cztcbiAgcmVhZG9ubHkgdmVyc2lvblRyYWNrZXI6IFZlcnNpb25UcmFja2VyO1xuICByZWFkb25seSByZWxlYXNlTm90ZXM/OiBSZWxlYXNlTm90ZUZldGNoZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBCYWNrZW5kRGFzaGJvYXJkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQmFja2VuZERhc2hib2FyZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZXBvcnRzOiBJV2lkZ2V0W11bXSA9IFtcbiAgICAgIFtcbiAgICAgICAgbmV3IFBhY2thZ2VWZXJzaW9uc1RhYmxlV2lkZ2V0KHRoaXMsICdVbmluc3RhbGxhYmxlUGFja2FnZXMnLCB7XG4gICAgICAgICAgdGl0bGU6ICdQYWNrYWdlIFZlcnNpb25zIFJlcG9ydCB8IFVuaW5zdGFsbGFibGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICBcIlRoZXNlIHBhY2thZ2VzIGNvdWxkIG5vdCBiZSBpbnN0YWxsZWQuIE5vdGUgdGhhdCBjdXJyZW50bHkgdGhleSB3aWxsIGFsc28gYXBwZWFyIGluIHRoZSAnbWlzc2luZycgZG9jdW1lbnRhdGlvbiByZXBvcnRzLlwiLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBcIlRoZSBzcGVjaWZpYyBlcnJvciBjYW4gYmUgZm91bmQgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGluc2lkZSBhIGZpbGUgbmFtZWQgJ3VuaW5zdGFsbGFibGUnXCIsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICBidWNrZXQ6IHByb3BzLnBhY2thZ2VEYXRhLFxuICAgICAgICAgIGtleTogVU5JTlNUQUxMQUJMRV9QQUNLQUdFU19SRVBPUlQsXG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIERvY3VtZW50YXRpb25MYW5ndWFnZS5BTEwpIHtcbiAgICAgIGZvciAoY29uc3QgcmVwb3J0IG9mIHRoaXMucGVyTGFuZ3VhZ2VSZXBvcnRzKFxuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgcHJvcHMucGFja2FnZURhdGFcbiAgICAgICkpIHtcbiAgICAgICAgLy8gcHV0IGV2ZXJ5IHJlcG9ydCBpbiBhIG5ldyBsaW5lXG4gICAgICAgIHJlcG9ydHMucHVzaChbcmVwb3J0XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IHByb3BzLmRhc2hib2FyZE5hbWUgPz8gJ0NvbnN0cnVjdEh1YkJhY2tlbmQnO1xuXG4gICAgbmV3IERhc2hib2FyZCh0aGlzLCAnUmVwb3J0cycsIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IGAke2Rhc2hib2FyZE5hbWV9LXJlcG9ydHNgLFxuICAgICAgcGVyaW9kT3ZlcnJpZGU6IFBlcmlvZE92ZXJyaWRlLkFVVE8sXG4gICAgICBzdGFydDogJy1QMVcnLCAvLyBTaG93IDEgd2VlayBieSBkZWZhdWx0XG4gICAgICB3aWRnZXRzOiByZXBvcnRzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhc2hib2FyZCh0aGlzLCAnR3JhcGhzJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTogYCR7ZGFzaGJvYXJkTmFtZX0tZ3JhcGhzYCxcbiAgICAgIHBlcmlvZE92ZXJyaWRlOiBQZXJpb2RPdmVycmlkZS5BVVRPLFxuICAgICAgc3RhcnQ6ICctUDFXJywgLy8gU2hvdyAxIHdlZWsgYnkgZGVmYXVsdFxuICAgICAgd2lkZ2V0czogW1xuICAgICAgICBbXG4gICAgICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAgICAgJyMgQ2F0YWxvZyBPdmVydmlldycsXG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpwcmltYXJ5OlBhY2thZ2UgRGF0YV0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5wYWNrYWdlRGF0YVxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpDYXRhbG9nIEJ1aWxkZXJdKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5jYXRhbG9nQnVpbGRlci5mdW5jdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpJbnZlbnRvcnkgQ2FuYXJ5XSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5mdW5jdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpTZWFyY2ggQ2FuYXJ5IExvZyBHcm91cF0oJHtsYW1iZGFTZWFyY2hMb2dHcm91cFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkuZnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdDYXRhbG9nIFNpemUnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljU3VibW9kdWxlQ291bnQoeyBsYWJlbDogJ1N1Ym1vZHVsZXMnIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljUGFja2FnZVZlcnNpb25Db3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdQYWNrYWdlIFZlcnNpb25zJyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNQYWNrYWdlTWFqb3JDb3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdQYWNrYWdlIE1ham9ycycsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljUGFja2FnZUNvdW50KHsgbGFiZWw6ICdQYWNrYWdlcycgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0NhdGFsb2cgSXNzdWVzJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgcHJvcHMuaW52ZW50b3J5Lm1ldHJpY1Vua25vd25PYmplY3RDb3VudCh7IGxhYmVsOiAnVW5rbm93bicgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNNaXNzaW5nQXNzZW1ibHlDb3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdNaXNzaW5nIEFzc2VtYmx5JyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNNaXNzaW5nUGFja2FnZU1ldGFkYXRhQ291bnQoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzc2luZyBNZXRhZGF0YScsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljTWlzc2luZ1BhY2thZ2VUYXJiYWxsQ291bnQoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzc2luZyBUYXJiYWxsJyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNVbmluc3RhbGxhYmxlUGFja2FnZUNvdW50KHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1VuaW5zdGFsbGFibGUgUGFja2FnZScsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uY2F0YWxvZ0J1aWxkZXIubWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya0NvdW50KFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdObyBDb25zdHJ1Y3QgRnJhbWV3b3JrJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uY2F0YWxvZ0J1aWxkZXIubWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya1ZlcnNpb25Db3VudChcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTm8gQ29uc3RydWN0IEZyYW1ld29yayBWZXJzaW9uJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgLi4udGhpcy5jYXRhbG9nT3ZlcnZpZXdMYW5ndWFnZVNlY3Rpb25zKHByb3BzKSxcbiAgICAgICAgLi4ucmVuZGVyUGFja2FnZVNvdXJjZXNXaWRnZXRzKHByb3BzLnBhY2thZ2VTb3VyY2VzKSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogMixcbiAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgICAgICcjIEluZ2VzdGlvbiBGdW5jdGlvbicsXG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpJbmdlc3Rpb24gRnVuY3Rpb25dKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uXG4gICAgICAgICAgICAgICl9KWAsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6U2VhcmNoIExvZyBHcm91cF0oJHtsYW1iZGFTZWFyY2hMb2dHcm91cFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246RExRXSgke3Nxc1F1ZXVlVXJsKHByb3BzLmluZ2VzdGlvbi5kZWFkTGV0dGVyUXVldWUpfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0Z1bmN0aW9uIEhlYWx0aCcsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uLm1ldHJpY0ludm9jYXRpb25zKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW52b2NhdGlvbnMnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uLm1ldHJpY0Vycm9ycyh7IGxhYmVsOiAnRXJyb3JzJyB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdJbnB1dCBRdWV1ZScsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1Zpc2libGUgTWVzc2FnZXMnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIaWRkZW4gTWVzc2FnZXMnLCBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSkgfVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRBbm5vdGF0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmZhNTAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzEwIE1pbnV0ZXMnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBEdXJhdGlvbi5taW51dGVzKDEwKS50b1NlY29uZHMoKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnSW5wdXQgUXVhbGl0eScsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLm1ldHJpY0ludmFsaWRBc3NlbWJseSh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ludmFsaWQgQXNzZW1ibGllcycsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24ubWV0cmljSW52YWxpZFRhcmJhbGwoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnZhbGlkIFRhcmJhbGwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLm1ldHJpY0luZWxpZ2libGVMaWNlbnNlKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW5lbGlnaWJsZSBMaWNlbnNlJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5tZXRyaWNNaXNtYXRjaGVkSWRlbnRpdHlSZWplY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzbWF0Y2hlZCBJZGVudGl0eScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24ubWV0cmljRm91bmRMaWNlbnNlRmlsZSh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZvdW5kIExpY2Vuc2UgZmlsZScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbGFiZWw6ICdDb3VudCcsIG1pbjogMCwgc2hvd1VuaXRzOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdEZWFkIExldHRlcnMnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ1Zpc2libGUgTWVzc2FnZXMnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdJbnZpc2libGUgTWVzc2FnZXMnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICByaWdodDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodEFubm90YXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZjdmMGUnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnMTAgZGF5cycsXG4gICAgICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLmRheXMoMTApLnRvU2Vjb25kcygpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmYwMDAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzE0IGRheXMgKERMUSBSZXRlbnRpb24pJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogRHVyYXRpb24uZGF5cygxNCkudG9TZWNvbmRzKCksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogMixcbiAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgICAgICcjIE9yY2hlc3RyYXRpb24nLFxuICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgYFtidXR0b246cHJpbWFyeTpTdGF0ZSBNYWNoaW5lXSgke3N0YXRlTWFjaGluZVVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLnN0YXRlTWFjaGluZVxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpETFFdKCR7c3FzUXVldWVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5kZWFkTGV0dGVyUXVldWVcbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246UmVkcml2ZSBETFFdKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5yZWRyaXZlRnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246UmVnZW5lcmF0ZSBBbGwgRG9jdW1lbnRhdGlvbl0oJHtzdGF0ZU1hY2hpbmVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5yZWdlbmVyYXRlQWxsRG9jdW1lbnRhdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ1N0YXRlIE1hY2hpbmUgRXhlY3V0aW9ucycsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljU3RhcnRlZCh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ1N0YXJ0ZWQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljU3VjY2VlZGVkKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3VjY2VlZGVkJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uc3RhdGVNYWNoaW5lLm1ldHJpY0Fib3J0ZWQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBYm9ydGVkJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uc3RhdGVNYWNoaW5lLm1ldHJpY0ZhaWxlZCh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLnN0YXRlTWFjaGluZS5tZXRyaWNUaHJvdHRsZWQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaHJvdHRsZWQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljVGltZWRPdXQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaW1lZCBPdXQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgICAgcmlnaHQ6IFtcbiAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljVGltZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdEdXJhdGlvbicsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJpZ2h0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnRGVhZCBMZXR0ZXIgUXVldWUnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdWaXNpYmxlIE1lc3NhZ2VzJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUoXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ludmlzaWJsZSBNZXNzYWdlcycgfVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodEFubm90YXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZjdmMGUnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnMTAgZGF5cycsXG4gICAgICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLmRheXMoMTApLnRvU2Vjb25kcygpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmYwMDAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzE0IGRheXMgKERMUSBSZXRlbnRpb24pJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogRHVyYXRpb24uZGF5cygxNCkudG9TZWNvbmRzKCksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcblxuICAgICAgICAvLyBkZW55IGxpc3RcbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBbXG4gICAgICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAgICAgJyMgRGVueSBMaXN0JyxcbiAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6RGVueSBMaXN0IE9iamVjdF0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5idWNrZXQsXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3Qub2JqZWN0S2V5XG4gICAgICAgICAgICAgICl9KWAsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOlBydW5lIEZ1bmN0aW9uXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnBydW5lSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpQcnVuZSBMb2dzXSgke2xhbWJkYVNlYXJjaExvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnBydW5lSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpEZWxldGUgUXVldWVdKCR7c3FzUXVldWVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QucHJ1bmUucXVldWVcbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246RGVsZXRlIExvZ3NdKCR7bGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QucHJ1bmUuZGVsZXRlSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0RlbnkgTGlzdCcsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QubWV0cmljRGVueUxpc3RSdWxlcyh7IGxhYmVsOiAnUnVsZXMnIH0pLFxuICAgICAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnF1ZXVlLm1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0RlbGV0ZWQgRmlsZXMnLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnUHJ1bmUgRnVuY3Rpb24gSGVhbHRoJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5wcnVuZS5wcnVuZUhhbmRsZXIubWV0cmljSW52b2NhdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnZvY2F0aW9ucycsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5wcnVuZS5wcnVuZUhhbmRsZXIubWV0cmljRXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRXJyb3JzJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcblxuICAgICAgICAuLi4ocHJvcHMucGFja2FnZVN0YXRzXG4gICAgICAgICAgPyByZW5kZXJQYWNrYWdlU3RhdHNXaWRnZXRzKHByb3BzLnBhY2thZ2VTdGF0cylcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4ucmVuZGVyVmVyc2lvblRyYWNrZXJXaWRnZXRzKHByb3BzLnZlcnNpb25UcmFja2VyKSxcbiAgICAgICAgLi4uKHByb3BzLnJlbGVhc2VOb3Rlc1xuICAgICAgICAgID8gcmVuZGVyUmVsZWFzZU5vdGVzV2lkZ2V0cyhwcm9wcy5yZWxlYXNlTm90ZXMpXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJMYW5ndWFnZVJlcG9ydHMoXG4gICAgbGFuZ3VhZ2U6IERvY3VtZW50YXRpb25MYW5ndWFnZSxcbiAgICBwYWNrYWdlRGF0YTogSUJ1Y2tldFxuICApOiBJV2lkZ2V0W10ge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGFja2FnZVZlcnNpb25zVGFibGVXaWRnZXQodGhpcywgYE1pc3NpbmdEb2NzLSR7bGFuZ3VhZ2UubmFtZX1gLCB7XG4gICAgICAgIHRpdGxlOiBgUGFja2FnZSBWZXJzaW9ucyBSZXBvcnQgfCBNaXNzaW5nIERvY3VtZW50YXRpb24gfCBfJHtsYW5ndWFnZS5uYW1lfV9gLFxuICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgIGBUaGVzZSBwYWNrYWdlcyBhcmUgbWlzc2luZyAke2xhbmd1YWdlLm5hbWV9IGRvY3VtZW50YXRpb24uYCxcbiAgICAgICAgICAnQXBhcnQgZnJvbSB0aGUgdW5pbnN0YWxsYWJsZSBwYWNrYWdlcywgdGhpcyByZXBvcnQgc2hvdWxkIHN0YXkgZW1wdHknLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdUbyBpbnZlc3RpZ2F0ZSBpbnNwZWN0IHRoZSBvcmNoZXN0cmF0aW9uIERMUS4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICBidWNrZXQ6IHBhY2thZ2VEYXRhLFxuICAgICAgICBrZXk6IG1pc3NpbmdEb2N1bWVudGF0aW9uUmVwb3J0KGxhbmd1YWdlKSxcbiAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICB9KSxcbiAgICAgIG5ldyBQYWNrYWdlVmVyc2lvbnNUYWJsZVdpZGdldChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYENvcnJ1cHRBc3NlbWJseURvY3MtJHtsYW5ndWFnZS5uYW1lfWAsXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogYFBhY2thZ2UgVmVyc2lvbnMgUmVwb3J0IHwgQ29ycnVwdCBBc3NlbWJseSB8IF8ke2xhbmd1YWdlLm5hbWV9X2AsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgIGBUaGVzZSBwYWNrYWdlcyBhcmUgbWlzc2luZyAke2xhbmd1YWdlLm5hbWV9IGRvY3VtZW50YXRpb24gYmVjYXVzZSBvZiBhIGNvcnJ1cHRlZCBhc3NlbWJseS5gLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBcIlRoZSBzcGVjaWZpYyBlcnJvciBjYW4gYmUgZm91bmQgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGluc2lkZSBmaWxlcyBzdWZmaXhlZCB3aXRoICcuY29ycnVwdGFzc2VtYmx5J1wiLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgYnVja2V0OiBwYWNrYWdlRGF0YSxcbiAgICAgICAgICBrZXk6IGNvcnJ1cHRBc3NlbWJseVJlcG9ydChsYW5ndWFnZSksXG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSAqY2F0YWxvZ092ZXJ2aWV3TGFuZ3VhZ2VTZWN0aW9ucyh7XG4gICAgaW52ZW50b3J5LFxuICAgIG9yY2hlc3RyYXRpb24sXG4gIH06IEJhY2tlbmREYXNoYm9hcmRQcm9wcyk6IEdlbmVyYXRvcjxJV2lkZ2V0W10+IHtcbiAgICB5aWVsZCBbXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBtYXJrZG93bjogW1xuICAgICAgICAgICcjIERvY3VtZW50YXRpb24gR2VuZXJhdGlvbicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYFtidXR0b246cHJpbWFyeTpUcmFuc2xpdGVyYXRvciBMb2dzXSgke2xvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgb3JjaGVzdHJhdGlvbi50cmFuc2xpdGVyYXRvci5sb2dHcm91cFxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246VHJhbnNsaXRlcmF0b3IgRUNTIENsdXN0ZXJdKCR7ZWNzQ2x1c3RlclVybChcbiAgICAgICAgICAgIG9yY2hlc3RyYXRpb24uZWNzQ2x1c3RlclxuICAgICAgICAgICl9KWAsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9KSxcbiAgICBdO1xuICAgIGNvbnN0IG1GYXJnYXRlVXNhZ2UgPSBuZXcgTWV0cmljKHtcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgQ2xhc3M6ICdOb25lJyxcbiAgICAgICAgUmVzb3VyY2U6ICdPbkRlbWFuZCcsXG4gICAgICAgIFNlcnZpY2U6ICdGYXJnYXRlJyxcbiAgICAgICAgVHlwZTogJ1Jlc291cmNlJyxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiAnUmVzb3VyY2VDb3VudCcsXG4gICAgICBuYW1lc3BhY2U6ICdBV1MvVXNhZ2UnLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICB9KTtcblxuICAgIHlpZWxkIFtcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0ZhcmdhdGUgUmVzb3VyY2VzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIG1GYXJnYXRlVXNhZ2Uud2l0aCh7IGxhYmVsOiAnRmFyZ2F0ZSBVc2FnZSAoT24tRGVtYW5kKScgfSksXG4gICAgICAgICAgbmV3IE1hdGhFeHByZXNzaW9uKHtcbiAgICAgICAgICAgIGV4cHJlc3Npb246ICdTRVJWSUNFX1FVT1RBKG1GYXJnYXRlVXNhZ2UpJyxcbiAgICAgICAgICAgIGxhYmVsOiAnRmFyZ2F0ZSBRdW90YSAoT24tRGVtYW5kKScsXG4gICAgICAgICAgICB1c2luZ01ldHJpY3M6IHsgbUZhcmdhdGVVc2FnZSB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgb3JjaGVzdHJhdGlvbi5tZXRyaWNFY3NDcHVVdGlsaXphdGlvbih7IGxhYmVsOiAnQ1BVIFV0aWxpemF0aW9uJyB9KSxcbiAgICAgICAgICBvcmNoZXN0cmF0aW9uLm1ldHJpY0Vjc01lbW9yeVV0aWxpemF0aW9uKHtcbiAgICAgICAgICAgIGxhYmVsOiAnTWVtb3J5IFV0aWxpemF0aW9uJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgcmlnaHRZQXhpczogeyBsYWJlbDogJ1BlcmNlbnQnLCBtaW46IDAsIG1heDogMTAwLCBzaG93VW5pdHM6IGZhbHNlIH0sXG4gICAgICB9KSxcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0VDUyBSZXNvdXJjZXMnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIG9yY2hlc3RyYXRpb24ubWV0cmljRWNzTmV0d29ya1J4Qnl0ZXMoeyBsYWJlbDogJ1JlY2VpdmVkIEJ5dGVzJyB9KVxuICAgICAgICAgICksXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIG9yY2hlc3RyYXRpb24ubWV0cmljRWNzTmV0d29ya1R4Qnl0ZXMoe1xuICAgICAgICAgICAgICBsYWJlbDogJ1RyYW5zbWl0dGVkIEJ5dGVzJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICByaWdodDogW1xuICAgICAgICAgIGZpbGxNZXRyaWMob3JjaGVzdHJhdGlvbi5tZXRyaWNFY3NUYXNrQ291bnQoeyBsYWJlbDogJ1Rhc2sgQ291bnQnIH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIERvY3VtZW50YXRpb25MYW5ndWFnZS5BTEwpIHtcbiAgICAgIHlpZWxkIFtcbiAgICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgICAgbWFya2Rvd246IGAjIyBMYW5ndWFnZTogJHtsYW5ndWFnZS50b1N0cmluZygpfWAsXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICAgIHlpZWxkIFtcbiAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgIHRpdGxlOiAnUGFja2FnZSBWZXJzaW9ucycsXG4gICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY1N1cHBvcnRlZFBhY2thZ2VWZXJzaW9uQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUnLFxuICAgICAgICAgICAgICBjb2xvcjogJyMyY2EwMmMnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljQ29ycnVwdEFzc2VtYmx5UGFja2FnZVZlcnNpb25Db3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ0NvcnJ1cHQgQXNzZW1ibHknLFxuICAgICAgICAgICAgICBjb2xvcjogJyMzNTQyRDcnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljVW5zdXBwb3J0ZWRQYWNrYWdlVmVyc2lvbkNvdW50KGxhbmd1YWdlLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnVW5zdXBwb3J0ZWQnLFxuICAgICAgICAgICAgICBjb2xvcjogJyM5NDY3YmQnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljTWlzc2luZ1BhY2thZ2VWZXJzaW9uQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdNaXNzaW5nJyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjZDYyNzI4JyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGVmdFlBeGlzOiB7IHNob3dVbml0czogZmFsc2UgfSxcbiAgICAgICAgICB2aWV3OiBHcmFwaFdpZGdldFZpZXcuUElFLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgIHRpdGxlOiAnUGFja2FnZSBWZXJzaW9uIFN1Ym1vZHVsZXMnLFxuICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgIGludmVudG9yeS5tZXRyaWNTdXBwb3J0ZWRTdWJtb2R1bGVDb3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ0F2YWlsYWJsZScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzJjYTAyYycsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGludmVudG9yeS5tZXRyaWNDb3JydXB0QXNzZW1ibHlTdWJtb2R1bGVDb3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ0NvcnJ1cHQgQXNzZW1ibHknLFxuICAgICAgICAgICAgICBjb2xvcjogJyMzNTQyRDcnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljVW5zdXBwb3J0ZWRTdWJtb2R1bGVDb3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ1Vuc3VwcG9ydGVkJyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjOTQ2N2JkJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY01pc3NpbmdTdWJtb2R1bGVDb3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ01pc3NpbmcnLFxuICAgICAgICAgICAgICBjb2xvcjogJyNkNjI3MjgnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHsgc2hvd1VuaXRzOiBmYWxzZSB9LFxuICAgICAgICAgIHZpZXc6IEdyYXBoV2lkZ2V0Vmlldy5QSUUsXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24qIHJlbmRlclBhY2thZ2VTb3VyY2VzV2lkZ2V0cyhcbiAgcGFja2FnZVNvdXJjZXM6IFBhY2thZ2VTb3VyY2VCaW5kUmVzdWx0W11cbik6IEdlbmVyYXRvcjxJV2lkZ2V0W10sIHVuZGVmaW5lZCwgdW5kZWZpbmVkPiB7XG4gIGZvciAoY29uc3QgcGFja2FnZVNvdXJjZSBvZiBwYWNrYWdlU291cmNlcykge1xuICAgIHlpZWxkIFtcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgYCMgJHtwYWNrYWdlU291cmNlLm5hbWV9YCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAuLi4ocGFja2FnZVNvdXJjZS5saW5rcyA/PyBbXSkubWFwKFxuICAgICAgICAgICAgKHsgbmFtZSwgcHJpbWFyeSwgdXJsIH0pID0+XG4gICAgICAgICAgICAgIGBbJHtwcmltYXJ5ID8gJ2J1dHRvbjpwcmltYXJ5JyA6ICdidXR0b24nfToke25hbWV9XSgke3VybH0pYFxuICAgICAgICAgICksXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9KSxcbiAgICBdO1xuICAgIHlpZWxkKiBwYWNrYWdlU291cmNlLmRhc2hib2FyZFdpZGdldHM7XG4gIH1cbiAgcmV0dXJuO1xufVxuXG5mdW5jdGlvbiByZW5kZXJQYWNrYWdlU3RhdHNXaWRnZXRzKHBhY2thZ2VTdGF0czogUGFja2FnZVN0YXRzKTogSVdpZGdldFtdW10ge1xuICByZXR1cm4gW1xuICAgIFtcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgJyMgUGFja2FnZSBTdGF0cycsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYFtidXR0b246cHJpbWFyeTpQYWNrYWdlIFN0YXRzIE9iamVjdF0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgIHBhY2thZ2VTdGF0cy5idWNrZXQsXG4gICAgICAgICAgICBwYWNrYWdlU3RhdHMuc3RhdHNLZXlcbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOlBhY2thZ2UgU3RhdHMgRnVuY3Rpb25dKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICBwYWNrYWdlU3RhdHMuaGFuZGxlclxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246UGFja2FnZSBTdGF0cyBMb2dzXSgke2xhbWJkYVNlYXJjaExvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgcGFja2FnZVN0YXRzLmhhbmRsZXJcbiAgICAgICAgICApfSlgLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgfSksXG4gICAgXSxcbiAgICBbXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdOdW1iZXIgb2YgUGFja2FnZSBTdGF0cyBSZWNvcmRlZCcsXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgcGFja2FnZVN0YXRzLm1ldHJpY1BhY2thZ2VzQ291bnQoeyBsYWJlbDogJ1BhY2thZ2VzIHdpdGggc3RhdHMnIH0pLFxuICAgICAgICAgICAgJ1JFUEVBVCdcbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICB9KSxcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0ludm9jYXRpb24gRHVyYXRpb24nLFxuICAgICAgICBsZWZ0OiBbcGFja2FnZVN0YXRzLmhhbmRsZXIubWV0cmljRHVyYXRpb24oeyBsYWJlbDogJ0R1cmF0aW9uJyB9KV0sXG4gICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgcmlnaHRBbm5vdGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2ZmYTUwMCcsXG4gICAgICAgICAgICBsYWJlbDogJzE1IG1pbnV0ZXMgKExhbWJkYSB0aW1lb3V0KScsXG4gICAgICAgICAgICB2YWx1ZTogRHVyYXRpb24ubWludXRlcygxNSkudG9TZWNvbmRzKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIHJlbmRlclZlcnNpb25UcmFja2VyV2lkZ2V0cyhcbiAgdmVyc2lvblRyYWNrZXI6IFZlcnNpb25UcmFja2VyXG4pOiBJV2lkZ2V0W11bXSB7XG4gIHJldHVybiBbXG4gICAgW1xuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAnIyBWZXJzaW9uIFRyYWNrZXInLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6VmVyc2lvbnMgT2JqZWN0XSgke3MzT2JqZWN0VXJsKFxuICAgICAgICAgICAgdmVyc2lvblRyYWNrZXIuYnVja2V0LFxuICAgICAgICAgICAgVkVSU0lPTl9UUkFDS0VSX0tFWVxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246VmVyc2lvbiBUcmFja2VyIEZ1bmN0aW9uXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgdmVyc2lvblRyYWNrZXIuaGFuZGxlclxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246VmVyc2lvbiBUcmFja2VyIExvZ3NdKCR7bGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwoXG4gICAgICAgICAgICB2ZXJzaW9uVHJhY2tlci5oYW5kbGVyXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0pLFxuICAgIF0sXG4gICAgW1xuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIHRpdGxlOiAnTnVtYmVyIG9mIFBhY2thZ2UgVmVyc2lvbnMgUmVjb3JkZWQnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIHZlcnNpb25UcmFja2VyLm1ldHJpY1RyYWNrZWRWZXJzaW9uc0NvdW50KHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdQYWNrYWdlIHZlcnNpb25zIHJlY29yZGVkJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ1JFUEVBVCdcbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICB9KSxcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0ludm9jYXRpb24gRHVyYXRpb24nLFxuICAgICAgICBsZWZ0OiBbdmVyc2lvblRyYWNrZXIuaGFuZGxlci5tZXRyaWNEdXJhdGlvbih7IGxhYmVsOiAnRHVyYXRpb24nIH0pXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICByaWdodEFubm90YXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29sb3I6ICcjZmZhNTAwJyxcbiAgICAgICAgICAgIGxhYmVsOiAnMSBtaW51dGVzIChMYW1iZGEgdGltZW91dCknLFxuICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLm1pbnV0ZXMoMSkudG9TZWNvbmRzKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJlbGVhc2VOb3Rlc1dpZGdldHMoXG4gIHJlbGVhc2VOb3RlczogUmVsZWFzZU5vdGVGZXRjaGVyXG4pOiBJV2lkZ2V0W11bXSB7XG4gIHJldHVybiBbXG4gICAgW1xuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAnIyBSZWxlYXNlIE5vdGVzJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgW2J1dHRvbjpwcmltYXJ5OlN0YXRlTWFjaGluZV0oJHtzdGF0ZU1hY2hpbmVVcmwoXG4gICAgICAgICAgICByZWxlYXNlTm90ZXMuc3RhdGVNYWNoaW5lXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjpyZWxlYXNlTm90ZXNUcmlnZ2VyXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgcmVsZWFzZU5vdGVzLnJlbGVhc2VOb3Rlc1RyaWdnZXJMYW1iZGFcbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOmdlbmVyYXRlUmVsZWFzZU5vdGVzXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgcmVsZWFzZU5vdGVzLmdlbmVyYXRlUmVsZWFzZU5vdGVzTGFtYmRhXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjp1cGRhdGVGZWVkXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgcmVsZWFzZU5vdGVzLnVwZGF0ZUZlZWRGdW5jdGlvblxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246cXVldWVdKCR7c3FzUXVldWVVcmwocmVsZWFzZU5vdGVzLnF1ZXVlKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjp3b3JrZXJRdWV1ZV0oJHtzcXNRdWV1ZVVybChyZWxlYXNlTm90ZXMud29ya2VyUXVldWUpfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOndvcmtlckRMUV0oJHtzcXNRdWV1ZVVybChyZWxlYXNlTm90ZXMud29ya2VyRExRKX0pYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0pLFxuICAgIF0sXG4gICAgW1xuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIHRpdGxlOiAnTnVtYmVyIG9mIHJlbGVhc2UgTm90ZXMnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNQYWNrYWdlc1dpdGhSZWxlYXNlTm90ZXNDb3VudCh7XG4gICAgICAgICAgICAgIGxhYmVsOiAnUGFja2FnZXMgd2l0aCByZWxlYXNlIG5vdGVzJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgJ1JFUEVBVCdcbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICB9KSxcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ1JlbGVhc2Ugbm90ZXMgZ2VuZXJhdGlvbiBFcnJvcnMnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY0NoYW5nZUxvZ0FsbEVycm9yKHsgbGFiZWw6ICdBbGwgRXJyb3JzJyB9KSxcbiAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljUmVxdWVzdFVua25vd25FcnJvcih7IGxhYmVsOiAnVW5rbm93bkVycm9yJyB9KSxcbiAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljSW52YWxpZENyZWRlbnRpYWxzKHtcbiAgICAgICAgICAgIGxhYmVsOiAnSW52YWxpZENyZWRlbnRpYWxzJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljUmVxdWVzdFF1b3RhRXhoYXVzdGVkKHtcbiAgICAgICAgICAgIGxhYmVsOiAnUmVxdWVzdFF1b3RhRXhoYXVzdGVkJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljUmVxdWVzdFVuU3VwcG9ydGVkUmVwbyh7XG4gICAgICAgICAgICBsYWJlbDogJ1VuU3VwcG9ydGVkUmVwbycsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY1JlcXVlc3RJbnZhbGlkUGFja2FnZUpzb24oe1xuICAgICAgICAgICAgbGFiZWw6ICdJbnZhbGlkUGFja2FnZUpzb24nLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNDaGFuZ2VMb2dGZXRjaEVycm9yKHtcbiAgICAgICAgICAgIGxhYmVsOiAnQ2hhbmdlTG9nRmV0Y2hFcnJvcicsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0dpdEh1YiBBUEkgUmF0ZSBMaW1pdHMnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNHaFJhdGVMaW1pdExpbWl0KHsgbGFiZWw6ICdMaW1pdCcgfSksXG4gICAgICAgICAgICAnUkVQRUFUJ1xuICAgICAgICAgICksXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNHaFJhdGVMaW1pdFVzZWQoeyBsYWJlbDogJ1VzZWQnIH0pLFxuICAgICAgICAgICAgJ1JFUEVBVCdcbiAgICAgICAgICApLFxuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljR2hSYXRlTGltaXRSZW1haW5pbmcoe1xuICAgICAgICAgICAgICBsYWJlbDogJ1JlbWFpbmluZycsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIF07XG59XG4iXX0=
681
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZC1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLCtEQVVvQztBQUVwQywyQ0FBdUM7QUFJdkMscUdBQStGO0FBSS9GLDBEQUtvQztBQUNwQyx3REFBa0U7QUFFbEUsMkNBUXFCO0FBQ3JCLGlEQUE0QztBQWdCNUMsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUE0QjtRQUU1QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFnQjtZQUMzQjtnQkFDRSxJQUFJLDBEQUEwQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtvQkFDNUQsS0FBSyxFQUFFLHlDQUF5QztvQkFDaEQsV0FBVyxFQUFFO3dCQUNYLDBIQUEwSDt3QkFDMUgsRUFBRTt3QkFDRiw4RkFBOEY7cUJBQy9GLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDWixNQUFNLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQ3pCLEdBQUcsRUFBRSx5Q0FBNkI7b0JBQ2xDLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNWLENBQUM7YUFDSDtTQUNGLENBQUM7UUFFRixLQUFLLE1BQU0sUUFBUSxJQUFJLGdDQUFxQixDQUFDLEdBQUcsRUFBRTtZQUNoRCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUMsUUFBUSxFQUNSLEtBQUssQ0FBQyxXQUFXLENBQ2xCLEVBQUU7Z0JBQ0QsaUNBQWlDO2dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNGO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxxQkFB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QUM7d0JBQ3BDLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLENBQUM7b0JBQ0YsWUFBWSxDQUFDLDJCQUEyQixDQUFDO3dCQUN2QyxLQUFLLEVBQUUsdUJBQXVCO3FCQUMvQixDQUFDO29CQUNGLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIsQ0FBQztvQkFDRixZQUFZLENBQUMsK0JBQStCLENBQUM7d0JBQzNDLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLENBQUM7b0JBQ0YsWUFBWSxDQUFDLHlCQUF5QixDQUFDO3dCQUNyQyxLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixDQUFDO2lCQUNIO2FBQ0YsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxJQUFJLDRCQUFXLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLHdCQUF3QjtnQkFDL0IsSUFBSSxFQUFFO29CQUNKLHlCQUFVLENBQ1IsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQ3ZELFFBQVEsQ0FDVDtvQkFDRCx5QkFBVSxDQUNSLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUNyRCxRQUFRLENBQ1Q7b0JBQ0QseUJBQVUsQ0FDUixZQUFZLENBQUMsMEJBQTBCLENBQUM7d0JBQ3RDLEtBQUssRUFBRSxXQUFXO3FCQUNuQixDQUFDLEVBQ0YsUUFBUSxDQUNUO2lCQUNGO2FBQ0YsQ0FBQztTQUNIO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIERhc2hib2FyZCxcbiAgR3JhcGhXaWRnZXQsXG4gIEdyYXBoV2lkZ2V0VmlldyxcbiAgVGV4dFdpZGdldCxcbiAgSVdpZGdldCxcbiAgTWF0aEV4cHJlc3Npb24sXG4gIE1ldHJpYyxcbiAgU3RhdGlzdGljLFxuICBQZXJpb2RPdmVycmlkZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERlbnlMaXN0IH0gZnJvbSAnLi9iYWNrZW5kL2RlbnktbGlzdCc7XG5pbXBvcnQgeyBJbmdlc3Rpb24gfSBmcm9tICcuL2JhY2tlbmQvaW5nZXN0aW9uJztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vYmFja2VuZC9pbnZlbnRvcnknO1xuaW1wb3J0IHsgUGFja2FnZVZlcnNpb25zVGFibGVXaWRnZXQgfSBmcm9tICcuL2JhY2tlbmQvaW52ZW50b3J5L3BhY2thZ2UtdmVyc2lvbnMtdGFibGUtd2lkZ2V0JztcbmltcG9ydCB7IE9yY2hlc3RyYXRpb24gfSBmcm9tICcuL2JhY2tlbmQvb3JjaGVzdHJhdGlvbic7XG5pbXBvcnQgeyBQYWNrYWdlU3RhdHMgfSBmcm9tICcuL2JhY2tlbmQvcGFja2FnZS1zdGF0cyc7XG5pbXBvcnQgeyBSZWxlYXNlTm90ZUZldGNoZXIgfSBmcm9tICcuL2JhY2tlbmQvcmVsZWFzZS1ub3Rlcyc7XG5pbXBvcnQge1xuICBtaXNzaW5nRG9jdW1lbnRhdGlvblJlcG9ydCxcbiAgVU5JTlNUQUxMQUJMRV9QQUNLQUdFU19SRVBPUlQsXG4gIGNvcnJ1cHRBc3NlbWJseVJlcG9ydCxcbiAgVkVSU0lPTl9UUkFDS0VSX0tFWSxcbn0gZnJvbSAnLi9iYWNrZW5kL3NoYXJlZC9jb25zdGFudHMnO1xuaW1wb3J0IHsgRG9jdW1lbnRhdGlvbkxhbmd1YWdlIH0gZnJvbSAnLi9iYWNrZW5kL3NoYXJlZC9sYW5ndWFnZSc7XG5pbXBvcnQgeyBWZXJzaW9uVHJhY2tlciB9IGZyb20gJy4vYmFja2VuZC92ZXJzaW9uLXRyYWNrZXInO1xuaW1wb3J0IHtcbiAgZWNzQ2x1c3RlclVybCxcbiAgbGFtYmRhRnVuY3Rpb25VcmwsXG4gIGxhbWJkYVNlYXJjaExvZ0dyb3VwVXJsLFxuICBsb2dHcm91cFVybCxcbiAgczNPYmplY3RVcmwsXG4gIHNxc1F1ZXVlVXJsLFxuICBzdGF0ZU1hY2hpbmVVcmwsXG59IGZyb20gJy4vZGVlcC1saW5rJztcbmltcG9ydCB7IGZpbGxNZXRyaWMgfSBmcm9tICcuL21ldHJpYy11dGlscyc7XG5pbXBvcnQgeyBQYWNrYWdlU291cmNlQmluZFJlc3VsdCB9IGZyb20gJy4vcGFja2FnZS1zb3VyY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tlbmREYXNoYm9hcmRQcm9wcyB7XG4gIHJlYWRvbmx5IGRhc2hib2FyZE5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhY2thZ2VTb3VyY2VzOiBQYWNrYWdlU291cmNlQmluZFJlc3VsdFtdO1xuICByZWFkb25seSBpbmdlc3Rpb246IEluZ2VzdGlvbjtcbiAgcmVhZG9ubHkgb3JjaGVzdHJhdGlvbjogT3JjaGVzdHJhdGlvbjtcbiAgcmVhZG9ubHkgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG4gIHJlYWRvbmx5IGRlbnlMaXN0OiBEZW55TGlzdDtcbiAgcmVhZG9ubHkgcGFja2FnZURhdGE6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IHBhY2thZ2VTdGF0cz86IFBhY2thZ2VTdGF0cztcbiAgcmVhZG9ubHkgdmVyc2lvblRyYWNrZXI6IFZlcnNpb25UcmFja2VyO1xuICByZWFkb25seSByZWxlYXNlTm90ZXM/OiBSZWxlYXNlTm90ZUZldGNoZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBCYWNrZW5kRGFzaGJvYXJkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQmFja2VuZERhc2hib2FyZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZXBvcnRzOiBJV2lkZ2V0W11bXSA9IFtcbiAgICAgIFtcbiAgICAgICAgbmV3IFBhY2thZ2VWZXJzaW9uc1RhYmxlV2lkZ2V0KHRoaXMsICdVbmluc3RhbGxhYmxlUGFja2FnZXMnLCB7XG4gICAgICAgICAgdGl0bGU6ICdQYWNrYWdlIFZlcnNpb25zIFJlcG9ydCB8IFVuaW5zdGFsbGFibGUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICBcIlRoZXNlIHBhY2thZ2VzIGNvdWxkIG5vdCBiZSBpbnN0YWxsZWQuIE5vdGUgdGhhdCBjdXJyZW50bHkgdGhleSB3aWxsIGFsc28gYXBwZWFyIGluIHRoZSAnbWlzc2luZycgZG9jdW1lbnRhdGlvbiByZXBvcnRzLlwiLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBcIlRoZSBzcGVjaWZpYyBlcnJvciBjYW4gYmUgZm91bmQgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGluc2lkZSBhIGZpbGUgbmFtZWQgJ3VuaW5zdGFsbGFibGUnXCIsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICBidWNrZXQ6IHByb3BzLnBhY2thZ2VEYXRhLFxuICAgICAgICAgIGtleTogVU5JTlNUQUxMQUJMRV9QQUNLQUdFU19SRVBPUlQsXG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIERvY3VtZW50YXRpb25MYW5ndWFnZS5BTEwpIHtcbiAgICAgIGZvciAoY29uc3QgcmVwb3J0IG9mIHRoaXMucGVyTGFuZ3VhZ2VSZXBvcnRzKFxuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgcHJvcHMucGFja2FnZURhdGFcbiAgICAgICkpIHtcbiAgICAgICAgLy8gcHV0IGV2ZXJ5IHJlcG9ydCBpbiBhIG5ldyBsaW5lXG4gICAgICAgIHJlcG9ydHMucHVzaChbcmVwb3J0XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGFzaGJvYXJkTmFtZSA9IHByb3BzLmRhc2hib2FyZE5hbWUgPz8gJ0NvbnN0cnVjdEh1YkJhY2tlbmQnO1xuXG4gICAgbmV3IERhc2hib2FyZCh0aGlzLCAnUmVwb3J0cycsIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IGAke2Rhc2hib2FyZE5hbWV9LXJlcG9ydHNgLFxuICAgICAgcGVyaW9kT3ZlcnJpZGU6IFBlcmlvZE92ZXJyaWRlLkFVVE8sXG4gICAgICBzdGFydDogJy1QMVcnLCAvLyBTaG93IDEgd2VlayBieSBkZWZhdWx0XG4gICAgICB3aWRnZXRzOiByZXBvcnRzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhc2hib2FyZCh0aGlzLCAnR3JhcGhzJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTogYCR7ZGFzaGJvYXJkTmFtZX0tZ3JhcGhzYCxcbiAgICAgIHBlcmlvZE92ZXJyaWRlOiBQZXJpb2RPdmVycmlkZS5BVVRPLFxuICAgICAgc3RhcnQ6ICctUDFXJywgLy8gU2hvdyAxIHdlZWsgYnkgZGVmYXVsdFxuICAgICAgd2lkZ2V0czogW1xuICAgICAgICBbXG4gICAgICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAgICAgJyMgQ2F0YWxvZyBPdmVydmlldycsXG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpwcmltYXJ5OlBhY2thZ2UgRGF0YV0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5wYWNrYWdlRGF0YVxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpDYXRhbG9nIEJ1aWxkZXJdKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5jYXRhbG9nQnVpbGRlci5mdW5jdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpJbnZlbnRvcnkgQ2FuYXJ5XSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5mdW5jdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpTZWFyY2ggQ2FuYXJ5IExvZyBHcm91cF0oJHtsYW1iZGFTZWFyY2hMb2dHcm91cFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkuZnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIFtcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdDYXRhbG9nIFNpemUnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljU3VibW9kdWxlQ291bnQoeyBsYWJlbDogJ1N1Ym1vZHVsZXMnIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljUGFja2FnZVZlcnNpb25Db3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdQYWNrYWdlIFZlcnNpb25zJyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNQYWNrYWdlTWFqb3JDb3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdQYWNrYWdlIE1ham9ycycsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljUGFja2FnZUNvdW50KHsgbGFiZWw6ICdQYWNrYWdlcycgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0NhdGFsb2cgSXNzdWVzJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgcHJvcHMuaW52ZW50b3J5Lm1ldHJpY1Vua25vd25PYmplY3RDb3VudCh7IGxhYmVsOiAnVW5rbm93bicgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNNaXNzaW5nQXNzZW1ibHlDb3VudCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdNaXNzaW5nIEFzc2VtYmx5JyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNNaXNzaW5nUGFja2FnZU1ldGFkYXRhQ291bnQoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzc2luZyBNZXRhZGF0YScsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBwcm9wcy5pbnZlbnRvcnkubWV0cmljTWlzc2luZ1BhY2thZ2VUYXJiYWxsQ291bnQoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzc2luZyBUYXJiYWxsJyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmludmVudG9yeS5tZXRyaWNVbmluc3RhbGxhYmxlUGFja2FnZUNvdW50KHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1VuaW5zdGFsbGFibGUgUGFja2FnZScsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uY2F0YWxvZ0J1aWxkZXIubWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya0NvdW50KFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdObyBDb25zdHJ1Y3QgRnJhbWV3b3JrJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uY2F0YWxvZ0J1aWxkZXIubWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya1ZlcnNpb25Db3VudChcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTm8gQ29uc3RydWN0IEZyYW1ld29yayBWZXJzaW9uJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgLi4udGhpcy5jYXRhbG9nT3ZlcnZpZXdMYW5ndWFnZVNlY3Rpb25zKHByb3BzKSxcbiAgICAgICAgLi4ucmVuZGVyUGFja2FnZVNvdXJjZXNXaWRnZXRzKHByb3BzLnBhY2thZ2VTb3VyY2VzKSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogMixcbiAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgICAgICcjIEluZ2VzdGlvbiBGdW5jdGlvbicsXG4gICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpJbmdlc3Rpb24gRnVuY3Rpb25dKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uXG4gICAgICAgICAgICAgICl9KWAsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6U2VhcmNoIExvZyBHcm91cF0oJHtsYW1iZGFTZWFyY2hMb2dHcm91cFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246RExRXSgke3Nxc1F1ZXVlVXJsKHByb3BzLmluZ2VzdGlvbi5kZWFkTGV0dGVyUXVldWUpfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0Z1bmN0aW9uIEhlYWx0aCcsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uLm1ldHJpY0ludm9jYXRpb25zKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW52b2NhdGlvbnMnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmZ1bmN0aW9uLm1ldHJpY0Vycm9ycyh7IGxhYmVsOiAnRXJyb3JzJyB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdJbnB1dCBRdWV1ZScsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1Zpc2libGUgTWVzc2FnZXMnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIaWRkZW4gTWVzc2FnZXMnLCBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSkgfVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRBbm5vdGF0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmZhNTAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzEwIE1pbnV0ZXMnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBEdXJhdGlvbi5taW51dGVzKDEwKS50b1NlY29uZHMoKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgICBbXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnSW5wdXQgUXVhbGl0eScsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLm1ldHJpY0ludmFsaWRBc3NlbWJseSh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ludmFsaWQgQXNzZW1ibGllcycsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24ubWV0cmljSW52YWxpZFRhcmJhbGwoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnZhbGlkIFRhcmJhbGwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLm1ldHJpY0luZWxpZ2libGVMaWNlbnNlKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW5lbGlnaWJsZSBMaWNlbnNlJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLmluZ2VzdGlvbi5tZXRyaWNNaXNtYXRjaGVkSWRlbnRpdHlSZWplY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTWlzbWF0Y2hlZCBJZGVudGl0eScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24ubWV0cmljRm91bmRMaWNlbnNlRmlsZSh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZvdW5kIExpY2Vuc2UgZmlsZScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbGFiZWw6ICdDb3VudCcsIG1pbjogMCwgc2hvd1VuaXRzOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdEZWFkIExldHRlcnMnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ1Zpc2libGUgTWVzc2FnZXMnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgcHJvcHMuaW5nZXN0aW9uLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdJbnZpc2libGUgTWVzc2FnZXMnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICByaWdodDogW1xuICAgICAgICAgICAgICBwcm9wcy5pbmdlc3Rpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodEFubm90YXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZjdmMGUnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnMTAgZGF5cycsXG4gICAgICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLmRheXMoMTApLnRvU2Vjb25kcygpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmYwMDAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzE0IGRheXMgKERMUSBSZXRlbnRpb24pJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogRHVyYXRpb24uZGF5cygxNCkudG9TZWNvbmRzKCksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogMixcbiAgICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgICAgICcjIE9yY2hlc3RyYXRpb24nLFxuICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgYFtidXR0b246cHJpbWFyeTpTdGF0ZSBNYWNoaW5lXSgke3N0YXRlTWFjaGluZVVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLnN0YXRlTWFjaGluZVxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpETFFdKCR7c3FzUXVldWVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5kZWFkTGV0dGVyUXVldWVcbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246UmVkcml2ZSBETFFdKCR7bGFtYmRhRnVuY3Rpb25VcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5yZWRyaXZlRnVuY3Rpb25cbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246UmVnZW5lcmF0ZSBBbGwgRG9jdW1lbnRhdGlvbl0oJHtzdGF0ZU1hY2hpbmVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5yZWdlbmVyYXRlQWxsRG9jdW1lbnRhdGlvblxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ1N0YXRlIE1hY2hpbmUgRXhlY3V0aW9ucycsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljU3RhcnRlZCh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ1N0YXJ0ZWQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljU3VjY2VlZGVkKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3VjY2VlZGVkJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uc3RhdGVNYWNoaW5lLm1ldHJpY0Fib3J0ZWQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBYm9ydGVkJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uc3RhdGVNYWNoaW5lLm1ldHJpY0ZhaWxlZCh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhaWxlZCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLnN0YXRlTWFjaGluZS5tZXRyaWNUaHJvdHRsZWQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaHJvdHRsZWQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljVGltZWRPdXQoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaW1lZCBPdXQnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgICAgcmlnaHQ6IFtcbiAgICAgICAgICAgICAgcHJvcHMub3JjaGVzdHJhdGlvbi5zdGF0ZU1hY2hpbmUubWV0cmljVGltZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdEdXJhdGlvbicsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJpZ2h0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnRGVhZCBMZXR0ZXIgUXVldWUnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBwcm9wcy5vcmNoZXN0cmF0aW9uLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdWaXNpYmxlIE1lc3NhZ2VzJyB9XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUoXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ludmlzaWJsZSBNZXNzYWdlcycgfVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIHByb3BzLm9yY2hlc3RyYXRpb24uZGVhZExldHRlclF1ZXVlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnIH1cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByaWdodEFubm90YXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZjdmMGUnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnMTAgZGF5cycsXG4gICAgICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLmRheXMoMTApLnRvU2Vjb25kcygpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjZmYwMDAwJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogJzE0IGRheXMgKERMUSBSZXRlbnRpb24pJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogRHVyYXRpb24uZGF5cygxNCkudG9TZWNvbmRzKCksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcblxuICAgICAgICAvLyBkZW55IGxpc3RcbiAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBbXG4gICAgICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgICAgbWFya2Rvd246IFtcbiAgICAgICAgICAgICAgJyMgRGVueSBMaXN0JyxcbiAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6RGVueSBMaXN0IE9iamVjdF0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5idWNrZXQsXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3Qub2JqZWN0S2V5XG4gICAgICAgICAgICAgICl9KWAsXG4gICAgICAgICAgICAgIGBbYnV0dG9uOlBydW5lIEZ1bmN0aW9uXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnBydW5lSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpQcnVuZSBMb2dzXSgke2xhbWJkYVNlYXJjaExvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnBydW5lSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICBgW2J1dHRvbjpEZWxldGUgUXVldWVdKCR7c3FzUXVldWVVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QucHJ1bmUucXVldWVcbiAgICAgICAgICAgICAgKX0pYCxcbiAgICAgICAgICAgICAgYFtidXR0b246RGVsZXRlIExvZ3NdKCR7bGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QucHJ1bmUuZGVsZXRlSGFuZGxlclxuICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0RlbnkgTGlzdCcsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgcHJvcHMuZGVueUxpc3QubWV0cmljRGVueUxpc3RSdWxlcyh7IGxhYmVsOiAnUnVsZXMnIH0pLFxuICAgICAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHByb3BzLmRlbnlMaXN0LnBydW5lLnF1ZXVlLm1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0RlbGV0ZWQgRmlsZXMnLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICAgIHRpdGxlOiAnUHJ1bmUgRnVuY3Rpb24gSGVhbHRoJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5wcnVuZS5wcnVuZUhhbmRsZXIubWV0cmljSW52b2NhdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnZvY2F0aW9ucycsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICBwcm9wcy5kZW55TGlzdC5wcnVuZS5wcnVuZUhhbmRsZXIubWV0cmljRXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRXJyb3JzJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcblxuICAgICAgICAuLi4ocHJvcHMucGFja2FnZVN0YXRzXG4gICAgICAgICAgPyByZW5kZXJQYWNrYWdlU3RhdHNXaWRnZXRzKHByb3BzLnBhY2thZ2VTdGF0cylcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4ucmVuZGVyVmVyc2lvblRyYWNrZXJXaWRnZXRzKHByb3BzLnZlcnNpb25UcmFja2VyKSxcbiAgICAgICAgLi4uKHByb3BzLnJlbGVhc2VOb3Rlc1xuICAgICAgICAgID8gcmVuZGVyUmVsZWFzZU5vdGVzV2lkZ2V0cyhwcm9wcy5yZWxlYXNlTm90ZXMpXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJMYW5ndWFnZVJlcG9ydHMoXG4gICAgbGFuZ3VhZ2U6IERvY3VtZW50YXRpb25MYW5ndWFnZSxcbiAgICBwYWNrYWdlRGF0YTogSUJ1Y2tldFxuICApOiBJV2lkZ2V0W10ge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGFja2FnZVZlcnNpb25zVGFibGVXaWRnZXQodGhpcywgYE1pc3NpbmdEb2NzLSR7bGFuZ3VhZ2UubmFtZX1gLCB7XG4gICAgICAgIHRpdGxlOiBgUGFja2FnZSBWZXJzaW9ucyBSZXBvcnQgfCBNaXNzaW5nIERvY3VtZW50YXRpb24gfCBfJHtsYW5ndWFnZS5uYW1lfV9gLFxuICAgICAgICBkZXNjcmlwdGlvbjogW1xuICAgICAgICAgIGBUaGVzZSBwYWNrYWdlcyBhcmUgbWlzc2luZyAke2xhbmd1YWdlLm5hbWV9IGRvY3VtZW50YXRpb24uYCxcbiAgICAgICAgICAnQXBhcnQgZnJvbSB0aGUgdW5pbnN0YWxsYWJsZSBwYWNrYWdlcywgdGhpcyByZXBvcnQgc2hvdWxkIHN0YXkgZW1wdHknLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdUbyBpbnZlc3RpZ2F0ZSBpbnNwZWN0IHRoZSBvcmNoZXN0cmF0aW9uIERMUS4nLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICBidWNrZXQ6IHBhY2thZ2VEYXRhLFxuICAgICAgICBrZXk6IG1pc3NpbmdEb2N1bWVudGF0aW9uUmVwb3J0KGxhbmd1YWdlKSxcbiAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICB9KSxcbiAgICAgIG5ldyBQYWNrYWdlVmVyc2lvbnNUYWJsZVdpZGdldChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYENvcnJ1cHRBc3NlbWJseURvY3MtJHtsYW5ndWFnZS5uYW1lfWAsXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogYFBhY2thZ2UgVmVyc2lvbnMgUmVwb3J0IHwgQ29ycnVwdCBBc3NlbWJseSB8IF8ke2xhbmd1YWdlLm5hbWV9X2AsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgIGBUaGVzZSBwYWNrYWdlcyBhcmUgbWlzc2luZyAke2xhbmd1YWdlLm5hbWV9IGRvY3VtZW50YXRpb24gYmVjYXVzZSBvZiBhIGNvcnJ1cHRlZCBhc3NlbWJseS5gLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICBcIlRoZSBzcGVjaWZpYyBlcnJvciBjYW4gYmUgZm91bmQgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGluc2lkZSBmaWxlcyBzdWZmaXhlZCB3aXRoICcuY29ycnVwdGFzc2VtYmx5J1wiLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgYnVja2V0OiBwYWNrYWdlRGF0YSxcbiAgICAgICAgICBrZXk6IGNvcnJ1cHRBc3NlbWJseVJlcG9ydChsYW5ndWFnZSksXG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSAqY2F0YWxvZ092ZXJ2aWV3TGFuZ3VhZ2VTZWN0aW9ucyh7XG4gICAgaW52ZW50b3J5LFxuICAgIG9yY2hlc3RyYXRpb24sXG4gIH06IEJhY2tlbmREYXNoYm9hcmRQcm9wcyk6IEdlbmVyYXRvcjxJV2lkZ2V0W10+IHtcbiAgICB5aWVsZCBbXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBtYXJrZG93bjogW1xuICAgICAgICAgICcjIERvY3VtZW50YXRpb24gR2VuZXJhdGlvbicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYFtidXR0b246cHJpbWFyeTpUcmFuc2xpdGVyYXRvciBMb2dzXSgke2xvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgb3JjaGVzdHJhdGlvbi50cmFuc2xpdGVyYXRvci5sb2dHcm91cFxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246VHJhbnNsaXRlcmF0b3IgRUNTIENsdXN0ZXJdKCR7ZWNzQ2x1c3RlclVybChcbiAgICAgICAgICAgIG9yY2hlc3RyYXRpb24uZWNzQ2x1c3RlclxuICAgICAgICAgICl9KWAsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9KSxcbiAgICBdO1xuICAgIGNvbnN0IG1GYXJnYXRlVXNhZ2UgPSBuZXcgTWV0cmljKHtcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgQ2xhc3M6ICdTdGFuZGFyZC9PbkRlbWFuZCcsXG4gICAgICAgIFJlc291cmNlOiAndkNQVScsXG4gICAgICAgIFNlcnZpY2U6ICdGYXJnYXRlJyxcbiAgICAgICAgVHlwZTogJ1Jlc291cmNlJyxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiAnUmVzb3VyY2VDb3VudCcsXG4gICAgICBuYW1lc3BhY2U6ICdBV1MvVXNhZ2UnLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICB9KTtcblxuICAgIHlpZWxkIFtcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ0ZhcmdhdGUgUmVzb3VyY2VzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIG1GYXJnYXRlVXNhZ2Uud2l0aCh7IGxhYmVsOiAnRmFyZ2F0ZSB2Q1BVIFVzYWdlIChPbi1EZW1hbmQpJyB9KSxcbiAgICAgICAgICBuZXcgTWF0aEV4cHJlc3Npb24oe1xuICAgICAgICAgICAgZXhwcmVzc2lvbjogJ1NFUlZJQ0VfUVVPVEEobUZhcmdhdGVVc2FnZSknLFxuICAgICAgICAgICAgbGFiZWw6ICdGYXJnYXRlIHZDUFUgUXVvdGEgKE9uLURlbWFuZCknLFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzOiB7IG1GYXJnYXRlVXNhZ2UgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICByaWdodDogW1xuICAgICAgICAgIG9yY2hlc3RyYXRpb24ubWV0cmljRWNzQ3B1VXRpbGl6YXRpb24oeyBsYWJlbDogJ0NQVSBVdGlsaXphdGlvbicgfSksXG4gICAgICAgICAgb3JjaGVzdHJhdGlvbi5tZXRyaWNFY3NNZW1vcnlVdGlsaXphdGlvbih7XG4gICAgICAgICAgICBsYWJlbDogJ01lbW9yeSBVdGlsaXphdGlvbicsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIHJpZ2h0WUF4aXM6IHsgbGFiZWw6ICdQZXJjZW50JywgbWluOiAwLCBtYXg6IDEwMCwgc2hvd1VuaXRzOiBmYWxzZSB9LFxuICAgICAgfSksXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdFQ1MgUmVzb3VyY2VzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICBvcmNoZXN0cmF0aW9uLm1ldHJpY0Vjc05ldHdvcmtSeEJ5dGVzKHsgbGFiZWw6ICdSZWNlaXZlZCBCeXRlcycgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICBvcmNoZXN0cmF0aW9uLm1ldHJpY0Vjc05ldHdvcmtUeEJ5dGVzKHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdUcmFuc21pdHRlZCBCeXRlcycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgcmlnaHQ6IFtcbiAgICAgICAgICBmaWxsTWV0cmljKG9yY2hlc3RyYXRpb24ubWV0cmljRWNzVGFza0NvdW50KHsgbGFiZWw6ICdUYXNrIENvdW50JyB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHJpZ2h0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgZm9yIChjb25zdCBsYW5ndWFnZSBvZiBEb2N1bWVudGF0aW9uTGFuZ3VhZ2UuQUxMKSB7XG4gICAgICB5aWVsZCBbXG4gICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICAgIG1hcmtkb3duOiBgIyMgTGFuZ3VhZ2U6ICR7bGFuZ3VhZ2UudG9TdHJpbmcoKX1gLFxuICAgICAgICB9KSxcbiAgICAgIF07XG4gICAgICB5aWVsZCBbXG4gICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICB0aXRsZTogJ1BhY2thZ2UgVmVyc2lvbnMnLFxuICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgIGludmVudG9yeS5tZXRyaWNTdXBwb3J0ZWRQYWNrYWdlVmVyc2lvbkNvdW50KGxhbmd1YWdlLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnQXZhaWxhYmxlJyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjMmNhMDJjJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY0NvcnJ1cHRBc3NlbWJseVBhY2thZ2VWZXJzaW9uQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdDb3JydXB0IEFzc2VtYmx5JyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjMzU0MkQ3JyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY1Vuc3VwcG9ydGVkUGFja2FnZVZlcnNpb25Db3VudChsYW5ndWFnZSwge1xuICAgICAgICAgICAgICBsYWJlbDogJ1Vuc3VwcG9ydGVkJyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjOTQ2N2JkJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY01pc3NpbmdQYWNrYWdlVmVyc2lvbkNvdW50KGxhbmd1YWdlLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnTWlzc2luZycsXG4gICAgICAgICAgICAgIGNvbG9yOiAnI2Q2MjcyOCcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGxlZnRZQXhpczogeyBzaG93VW5pdHM6IGZhbHNlIH0sXG4gICAgICAgICAgdmlldzogR3JhcGhXaWRnZXRWaWV3LlBJRSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICB0aXRsZTogJ1BhY2thZ2UgVmVyc2lvbiBTdWJtb2R1bGVzJyxcbiAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljU3VwcG9ydGVkU3VibW9kdWxlQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUnLFxuICAgICAgICAgICAgICBjb2xvcjogJyMyY2EwMmMnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBpbnZlbnRvcnkubWV0cmljQ29ycnVwdEFzc2VtYmx5U3VibW9kdWxlQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdDb3JydXB0IEFzc2VtYmx5JyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjMzU0MkQ3JyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaW52ZW50b3J5Lm1ldHJpY1Vuc3VwcG9ydGVkU3VibW9kdWxlQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdVbnN1cHBvcnRlZCcsXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzk0NjdiZCcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGludmVudG9yeS5tZXRyaWNNaXNzaW5nU3VibW9kdWxlQ291bnQobGFuZ3VhZ2UsIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdNaXNzaW5nJyxcbiAgICAgICAgICAgICAgY29sb3I6ICcjZDYyNzI4JyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGVmdFlBeGlzOiB7IHNob3dVbml0czogZmFsc2UgfSxcbiAgICAgICAgICB2aWV3OiBHcmFwaFdpZGdldFZpZXcuUElFLFxuICAgICAgICB9KSxcbiAgICAgIF07XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uKiByZW5kZXJQYWNrYWdlU291cmNlc1dpZGdldHMoXG4gIHBhY2thZ2VTb3VyY2VzOiBQYWNrYWdlU291cmNlQmluZFJlc3VsdFtdXG4pOiBHZW5lcmF0b3I8SVdpZGdldFtdLCB1bmRlZmluZWQsIHVuZGVmaW5lZD4ge1xuICBmb3IgKGNvbnN0IHBhY2thZ2VTb3VyY2Ugb2YgcGFja2FnZVNvdXJjZXMpIHtcbiAgICB5aWVsZCBbXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBtYXJrZG93bjogW1xuICAgICAgICAgIGAjICR7cGFja2FnZVNvdXJjZS5uYW1lfWAsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgLi4uKHBhY2thZ2VTb3VyY2UubGlua3MgPz8gW10pLm1hcChcbiAgICAgICAgICAgICh7IG5hbWUsIHByaW1hcnksIHVybCB9KSA9PlxuICAgICAgICAgICAgICBgWyR7cHJpbWFyeSA/ICdidXR0b246cHJpbWFyeScgOiAnYnV0dG9uJ306JHtuYW1lfV0oJHt1cmx9KWBcbiAgICAgICAgICApLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgfSksXG4gICAgXTtcbiAgICB5aWVsZCogcGFja2FnZVNvdXJjZS5kYXNoYm9hcmRXaWRnZXRzO1xuICB9XG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gcmVuZGVyUGFja2FnZVN0YXRzV2lkZ2V0cyhwYWNrYWdlU3RhdHM6IFBhY2thZ2VTdGF0cyk6IElXaWRnZXRbXVtdIHtcbiAgcmV0dXJuIFtcbiAgICBbXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBtYXJrZG93bjogW1xuICAgICAgICAgICcjIFBhY2thZ2UgU3RhdHMnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGBbYnV0dG9uOnByaW1hcnk6UGFja2FnZSBTdGF0cyBPYmplY3RdKCR7czNPYmplY3RVcmwoXG4gICAgICAgICAgICBwYWNrYWdlU3RhdHMuYnVja2V0LFxuICAgICAgICAgICAgcGFja2FnZVN0YXRzLnN0YXRzS2V5XG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjpQYWNrYWdlIFN0YXRzIEZ1bmN0aW9uXSgke2xhbWJkYUZ1bmN0aW9uVXJsKFxuICAgICAgICAgICAgcGFja2FnZVN0YXRzLmhhbmRsZXJcbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOlBhY2thZ2UgU3RhdHMgTG9nc10oJHtsYW1iZGFTZWFyY2hMb2dHcm91cFVybChcbiAgICAgICAgICAgIHBhY2thZ2VTdGF0cy5oYW5kbGVyXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0pLFxuICAgIF0sXG4gICAgW1xuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIHRpdGxlOiAnTnVtYmVyIG9mIFBhY2thZ2UgU3RhdHMgUmVjb3JkZWQnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgIHBhY2thZ2VTdGF0cy5tZXRyaWNQYWNrYWdlc0NvdW50KHsgbGFiZWw6ICdQYWNrYWdlcyB3aXRoIHN0YXRzJyB9KSxcbiAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgfSksXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdJbnZvY2F0aW9uIER1cmF0aW9uJyxcbiAgICAgICAgbGVmdDogW3BhY2thZ2VTdGF0cy5oYW5kbGVyLm1ldHJpY0R1cmF0aW9uKHsgbGFiZWw6ICdEdXJhdGlvbicgfSldLFxuICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgIHJpZ2h0QW5ub3RhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb2xvcjogJyNmZmE1MDAnLFxuICAgICAgICAgICAgbGFiZWw6ICcxNSBtaW51dGVzIChMYW1iZGEgdGltZW91dCknLFxuICAgICAgICAgICAgdmFsdWU6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLnRvU2Vjb25kcygpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICBdLFxuICBdO1xufVxuXG5mdW5jdGlvbiByZW5kZXJWZXJzaW9uVHJhY2tlcldpZGdldHMoXG4gIHZlcnNpb25UcmFja2VyOiBWZXJzaW9uVHJhY2tlclxuKTogSVdpZGdldFtdW10ge1xuICByZXR1cm4gW1xuICAgIFtcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgJyMgVmVyc2lvbiBUcmFja2VyJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgW2J1dHRvbjpwcmltYXJ5OlZlcnNpb25zIE9iamVjdF0oJHtzM09iamVjdFVybChcbiAgICAgICAgICAgIHZlcnNpb25UcmFja2VyLmJ1Y2tldCxcbiAgICAgICAgICAgIFZFUlNJT05fVFJBQ0tFUl9LRVlcbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOlZlcnNpb24gVHJhY2tlciBGdW5jdGlvbl0oJHtsYW1iZGFGdW5jdGlvblVybChcbiAgICAgICAgICAgIHZlcnNpb25UcmFja2VyLmhhbmRsZXJcbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOlZlcnNpb24gVHJhY2tlciBMb2dzXSgke2xhbWJkYVNlYXJjaExvZ0dyb3VwVXJsKFxuICAgICAgICAgICAgdmVyc2lvblRyYWNrZXIuaGFuZGxlclxuICAgICAgICAgICl9KWAsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9KSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ051bWJlciBvZiBQYWNrYWdlIFZlcnNpb25zIFJlY29yZGVkJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICB2ZXJzaW9uVHJhY2tlci5tZXRyaWNUcmFja2VkVmVyc2lvbnNDb3VudCh7XG4gICAgICAgICAgICAgIGxhYmVsOiAnUGFja2FnZSB2ZXJzaW9ucyByZWNvcmRlZCcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgfSksXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdJbnZvY2F0aW9uIER1cmF0aW9uJyxcbiAgICAgICAgbGVmdDogW3ZlcnNpb25UcmFja2VyLmhhbmRsZXIubWV0cmljRHVyYXRpb24oeyBsYWJlbDogJ0R1cmF0aW9uJyB9KV0sXG4gICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgcmlnaHRBbm5vdGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbG9yOiAnI2ZmYTUwMCcsXG4gICAgICAgICAgICBsYWJlbDogJzEgbWludXRlcyAoTGFtYmRhIHRpbWVvdXQpJyxcbiAgICAgICAgICAgIHZhbHVlOiBEdXJhdGlvbi5taW51dGVzKDEpLnRvU2Vjb25kcygpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICBdLFxuICBdO1xufVxuXG5mdW5jdGlvbiByZW5kZXJSZWxlYXNlTm90ZXNXaWRnZXRzKFxuICByZWxlYXNlTm90ZXM6IFJlbGVhc2VOb3RlRmV0Y2hlclxuKTogSVdpZGdldFtdW10ge1xuICByZXR1cm4gW1xuICAgIFtcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIG1hcmtkb3duOiBbXG4gICAgICAgICAgJyMgUmVsZWFzZSBOb3RlcycsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYFtidXR0b246cHJpbWFyeTpTdGF0ZU1hY2hpbmVdKCR7c3RhdGVNYWNoaW5lVXJsKFxuICAgICAgICAgICAgcmVsZWFzZU5vdGVzLnN0YXRlTWFjaGluZVxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246cmVsZWFzZU5vdGVzVHJpZ2dlcl0oJHtsYW1iZGFGdW5jdGlvblVybChcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy5yZWxlYXNlTm90ZXNUcmlnZ2VyTGFtYmRhXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjpnZW5lcmF0ZVJlbGVhc2VOb3Rlc10oJHtsYW1iZGFGdW5jdGlvblVybChcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy5nZW5lcmF0ZVJlbGVhc2VOb3Rlc0xhbWJkYVxuICAgICAgICAgICl9KWAsXG4gICAgICAgICAgYFtidXR0b246dXBkYXRlRmVlZF0oJHtsYW1iZGFGdW5jdGlvblVybChcbiAgICAgICAgICAgIHJlbGVhc2VOb3Rlcy51cGRhdGVGZWVkRnVuY3Rpb25cbiAgICAgICAgICApfSlgLFxuICAgICAgICAgIGBbYnV0dG9uOnF1ZXVlXSgke3Nxc1F1ZXVlVXJsKHJlbGVhc2VOb3Rlcy5xdWV1ZSl9KWAsXG4gICAgICAgICAgYFtidXR0b246d29ya2VyUXVldWVdKCR7c3FzUXVldWVVcmwocmVsZWFzZU5vdGVzLndvcmtlclF1ZXVlKX0pYCxcbiAgICAgICAgICBgW2J1dHRvbjp3b3JrZXJETFFdKCR7c3FzUXVldWVVcmwocmVsZWFzZU5vdGVzLndvcmtlckRMUSl9KWAsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9KSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogNixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICB0aXRsZTogJ051bWJlciBvZiByZWxlYXNlIE5vdGVzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljUGFja2FnZXNXaXRoUmVsZWFzZU5vdGVzQ291bnQoe1xuICAgICAgICAgICAgICBsYWJlbDogJ1BhY2thZ2VzIHdpdGggcmVsZWFzZSBub3RlcycsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgfSksXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdSZWxlYXNlIG5vdGVzIGdlbmVyYXRpb24gRXJyb3JzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNDaGFuZ2VMb2dBbGxFcnJvcih7IGxhYmVsOiAnQWxsIEVycm9ycycgfSksXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY1JlcXVlc3RVbmtub3duRXJyb3IoeyBsYWJlbDogJ1Vua25vd25FcnJvcicgfSksXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY0ludmFsaWRDcmVkZW50aWFscyh7XG4gICAgICAgICAgICBsYWJlbDogJ0ludmFsaWRDcmVkZW50aWFscycsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY1JlcXVlc3RRdW90YUV4aGF1c3RlZCh7XG4gICAgICAgICAgICBsYWJlbDogJ1JlcXVlc3RRdW90YUV4aGF1c3RlZCcsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY1JlcXVlc3RVblN1cHBvcnRlZFJlcG8oe1xuICAgICAgICAgICAgbGFiZWw6ICdVblN1cHBvcnRlZFJlcG8nLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHJlbGVhc2VOb3Rlcy5tZXRyaWNSZXF1ZXN0SW52YWxpZFBhY2thZ2VKc29uKHtcbiAgICAgICAgICAgIGxhYmVsOiAnSW52YWxpZFBhY2thZ2VKc29uJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljQ2hhbmdlTG9nRmV0Y2hFcnJvcih7XG4gICAgICAgICAgICBsYWJlbDogJ0NoYW5nZUxvZ0ZldGNoRXJyb3InLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgXSxcbiAgICBbXG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgdGl0bGU6ICdHaXRIdWIgQVBJIFJhdGUgTGltaXRzJyxcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljR2hSYXRlTGltaXRMaW1pdCh7IGxhYmVsOiAnTGltaXQnIH0pLFxuICAgICAgICAgICAgJ1JFUEVBVCdcbiAgICAgICAgICApLFxuICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICByZWxlYXNlTm90ZXMubWV0cmljR2hSYXRlTGltaXRVc2VkKHsgbGFiZWw6ICdVc2VkJyB9KSxcbiAgICAgICAgICAgICdSRVBFQVQnXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmaWxsTWV0cmljKFxuICAgICAgICAgICAgcmVsZWFzZU5vdGVzLm1ldHJpY0doUmF0ZUxpbWl0UmVtYWluaW5nKHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdSZW1haW5pbmcnLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAnUkVQRUFUJ1xuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICBdLFxuICBdO1xufVxuIl19
@@ -389,7 +389,7 @@ class ConstructHub extends constructs_1.Construct {
389
389
  }
390
390
  exports.ConstructHub = ConstructHub;
391
391
  _a = JSII_RTTI_SYMBOL_1;
392
- ConstructHub[_a] = { fqn: "construct-hub.ConstructHub", version: "0.4.148" };
392
+ ConstructHub[_a] = { fqn: "construct-hub.ConstructHub", version: "0.4.149" };
393
393
  /**
394
394
  * How possibly risky operations (such as doc-generation, which requires
395
395
  * installing the indexed packages in order to trans-literate sample code) are
@@ -278,5 +278,5 @@ class CodeArtifact {
278
278
  }
279
279
  exports.CodeArtifact = CodeArtifact;
280
280
  _a = JSII_RTTI_SYMBOL_1;
281
- CodeArtifact[_a] = { fqn: "construct-hub.sources.CodeArtifact", version: "0.4.148" };
281
+ CodeArtifact[_a] = { fqn: "construct-hub.sources.CodeArtifact", version: "0.4.149" };
282
282
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWNrYWdlLXNvdXJjZXMvY29kZS1hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE4RDtBQUM5RCwrREFRb0M7QUFFcEMsdURBQThDO0FBQzlDLHVFQUFnRTtBQUNoRSxpREFBOEQ7QUFDOUQsdURBQWlEO0FBQ2pELCtDQUFnRTtBQUNoRSxpREFBNkQ7QUFFN0QsNENBS3NCO0FBQ3RCLGtEQUE2QztBQU03QywyQ0FBaUQ7QUFDakQsb0ZBQStFO0FBQy9FLG9GQU1nRDtBQWNoRDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7SUFDdkIsWUFBb0MsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFBRyxDQUFDO0lBRXpELElBQUksQ0FDVCxLQUFnQixFQUNoQixFQUNFLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsS0FBSyxHQUNvQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pELE1BQU0sWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUxSSxNQUFNLGNBQWMsR0FBRywwQkFBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ2pCLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsUUFBUSxnQkFBZ0IsRUFBRTtnQkFDM0QsaUJBQWlCLEVBQUUsMEJBQWlCLENB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dCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIEF3cywgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgQ29tcGFyaXNvbk9wZXJhdG9yLFxuICBHcmFwaFdpZGdldCxcbiAgTWF0aEV4cHJlc3Npb24sXG4gIE1ldHJpYyxcbiAgTWV0cmljT3B0aW9ucyxcbiAgU3RhdGlzdGljLFxuICBUcmVhdE1pc3NpbmdEYXRhLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBDZm5SZXBvc2l0b3J5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVhcnRpZmFjdCc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgVHJhY2luZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQmxvY2tQdWJsaWNBY2Nlc3MsIElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgUXVldWUsIFF1ZXVlRW5jcnlwdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBjb2RlQXJ0aWZhY3RSZXBvc2l0b3J5VXJsLFxuICBsYW1iZGFGdW5jdGlvblVybCxcbiAgbGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwsXG4gIHNxc1F1ZXVlVXJsLFxufSBmcm9tICcuLi9kZWVwLWxpbmsnO1xuaW1wb3J0IHsgZmlsbE1ldHJpYyB9IGZyb20gJy4uL21ldHJpYy11dGlscyc7XG5pbXBvcnQgdHlwZSB7XG4gIElQYWNrYWdlU291cmNlLFxuICBQYWNrYWdlU291cmNlQmluZE9wdGlvbnMsXG4gIFBhY2thZ2VTb3VyY2VCaW5kUmVzdWx0LFxufSBmcm9tICcuLi9wYWNrYWdlLXNvdXJjZSc7XG5pbXBvcnQgeyBTM1N0b3JhZ2VGYWN0b3J5IH0gZnJvbSAnLi4vczMvc3RvcmFnZSc7XG5pbXBvcnQgeyBDb2RlQXJ0aWZhY3RGb3J3YXJkZXIgfSBmcm9tICcuL2NvZGVhcnRpZmFjdC9jb2RlLWFydGlmYWN0LWZvcndhcmRlcic7XG5pbXBvcnQge1xuICBNRVRSSUNTX05BTUVTUEFDRSxcbiAgTWV0cmljTmFtZSxcbiAgRE9NQUlOX05BTUVfRElNRU5TSU9OLFxuICBET01BSU5fT1dORVJfRElNRU5TSU9OLFxuICBSRVBPU0lUT1JZX05BTUVfRElNRU5TSU9OLFxufSBmcm9tICcuL2NvZGVhcnRpZmFjdC9jb25zdGFudHMubGFtYmRhLXNoYXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUFydGlmYWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIENvZGVBcnRpZmFjdCByZXBvc2l0b3J5IHdoZXJlIHBhY2thZ2VzIGFyZSBvYnRhaW5lZCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogQ2ZuUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIFMzIGJ1Y2tldCB3aGVyZSBwYWNrYWdlcyB3aWxsIGJlIHN0YWdlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldD86IElCdWNrZXQ7XG59XG5cbi8qKlxuICogQSBwYWNrYWdlIHNvdXJjZSB0aGF0IG9idGFpbnMgcGFja2FnZSBkYXRhIGZyb20gYW4gbnBtIENvZGVBcnRpZmFjdFxuICogcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVBcnRpZmFjdCBpbXBsZW1lbnRzIElQYWNrYWdlU291cmNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IENvZGVBcnRpZmFjdFByb3BzKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAge1xuICAgICAgZGVueUxpc3QsXG4gICAgICBpbmdlc3Rpb24sXG4gICAgICBsaWNlbnNlTGlzdCxcbiAgICAgIG1vbml0b3JpbmcsXG4gICAgICBvdmVydmlld0Rhc2hib2FyZCxcbiAgICAgIHF1ZXVlLFxuICAgIH06IFBhY2thZ2VTb3VyY2VCaW5kT3B0aW9uc1xuICApOiBQYWNrYWdlU291cmNlQmluZFJlc3VsdCB7XG4gICAgY29uc3QgaWRQcmVmaXggPSB0aGlzLnByb3BzLnJlcG9zaXRvcnkubm9kZS5wYXRoO1xuICAgIGNvbnN0IHJlcG9zaXRvcnlJZCA9IGAke3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluT3duZXJ9OiR7dGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lfS8ke3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZX1gO1xuXG4gICAgY29uc3Qgc3RvcmFnZUZhY3RvcnkgPSBTM1N0b3JhZ2VGYWN0b3J5LmdldE9yQ3JlYXRlKHNjb3BlKTtcbiAgICBjb25zdCBidWNrZXQgPVxuICAgICAgdGhpcy5wcm9wcy5idWNrZXQgfHxcbiAgICAgIHN0b3JhZ2VGYWN0b3J5Lm5ld0J1Y2tldChzY29wZSwgYCR7aWRQcmVmaXh9L1N0YWdpbmdCdWNrZXRgLCB7XG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbeyBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSB9XSxcbiAgICAgIH0pO1xuICAgIGJ1Y2tldC5ncmFudFJlYWQoaW5nZXN0aW9uKTtcblxuICAgIGNvbnN0IGRscSA9IG5ldyBRdWV1ZShzY29wZSwgYCR7aWRQcmVmaXh9L0RMUWAsIHtcbiAgICAgIGVuY3J5cHRpb246IFF1ZXVlRW5jcnlwdGlvbi5LTVNfTUFOQUdFRCxcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3J3YXJkZXIgPSBuZXcgQ29kZUFydGlmYWN0Rm9yd2FyZGVyKFxuICAgICAgc2NvcGUsXG4gICAgICBgJHtpZFByZWZpeH0vRm9yd2FyZGVyYCxcbiAgICAgIHtcbiAgICAgICAgZGVhZExldHRlclF1ZXVlOiBkbHEsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgWyR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9XSBIYW5kbGUgQ29kZUFydGlmYWN0IEV2ZW50QnJpZGdlIGV2ZW50c2AsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgQVdTX0VNRl9FTlZJUk9OTUVOVDogJ0xvY2FsJyxcbiAgICAgICAgICBCVUNLRVRfTkFNRTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgICAgUVVFVUVfVVJMOiBxdWV1ZS5xdWV1ZVVybCxcbiAgICAgICAgfSxcbiAgICAgICAgbWVtb3J5U2l6ZTogMTAyNCxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICAgIHRyYWNpbmc6IFRyYWNpbmcuQUNUSVZFLFxuICAgICAgfVxuICAgICk7XG4gICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKGZvcndhcmRlcik7XG4gICAgZGVueUxpc3Q/LmdyYW50UmVhZChmb3J3YXJkZXIpO1xuICAgIGxpY2Vuc2VMaXN0LmdyYW50UmVhZChmb3J3YXJkZXIpO1xuICAgIHF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKGZvcndhcmRlcik7XG4gICAgZm9yd2FyZGVyLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogWydjb2RlYXJ0aWZhY3Q6R2V0UGFja2FnZVZlcnNpb25Bc3NldCddLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBTdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgIHNlcnZpY2U6ICdjb2RlYXJ0aWZhY3QnLFxuICAgICAgICAgICAgcmVzb3VyY2U6ICdwYWNrYWdlJyxcbiAgICAgICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgICAgICByZXNvdXJjZU5hbWU6IFtcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICAgICAgICB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWUsXG4gICAgICAgICAgICAgICducG0nLCAvLyBwYWNrYWdlIGZvcm1hdFxuICAgICAgICAgICAgICAnKicsIC8vIG5hbWVzcGFjZS9wYWNrYWdlLW5hbWVcbiAgICAgICAgICAgIF0uam9pbignLycpLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBSdWxlKHNjb3BlLCBgJHtpZFByZWZpeH0vRXZlbnRCcmlkZ2VgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0V2ZW50QnJpZGdlYCxcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFsnYXdzLmNvZGVhcnRpZmFjdCddLFxuICAgICAgICBkZXRhaWxUeXBlOiBbJ0NvZGVBcnRpZmFjdCBQYWNrYWdlIFZlcnNpb24gU3RhdGUgQ2hhbmdlJ10sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGRvbWFpbk93bmVyOiBbdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5Pd25lcl0sXG4gICAgICAgICAgZG9tYWluTmFtZTogW3RoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluTmFtZV0sXG4gICAgICAgICAgcmVwb3NpdG9yeU5hbWU6IFt0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWVdLFxuICAgICAgICAgIHBhY2thZ2VGb3JtYXQ6IFsnbnBtJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyBMYW1iZGFGdW5jdGlvbihmb3J3YXJkZXIpXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGZhaWx1cmVBbGFybSA9IGZvcndhcmRlclxuICAgICAgLm1ldHJpY0Vycm9ycygpXG4gICAgICAuY3JlYXRlQWxhcm0oc2NvcGUsIGAke2lkUHJlZml4fS9Gb3J3YXJkZXIvRmFpbHVyZXNgLCB7XG4gICAgICAgIGFsYXJtTmFtZTogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0ZvcndhcmRlcmAsXG4gICAgICAgIGFsYXJtRGVzY3JpcHRpb246IFtcbiAgICAgICAgICBgVGhlIENvZGVBcnRpZmFjdCBmb3dhcmRlciBmb3IgJHtyZXBvc2l0b3J5SWR9IGlzIGZhaWxpbmdgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGBMaW5rIHRvIHRoZSBsYW1iZGEgZnVuY3Rpb246ICR7bGFtYmRhRnVuY3Rpb25VcmwoZm9yd2FyZGVyKX1gLFxuICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICBjb21wYXJpc29uT3BlcmF0b3I6XG4gICAgICAgICAgQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICAgIHRyZWF0TWlzc2luZ0RhdGE6IFRyZWF0TWlzc2luZ0RhdGEuTUlTU0lORyxcbiAgICAgIH0pO1xuICAgIG1vbml0b3JpbmcuYWRkSGlnaFNldmVyaXR5QWxhcm0oXG4gICAgICBgQ29kZUFydGlmYWN0OiR7dGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJOYW1lfSBGYWlsdXJlc2AsXG4gICAgICBmYWlsdXJlQWxhcm1cbiAgICApO1xuXG4gICAgY29uc3QgZGxxTm90RW1wdHlBbGFybSA9IG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICBleHByZXNzaW9uOiAnbVZpc2libGUgKyBtSGlkZGVuJyxcbiAgICAgIHVzaW5nTWV0cmljczoge1xuICAgICAgICBtVmlzaWJsZTogZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoe1xuICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgfSksXG4gICAgICAgIG1IaWRkZW46IGRscS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKHtcbiAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KS5jcmVhdGVBbGFybShzY29wZSwgYCR7aWRQcmVmaXh9L0ZvcndhcmRlci9ETFFOb3RFbXB0eWAsIHtcbiAgICAgIGFsYXJtTmFtZTogYCR7c2NvcGUubm9kZS5wYXRofS9Db2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9L0RMUU5vdEVtcHR5YCxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFtcbiAgICAgICAgYFRoZSBDb2RlQXJ0aWZhY3QgZm93YXJkZXIgZm9yICR7cmVwb3NpdG9yeUlkfSBpcyBmYWlsaW5nYCxcbiAgICAgICAgJycsXG4gICAgICAgIGBMaW5rIHRvIHRoZSBsYW1iZGEgZnVuY3Rpb246ICR7bGFtYmRhRnVuY3Rpb25VcmwoZm9yd2FyZGVyKX1gLFxuICAgICAgICBgTGluayB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWU6ICR7c3FzUXVldWVVcmwoZGxxKX1gLFxuICAgICAgXS5qb2luKCcvbicpLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgdHJlYXRNaXNzaW5nRGF0YTogVHJlYXRNaXNzaW5nRGF0YS5OT1RfQlJFQUNISU5HLFxuICAgIH0pO1xuICAgIG1vbml0b3JpbmcuYWRkTG93U2V2ZXJpdHlBbGFybShcbiAgICAgIGBDb2RlQXJ0aWZhY3QvJHtyZXBvc2l0b3J5SWR9IERMUSBOb3QgRW1wdHlgLFxuICAgICAgZGxxTm90RW1wdHlBbGFybVxuICAgICk7XG5cbiAgICBydWxlLm5vZGUuYWRkRGVwZW5kZW5jeShmYWlsdXJlQWxhcm0sIGRscU5vdEVtcHR5QWxhcm0pO1xuXG4gICAgb3ZlcnZpZXdEYXNoYm9hcmQuYWRkRExRTWV0cmljVG9EYXNoYm9hcmQoXG4gICAgICBgQ29kZUFydGlmYWN0LyR7cmVwb3NpdG9yeUlkfSBETFFgLFxuICAgICAgZGxxXG4gICAgKTtcbiAgICBvdmVydmlld0Rhc2hib2FyZC5hZGRDb25jdXJyZW50RXhlY3V0aW9uTWV0cmljVG9EYXNoYm9hcmQoXG4gICAgICBmb3J3YXJkZXIsXG4gICAgICBgJHtpZFByZWZpeH0vRm9yd2FyZGVyTGFtYmRhYFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYENvZGVBcnRpZmFjdDogJHtyZXBvc2l0b3J5SWR9YCxcbiAgICAgIGxpbmtzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ29kZUFydGlmYWN0JyxcbiAgICAgICAgICB1cmw6IGNvZGVBcnRpZmFjdFJlcG9zaXRvcnlVcmwodGhpcy5wcm9wcy5yZXBvc2l0b3J5KSxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0ZvcndhcmRlciBGdW5jdGlvbicsXG4gICAgICAgICAgdXJsOiBsYW1iZGFGdW5jdGlvblVybChmb3J3YXJkZXIpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NlYXJjaCBMb2cgZ3JvdXAnLFxuICAgICAgICAgIHVybDogbGFtYmRhU2VhcmNoTG9nR3JvdXBVcmwoZm9yd2FyZGVyKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdETFEnLFxuICAgICAgICAgIHVybDogc3FzUXVldWVVcmwoZGxxKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBkYXNoYm9hcmRXaWRnZXRzOiBbXG4gICAgICAgIFtcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICAgICAgdGl0bGU6ICdGdW5jdGlvbiBIZWFsdGgnLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICBmaWxsTWV0cmljKGZvcndhcmRlci5tZXRyaWNJbnZvY2F0aW9ucyh7IGxhYmVsOiAnSW52b2NhdGlvbnMnIH0pKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhmb3J3YXJkZXIubWV0cmljRXJyb3JzKHsgbGFiZWw6ICdFcnJvcnMnIH0pKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICByaWdodDogW2ZvcndhcmRlci5tZXRyaWNEdXJhdGlvbih7IGxhYmVsOiAnRHVyYXRpb24nIH0pXSxcbiAgICAgICAgICAgIHJpZ2h0WUF4aXM6IHsgbWluOiAwIH0sXG4gICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ0RlYWQgTGV0dGVyIFF1ZXVlJyxcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlzaWJsZSBNZXNzYWdlcycsXG4gICAgICAgICAgICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZGxxLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnSGlkZGVuIE1lc3NhZ2VzJyxcbiAgICAgICAgICAgICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxlZnRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiBbXG4gICAgICAgICAgICAgIGRscS5tZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdPbGRlc3QgTWVzc2FnZSBBZ2UnLFxuICAgICAgICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmlnaHRZQXhpczogeyBtaW46IDAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgICAgICB0aXRsZTogJ1F1YWxpdHkgTWV0cmljcycsXG4gICAgICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgICAgIGZpbGxNZXRyaWMoXG4gICAgICAgICAgICAgICAgdGhpcy5tZXRyaWNOb3RKc2lpRW5hYmxlZENvdW50KHsgbGFiZWw6ICdOb3QgYSBqc2lpIHBhY2thZ2UnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0luZWxpZ2libGVMaWNlbnNlKHsgbGFiZWw6ICdJbmVsaWdpYmxlIExpY2Vuc2UnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0RlbnlMaXN0ZWRDb3VudCh7IGxhYmVsOiAnRGVueSBMaXN0ZWQnIH0pLFxuICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZmlsbE1ldHJpYyhcbiAgICAgICAgICAgICAgICB0aGlzLm1ldHJpY0RlbGV0ZWRDb3VudCh7IGxhYmVsOiAnRGVsZXRpb24gRXZlbnRzJyB9KSxcbiAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7IG1pbjogMCB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb3VudCBvZiBwYWNrYWdlIHZlcnNpb25zIHRoYXQgd2VyZSBpZ25vcmVkIGR1ZSB0byBiZWluZyBpbiB0aGUgZGVueSBsaXN0LlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0RlbnlMaXN0ZWRDb3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk93bmVyLFxuICAgICAgICBbRE9NQUlOX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICBbUkVQT1NJVE9SWV9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZSxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLkRFTllfTElTVEVEX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHBhY2thZ2UgdmVyc2lvbnMgdGhhdCB3ZXJlIGlnbm9yZWQgZHVlIHRvIHVzaW5nIGFuIGluZWxvaWdpYmxlIGxpY2Vuc2UuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW5lbGlnaWJsZUxpY2Vuc2Uob3B0cz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIHN0YXRpc3RpYzogU3RhdGlzdGljLlNVTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIFtET01BSU5fT1dORVJfRElNRU5TSU9OXTpcbiAgICAgICAgICB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk93bmVyID8/IEF3cy5BQ0NPVU5UX0lELFxuICAgICAgICBbRE9NQUlOX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5OYW1lLFxuICAgICAgICBbUkVQT1NJVE9SWV9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyTmFtZSxcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLklORUxJR0lCTEVfTElDRU5TRSxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBwYWNrYWdlIHZlcnNpb25zIHRoYXQgd2VyZSBkZWxldGVkIGZyb20gQ29kZUFydGlmYWN0ICh0aG9zZSBldmVudHMgYXJlIG5vdFxuICAgKiBoYW5kbGVkIGN1cnJlbnRseSkuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRGVsZXRlZENvdW50KG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5TVU0sXG4gICAgICAuLi5vcHRzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBbRE9NQUlOX09XTkVSX0RJTUVOU0lPTl06XG4gICAgICAgICAgdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJEb21haW5Pd25lciA/PyBBd3MuQUNDT1VOVF9JRCxcbiAgICAgICAgW0RPTUFJTl9OQU1FX0RJTUVOU0lPTl06IHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluTmFtZSxcbiAgICAgICAgW1JFUE9TSVRPUllfTkFNRV9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ck5hbWUsXG4gICAgICB9LFxuICAgICAgbWV0cmljTmFtZTogTWV0cmljTmFtZS5ERUxFVEVEX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHBhY2thZ2UgdmVyc2lvbnMgdGhhdCBkbyBub3QgaGF2ZSBhIGpzaWkgYXNzZW1ibHkgaW4gdGhlIHBhY2thZ2UuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljTm90SnNpaUVuYWJsZWRDb3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuU1VNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgW0RPTUFJTl9PV05FUl9ESU1FTlNJT05dOlxuICAgICAgICAgIHRoaXMucHJvcHMucmVwb3NpdG9yeS5hdHRyRG9tYWluT3duZXIgPz8gQXdzLkFDQ09VTlRfSUQsXG4gICAgICAgIFtET01BSU5fTkFNRV9ESU1FTlNJT05dOiB0aGlzLnByb3BzLnJlcG9zaXRvcnkuYXR0ckRvbWFpbk5hbWUsXG4gICAgICAgIFtSRVBPU0lUT1JZX05BTUVfRElNRU5TSU9OXTogdGhpcy5wcm9wcy5yZXBvc2l0b3J5LmF0dHJOYW1lLFxuICAgICAgfSxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuTk9UX0pTSUlfRU5BQkxFRF9DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -534,7 +534,7 @@ class NpmJs {
534
534
  }
535
535
  exports.NpmJs = NpmJs;
536
536
  _a = JSII_RTTI_SYMBOL_1;
537
- NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.148" };
537
+ NpmJs[_a] = { fqn: "construct-hub.sources.NpmJs", version: "0.4.149" };
538
538
  /**
539
539
  * How often 'rate' goes into 'duration' (rounded up)
540
540
  */
@@ -50,7 +50,7 @@ class TagCondition {
50
50
  }
51
51
  exports.TagCondition = TagCondition;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.148" };
53
+ TagCondition[_a] = { fqn: "construct-hub.TagCondition", version: "0.4.149" };
54
54
  /**
55
55
  * Logic operators for performing specific conditional logic.
56
56
  */
@@ -130,7 +130,7 @@ class TagConditionField {
130
130
  }
131
131
  exports.TagConditionField = TagConditionField;
132
132
  _b = JSII_RTTI_SYMBOL_1;
133
- TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.148" };
133
+ TagConditionField[_b] = { fqn: "construct-hub.TagConditionField", version: "0.4.149" };
134
134
  /**
135
135
  * Target the README of the package to dictate whether a tag is relevant.
136
136
  */
@@ -147,5 +147,5 @@ class TagConditionReadme {
147
147
  }
148
148
  exports.TagConditionReadme = TagConditionReadme;
149
149
  _c = JSII_RTTI_SYMBOL_1;
150
- TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.148" };
150
+ TagConditionReadme[_c] = { fqn: "construct-hub.TagConditionReadme", version: "0.4.149" };
151
151
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE4RUEsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLG1EQUE2QixDQUFBO0lBQzdCLHVDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUc3QjtBQXNCRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQXFCO1FBQ2pDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFxQjtRQUNoQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFxQjtRQUNqQyxPQUFPLElBQUksaUJBQWlCLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFjO1FBQzVCLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNYLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O0FBdkNILG9DQTBDQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLHFCQU9YO0FBUEQsV0FBWSxxQkFBcUI7SUFDL0Isb0NBQVcsQ0FBQTtJQUNYLGtDQUFTLENBQUE7SUFDVCxvQ0FBVyxDQUFBO0lBQ1gsMENBQWlCLENBQUE7SUFDakIsOENBQXFCLENBQUE7SUFDckIsb0RBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVBXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBT2hDO0FBRUQsTUFBTSxpQkFBa0IsU0FBUSxZQUFZO0lBRTFDLFlBQ21CLElBQTJCLEVBQzNCLFFBQXdCO1FBRXpDLEtBQUssRUFBRSxDQUFDO1FBSFMsU0FBSSxHQUFKLElBQUksQ0FBdUI7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFIM0IsWUFBTyxHQUFHLElBQUksQ0FBQztJQU0vQixDQUFDO0lBRU0sSUFBSTtRQUNULE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNuRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxxQkFBc0IsU0FBUSxZQUFZO0lBRTlDLFlBQ21CLElBQTJCLEVBQzNCLE1BQTJCLEVBQzNCLEdBQWMsRUFDZCxLQUFjLEVBQ2QsT0FBcUM7UUFFdEQsS0FBSyxFQUFFLENBQUM7UUFOUyxTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFXO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNkLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBTnhDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0lBU25DLENBQUM7SUFFTSxJQUFJO1FBQ1QsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQWEsaUJBQWlCO0lBQzVCLFlBQW9DLEtBQWU7UUFBZixVQUFLLEdBQUwsS0FBSyxDQUFVO0lBQUcsQ0FBQztJQUV2RDs7O09BR0c7SUFDSSxFQUFFLENBQUMsS0FBVTtRQUNsQixPQUFPLElBQUkscUJBQXFCLENBQzlCLHFCQUFxQixDQUFDLE1BQU0sRUFDNUIsa0JBQWtCLENBQUMsWUFBWSxFQUMvQixJQUFJLENBQUMsS0FBSyxFQUNWLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQ2IsS0FBVSxFQUNWLFVBQXVDLEVBQUU7UUFFekMsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixxQkFBcUIsQ0FBQyxRQUFRLEVBQzlCLGtCQUFrQixDQUFDLFlBQVksRUFDL0IsSUFBSSxDQUFDLEtBQUssRUFDVixLQUFLLEVBQ0wsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIscUJBQXFCLENBQUMsV0FBVyxFQUNqQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQy9CLElBQUksQ0FBQyxLQUFLLEVBQ1YsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDOztBQTlDSCw4Q0ErQ0M7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDN0IsZ0JBQXNCLENBQUM7SUFFdkI7OztPQUdHO0lBQ0ksUUFBUSxDQUNiLEtBQWEsRUFDYixVQUF1QyxFQUFFO1FBRXpDLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIscUJBQXFCLENBQUMsUUFBUSxFQUM5QixrQkFBa0IsQ0FBQyxNQUFNLEVBQ3pCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7O0FBbEJILGdEQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhY2thZ2VUYWdHcm91cCB9IGZyb20gJy4uL3BhY2thZ2UtdGFnLWdyb3VwJztcblxuaW50ZXJmYWNlIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhlIHRhZyBiZWluZyBhcHBsaWVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaGV4IHZhbHVlIHN0cmluZyBmb3IgdGhlIGNvbG9yIG9mIHRoZSB0YWcgd2hlbiBkaXNwbGF5ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQgZXh0ZW5kcyBQYWNrYWdlVGFnUHJlc2VudGF0aW9uQmFzZSB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2hsaWdodCBleHRlbmRzIFBhY2thZ2VUYWdQcmVzZW50YXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIEljb24gZGlzcGxheWVkIG5leHQgdG8gaGlnaGxpZ2h0IG9uIHBhY2thZ2UgY2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hGaWx0ZXIge1xuICAvKipcbiAgICogRGlzcGxheSBuYW1lIGZvciBmaWx0ZXJcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXk6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiBncm91cCB0byBpbmNsdWRlIGZpbHRlciBpblxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGdyb3VwYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBncm91cEJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYWNrYWdlVGFnR3JvdXAgdG8gaW5jbHVkZSBmaWx0ZXIgaW5cbiAgICovXG4gIHJlYWRvbmx5IGdyb3VwPzogUGFja2FnZVRhZ0dyb3VwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRhZywgdXNlZCBmb3Igc2VhcmNoLiBNdXN0IGJlIHVuaXF1ZSBhbW9uZ3N0IHRhZ3MuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBoaWdsaWdodGluZyB0YWcgb24gcGFja2FnZSBjYXJkXG4gICAqIEBkZWZhdWx0IGRvbid0IGhpZ2hsaWdodCB0YWdcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hsaWdodD86IEhpZ2hsaWdodDtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3Igc2hvd2luZyB0YWcgYXMga2V5d29yZFxuICAgKiBAZGVmYXVsdCBkb24ndCBzaG93IHRhZyBpbiBrZXl3b3JkIGxpc3RcbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBLZXl3b3JkO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBzaG93aW5nIHRhZyBhcyBzZWFyY2ggZmlsdGVyXG4gICAqIEBkZWZhdWx0IGRvbid0IHNob3cgdGFnIGluIHNlYXJjaCBmaWx0ZXJzXG4gICAqL1xuICByZWFkb25seSBzZWFyY2hGaWx0ZXI/OiBTZWFyY2hGaWx0ZXI7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYXBwbHlpbmcgY3VzdG9tIHRhZ3MgdG8gcmVsZXZhbnQgcGFja2FnZXMuIEN1c3RvbSB0YWdzIGFyZVxuICogZGlzcGxheWVkIG9uIHRoZSBwYWNrYWdlIGRldGFpbHMgcGFnZSwgYW5kIGNhbiBiZSB1c2VkIGZvciBzZWFyY2hpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZyBleHRlbmRzIFBhY2thZ2VUYWdCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbG9naWMgdGhhdCBkaWN0YXRlcyB3aGV0aGVyIHRoZVxuICAgKiBwYWNrYWdlIGhhcyB0aGUgdGFnIGFwcGxpZWQuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gVGFnQ29uZGl0aW9uU291cmNlIHtcbiAgUEFDS0FHRV9KU09OID0gJ1BBQ0tBR0VfSlNPTicsXG4gIFJFQURNRSA9ICdSRUFETUUnLFxufVxuXG4vKipcbiAqIFNlcmlhbGl6ZWQgY29uZmlnIGZvciBhIHRhZyBjb25kaXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdDb25kaXRpb25Db25maWcge1xuICByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGU7XG4gIHJlYWRvbmx5IHNvdXJjZT86IFRhZ0NvbmRpdGlvblNvdXJjZTtcbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuICByZWFkb25seSBvcHRpb25zPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBUYWdDb25kaXRpb25Db25maWdbXTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVkIHRhZyBkZWNsYXJhdGlvbiB0byBiZSBwYXNzZWQgdG8gbGFtYmRhcyB2aWEgZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlVGFnQ29uZmlnIGV4dGVuZHMgUGFja2FnZVRhZ0Jhc2Uge1xuICByZWFkb25seSBjb25kaXRpb246IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBDb25kaXRpb24gZm9yIGFwcGx5aW5nIGEgY3VzdG9tIHRhZyB0byBhIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUYWdDb25kaXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlIGFuICYmIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIG9ubHkgd2hlbiBhbGwgY29uZGl0aW9uIGFyZ3VtZW50cyBhcmVcbiAgICogdHJ1ZS5cbiAgICovXG4gIHN0YXRpYyBhbmQoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5BTkQsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gfHwgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgYW55IG9mIHRoZSBjb25kaXRpb24gYXJndW1lbnRzIGFyZVxuICAgKiB0cnVlLlxuICAgKi9cbiAgc3RhdGljIG9yKC4uLmNvbmRzOiBUYWdDb25kaXRpb25bXSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25Mb2dpYyhUYWdDb25kaXRpb25Mb2dpY1R5cGUuT1IsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSAhIGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBjb25kaXRpb24gYXJndW1lbnQgaXMgZmFsc2VcbiAgICovXG4gIHN0YXRpYyBub3QoLi4uY29uZHM6IFRhZ0NvbmRpdGlvbltdKTogVGFnQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRhZ0NvbmRpdGlvbkxvZ2ljKFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZS5OT1QsIGNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXJnZXQgYSBmaWVsZCB3aXRoaW4gdGhlIGBwYWNrYWdlLmpzb25gIHRvIGFzc2VydCBhZ2FpbnN0LiBOZXN0ZWQgZmllbGRzXG4gICAqIGNhbiBiZSBhY2Nlc3NlZCBieSBwYXNzaW5nIG11bHRpcGxlIGtleXMuXG4gICAqIGBUYWdDb25kaXRpb24uZmllbGQoJ2tleTEnLCAna2V5MicpYCB3aWxsIGFjY2Vzc1xuICAgKiBgcGFja2FnZUpzb24/LmtleTE/LmtleTJgLlxuICAgKi9cbiAgc3RhdGljIGZpZWxkKC4uLmtleXM6IHN0cmluZ1tdKTogVGFnQ29uZGl0aW9uRmllbGQge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uRmllbGQoa2V5cyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29uZGl0aW9uIHdpdGggbG9naWMgdGFyZ2V0aW5nIHRoZSBSRUFETUUgb2YgdGhlIHBhY2thZ2UuXG4gICAqL1xuICBzdGF0aWMgcmVhZG1lKCk6IFRhZ0NvbmRpdGlvblJlYWRtZSB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25SZWFkbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZztcbn1cblxuLyoqXG4gKiBMb2dpYyBvcGVyYXRvcnMgZm9yIHBlcmZvcm1pbmcgc3BlY2lmaWMgY29uZGl0aW9uYWwgbG9naWMuXG4gKi9cbmV4cG9ydCBlbnVtIFRhZ0NvbmRpdGlvbkxvZ2ljVHlwZSB7XG4gIEFORCA9ICdBTkQnLFxuICBPUiA9ICdPUicsXG4gIE5PVCA9ICdOT1QnLFxuICBFUVVBTFMgPSAnRVFVQUxTJyxcbiAgSU5DTFVERVMgPSAnSU5DTFVERVMnLFxuICBTVEFSVFNfV0lUSCA9ICdTVEFSVFNfV0lUSCcsXG59XG5cbmNsYXNzIFRhZ0NvbmRpdGlvbkxvZ2ljIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzTG9naWMgPSB0cnVlO1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlOiBUYWdDb25kaXRpb25Mb2dpY1R5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlbjogVGFnQ29uZGl0aW9uW11cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmNoaWxkcmVuLm1hcCgoY29uZCkgPT4gY29uZC5iaW5kKCkpLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgVGFnQ29uZGl0aW9uUHJlZGljYXRlIGV4dGVuZHMgVGFnQ29uZGl0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzUHJlZGljYXRlID0gdHJ1ZTtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHlwZTogVGFnQ29uZGl0aW9uTG9naWNUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlPzogVGFnQ29uZGl0aW9uU291cmNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5Pzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZT86IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM/OiBUYWdDb25kaXRpb25JbmNsdWRlc09wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKCk6IFRhZ0NvbmRpdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRhcmdldCBhIGZpZWxkIHRvIHVzZSBpbiBsb2dpYyB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25GaWVsZCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpZWxkOiBzdHJpbmdbXSkge31cblxuICAvKipcbiAgICogQ3JlYXRlIGEgPT09IGNvbmRpdGlvbiB3aGljaCBhcHBsaWVzIGlmIHRoZSBzcGVjaWZpZWQgZmllbGQgd2l0aGluIHRoZVxuICAgKiBwYWNrYWdlJ3MgcGFja2FnZS5qc29uIGlzIGVxdWFsIHRvIHRoZSBwYXNzZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZXEodmFsdWU6IGFueSk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuRVFVQUxTLFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIHNwZWNpZmllZFxuICAgKiBmaWVsZCB3aXRoaW4gdGhlIHBhY2thZ2UncyBwYWNrYWdlLmpzb24gaW5jbHVkZXMgdGhlIHZhbHVlLiBUaGlzIHdvcmtzIGZvclxuICAgKiBhcnJheXMgb3Igc3RyaW5ncy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUEFDS0FHRV9KU09OLFxuICAgICAgdGhpcy5maWVsZCxcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYGZpZWxkLnN0YXJ0c1dpdGgodmFsdWUpYCBjb25kaXRpb24gd2hpY2ggYXBwbGllcyBpZiB0aGUgc3BlY2lmaWVkXG4gICAqIGZpZWxkIHdpdGhpbiB0aGUgcGFja2FnZSdzIHBhY2thZ2UuanNvbiBiZWdpbnMgd2l0aCB0aGUgdmFsdWUuIFRoaXMgd29ya3NcbiAgICogb25seSBmb3Igc3RyaW5nIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyBzdGFydHNXaXRoKHZhbHVlOiBzdHJpbmcpOiBUYWdDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgVGFnQ29uZGl0aW9uUHJlZGljYXRlKFxuICAgICAgVGFnQ29uZGl0aW9uTG9naWNUeXBlLlNUQVJUU19XSVRILFxuICAgICAgVGFnQ29uZGl0aW9uU291cmNlLlBBQ0tBR0VfSlNPTixcbiAgICAgIHRoaXMuZmllbGQsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUYXJnZXQgdGhlIFJFQURNRSBvZiB0aGUgcGFja2FnZSB0byBkaWN0YXRlIHdoZXRoZXIgYSB0YWcgaXMgcmVsZXZhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWdDb25kaXRpb25SZWFkbWUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBgcmVhZG1lLmluY2x1ZGVzKHZhbHVlKWAgY29uZGl0aW9uIHdoaWNoIGFwcGxpZXMgaWYgdGhlIFJFQURNRVxuICAgKiBpbmNsdWRlcyB0aGUgc3BlY2lmaWVkIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlcyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyA9IHt9XG4gICk6IFRhZ0NvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUYWdDb25kaXRpb25QcmVkaWNhdGUoXG4gICAgICBUYWdDb25kaXRpb25Mb2dpY1R5cGUuSU5DTFVERVMsXG4gICAgICBUYWdDb25kaXRpb25Tb3VyY2UuUkVBRE1FLFxuICAgICAgdW5kZWZpbmVkLCAvLyBubyBrZXlcbiAgICAgIHZhbHVlLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgaW5jbHVkZXNgIG9wZXJhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ0NvbmRpdGlvbkluY2x1ZGVzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgbXVzdCBhcHBlYXIgYXQgbGVhc3QgdGhpcyBtYW55IHRpbWVzLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBhdExlYXN0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTdHJpbmcgbWF0Y2hlcyBtdXN0IG1hdGNoIHRoZSBjYXNpbmcgb2YgdGhlIG9yaWdpbmFsIHN0cmluZy4gVGhpcyBvcHRpb25cbiAgICogaXMgaWdub3JlZCBpZiB0aGUgdmFsdWUgd2UgYXJlIGNoZWNraW5nIGlzIGFuIGFycmF5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -13,7 +13,7 @@ class FilterType {
13
13
  }
14
14
  exports.FilterType = FilterType;
15
15
  _a = JSII_RTTI_SYMBOL_1;
16
- FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.148" };
16
+ FilterType[_a] = { fqn: "construct-hub.FilterType", version: "0.4.149" };
17
17
  class FilterTypeRadio extends FilterType {
18
18
  bind() {
19
19
  return { type: 'radio' };
@@ -45,5 +45,5 @@ class PackageTagGroup {
45
45
  }
46
46
  exports.PackageTagGroup = PackageTagGroup;
47
47
  _b = JSII_RTTI_SYMBOL_1;
48
- PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.148" };
48
+ PackageTagGroup[_b] = { fqn: "construct-hub.PackageTagGroup", version: "0.4.149" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFja2FnZS10YWctZ3JvdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxNQUFzQixVQUFVO0lBQzlCLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBUEgsZ0NBVUM7OztBQUVELE1BQU0sZUFBZ0IsU0FBUSxVQUFVO0lBQy9CLElBQUk7UUFDVCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sa0JBQW1CLFNBQVEsVUFBVTtJQUNsQyxJQUFJO1FBQ1QsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUF3QkQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFLMUIsWUFBNEIsRUFBVSxFQUFFLEtBQTRCO1FBQXhDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7O0FBbEJILDBDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyVHlwZVZhbHVlIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2NoZWNrYm94JyB8ICdyYWRpbyc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJUeXBlIHtcbiAgc3RhdGljIGNoZWNrYm94KCk6IEZpbHRlclR5cGUge1xuICAgIHJldHVybiBuZXcgRmlsdGVyVHlwZUNoZWNrYm94KCk7XG4gIH1cblxuICBzdGF0aWMgcmFkaW8oKTogRmlsdGVyVHlwZSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJUeXBlUmFkaW8oKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZTtcbn1cblxuY2xhc3MgRmlsdGVyVHlwZVJhZGlvIGV4dGVuZHMgRmlsdGVyVHlwZSB7XG4gIHB1YmxpYyBiaW5kKCk6IEZpbHRlclR5cGVWYWx1ZSB7XG4gICAgcmV0dXJuIHsgdHlwZTogJ3JhZGlvJyB9O1xuICB9XG59XG5cbmNsYXNzIEZpbHRlclR5cGVDaGVja2JveCBleHRlbmRzIEZpbHRlclR5cGUge1xuICBwdWJsaWMgYmluZCgpOiBGaWx0ZXJUeXBlVmFsdWUge1xuICAgIHJldHVybiB7IHR5cGU6ICdjaGVja2JveCcgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VUYWdHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIEdyb3VwIGxhYmVsIHRvIGRpc3BsYXkuIEZhbGxzIGJhY2sgdG8gaWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1lc3NhZ2UgdG8gc2hvdyB3aXRoaW4gYSB0b29sdGlwIG5leHQgdG8gdGhlIGZpbHRlciBsYWJlbFxuICAgKi9cbiAgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzcGVjaWZ5IHRoZSBncm91cCBmaWx0ZXIgdHlwZS4gRGVmYXVsdHMgdG8gY2hlY2tib3ggaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyVHlwZT86IEZpbHRlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvb2x0aXA/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGN1c3RvbSBwYWNrYWdlIHRhZyBncm91cFxuICovXG5leHBvcnQgY2xhc3MgUGFja2FnZVRhZ0dyb3VwIHtcbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHRpcD86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlclR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsIHByb3BzPzogUGFja2FnZVRhZ0dyb3VwUHJvcHMpIHtcbiAgICB0aGlzLmxhYmVsID0gcHJvcHM/LmxhYmVsO1xuICAgIHRoaXMudG9vbHRpcCA9IHByb3BzPy50b29sdGlwO1xuICAgIHRoaXMuZmlsdGVyVHlwZSA9IChwcm9wcz8uZmlsdGVyVHlwZSA/PyBGaWx0ZXJUeXBlLmNoZWNrYm94KCkpLmJpbmQoKS50eXBlO1xuICB9XG5cbiAgcHVibGljIGJpbmQoKTogUGFja2FnZVRhZ0dyb3VwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcbiAgICAgIGZpbHRlclR5cGU6IHRoaXMuZmlsdGVyVHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -31,5 +31,5 @@ class PreloadFile {
31
31
  }
32
32
  exports.PreloadFile = PreloadFile;
33
33
  _a = JSII_RTTI_SYMBOL_1;
34
- PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.148" };
34
+ PreloadFile[_a] = { fqn: "construct-hub.PreloadFile", version: "0.4.149" };
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlbG9hZC1maWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQWtDO0FBRWxDOzs7R0FHRztBQUNILE1BQWEsV0FBVztJQWdCdEIsWUFBNkIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBRyxDQUFDO0lBZjdDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sSUFBSSxHQUFHLGlCQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVk7UUFDMUIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBSU0sSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQXBCSCxrQ0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGphdmFzY3JpcHQgZmlsZSB0byBsb2FkIGJlZm9yZSB0aGUgd2ViYXBwLlxuICogVGhpcyBjYW4gYWxsb3cgb3BlcmF0b3JzIHRvIGFkZCB0aGVpciBvd24gY2xpZW50IG1vbml0b3JzIG9yIGFuYWx5dGljcyBpZiB0aGV5IHdpc2hcbiAqL1xuZXhwb3J0IGNsYXNzIFByZWxvYWRGaWxlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBQcmVsb2FkRmlsZSBpbnN0YW5jZSBmcm9tIGEgZmlsZXBhdGggdG8gbG9hZFxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlKHBhdGg6IHN0cmluZyk6IFByZWxvYWRGaWxlIHtcbiAgICBjb25zdCBkYXRhID0gcmVhZEZpbGVTeW5jKHBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gICAgcmV0dXJuIG5ldyBQcmVsb2FkRmlsZShkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUHJlbG9hZEZpbGUgaW5zdGFuY2UgZGlyZWN0bHkgZnJvbSBzb3VyY2UgY29kZVxuICAgKi9cbiAgc3RhdGljIGZyb21Db2RlKGNvZGU6IHN0cmluZyk6IFByZWxvYWRGaWxlIHtcbiAgICByZXR1cm4gbmV3IFByZWxvYWRGaWxlKGNvZGUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkYXRhOiBzdHJpbmcpIHt9XG5cbiAgcHVibGljIGJpbmQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG59XG4iXX0=
package/lib/s3/storage.js CHANGED
@@ -52,6 +52,6 @@ class S3StorageFactory extends constructs_1.Construct {
52
52
  }
53
53
  exports.S3StorageFactory = S3StorageFactory;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.148" };
55
+ S3StorageFactory[_a] = { fqn: "construct-hub.S3StorageFactory", version: "0.4.149" };
56
56
  S3StorageFactory.UID = 'S3StorageFactory';
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zMy9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXFEO0FBQ3JELHlDQUF5QztBQUN6QywyQ0FBdUM7QUFjdkM7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBc0I3QyxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixRQUErQixFQUFFO1FBRWpDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBNUJEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUN2QixLQUFnQixFQUNoQixRQUErQixFQUFFO1FBRWpDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFxQixDQUFDO0lBQ3hFLENBQUM7SUFlRDs7OztPQUlHO0lBQ0ksU0FBUyxDQUNkLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFzQjtRQUV0QixTQUFTLFdBQVcsQ0FBQyxNQUFpQjtZQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0Qsa0JBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUUzQyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2dCQUN0QyxXQUFXLEVBQUUsWUFBWSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDM0MsS0FBSyxFQUFFLG9CQUFvQixNQUFNLENBQUMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxVQUFVLEVBQUU7YUFDNUUsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhELDZFQUE2RTtRQUM3RSxrRkFBa0Y7UUFDbEYseUJBQXlCO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2xELENBQUM7O0FBNURILDRDQTZEQzs7O0FBM0N5QixvQkFBRyxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBTdGFjaywgVGFncyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgUzNTdG9yYWdlRmFjdG9yeWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1N0b3JhZ2VGYWN0b3J5UHJvcHMge1xuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCB0aGUgZmFjdG9yeSB3aWxsIHJldHVybiB0aGUgZmFpbG92ZXIgYnVja2V0cyBpbnN0ZWFkIG9mIHRoZSBwcmltYXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZmFpbG92ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBzMyBzdG9yYWdlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFMzU3RvcmFnZUZhY3RvcnkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0cmlldmUgb3IgY3JlYXRlIHRoZSBzdG9yYWdlIGZhY3RvcnkgZm9yIHRoZSBjdXJyZW50IHNjb3BlLlxuICAgKlxuICAgKiBUaGlzIGlzIHN0YWNrIHNpbmdsZXRvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0T3JDcmVhdGUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBwcm9wczogUzNTdG9yYWdlRmFjdG9yeVByb3BzID0ge31cbiAgKTogUzNTdG9yYWdlRmFjdG9yeSB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgZmFjdG9yeSA9IHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKFMzU3RvcmFnZUZhY3RvcnkuVUlEKTtcbiAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgIHJldHVybiBuZXcgUzNTdG9yYWdlRmFjdG9yeShzdGFjaywgUzNTdG9yYWdlRmFjdG9yeS5VSUQsIHByb3BzKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrLm5vZGUuZmluZENoaWxkKFMzU3RvcmFnZUZhY3RvcnkuVUlEKSBhcyBTM1N0b3JhZ2VGYWN0b3J5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVUlEID0gJ1MzU3RvcmFnZUZhY3RvcnknO1xuXG4gIHByaXZhdGUgZmFpbG92ZXJBY3RpdmU6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFMzU3RvcmFnZUZhY3RvcnlQcm9wcyA9IHt9XG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5mYWlsb3ZlckFjdGl2ZSA9IHByb3BzLmZhaWxvdmVyID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBidWNrZXQgaW4gYSBzdG9yYWdlIGNvbmZpZyBhd2FyZSBtYW5uZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIHMzLkJ1Y2tldFxuICAgKi9cbiAgcHVibGljIG5ld0J1Y2tldChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xuICApOiBzMy5CdWNrZXQge1xuICAgIGZ1bmN0aW9uIGZhaWxvdmVyRm9yKGJ1Y2tldDogczMuQnVja2V0KTogczMuQnVja2V0IHtcbiAgICAgIGNvbnN0IF9mYWlsb3ZlciA9IG5ldyBzMy5CdWNrZXQoc2NvcGUsIGBGYWlsb3ZlciR7aWR9YCwgcHJvcHMpO1xuICAgICAgVGFncy5vZihfZmFpbG92ZXIpLmFkZCgnZmFpbG92ZXInLCAndHJ1ZScpO1xuXG4gICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCAnU25hcHNob3RDb21tYW5kJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogYFNuYXBzaG90ICR7YnVja2V0Lm5vZGUucGF0aH1gLFxuICAgICAgICB2YWx1ZTogYGF3cyBzMyBzeW5jIHMzOi8vJHtidWNrZXQuYnVja2V0TmFtZX0gczM6Ly8ke19mYWlsb3Zlci5idWNrZXROYW1lfWAsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBfZmFpbG92ZXI7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWFyeSA9IG5ldyBzMy5CdWNrZXQoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAvLyBub3RlIHRoYXQgd2UgY3JlYXRlIHRoZSBmYWlsb3ZlciBidWNrZXQgZXZlbiBpZiB3ZSBkb24ndCBjdXJyZW50bHkgdXNlIGl0LlxuICAgIC8vIHRoaXMgaXMgYmVjYXVzZSBjb25kaXRpb25pbmcgYnVja2V0IGNyZWF0aW9uIHdpbGwgZXZlbnR1YWxseSBmYWlsIHNpbmNlIGJ1Y2tldHNcbiAgICAvLyBhcmUgbm9ybWFsbHkgcmV0YWluZWQuXG4gICAgY29uc3QgZmFpbG92ZXIgPSBmYWlsb3ZlckZvcihwcmltYXJ5KTtcblxuICAgIHJldHVybiB0aGlzLmZhaWxvdmVyQWN0aXZlID8gZmFpbG92ZXIgOiBwcmltYXJ5O1xuICB9XG59XG4iXX0=
@@ -245,7 +245,7 @@ class SpdxLicense {
245
245
  }
246
246
  exports.SpdxLicense = SpdxLicense;
247
247
  _a = JSII_RTTI_SYMBOL_1;
248
- SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.148" };
248
+ SpdxLicense[_a] = { fqn: "construct-hub.SpdxLicense", version: "0.4.149" };
249
249
  SpdxLicense._ALL = new Map();
250
250
  //#region Individual SPDX Licenses
251
251
  /**
package/package.json CHANGED
@@ -183,7 +183,7 @@
183
183
  "main": "lib/index.js",
184
184
  "license": "Apache-2.0",
185
185
  "homepage": "https://github.com/cdklabs",
186
- "version": "0.4.148",
186
+ "version": "0.4.149",
187
187
  "jest": {
188
188
  "maxConcurrency": 2,
189
189
  "moduleNameMapper": {