@appconda/sdk 1.0.516 → 1.0.517

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -281,6 +281,24 @@ export declare const UpdateAssistantDatasourceSchema: z.ZodObject<{
281
281
  export declare const DeleteAssistantDatasourceSchema: z.ZodObject<{
282
282
  id: z.ZodString;
283
283
  }, z.core.$strip>;
284
+ export declare const CreateAssistantSkillSchema: z.ZodObject<{
285
+ tenantId: z.ZodString;
286
+ assistantId: z.ZodString;
287
+ name: z.ZodString;
288
+ config: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
289
+ }, z.core.$strip>;
290
+ export declare const ListAssistantSkillsSchema: z.ZodObject<{
291
+ tenantId: z.ZodString;
292
+ assistantId: z.ZodOptional<z.ZodString>;
293
+ }, z.core.$strip>;
294
+ export declare const UpdateAssistantSkillSchema: z.ZodObject<{
295
+ id: z.ZodString;
296
+ name: z.ZodOptional<z.ZodString>;
297
+ config: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
298
+ }, z.core.$strip>;
299
+ export declare const DeleteAssistantSkillSchema: z.ZodObject<{
300
+ id: z.ZodString;
301
+ }, z.core.$strip>;
284
302
  export declare const CreateWorkerSchema: z.ZodObject<{
285
303
  tenantId: z.ZodString;
286
304
  emploidId: z.ZodString;
@@ -250,6 +250,24 @@ export const UpdateAssistantDatasourceSchema = z.object({
250
250
  export const DeleteAssistantDatasourceSchema = z.object({
251
251
  id: z.string()
252
252
  });
253
+ export const CreateAssistantSkillSchema = z.object({
254
+ tenantId: z.string(),
255
+ assistantId: z.string(),
256
+ name: z.string(),
257
+ config: z.object({}).optional()
258
+ });
259
+ export const ListAssistantSkillsSchema = z.object({
260
+ tenantId: z.string(),
261
+ assistantId: z.string().optional(),
262
+ });
263
+ export const UpdateAssistantSkillSchema = z.object({
264
+ id: z.string(),
265
+ name: z.string().optional(),
266
+ config: z.object({}).optional()
267
+ });
268
+ export const DeleteAssistantSkillSchema = z.object({
269
+ id: z.string()
270
+ });
253
271
  export const CreateWorkerSchema = z.object({
254
272
  tenantId: z.string(),
255
273
  emploidId: z.string(),
@@ -844,4 +862,4 @@ export const ListWikiPagesSchema = z.object({
844
862
  tenantId: z.string(),
845
863
  workspaceId: z.string(),
846
864
  });
847
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN2QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDeEQsT0FBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUU3QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDckMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNkLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3JDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxF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QUUsd0NBQXdDO0lBQzdELE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsMkJBQTJCO0lBQzFELFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDckIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVFbXBsb2lkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIHVzZXJJZDogei5zdHJpbmcoKSxcbiAgICBvY2N1cGF0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGF2YXRhcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdmVyc2lvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUVtcGxvaWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYXZhdGFyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB2ZXJzaW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlRW1wbG9pZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0RW1wbG9pZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEVtcGxvaWRzUGFnaW5hdGVkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIHBhZ2U6IHoubnVtYmVyKCkuaW50KCkub3B0aW9uYWwoKSxcbiAgICBsaW1pdDogei5udW1iZXIoKS5pbnQoKS5vcHRpb25hbCgpLFxuICAgIHNlYXJjaDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHN0YXR1czogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIG9jY3VwYXRpb246IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgICBjcmVhdGVkQnk6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKS50cmFuc2Zvcm0oKGFycikgPT4ge1xuICAgICAgICByZXR1cm4gYXJyPy5tYXAoKGl0ZW0pID0+IGl0ZW0udG9Mb3dlckNhc2UoKSk7XG4gICAgfSksXG4gICAgc29ydEJ5OiB6LmVudW0oWyduYW1lJywgJ2NyZWF0ZWRBdCcsICd1cGRhdGVkQXQnLCAncmVsZXZhbmNlJ10pLm9wdGlvbmFsKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RTY29wZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdE9jY3VwYXRpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZU9jY3VwYXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZU9jY3VwYXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVPY2N1cGF0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZURvbWFpblRvcGljU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG9jY3VwYXRpb25JZDogei5zdHJpbmcoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpbnN0cnVjdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlRG9tYWluVG9waWNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaW5zdHJ1Y3Rpb25zOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZURvbWFpblRvcGljU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3REb21haW5Ub3BpY3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgb2NjdXBhdGlvbklkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNjb3BlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc2NvcGVJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgc2NvcGVJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjYXRlZ29yeTogei5lbnVtKFtcInRlY2huaWNhbFwiLCBcImFkbWluaXN0cmF0aXZlXCIsIFwic29jaWFsXCJdKS5vcHRpb25hbCgpLFxuICAgIHByaW9yaXR5OiB6LmVudW0oW1wiaGlnaFwiLCBcIm1lZGl1bVwiLCBcImxvd1wiXSkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouZW51bShbXCJhY3RpdmVcIiwgXCJpbmFjdGl2ZVwiLCBcImRyYWZ0XCJdKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY2F0ZWdvcnk6IHouZW51bShbXCJ0ZWNobmljYWxcIiwgXCJhZG1pbmlzdHJhdGl2ZVwiLCBcInNvY2lhbFwiXSkub3B0aW9uYWwoKSxcbiAgICBwcmlvcml0eTogei5lbnVtKFtcImhpZ2hcIiwgXCJtZWRpdW1cIiwgXCJsb3dcIl0pLm9wdGlvbmFsKCksXG4gICAgc3RhdHVzOiB6LmVudW0oW1wiYWN0aXZlXCIsIFwiaW5hY3RpdmVcIiwgXCJkcmFmdFwiXSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSm9iRGVmaW5pdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDb21wZXRlbmN5U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIGpvYkRlZmluaXRpb25JZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RDb21wZXRlbmNpZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc2NvcGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGpvYkRlZmluaXRpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDb21wZXRlbmN5U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFnZW50Rmxvd1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGZvbGRlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAvL2Zsb3dEYXRhOiB6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVBZ2VudEZsb3dTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgLy9mbG93RGF0YTogei5vYmplY3Qoe30pLnBhc3N0aHJvdWdoKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2hhbmdlQWdlbnRmbG93UHJvamVjdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBwcm9qZWN0SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5cblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudEZsb3dzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudEZsb3dGb2xkZXJzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVFeHRlbnNpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgZXh0ZW5zaW9uSWQ6IHouc3RyaW5nKCksXG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7fSkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0RXh0ZW5zaW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlRXh0ZW5zaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7XG4gICAgICAgIG1vZGU6IHouZW51bShbXCJzaW1wbGVcIiwgXCJhZHZhbmNlZFwiXSksXG4gICAgfSkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVBc3Npc3RhbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHtcbiAgICAgICAgbW9kZTogei5lbnVtKFtcInNpbXBsZVwiLCBcImFkdmFuY2VkXCJdKSxcbiAgICB9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudEluc3RydWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFzc2lzdGFudElkOiB6LnN0cmluZygpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHByb21wdDogei5zdHJpbmcoKSxcbiAgICBpbnN0cnVjdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEFzc2lzdGFudEluc3RydWN0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhc3Npc3RhbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBc3Npc3RhbnRDb25zdHJhaW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFzc2lzdGFudElkOiB6LnN0cmluZygpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHByb21wdDogei5zdHJpbmcoKSxcbiAgICBjb25zdHJhaW50czogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0QXNzaXN0YW50Q29uc3RyYWludHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYXNzaXN0YW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBMaXN0QXNzaXN0YW50c1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFzc2lzdGFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7XG5cbiAgICB9KS5vcHRpb25hbCgpXG59KTtcblxuXG5cbmV4cG9ydCBjb25zdCBMaXN0QXNzaXN0YW50RGF0YXNvdXJjZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYXNzaXN0YW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7XG5cbiAgICB9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlV29ya2VyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVdvcmtlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB3b3JrZXJJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBEZWxldGVXb3JrZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgd29ya2VySWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RXb3JrZXJzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBjb21wZXRlbmN5SWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHR5cGU6IHouZW51bShbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbicsICdvYmplY3QnXSkuZGVmYXVsdCgnc3RyaW5nJyksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjb21wZXRlbmN5SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdHlwZTogei5lbnVtKFsnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ29iamVjdCddKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGVhbVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RUZWFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUZWFtU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlYW1JZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVUZWFtU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlYW1JZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2F2ZUNoYXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKSxcbiAgICB1c2VySWQ6IHouc3RyaW5nKCksXG4gICAgdmlzaWJpbGl0eTogei5lbnVtKFsncHJpdmF0ZScsICdwdWJsaWMnXSksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNoYXRCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRDaGF0QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhdHNCeVVzZXJJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB1c2VySWQ6IHouc3RyaW5nKCksXG4gICAgbGltaXQ6IHoubnVtYmVyKCksXG4gICAgc3RhcnRpbmdBZnRlcjogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG4gICAgZW5kaW5nQmVmb3JlOiB6LnN0cmluZygpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2F2ZU1lc3NhZ2VzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIG1lc3NhZ2VzOiB6LmFycmF5KHoub2JqZWN0KCkpXG59KTtcblxuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldE1lc3NhZ2VCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBWb3RlTWVzc2FnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG4gICAgbWVzc2FnZUlkOiB6LnN0cmluZygpLFxuICAgIHR5cGU6IHouZW51bShbJ3VwJywgJ2Rvd24nXSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFZvdGVzQnlDaGF0SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdGltZXN0YW1wOiB6LmRhdGUoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2F2ZVN1Z2dlc3Rpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHN1Z2dlc3Rpb25zOiB6LmFycmF5KHoub2JqZWN0KHt9KSlcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0U3VnZ2VzdGlvbnNCeURvY3VtZW50SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG4gICAgdGltZXN0YW1wOiB6LmRhdGUoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ2hhdFZpc2libGl0eUJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdmlzaWJpbGl0eTogei5lbnVtKFsncHJpdmF0ZScsICdwdWJsaWMnXSksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgY29udGV4dDogei5vYmplY3Qoe30pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB1c2VySWQ6IHouc3RyaW5nKCksXG4gICAgZGlmZmVyZW5jZUluSG91cnM6IHoubnVtYmVyKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVN0cmVhbUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHN0cmVhbUlkOiB6LnN0cmluZygpLFxuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0U3RyZWFtSWRzQnlDaGF0SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTYXZlRG9jdW1lbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKSxcbiAgICBraW5kOiB6LmVudW0oWyd0ZXh0JywgJ2NvZGUnLCAnaW1hZ2UnLCAnc2hlZXQnXSksXG4gICAgY29udGVudDogei5zdHJpbmcoKSxcbiAgICB1c2VySWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldERvY3VtZW50QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2tpbGxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RTa2lsbHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlU2tpbGxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2tpbGxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUluc3RydWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLFxuICAgIHR5cGU6IHouZW51bShbJ1VTRVInLCAnU1lTVEVNJ10pLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RJbnN0cnVjdGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHNlYXJjaFRleHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlSW5zdHJ1Y3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5lbnVtKFsnVVNFUicsICdTWVNURU0nXSkub3B0aW9uYWwoKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVJbnN0cnVjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDb21tYW5kU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0eXBlOiB6LmVudW0oWydXT1JLRVInLCAnQVNTSVNUQU5UJywgJ1RFQU0nLCAnRkxPVyddKS5kZWZhdWx0KCdGTE9XJyksXG4gICAgdGFyZ2V0SWQ6IHouc3RyaW5nKCksXG4gICAgdGFyZ2V0VHlwZTogei5zdHJpbmcoKSxcbiAgICBpbnB1dHM6IHouYXJyYXkoei5vYmplY3Qoe1xuICAgICAgICBcImxhYmVsXCI6IHouc3RyaW5nKCksXG4gICAgICAgIFwibmFtZVwiOiB6LnN0cmluZygpLFxuICAgICAgICBcInR5cGVcIjogei5lbnVtKFsnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ29iamVjdCddKS5kZWZhdWx0KCdzdHJpbmcnKSxcbiAgICB9KSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdENvbW1hbmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNvbW1hbmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdHlwZTogei5lbnVtKFsnV09SS0VSJywgJ0FTU0lTVEFOVCcsICdURUFNJywgJ0ZMT1cnXSkub3B0aW9uYWwoKSxcbiAgICB0YXJnZXRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRhcmdldFR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQ29tbWFuZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5cblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbnN0cmFpbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5lbnVtKFsnVVNFUicsICdTWVNURU0nXSksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdENvbnN0cmFpbnRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzZWFyY2hUZXh0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNvbnN0cmFpbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdHlwZTogei5lbnVtKFsnVVNFUicsICdTWVNURU0nXSkub3B0aW9uYWwoKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDb25zdHJhaW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYXNrVGVtcGxhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0YXNrOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUYXNrVGVtcGxhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdGFzazogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGFza1RlbXBsYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza1RlbXBsYXRlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLUNvbGxlY3Rpb25zLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8qKlxuICogRGF0YU1vZGVsIG9sdcWfdHVybWFcbiAqL1xuZXhwb3J0IGNvbnN0IENyZWF0ZURhdGFNb2RlbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBkaXNwbGF5TmFtZTogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLCAvLyBkYXRhIG1vZGVsIG5hbWVcbn0pO1xuXG4vKipcbiAqIERhdGFNb2RlbCBnw7xuY2VsbGVtZSAocGFydGlhbClcbiAqL1xuZXhwb3J0IGNvbnN0IFVwZGF0ZURhdGFNb2RlbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBkYXRhTW9kZWxJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIG9wc2l5b25lbCBhbGFubGFyXG4gICAgZGlzcGxheU5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG4vKipcbiAqIERhdGFNb2RlbCBzb2Z0IGRlbGV0ZSAoYXJjaGl2ZSlcbiAqL1xuZXhwb3J0IGNvbnN0IERlbGV0ZURhdGFNb2RlbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBkZWxldGVkQnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSwgLy8gdXNlcklkIHwgc3lzdGVtIHwgZW1wbG9pZFxufSk7XG5cbi8qKlxuICogRGF0YU1vZGVsIHJlc3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFJlc3RvcmVEYXRhTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgcmVzdG9yZWRCeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLCAvLyB1c2VySWQgfCBzeXN0ZW0gfCBlbXBsb2lkXG59KTtcblxuLyoqXG4gKiBEYXRhTW9kZWwgaGFyZCBkZWxldGUgKGdlcmkgZMO2bsO8bG1leilcbiAqL1xuZXhwb3J0IGNvbnN0IExpc3REYXRhTW9kZWxzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldERhdGFNb2RlbEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEhhcmREZWxldGVEYXRhTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCksXG5cbiAgICBjb25maXJtZWQ6IHoubGl0ZXJhbChcIllFU1wiKSxcbiAgICBkZWxldGVkQnk6IHouc3RyaW5nKCksIC8vIHN5c3RlbSAvIGFkbWluXG59KTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29sbGVjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBkYXRhTW9kZWxJZDogei5zdHJpbmcoKSxcbiAgICBkaXNwbGF5TmFtZTogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNvbGxlY3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIGRpc3BsYXlOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQ29sbGVjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG59KTtcblxuXG5cbmV4cG9ydCBjb25zdCBMaXN0Q29sbGVjdGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVSZWNvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIGRhdGE6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0UmVjb3JkQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIGxpbWl0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgb2Zmc2V0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG5cbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgc29ydDogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVJlY29yZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCksXG5cbiAgICBkYXRhOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVJlY29yZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlc3RvcmVSZWNvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcHNlcnRSZWNvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gdmFyc2EgdXBkYXRlLCB5b2tzYSBjcmVhdGVcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuXG4gICAgZGF0YTogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBCdWxrQ3JlYXRlUmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICByZWNvcmRzOiB6LmFycmF5KFxuICAgICAgICB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSlcbiAgICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBCdWxrVXBkYXRlUmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICByZWNvcmRzOiB6LmFycmF5KFxuICAgICAgICB6Lm9iamVjdCh7XG4gICAgICAgICAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIGRhdGE6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKSxcbiAgICAgICAgfSlcbiAgICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBCdWxrRGVsZXRlUmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICByZWNvcmRJZHM6IHouYXJyYXkoei5zdHJpbmcoKSksXG59KTtcblxuXG5leHBvcnQgY29uc3QgRHVwbGljYXRlUmVjb3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIG9wc2l5b25lbDoga29weWEgw7x6ZXJpbmRlIG92ZXJyaWRlIGVkaWxlY2VrIGFsYW5sYXJcbiAgICBvdmVycmlkZXM6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBRdWVyeVJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gd2hlcmUgLyBmaWx0ZXJcbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gcHJvamVjdGlvbiAoaGFuZ2kgYWxhbmxhciBnZWxzaW4pXG4gICAgZmllbGRzOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIHNvcnRpbmdcbiAgICBzb3J0OiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIHBhZ2luYXRpb25cbiAgICBsaW1pdDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIG9mZnNldDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTZWFyY2hSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGFyYW1hIG1ldG5pXG4gICAgcXVlcnk6IHouc3RyaW5nKCksXG5cbiAgICAvLyBvcHNpeW9uZWw6IGhhbmdpIGFsYW5sYXJkYSBhcmFuc8SxblxuICAgIGZpZWxkczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gb3BzaXlvbmVsIGVrIGZpbHRyZWxlclxuICAgIGZpbHRlcjogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBzb3J0aW5nXG4gICAgc29ydDogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBwYWdpbmF0aW9uXG4gICAgbGltaXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICBvZmZzZXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ291bnRSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIG9wc2l5b25lbCBmaWx0cmVcbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHcm91cFJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gaGFuZ2kgYWxhbihsYXIpYSBnw7ZyZSBncnVwbGFuYWNha1xuICAgIGJ5OiB6LmFycmF5KHouc3RyaW5nKCkpLFxuXG4gICAgLy8gb3BzaXlvbmVsIGZpbHRyZVxuICAgIGZpbHRlcjogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBhZ2dyZWdhdGlvbiB0YW7EsW3EsSAoY291bnQsIHN1bSwgYXZnIHZiLilcbiAgICBhZ2dyZWdhdGlvbnM6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gc29ydGluZ1xuICAgIHNvcnQ6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gcGFnaW5hdGlvblxuICAgIGxpbWl0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgb2Zmc2V0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEFnZ3JlZ2F0ZVJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gYWdncmVnYXRpb24gcGlwZWxpbmVcbiAgICBwaXBlbGluZTogei5hcnJheShcbiAgICAgICAgei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpXG4gICAgKSxcblxuICAgIC8vIG9wc2l5b25lbDogcGlwZWxpbmUgw7ZuY2VzaSBmaWx0cmVcbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gb3BzaXlvbmVsOiBwYWdpbmF0aW9uIChhZ2dyZWdhdGlvbiBzb25yYXPEsSlcbiAgICBsaW1pdDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIG9mZnNldDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEaXN0aW5jdEZpZWxkVmFsdWVzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGRpc3RpbmN0IGFsxLFuYWNhayBhbGFuXG4gICAgZmllbGQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBvcHNpeW9uZWwgZmlsdHJlXG4gICAgZmlsdGVyOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIG9wc2l5b25lbCBsaW1pdCAow6dvayBiw7x5w7xrIHNldGxlcmkga8SxcnBtYWsgacOnaW4pXG4gICAgbGltaXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGRhdGFNb2RlbElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIG5hbWU6IHouc3RyaW5nKCksICAgICAgICAvLyBmaWVsZCBrZXlcbiAgICBkaXNwbGF5TmFtZTogei5zdHJpbmcoKSwgICAgICAgLy8gVUkgbGFiZWxcbiAgICB0eXBlOiB6LnN0cmluZygpLCAgICAgICAgLy8gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IGRhdGUgfCBqc29uIHwgcmVsYXRpb24gfCAuLi5cbiAgICByZXF1aXJlZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcblxuICAgIC8vIGZpZWxkLXNwZWNpZmljIGNvbmZpZyAobWluLCBtYXgsIGVudW0sIGZvcm1hdCwgcmVsYXRpb24sIGV0Yy4pXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIG9wc2l5b25lbCBzxLFyYWxhbWFcbiAgICBvcmRlcjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb2xsZWN0aW9uRmllbGRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIGZpZWxkSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBnw7xuY2VsbGVuZWJpbGlyIGFsYW5sYXJcbiAgICBkaXNwbGF5TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICByZXF1aXJlZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcblxuICAgIC8vIGZpZWxkLXNwZWNpZmljIGNvbmZpZyAobWluLCBtYXgsIGVudW0sIHJlbGF0aW9uIHZiLilcbiAgICBjb25maWc6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gb3BzaXlvbmVsIHPEsXJhbGFtYVxuICAgIG9yZGVyOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgZmllbGRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUmVvcmRlckNvbGxlY3Rpb25GaWVsZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgLy8geWVuaSBzxLFyYWxhbWE6IGZpZWxkSWQgKyBvcmRlclxuICAgIGZpZWxkczogei5hcnJheShcbiAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgICAgZmllbGRJZDogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIG9yZGVyOiB6Lm51bWJlcigpLFxuICAgICAgICB9KVxuICAgICksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldENvbGxlY3Rpb25TY2hlbWFTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxufSk7XG5cblxuZXhwb3J0IGNvbnN0IFZhbGlkYXRlUmVjb3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGNyZWF0ZSAvIHVwZGF0ZSDDtm5jZXNpIGRvxJ9ydWxhbmFjYWsgdmVyaVxuICAgIGRhdGE6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKSxcblxuICAgIC8vIG9wc2l5b25lbDogdXBkYXRlIHNlbmFyeW9zdSBpw6dpblxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFByZXZpZXdWYWxpZGF0aW9uRXJyb3JzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGRvxJ9ydWxhbmFjYWsgdmVyaSAocGFydGlhbCBvbGFiaWxpcilcbiAgICBkYXRhOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSksXG5cbiAgICAvLyBvcHNpeW9uZWw6IHVwZGF0ZSBzZW5hcnlvc3UgacOnaW5cbiAgICByZWNvcmRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDaGVja1JlY29yZFBlcm1pc3Npb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8geWFwxLFsbWFrIGlzdGVuZW4gacWfbGVtXG4gICAgYWN0aW9uOiB6LnN0cmluZygpLCAvLyByZWFkIHwgdXBkYXRlIHwgZGVsZXRlIHwgcmVzdG9yZSB8IGR1cGxpY2F0ZSB8IGN1c3RvbVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0UmVjb3JkUGVybWlzc2lvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHcmFudFJlY29yZFBlcm1pc3Npb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8geWV0a2kgdmVyaWxlY2VrIHN1YmplY3RcbiAgICBzdWJqZWN0VHlwZTogei5zdHJpbmcoKSwgLy8gdXNlciB8IHJvbGUgfCBncm91cCB8IHNlcnZpY2UgfCBjdXN0b21cbiAgICBzdWJqZWN0SWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBpemluIHZlcmlsZW4gYWtzaXlvbmxhclxuICAgIGFjdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSksIC8vIHJlYWQgfCB1cGRhdGUgfCBkZWxldGUgfCByZXN0b3JlIHwgZHVwbGljYXRlIHwgY3VzdG9tXG59KTtcblxuZXhwb3J0IGNvbnN0IFJldm9rZVJlY29yZFBlcm1pc3Npb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8geWV0a2lzaSBrYWxkxLFyxLFsYWNhayBzdWJqZWN0XG4gICAgc3ViamVjdFR5cGU6IHouc3RyaW5nKCksIC8vIHVzZXIgfCByb2xlIHwgZ3JvdXAgfCBzZXJ2aWNlIHwgY3VzdG9tXG4gICAgc3ViamVjdElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8ga2FsZMSxcsSxbGFjYWsgYWtzaXlvbmxhclxuICAgIC8vIHRhbWFtxLFuxLEga2FsZMSxcm1hayBpw6dpbiBbXCIqXCJdIGfDtm5kZXJpbGViaWxpclxuICAgIGFjdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSksXG59KTtcblxuXG5cbi8vLS0td2lraS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVXaWtpUGFnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICB3b3Jrc3BhY2VJZDogei5zdHJpbmcoKSxcblxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHNsdWc6IHouc3RyaW5nKCksXG5cbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHBhcmVudElkOiB6LnN0cmluZygpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBVcGRhdGVXaWtpUGFnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHNsdWc6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHBhcmVudElkOiB6LnN0cmluZygpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlV2lraVBhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlc3RvcmVXaWtpUGFnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0V2lraVBhZ2VCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRXaWtpUGFnZUJ5U2x1Z1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBzbHVnOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRXaWtpVHJlZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICB3b3Jrc3BhY2VJZDogei5zdHJpbmcoKSxcbn0pO1xuXG4vKiBXaWtpIFJldmlzaW9uICovXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVXaWtpUmV2aXNpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgcGFnZUlkOiB6LnN0cmluZygpLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksIC8vIEpTT04uc3RyaW5naWZ5IGVkaWxtacWfIFRpcHRhcCBjb250ZW50XG4gICAgZm9ybWF0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksIC8vIFRJUFRBUCB8IE1BUktET1dOIHwgSFRNTFxuICAgIGNyZWF0ZWRCeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRMYXRlc3RXaWtpUmV2aXNpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgcGFnZUlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRXaWtpUmV2aXNpb25CeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0V2lraVBhZ2VzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIHdvcmtzcGFjZUlkOiB6LnN0cmluZygpLFxufSk7Il19
865
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvZW1wbG9pZC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN2QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDeEQsT0FBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdkIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUU3QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDckMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNkLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3JDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxF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Q0FBQztJQUNoRCxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNyQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2pCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUVtcGxvaWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIG9jY3VwYXRpb25JZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYXZhdGFyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB2ZXJzaW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlRW1wbG9pZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhdmF0YXI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHZlcnNpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVFbXBsb2lkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RFbXBsb2lkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0RW1wbG9pZHNQYWdpbmF0ZWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgcGFnZTogei5udW1iZXIoKS5pbnQoKS5vcHRpb25hbCgpLFxuICAgIGxpbWl0OiB6Lm51bWJlcigpLmludCgpLm9wdGlvbmFsKCksXG4gICAgc2VhcmNoOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc3RhdHVzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgb2NjdXBhdGlvbjogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGNyZWF0ZWRCeTogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLnRyYW5zZm9ybSgoYXJyKSA9PiB7XG4gICAgICAgIHJldHVybiBhcnI/Lm1hcCgoaXRlbSkgPT4gaXRlbS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KSxcbiAgICBzb3J0Qnk6IHouZW51bShbJ25hbWUnLCAnY3JlYXRlZEF0JywgJ3VwZGF0ZWRBdCcsICdyZWxldmFuY2UnXSkub3B0aW9uYWwoKSxcbiAgICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFNjb3Blc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0T2NjdXBhdGlvbnNTY2hlbWEgPSB6Lm9iamVjdCh7XG5cbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlT2NjdXBhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZU9jY3VwYXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRG9tYWluVG9waWNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgb2NjdXBhdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHRpdGxlOiB6LnN0cmluZygpLFxuICAgIHByb21wdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGluc3RydWN0aW9uczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVEb21haW5Ub3BpY1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICB0aXRsZTogei5zdHJpbmcoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpbnN0cnVjdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlRG9tYWluVG9waWNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdERvbWFpblRvcGljc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBvY2N1cGF0aW9uSWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NvcGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTY29wZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTY29wZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzY29wZUlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUpvYkRlZmluaXRpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNhdGVnb3J5OiB6LmVudW0oW1widGVjaG5pY2FsXCIsIFwiYWRtaW5pc3RyYXRpdmVcIiwgXCJzb2NpYWxcIl0pLm9wdGlvbmFsKCksXG4gICAgcHJpb3JpdHk6IHouZW51bShbXCJoaWdoXCIsIFwibWVkaXVtXCIsIFwibG93XCJdKS5vcHRpb25hbCgpLFxuICAgIHN0YXR1czogei5lbnVtKFtcImFjdGl2ZVwiLCBcImluYWN0aXZlXCIsIFwiZHJhZnRcIl0pLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjYXRlZ29yeTogei5lbnVtKFtcInRlY2huaWNhbFwiLCBcImFkbWluaXN0cmF0aXZlXCIsIFwic29jaWFsXCJdKS5vcHRpb25hbCgpLFxuICAgIHByaW9yaXR5OiB6LmVudW0oW1wiaGlnaFwiLCBcIm1lZGl1bVwiLCBcImxvd1wiXSkub3B0aW9uYWwoKSxcbiAgICBzdGF0dXM6IHouZW51bShbXCJhY3RpdmVcIiwgXCJpbmFjdGl2ZVwiLCBcImRyYWZ0XCJdKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVKb2JEZWZpbml0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLFxuICAgIHNjb3BlSWQ6IHouc3RyaW5nKCksXG4gICAgam9iRGVmaW5pdGlvbklkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdENvbXBldGVuY2llc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzY29wZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgam9iRGVmaW5pdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ29tcGV0ZW5jeVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbXBldGVuY3lTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQWdlbnRGbG93U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZm9sZGVySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIC8vZmxvd0RhdGE6IHoub2JqZWN0KHt9KS5wYXNzdGhyb3VnaCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUFnZW50Rmxvd1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAvL2Zsb3dEYXRhOiB6Lm9iamVjdCh7fSkucGFzc3Rocm91Z2goKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDaGFuZ2VBZ2VudGZsb3dQcm9qZWN0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHByb2plY3RJZDogei5zdHJpbmcoKVxufSk7XG5cblxuXG5leHBvcnQgY29uc3QgTGlzdEFnZW50Rmxvd3NTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVBZ2VudEZsb3dGb2xkZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdEFnZW50Rmxvd0ZvbGRlcnNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUV4dGVuc2lvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBleHRlbnNpb25JZDogei5zdHJpbmcoKSxcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHt9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RFeHRlbnNpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVFeHRlbnNpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQXNzaXN0YW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFsaWFzOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHtcbiAgICAgICAgbW9kZTogei5lbnVtKFtcInNpbXBsZVwiLCBcImFkdmFuY2VkXCJdKSxcbiAgICB9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUFzc2lzdGFudFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBhbGlhczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHByb21wdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGNvbmZpZzogei5vYmplY3Qoe1xuICAgICAgICBtb2RlOiB6LmVudW0oW1wic2ltcGxlXCIsIFwiYWR2YW5jZWRcIl0pLFxuICAgIH0pLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQXNzaXN0YW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQXNzaXN0YW50SW5zdHJ1Y3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYXNzaXN0YW50SWQ6IHouc3RyaW5nKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLFxuICAgIGluc3RydWN0aW9uczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0QXNzaXN0YW50SW5zdHJ1Y3Rpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGFzc2lzdGFudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudENvbnN0cmFpbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYXNzaXN0YW50SWQ6IHouc3RyaW5nKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAgcHJvbXB0OiB6LnN0cmluZygpLFxuICAgIGNvbnN0cmFpbnRzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnRDb25zdHJhaW50c1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhc3Npc3RhbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYXNzaXN0YW50SWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHtcblxuICAgIH0pLm9wdGlvbmFsKClcbn0pO1xuXG5cblxuZXhwb3J0IGNvbnN0IExpc3RBc3Npc3RhbnREYXRhc291cmNlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhc3Npc3RhbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBjb25maWc6IHoub2JqZWN0KHtcblxuICAgIH0pLm9wdGlvbmFsKClcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBc3Npc3RhbnRTa2lsbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhc3Npc3RhbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGNvbmZpZzogei5vYmplY3Qoe1xuXG4gICAgfSkub3B0aW9uYWwoKVxufSk7XG5cblxuXG5leHBvcnQgY29uc3QgTGlzdEFzc2lzdGFudFNraWxsc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBhc3Npc3RhbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVBc3Npc3RhbnRTa2lsbFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7XG5cbiAgICB9KS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUFzc2lzdGFudFNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVdvcmtlclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVXb3JrZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgd29ya2VySWQ6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgRGVsZXRlV29ya2VyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHdvcmtlcklkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0V29ya2Vyc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCksXG4gICAgY29tcGV0ZW5jeUlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0eXBlOiB6LmVudW0oWydzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnb2JqZWN0J10pLmRlZmF1bHQoJ3N0cmluZycpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgY29tcGV0ZW5jeUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHR5cGU6IHouZW51bShbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbicsICdvYmplY3QnXSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVRlYW1TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0VGVhbXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKClcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGVhbVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZWFtSWQ6IHouc3RyaW5nKCksXG4gICAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGVhbVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZWFtSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVDaGF0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIHZpc2liaWxpdHk6IHouZW51bShbJ3ByaXZhdGUnLCAncHVibGljJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDaGF0QnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0Q2hhdEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldENoYXRzQnlVc2VySWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIGxpbWl0OiB6Lm51bWJlcigpLFxuICAgIHN0YXJ0aW5nQWZ0ZXI6IHouc3RyaW5nKCkubnVsbGFibGUoKS5vcHRpb25hbCgpLFxuICAgIGVuZGluZ0JlZm9yZTogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVNZXNzYWdlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBtZXNzYWdlczogei5hcnJheSh6Lm9iamVjdCgpKVxufSk7XG5cblxuZXhwb3J0IGNvbnN0IEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRNZXNzYWdlQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVm90ZU1lc3NhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxuICAgIG1lc3NhZ2VJZDogei5zdHJpbmcoKSxcbiAgICB0eXBlOiB6LmVudW0oWyd1cCcsICdkb3duJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHRpbWVzdGFtcDogei5kYXRlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFNhdmVTdWdnZXN0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzdWdnZXN0aW9uczogei5hcnJheSh6Lm9iamVjdCh7fSkpXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgY2hhdElkOiB6LnN0cmluZygpLFxuICAgIHRpbWVzdGFtcDogei5kYXRlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHZpc2liaWxpdHk6IHouZW51bShbJ3ByaXZhdGUnLCAncHVibGljJ10pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIGNvbnRleHQ6IHoub2JqZWN0KHt9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxuICAgIGRpZmZlcmVuY2VJbkhvdXJzOiB6Lm51bWJlcigpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTdHJlYW1JZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBzdHJlYW1JZDogei5zdHJpbmcoKSxcbiAgICBjaGF0SWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNoYXRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2F2ZURvY3VtZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCksXG4gICAga2luZDogei5lbnVtKFsndGV4dCcsICdjb2RlJywgJ2ltYWdlJywgJ3NoZWV0J10pLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgdXNlcklkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXREb2N1bWVudEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldERvY3VtZW50c0J5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0U2tpbGxzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVNraWxsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnN0cnVjdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCksXG4gICAgY29udGVudDogei5zdHJpbmcoKSxcbiAgICB0eXBlOiB6LmVudW0oWydVU0VSJywgJ1NZU1RFTSddKSxcbiAgICBhY3RpdmU6IHouYm9vbGVhbigpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0SW5zdHJ1Y3Rpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzZWFyY2hUZXh0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUluc3RydWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHR5cGU6IHouZW51bShbJ1VTRVInLCAnU1lTVEVNJ10pLm9wdGlvbmFsKCksXG4gICAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlSW5zdHJ1Y3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29tbWFuZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdHlwZTogei5lbnVtKFsnV09SS0VSJywgJ0FTU0lTVEFOVCcsICdURUFNJywgJ0ZMT1cnXSkuZGVmYXVsdCgnRkxPVycpLFxuICAgIHRhcmdldElkOiB6LnN0cmluZygpLFxuICAgIHRhcmdldFR5cGU6IHouc3RyaW5nKCksXG4gICAgaW5wdXRzOiB6LmFycmF5KHoub2JqZWN0KHtcbiAgICAgICAgXCJsYWJlbFwiOiB6LnN0cmluZygpLFxuICAgICAgICBcIm5hbWVcIjogei5zdHJpbmcoKSxcbiAgICAgICAgXCJ0eXBlXCI6IHouZW51bShbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbicsICdvYmplY3QnXSkuZGVmYXVsdCgnc3RyaW5nJyksXG4gICAgfSkpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RDb21tYW5kc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb21tYW5kU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHR5cGU6IHouZW51bShbJ1dPUktFUicsICdBU1NJU1RBTlQnLCAnVEVBTScsICdGTE9XJ10pLm9wdGlvbmFsKCksXG4gICAgdGFyZ2V0SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0YXJnZXRUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbW1hbmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDb25zdHJhaW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLFxuICAgIHR5cGU6IHouZW51bShbJ1VTRVInLCAnU1lTVEVNJ10pLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IExpc3RDb25zdHJhaW50c1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgc2VhcmNoVGV4dDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgICBlbXBsb2lkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb25zdHJhaW50U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHR5cGU6IHouZW51bShbJ1VTRVInLCAnU1lTVEVNJ10pLm9wdGlvbmFsKCksXG4gICAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGFjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlQ29uc3RyYWludFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFza1RlbXBsYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgdGFzazogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGVtcGxvaWRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGFza1RlbXBsYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHRhc2s6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHRlbmFudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRhc2tUZW1wbGF0ZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFRhc2tUZW1wbGF0ZXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgZW1wbG9pZElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1Db2xsZWN0aW9ucy0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vKipcbiAqIERhdGFNb2RlbCBvbHXFn3R1cm1hXG4gKi9cbmV4cG9ydCBjb25zdCBDcmVhdGVEYXRhTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGlzcGxheU5hbWU6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSwgLy8gZGF0YSBtb2RlbCBuYW1lXG59KTtcblxuLyoqXG4gKiBEYXRhTW9kZWwgZ8O8bmNlbGxlbWUgKHBhcnRpYWwpXG4gKi9cbmV4cG9ydCBjb25zdCBVcGRhdGVEYXRhTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBvcHNpeW9uZWwgYWxhbmxhclxuICAgIGRpc3BsYXlOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuLyoqXG4gKiBEYXRhTW9kZWwgc29mdCBkZWxldGUgKGFyY2hpdmUpXG4gKi9cbmV4cG9ydCBjb25zdCBEZWxldGVEYXRhTW9kZWxTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgZGVsZXRlZEJ5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksIC8vIHVzZXJJZCB8IHN5c3RlbSB8IGVtcGxvaWRcbn0pO1xuXG4vKipcbiAqIERhdGFNb2RlbCByZXN0b3JlXG4gKi9cbmV4cG9ydCBjb25zdCBSZXN0b3JlRGF0YU1vZGVsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxuICAgIHJlc3RvcmVkQnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSwgLy8gdXNlcklkIHwgc3lzdGVtIHwgZW1wbG9pZFxufSk7XG5cbi8qKlxuICogRGF0YU1vZGVsIGhhcmQgZGVsZXRlIChnZXJpIGTDtm7DvGxtZXopXG4gKi9cbmV4cG9ydCBjb25zdCBMaXN0RGF0YU1vZGVsc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXREYXRhTW9kZWxCeUlkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGRhdGFNb2RlbElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBIYXJkRGVsZXRlRGF0YU1vZGVsU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGRhdGFNb2RlbElkOiB6LnN0cmluZygpLFxuXG4gICAgY29uZmlybWVkOiB6LmxpdGVyYWwoXCJZRVNcIiksXG4gICAgZGVsZXRlZEJ5OiB6LnN0cmluZygpLCAvLyBzeXN0ZW0gLyBhZG1pblxufSk7XG5cblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbGxlY3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgZGF0YU1vZGVsSWQ6IHouc3RyaW5nKCksXG4gICAgZGlzcGxheU5hbWU6IHouc3RyaW5nKCksXG4gICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVDb2xsZWN0aW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICBkaXNwbGF5TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbGxlY3Rpb25TY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxufSk7XG5cblxuXG5leHBvcnQgY29uc3QgTGlzdENvbGxlY3Rpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGRhdGFNb2RlbElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgQ3JlYXRlUmVjb3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICBkYXRhOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFJlY29yZEJ5SWRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0UmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICBsaW1pdDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIG9mZnNldDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuXG4gICAgZmlsdGVyOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIHNvcnQ6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVSZWNvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxuXG4gICAgZGF0YTogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIHJlY29yZElkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBSZXN0b3JlUmVjb3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBzZXJ0UmVjb3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHZhcnNhIHVwZGF0ZSwgeW9rc2EgY3JlYXRlXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAgIGRhdGE6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQnVsa0NyZWF0ZVJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgcmVjb3Jkczogei5hcnJheShcbiAgICAgICAgei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpXG4gICAgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQnVsa1VwZGF0ZVJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgcmVjb3Jkczogei5hcnJheShcbiAgICAgICAgei5vYmplY3Qoe1xuICAgICAgICAgICAgcmVjb3JkSWQ6IHouc3RyaW5nKCksXG4gICAgICAgICAgICBkYXRhOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSksXG4gICAgICAgIH0pXG4gICAgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQnVsa0RlbGV0ZVJlY29yZHNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuXG4gICAgcmVjb3JkSWRzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxufSk7XG5cblxuZXhwb3J0IGNvbnN0IER1cGxpY2F0ZVJlY29yZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBvcHNpeW9uZWw6IGtvcHlhIMO8emVyaW5kZSBvdmVycmlkZSBlZGlsZWNlayBhbGFubGFyXG4gICAgb3ZlcnJpZGVzOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgUXVlcnlSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHdoZXJlIC8gZmlsdGVyXG4gICAgZmlsdGVyOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIHByb2plY3Rpb24gKGhhbmdpIGFsYW5sYXIgZ2Vsc2luKVxuICAgIGZpZWxkczogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBzb3J0aW5nXG4gICAgc29ydDogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBwYWdpbmF0aW9uXG4gICAgbGltaXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICBvZmZzZXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU2VhcmNoUmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBhcmFtYSBtZXRuaVxuICAgIHF1ZXJ5OiB6LnN0cmluZygpLFxuXG4gICAgLy8gb3BzaXlvbmVsOiBoYW5naSBhbGFubGFyZGEgYXJhbnPEsW5cbiAgICBmaWVsZHM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIG9wc2l5b25lbCBlayBmaWx0cmVsZXJcbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gc29ydGluZ1xuICAgIHNvcnQ6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gcGFnaW5hdGlvblxuICAgIGxpbWl0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgb2Zmc2V0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENvdW50UmVjb3Jkc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBvcHNpeW9uZWwgZmlsdHJlXG4gICAgZmlsdGVyOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JvdXBSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGhhbmdpIGFsYW4obGFyKWEgZ8O2cmUgZ3J1cGxhbmFjYWtcbiAgICBieTogei5hcnJheSh6LnN0cmluZygpKSxcblxuICAgIC8vIG9wc2l5b25lbCBmaWx0cmVcbiAgICBmaWx0ZXI6IHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKS5vcHRpb25hbCgpLFxuXG4gICAgLy8gYWdncmVnYXRpb24gdGFuxLFtxLEgKGNvdW50LCBzdW0sIGF2ZyB2Yi4pXG4gICAgYWdncmVnYXRpb25zOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIHNvcnRpbmdcbiAgICBzb3J0OiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIHBhZ2luYXRpb25cbiAgICBsaW1pdDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIG9mZnNldDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBZ2dyZWdhdGVSZWNvcmRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lXG4gICAgcGlwZWxpbmU6IHouYXJyYXkoXG4gICAgICAgIHoub2JqZWN0KHt9KS5jYXRjaGFsbCh6LmFueSgpKVxuICAgICksXG5cbiAgICAvLyBvcHNpeW9uZWw6IHBpcGVsaW5lIMO2bmNlc2kgZmlsdHJlXG4gICAgZmlsdGVyOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIG9wc2l5b25lbDogcGFnaW5hdGlvbiAoYWdncmVnYXRpb24gc29ucmFzxLEpXG4gICAgbGltaXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICBvZmZzZXQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGlzdGluY3RGaWVsZFZhbHVlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBkaXN0aW5jdCBhbMSxbmFjYWsgYWxhblxuICAgIGZpZWxkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gb3BzaXlvbmVsIGZpbHRyZVxuICAgIGZpbHRlcjogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBvcHNpeW9uZWwgbGltaXQgKMOnb2sgYsO8ecO8ayBzZXRsZXJpIGvEsXJwbWFrIGnDp2luKVxuICAgIGxpbWl0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBkYXRhTW9kZWxJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICBuYW1lOiB6LnN0cmluZygpLCAgICAgICAgLy8gZmllbGQga2V5XG4gICAgZGlzcGxheU5hbWU6IHouc3RyaW5nKCksICAgICAgIC8vIFVJIGxhYmVsXG4gICAgdHlwZTogei5zdHJpbmcoKSwgICAgICAgIC8vIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBkYXRlIHwganNvbiB8IHJlbGF0aW9uIHwgLi4uXG4gICAgcmVxdWlyZWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBmaWVsZC1zcGVjaWZpYyBjb25maWcgKG1pbiwgbWF4LCBlbnVtLCBmb3JtYXQsIHJlbGF0aW9uLCBldGMuKVxuICAgIGNvbmZpZzogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBvcHNpeW9uZWwgc8SxcmFsYW1hXG4gICAgb3JkZXI6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICBmaWVsZElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gZ8O8bmNlbGxlbmViaWxpciBhbGFubGFyXG4gICAgZGlzcGxheU5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgcmVxdWlyZWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG5cbiAgICAvLyBmaWVsZC1zcGVjaWZpYyBjb25maWcgKG1pbiwgbWF4LCBlbnVtLCByZWxhdGlvbiB2Yi4pXG4gICAgY29uZmlnOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSkub3B0aW9uYWwoKSxcblxuICAgIC8vIG9wc2l5b25lbCBzxLFyYWxhbWFcbiAgICBvcmRlcjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDb2xsZWN0aW9uRmllbGRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgY29sbGVjdGlvbklkOiB6LnN0cmluZygpLFxuICAgIGZpZWxkSWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFJlb3JkZXJDb2xsZWN0aW9uRmllbGRzU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHllbmkgc8SxcmFsYW1hOiBmaWVsZElkICsgb3JkZXJcbiAgICBmaWVsZHM6IHouYXJyYXkoXG4gICAgICAgIHoub2JqZWN0KHtcbiAgICAgICAgICAgIGZpZWxkSWQ6IHouc3RyaW5nKCksXG4gICAgICAgICAgICBvcmRlcjogei5udW1iZXIoKSxcbiAgICAgICAgfSlcbiAgICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRDb2xsZWN0aW9uU2NoZW1hU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGRhdGFNb2RlbElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBWYWxpZGF0ZVJlY29yZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBjcmVhdGUgLyB1cGRhdGUgw7ZuY2VzaSBkb8SfcnVsYW5hY2FrIHZlcmlcbiAgICBkYXRhOiB6Lm9iamVjdCh7fSkuY2F0Y2hhbGwoei5hbnkoKSksXG5cbiAgICAvLyBvcHNpeW9uZWw6IHVwZGF0ZSBzZW5hcnlvc3UgacOnaW5cbiAgICByZWNvcmRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBQcmV2aWV3VmFsaWRhdGlvbkVycm9yc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICBjb2xsZWN0aW9uSWQ6IHouc3RyaW5nKCksXG5cbiAgICAvLyBkb8SfcnVsYW5hY2FrIHZlcmkgKHBhcnRpYWwgb2xhYmlsaXIpXG4gICAgZGF0YTogei5vYmplY3Qoe30pLmNhdGNoYWxsKHouYW55KCkpLFxuXG4gICAgLy8gb3BzaXlvbmVsOiB1cGRhdGUgc2VuYXJ5b3N1IGnDp2luXG4gICAgcmVjb3JkSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tSZWNvcmRQZXJtaXNzaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHlhcMSxbG1hayBpc3RlbmVuIGnFn2xlbVxuICAgIGFjdGlvbjogei5zdHJpbmcoKSwgLy8gcmVhZCB8IHVwZGF0ZSB8IGRlbGV0ZSB8IHJlc3RvcmUgfCBkdXBsaWNhdGUgfCBjdXN0b21cbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFJlY29yZFBlcm1pc3Npb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JhbnRSZWNvcmRQZXJtaXNzaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHlldGtpIHZlcmlsZWNlayBzdWJqZWN0XG4gICAgc3ViamVjdFR5cGU6IHouc3RyaW5nKCksIC8vIHVzZXIgfCByb2xlIHwgZ3JvdXAgfCBzZXJ2aWNlIHwgY3VzdG9tXG4gICAgc3ViamVjdElkOiB6LnN0cmluZygpLFxuXG4gICAgLy8gaXppbiB2ZXJpbGVuIGFrc2l5b25sYXJcbiAgICBhY3Rpb25zOiB6LmFycmF5KHouc3RyaW5nKCkpLCAvLyByZWFkIHwgdXBkYXRlIHwgZGVsZXRlIHwgcmVzdG9yZSB8IGR1cGxpY2F0ZSB8IGN1c3RvbVxufSk7XG5cbmV4cG9ydCBjb25zdCBSZXZva2VSZWNvcmRQZXJtaXNzaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHRlbmFudElkOiB6LnN0cmluZygpLFxuICAgIGNvbGxlY3Rpb25JZDogei5zdHJpbmcoKSxcbiAgICByZWNvcmRJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIHlldGtpc2kga2FsZMSxcsSxbGFjYWsgc3ViamVjdFxuICAgIHN1YmplY3RUeXBlOiB6LnN0cmluZygpLCAvLyB1c2VyIHwgcm9sZSB8IGdyb3VwIHwgc2VydmljZSB8IGN1c3RvbVxuICAgIHN1YmplY3RJZDogei5zdHJpbmcoKSxcblxuICAgIC8vIGthbGTEsXLEsWxhY2FrIGFrc2l5b25sYXJcbiAgICAvLyB0YW1hbcSxbsSxIGthbGTEsXJtYWsgacOnaW4gW1wiKlwiXSBnw7ZuZGVyaWxlYmlsaXJcbiAgICBhY3Rpb25zOiB6LmFycmF5KHouc3RyaW5nKCkpLFxufSk7XG5cblxuXG4vLy0tLXdpa2ktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgY29uc3QgQ3JlYXRlV2lraVBhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgd29ya3NwYWNlSWQ6IHouc3RyaW5nKCksXG5cbiAgICB0aXRsZTogei5zdHJpbmcoKSxcbiAgICBzbHVnOiB6LnN0cmluZygpLFxuXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwYXJlbnRJZDogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG59KTtcblxuXG5leHBvcnQgY29uc3QgVXBkYXRlV2lraVBhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgdGl0bGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBzbHVnOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBwYXJlbnRJZDogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG4gICAgc3RhdHVzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVdpa2lQYWdlU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGlkOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBSZXN0b3JlV2lraVBhZ2VTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFdpa2lQYWdlQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0V2lraVBhZ2VCeVNsdWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgc2x1Zzogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0V2lraVRyZWVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdGVuYW50SWQ6IHouc3RyaW5nKCksXG4gICAgd29ya3NwYWNlSWQ6IHouc3RyaW5nKCksXG59KTtcblxuLyogV2lraSBSZXZpc2lvbiAqL1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlV2lraVJldmlzaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHBhZ2VJZDogei5zdHJpbmcoKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLCAvLyBKU09OLnN0cmluZ2lmeSBlZGlsbWnFnyBUaXB0YXAgY29udGVudFxuICAgIGZvcm1hdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLCAvLyBUSVBUQVAgfCBNQVJLRE9XTiB8IEhUTUxcbiAgICBjcmVhdGVkQnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0TGF0ZXN0V2lraVJldmlzaW9uU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHBhZ2VJZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0V2lraVJldmlzaW9uQnlJZFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFdpa2lQYWdlc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0ZW5hbnRJZDogei5zdHJpbmcoKSxcbiAgICB3b3Jrc3BhY2VJZDogei5zdHJpbmcoKSxcbn0pOyJdfQ==
@@ -1,7 +1,7 @@
1
1
  import z from "zod";
2
2
  import { ServiceClient } from "../../service-client";
3
- import { AggregateRecordsSchema, BulkCreateRecordsSchema, BulkDeleteRecordsSchema, BulkUpdateRecordsSchema, ChangeAgentflowProjectSchema, CheckRecordPermissionSchema, CountRecordsSchema, CreateAgentFlowFolderSchema, CreateAgentFlowSchema, CreateAssistantConstraintSchema, CreateAssistantDatasourceSchema, CreateAssistantInstructionSchema, CreateAssistantSchema, CreateCollectionFieldSchema, CreateCollectionSchema, CreateCommandSchema, CreateCompetencySchema, CreateConstraintSchema, CreateDataModelSchema, CreateDomainTopicSchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateRecordSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTaskTemplateSchema, CreateTeamSchema, CreateWikiPageSchema, CreateWikiRevisionSchema, CreateWorkerSchema, DeleteAgentFlowFolderSchema, DeleteAssistantDatasourceSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCollectionFieldSchema, DeleteCommandSchema, DeleteCompetencySchema, DeleteConstraintSchema, DeleteDataModelSchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteDomainTopicSchema, DeleteEmploidSchema, DeleteExtensionSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteRecordSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTaskTemplateSchema, DeleteTeamSchema, DeleteWikiPageSchema, DeleteWorkerSchema, DistinctFieldValuesSchema, DuplicateRecordSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetCollectionSchemaSchema, GetDataModelByIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetLatestWikiRevisionSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetRecordByIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, GetWikiPageByIdSchema, GetWikiPageBySlugSchema, GetWikiRevisionByIdSchema, GetWikiTreeSchema, GrantRecordPermissionSchema, GroupRecordsSchema, HardDeleteDataModelSchema, ListAgentFlowFoldersSchema, ListAgentFlowsSchema, ListAssistantDatasourcesSchema, ListAssistantInstructionsSchema, ListAssistantsSchema, ListCollectionsSchema, ListCommandsSchema, ListCompetenciesSchema, ListConstraintsSchema, ListDataModelsSchema, ListDomainTopicsSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListRecordPermissionsSchema, ListRecordsSchema, ListScopesSchema, ListSkillsSchema, ListTaskTemplatesSchema, ListTeamsSchema, ListWikiPagesSchema, ListWorkersSchema, PreviewValidationErrorsSchema, QueryRecordsSchema, ReorderCollectionFieldsSchema, RestoreDataModelSchema, RestoreRecordSchema, RestoreWikiPageSchema, RevokeRecordPermissionSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, SearchRecordsSchema, UpdateAgentFlowFolderSchema, UpdateAgentFlowSchema, UpdateAssistantDatasourceSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCollectionFieldSchema, UpdateCommandSchema, UpdateCompetencySchema, UpdateConstraintSchema, UpdateDataModelSchema, UpdateDomainTopicSchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateRecordSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTaskTemplateSchema, UpdateTeamSchema, UpdateWikiPageSchema, UpdateWorkerSchema, UpsertRecordSchema, ValidateRecordSchema, VoteMessageSchema } from "./schema";
4
- import { TAgentFlow, TAgentFlowFolder, TAssistant, TAssistantConstraint, TAssistantDatasource, TAssistantInstruction, TChat, TCommand, TCompetency, TConstraint, TDocument, TDomainTopic, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTaskTemplate, TTeam, TWorker } from "./types";
3
+ import { AggregateRecordsSchema, BulkCreateRecordsSchema, BulkDeleteRecordsSchema, BulkUpdateRecordsSchema, ChangeAgentflowProjectSchema, CheckRecordPermissionSchema, CountRecordsSchema, CreateAgentFlowFolderSchema, CreateAgentFlowSchema, CreateAssistantConstraintSchema, CreateAssistantDatasourceSchema, CreateAssistantInstructionSchema, CreateAssistantSchema, CreateAssistantSkillSchema, CreateCollectionFieldSchema, CreateCollectionSchema, CreateCommandSchema, CreateCompetencySchema, CreateConstraintSchema, CreateDataModelSchema, CreateDomainTopicSchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateRecordSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTaskTemplateSchema, CreateTeamSchema, CreateWikiPageSchema, CreateWikiRevisionSchema, CreateWorkerSchema, DeleteAgentFlowFolderSchema, DeleteAssistantDatasourceSchema, DeleteAssistantSchema, DeleteAssistantSkillSchema, DeleteChatByIdSchema, DeleteCollectionFieldSchema, DeleteCommandSchema, DeleteCompetencySchema, DeleteConstraintSchema, DeleteDataModelSchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteDomainTopicSchema, DeleteEmploidSchema, DeleteExtensionSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteRecordSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTaskTemplateSchema, DeleteTeamSchema, DeleteWikiPageSchema, DeleteWorkerSchema, DistinctFieldValuesSchema, DuplicateRecordSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetCollectionSchemaSchema, GetDataModelByIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetLatestWikiRevisionSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetRecordByIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, GetWikiPageByIdSchema, GetWikiPageBySlugSchema, GetWikiRevisionByIdSchema, GetWikiTreeSchema, GrantRecordPermissionSchema, GroupRecordsSchema, HardDeleteDataModelSchema, ListAgentFlowFoldersSchema, ListAgentFlowsSchema, ListAssistantDatasourcesSchema, ListAssistantInstructionsSchema, ListAssistantSkillsSchema, ListAssistantsSchema, ListCollectionsSchema, ListCommandsSchema, ListCompetenciesSchema, ListConstraintsSchema, ListDataModelsSchema, ListDomainTopicsSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListRecordPermissionsSchema, ListRecordsSchema, ListScopesSchema, ListSkillsSchema, ListTaskTemplatesSchema, ListTeamsSchema, ListWikiPagesSchema, ListWorkersSchema, PreviewValidationErrorsSchema, QueryRecordsSchema, ReorderCollectionFieldsSchema, RestoreDataModelSchema, RestoreRecordSchema, RestoreWikiPageSchema, RevokeRecordPermissionSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, SearchRecordsSchema, UpdateAgentFlowFolderSchema, UpdateAgentFlowSchema, UpdateAssistantDatasourceSchema, UpdateAssistantSchema, UpdateAssistantSkillSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCollectionFieldSchema, UpdateCommandSchema, UpdateCompetencySchema, UpdateConstraintSchema, UpdateDataModelSchema, UpdateDomainTopicSchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateRecordSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTaskTemplateSchema, UpdateTeamSchema, UpdateWikiPageSchema, UpdateWorkerSchema, UpsertRecordSchema, ValidateRecordSchema, VoteMessageSchema } from "./schema";
4
+ import { TAgentFlow, TAgentFlowFolder, TAssistant, TAssistantConstraint, TAssistantDatasource, TAssistantInstruction, TAssistantSkill, TChat, TCommand, TCompetency, TConstraint, TDocument, TDomainTopic, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTaskTemplate, TTeam, TWorker } from "./types";
5
5
  export declare class EmploidService extends ServiceClient {
6
6
  protected getServiceName(): string;
7
7
  CreateEmploid(payload: z.infer<typeof CreateEmploidSchema>): Promise<TEmploid>;
@@ -64,6 +64,10 @@ export declare class EmploidService extends ServiceClient {
64
64
  UpdateAssistantDatasource(payload: z.infer<typeof UpdateAssistantDatasourceSchema>): Promise<TAssistantDatasource>;
65
65
  DeleteAssistantDatasource(payload: z.infer<typeof DeleteAssistantDatasourceSchema>): Promise<TAssistantDatasource>;
66
66
  ListAssistantDatasources(payload: z.infer<typeof ListAssistantDatasourcesSchema>): Promise<TAssistantDatasource[]>;
67
+ CreateAssistantSkill(payload: z.infer<typeof CreateAssistantSkillSchema>): Promise<TAssistantSkill>;
68
+ UpdateAssistantSkill(payload: z.infer<typeof UpdateAssistantSkillSchema>): Promise<TAssistantSkill>;
69
+ DeleteAssistantSkill(payload: z.infer<typeof DeleteAssistantSkillSchema>): Promise<TAssistantSkill>;
70
+ ListAssistantSkills(payload: z.infer<typeof ListAssistantSkillsSchema>): Promise<TAssistantSkill[]>;
67
71
  CreateWorker(payload: z.infer<typeof CreateWorkerSchema>): Promise<TWorker>;
68
72
  UpdateWorker(payload: z.infer<typeof UpdateWorkerSchema>): Promise<TWorker>;
69
73
  DeleteWorker(payload: z.infer<typeof DeleteWorkerSchema>): Promise<TWorker>;
@@ -184,6 +184,18 @@ export class EmploidService extends ServiceClient {
184
184
  async ListAssistantDatasources(payload) {
185
185
  return await this.actionCall('assistant', 'ListAssistantDatasources', payload);
186
186
  }
187
+ async CreateAssistantSkill(payload) {
188
+ return await this.actionCall('assistant', 'CreateAssistantSkill', payload);
189
+ }
190
+ async UpdateAssistantSkill(payload) {
191
+ return await this.actionCall('assistant', 'UpdateAssistantSkill', payload);
192
+ }
193
+ async DeleteAssistantSkill(payload) {
194
+ return await this.actionCall('assistant', 'DeleteAssistantSkill', payload);
195
+ }
196
+ async ListAssistantSkills(payload) {
197
+ return await this.actionCall('assistant', 'ListAssistantSkills', payload);
198
+ }
187
199
  //---------------------------------------
188
200
  async CreateWorker(payload) {
189
201
  return await this.actionCall('worker', 'CreateWorker', payload);
@@ -462,4 +474,4 @@ export class EmploidService extends ServiceClient {
462
474
  return await this.actionCall("wiki", "GetWikiRevisionById", payload);
463
475
  }
464
476
  }
465
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtcGxvaWQvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNckQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQ25DLGNBQWM7UUFDcEIsT0FBTyw4QkFBOEIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QztRQUNuRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQTRDO1FBQ25FLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNEM7UUFDbkUsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUEyQztRQUNqRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBb0Q7UUFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBZ0Q7UUFDM0UsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLG1CQUFtQixF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MEJBQTBCLENBQUMsT0FBeUQ7UUFDN0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBc0Q7UUFDeEYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBdUQ7UUFDekYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8s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Q0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQ3BCLE9BQTBDO1FBRTFDLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs0RUFFd0U7SUFFakUsS0FBSyxDQUFDLGtCQUFrQixDQUMzQixPQUFpRDtRQUVqRCxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUIsQ0FDOUIsT0FBb0Q7UUFFcEQsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQzVCLE9BQWtEO1FBRWxELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB6IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vLi4vc2VydmljZS1jbGllbnRcIjtcblxuXG5pbXBvcnQgeyBBZ2dyZWdhdGVSZWNvcmRzU2NoZW1hLCBCdWxrQ3JlYXRlUmVjb3Jkc1NjaGVtYSwgQnVsa0RlbGV0ZVJlY29yZHNTY2hlbWEsIEJ1bGtVcGRhdGVSZWNvcmRzU2NoZW1hLCBDaGFuZ2VBZ2VudGZsb3dQcm9qZWN0U2NoZW1hLCBDaGVja1JlY29yZFBlcm1pc3Npb25TY2hlbWEsIENvdW50UmVjb3Jkc1NjaGVtYSwgQ3JlYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hLCBDcmVhdGVBZ2VudEZsb3dTY2hlbWEsIENyZWF0ZUFzc2lzdGFudENvbnN0cmFpbnRTY2hlbWEsIENyZWF0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEsIENyZWF0ZUFzc2lzdGFudEluc3RydWN0aW9uU2NoZW1hLCBDcmVhdGVBc3Npc3RhbnRTY2hlbWEsIENyZWF0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYSwgQ3JlYXRlQ29sbGVjdGlvblNjaGVtYSwgQ3JlYXRlQ29tbWFuZFNjaGVtYSwgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYSwgQ3JlYXRlQ29uc3RyYWludFNjaGVtYSwgQ3JlYXRlRGF0YU1vZGVsU2NoZW1hLCBDcmVhdGVEb21haW5Ub3BpY1NjaGVtYSwgQ3JlYXRlRW1wbG9pZFNjaGVtYSwgQ3JlYXRlRXh0ZW5zaW9uU2NoZW1hLCBDcmVhdGVJbnB1dFNjaGVtYSwgQ3JlYXRlSW5zdHJ1Y3Rpb25TY2hlbWEsIENyZWF0ZUpvYkRlZmluaXRpb25TY2hlbWEsIENyZWF0ZU9jY3VwYXRpb25TY2hlbWEsIENyZWF0ZVJlY29yZFNjaGVtYSwgQ3JlYXRlU2NvcGVTY2hlbWEsIENyZWF0ZVNraWxsU2NoZW1hLCBDcmVhdGVTdHJlYW1JZFNjaGVtYSwgQ3JlYXRlVGFza1RlbXBsYXRlU2NoZW1hLCBDcmVhdGVUZWFtU2NoZW1hLCBDcmVhdGVXaWtpUGFnZVNjaGVtYSwgQ3JlYXRlV2lraVJldmlzaW9uU2NoZW1hLCBDcmVhdGVXb3JrZXJTY2hlbWEsIERlbGV0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYSwgRGVsZXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYSwgRGVsZXRlQXNzaXN0YW50U2NoZW1hLCBEZWxldGVDaGF0QnlJZFNjaGVtYSwgRGVsZXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hLCBEZWxldGVDb21tYW5kU2NoZW1hLCBEZWxldGVDb21wZXRlbmN5U2NoZW1hLCBEZWxldGVDb25zdHJhaW50U2NoZW1hLCBEZWxldGVEYXRhTW9kZWxTY2hlbWEsIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlRG9tYWluVG9waWNTY2hlbWEsIERlbGV0ZUVtcGxvaWRTY2hlbWEsIERlbGV0ZUV4dGVuc2lvblNjaGVtYSwgRGVsZXRlSW5wdXRTY2hlbWEsIERlbGV0ZUluc3RydWN0aW9uU2NoZW1hLCBEZWxldGVKb2JEZWZpbml0aW9uU2NoZW1hLCBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWEsIERlbGV0ZU9jY3VwYXRpb25TY2hlbWEsIERlbGV0ZVJlY29yZFNjaGVtYSwgRGVsZXRlU2NvcGVTY2hlbWEsIERlbGV0ZVNraWxsU2NoZW1hLCBEZWxldGVUYXNrVGVtcGxhdGVTY2hlbWEsIERlbGV0ZVRlYW1TY2hlbWEsIERlbGV0ZVdpa2lQYWdlU2NoZW1hLCBEZWxldGVXb3JrZXJTY2hlbWEsIERpc3RpbmN0RmllbGRWYWx1ZXNTY2hlbWEsIER1cGxpY2F0ZVJlY29yZFNjaGVtYSwgR2V0Q2hhdEJ5SWRTY2hlbWEsIEdldENoYXRzQnlVc2VySWRTY2hlbWEsIEdldENvbGxlY3Rpb25TY2hlbWFTY2hlbWEsIEdldERhdGFNb2RlbEJ5SWRTY2hlbWEsIEdldERvY3VtZW50QnlJZFNjaGVtYSwgR2V0RG9jdW1lbnRzQnlJZFNjaGVtYSwgR2V0TGF0ZXN0V2lraVJldmlzaW9uU2NoZW1hLCBHZXRNZXNzYWdlQnlJZFNjaGVtYSwgR2V0TWVzc2FnZUNvdW50QnlVc2VySWRTY2hlbWEsIEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWEsIEdldFJlY29yZEJ5SWRTY2hlbWEsIEdldFN0cmVhbUlkc0J5Q2hhdElkU2NoZW1hLCBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZFNjaGVtYSwgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYSwgR2V0V2lraVBhZ2VCeUlkU2NoZW1hLCBHZXRXaWtpUGFnZUJ5U2x1Z1NjaGVtYSwgR2V0V2lraVJldmlzaW9uQnlJZFNjaGVtYSwgR2V0V2lraVRyZWVTY2hlbWEsIEdyYW50UmVjb3JkUGVybWlzc2lvblNjaGVtYSwgR3JvdXBSZWNvcmRzU2NoZW1hLCBIYXJkRGVsZXRlRGF0YU1vZGVsU2NoZW1hLCBMaXN0QWdlbnRGbG93Rm9sZGVyc1NjaGVtYSwgTGlzdEFnZW50Rmxvd3NTY2hlbWEsIExpc3RBc3Npc3RhbnRDb25zdHJhaW50c1NjaGVtYSwgTGlzdEFzc2lzdGFudERhdGFzb3VyY2VzU2NoZW1hLCBMaXN0QXNzaXN0YW50SW5zdHJ1Y3Rpb25zU2NoZW1hLCBMaXN0QXNzaXN0YW50c1NjaGVtYSwgTGlzdENvbGxlY3Rpb25zU2NoZW1hLCBMaXN0Q29tbWFuZHNTY2hlbWEsIExpc3RDb21wZXRlbmNpZXNTY2hlbWEsIExpc3RDb25zdHJhaW50c1NjaGVtYSwgTGlzdERhdGFNb2RlbHNTY2hlbWEsIExpc3REb21haW5Ub3BpY3NTY2hlbWEsIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYSwgTGlzdEVtcGxvaWRzU2NoZW1hLCBMaXN0RXh0ZW5zaW9uc1NjaGVtYSwgTGlzdElucHV0U2NoZW1hLCBMaXN0SW5zdHJ1Y3Rpb25zU2NoZW1hLCBMaXN0Sm9iRGVmaW5pdGlvblNjaGVtYSwgTGlzdE9jY3VwYXRpb25zU2NoZW1hLCBMaXN0UmVjb3JkUGVybWlzc2lvbnNTY2hlbWEsIExpc3RSZWNvcmRzU2NoZW1hLCBMaXN0U2NvcGVzU2NoZW1hLCBMaXN0U2tpbGxzU2NoZW1hLCBMaXN0VGFza1RlbXBsYXRlc1NjaGVtYSwgTGlzdFRlYW1zU2NoZW1hLCBMaXN0V2lraVBhZ2VzU2NoZW1hLCBMaXN0V29ya2Vyc1NjaGVtYSwgUHJldmlld1ZhbGlkYXRpb25FcnJvcnNTY2hlbWEsIFF1ZXJ5UmVjb3Jkc1NjaGVtYSwgUmVvcmRlckNvbGxlY3Rpb25GaWVsZHNTY2hlbWEsIFJlc3RvcmVEYXRhTW9kZWxTY2hlbWEsIFJlc3RvcmVSZWNvcmRTY2hlbWEsIFJlc3RvcmVXaWtpUGFnZVNjaGVtYSwgUmV2b2tlUmVjb3JkUGVybWlzc2lvblNjaGVtYSwgU2F2ZUNoYXRTY2hlbWEsIFNhdmVEb2N1bWVudFNjaGVtYSwgU2F2ZU1lc3NhZ2VzU2NoZW1hLCBTYXZlU3VnZ2VzdGlvbnNTY2hlbWEsIFNlYXJjaFJlY29yZHNTY2hlbWEsIFVwZGF0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYSwgVXBkYXRlQWdlbnRGbG93U2NoZW1hLCBVcGRhdGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hLCBVcGRhdGVBc3Npc3RhbnRTY2hlbWEsIFVwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWRTY2hlbWEsIFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkU2NoZW1hLCBVcGRhdGVDb2xsZWN0aW9uRmllbGRTY2hlbWEsIFVwZGF0ZUNvbW1hbmRTY2hlbWEsIFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEsIFVwZGF0ZUNvbnN0cmFpbnRTY2hlbWEsIFVwZGF0ZURhdGFNb2RlbFNjaGVtYSwgVXBkYXRlRG9tYWluVG9waWNTY2hlbWEsIFVwZGF0ZUVtcGxvaWRTY2hlbWEsIFVwZGF0ZUlucHV0U2NoZW1hLCBVcGRhdGVJbnN0cnVjdGlvblNjaGVtYSwgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYSwgVXBkYXRlT2NjdXBhdGlvblNjaGVtYSwgVXBkYXRlUmVjb3JkU2NoZW1hLCBVcGRhdGVTY29wZVNjaGVtYSwgVXBkYXRlU2tpbGxTY2hlbWEsIFVwZGF0ZVRhc2tUZW1wbGF0ZVNjaGVtYSwgVXBkYXRlVGVhbVNjaGVtYSwgVXBkYXRlV2lraVBhZ2VTY2hlbWEsIFVwZGF0ZVdvcmtlclNjaGVtYSwgVXBzZXJ0UmVjb3JkU2NoZW1hLCBWYWxpZGF0ZVJlY29yZFNjaGVtYSwgVm90ZU1lc3NhZ2VTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IFRBZ2VudEZsb3csIFRBZ2VudEZsb3dGb2xkZXIsIFRBc3Npc3RhbnQsIFRBc3Npc3RhbnRDb25zdHJhaW50LCBUQXNzaXN0YW50RGF0YXNvdXJjZSwgVEFzc2lzdGFudEluc3RydWN0aW9uLCBUQ2hhdCwgVENvbW1hbmQsIFRDb21wZXRlbmN5LCBUQ29uc3RyYWludCwgVERvY3VtZW50LCBURG9tYWluVG9waWMsIFRFbXBsb2lkLCBURXh0ZW5zaW9uLCBUSW5wdXQsIFRJbnN0cnVjdGlvbiwgVEpvYkRlZmluaXRpb24sIFRPY2N1cGF0aW9uLCBUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQsIFRTY29wZSwgVFNraWxsLCBUU3RyZWFtSWQsIFRUYXNrVGVtcGxhdGUsIFRUZWFtLCBUV29ya2VyIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIEVtcGxvaWRTZXJ2aWNlIGV4dGVuZHMgU2VydmljZUNsaWVudCB7XG4gICAgcHJvdGVjdGVkIGdldFNlcnZpY2VOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnY29tLmFwcGNvbmRhLnNlcnZpY2UuZW1wbG9pZCc7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUVtcGxvaWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlRW1wbG9pZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVFbXBsb2lkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUVtcGxvaWRTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZUVtcGxvaWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRW1wbG9pZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdEZWxldGVFbXBsb2lkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RFbXBsb2lkcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0RW1wbG9pZHNTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdEVtcGxvaWRzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RFbXBsb2lkc1BhZ2luYXRlZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0RW1wbG9pZHNQYWdpbmF0ZWRTY2hlbWE+KTogUHJvbWlzZTxUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0RW1wbG9pZHNQYWdpbmF0ZWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSW5zdHJ1Y3Rpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlSW5zdHJ1Y3Rpb25TY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVJbnN0cnVjdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0SW5zdHJ1Y3Rpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RJbnN0cnVjdGlvbnNTY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RJbnN0cnVjdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlSW5zdHJ1Y3Rpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSW5zdHJ1Y3Rpb25TY2hlbWE+KTogUHJvbWlzZTxUSW5zdHJ1Y3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVJbnN0cnVjdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVJbnN0cnVjdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVJbnN0cnVjdGlvblNjaGVtYT4pOiBQcm9taXNlPFRJbnN0cnVjdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUluc3RydWN0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUNvbnN0cmFpbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29uc3RyYWludFNjaGVtYT4pOiBQcm9taXNlPFRDb25zdHJhaW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlQ29uc3RyYWludCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Q29uc3RyYWludHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdENvbnN0cmFpbnRzU2NoZW1hPik6IFByb21pc2U8VENvbnN0cmFpbnRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RDb25zdHJhaW50cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDb25zdHJhaW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNvbnN0cmFpbnRTY2hlbWE+KTogUHJvbWlzZTxUQ29uc3RyYWludD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZUNvbnN0cmFpbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQ29uc3RyYWludChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVDb25zdHJhaW50U2NoZW1hPik6IFByb21pc2U8VENvbnN0cmFpbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdEZWxldGVDb25zdHJhaW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RTY29wZXMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFNjb3Blc1NjaGVtYT4pOiBQcm9taXNlPFRTY29wZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdFNjb3BlcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVTY29wZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVTY29wZVNjaGVtYT4pOiBQcm9taXNlPFRTY29wZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZVNjb3BlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVNjb3BlKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVNjb3BlU2NoZW1hPik6IFByb21pc2U8VFNjb3BlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlU2NvcGUnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlU2NvcGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlU2NvcGVTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGU+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdEZWxldGVTY29wZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVPY2N1cGF0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZU9jY3VwYXRpb25TY2hlbWE+KTogUHJvbWlzZTxUT2NjdXBhdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0NyZWF0ZU9jY3VwYXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlT2NjdXBhdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVPY2N1cGF0aW9uU2NoZW1hPik6IFByb21pc2U8VE9jY3VwYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdVcGRhdGVPY2N1cGF0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZU9jY3VwYXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlT2NjdXBhdGlvblNjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnRGVsZXRlT2NjdXBhdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0T2NjdXBhdGlvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdE9jY3VwYXRpb25zU2NoZW1hPik6IFByb21pc2U8VE9jY3VwYXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0xpc3RPY2N1cGF0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVEb21haW5Ub3BpYyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVEb21haW5Ub3BpY1NjaGVtYT4pOiBQcm9taXNlPFREb21haW5Ub3BpYz4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0NyZWF0ZURvbWFpblRvcGljJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZURvbWFpblRvcGljKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZURvbWFpblRvcGljU2NoZW1hPik6IFByb21pc2U8VERvbWFpblRvcGljPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnVXBkYXRlRG9tYWluVG9waWMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRG9tYWluVG9waWMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlRG9tYWluVG9waWNTY2hlbWE+KTogUHJvbWlzZTxURG9tYWluVG9waWM+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdEZWxldGVEb21haW5Ub3BpYycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0RG9tYWluVG9waWNzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3REb21haW5Ub3BpY3NTY2hlbWE+KTogUHJvbWlzZTxURG9tYWluVG9waWNbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0xpc3REb21haW5Ub3BpY3MnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlSm9iRGVmaW5pdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVKb2JEZWZpbml0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUpvYkRlZmluaXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pOiBQcm9taXNlPFRKb2JEZWZpbml0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlSm9iRGVmaW5pdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVKb2JEZWZpbml0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWE+KTogUHJvbWlzZTxUSm9iRGVmaW5pdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUpvYkRlZmluaXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEpvYkRlZmluaXRpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RKb2JEZWZpbml0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVDb21wZXRlbmN5KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbXBldGVuY3lTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUNvbXBldGVuY3knLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ29tcGV0ZW5jeShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21wZXRlbmN5U2NoZW1hPik6IFByb21pc2U8VENvbXBldGVuY3k+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVDb21wZXRlbmN5JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNvbXBldGVuY3kocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29tcGV0ZW5jeVNjaGVtYT4pOiBQcm9taXNlPFRDb21wZXRlbmN5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlQ29tcGV0ZW5jeScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Q29tcGV0ZW5jaWVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RDb21wZXRlbmNpZXNTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdENvbXBldGVuY2llcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVUYXNrVGVtcGxhdGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGFza1RlbXBsYXRlU2NoZW1hPik6IFByb21pc2U8VFRhc2tUZW1wbGF0ZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZVRhc2tUZW1wbGF0ZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVUYXNrVGVtcGxhdGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlVGFza1RlbXBsYXRlU2NoZW1hPik6IFByb21pc2U8VFRhc2tUZW1wbGF0ZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZVRhc2tUZW1wbGF0ZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVUYXNrVGVtcGxhdGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVGFza1RlbXBsYXRlU2NoZW1hPik6IFByb21pc2U8VFRhc2tUZW1wbGF0ZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZVRhc2tUZW1wbGF0ZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0VGFza1RlbXBsYXRlcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza1RlbXBsYXRlc1NjaGVtYT4pOiBQcm9taXNlPFRUYXNrVGVtcGxhdGVbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RUYXNrVGVtcGxhdGVzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFnZW50RmxvdyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBZ2VudEZsb3dTY2hlbWE+KTogUHJvbWlzZTxUQWdlbnRGbG93PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2FnZW50LWZsb3cnLCAnQ3JlYXRlQWdlbnRGbG93JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENoYW5nZUFnZW50Zmxvd1Byb2plY3QocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ2hhbmdlQWdlbnRmbG93UHJvamVjdFNjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3c+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdDaGFuZ2VBZ2VudGZsb3dQcm9qZWN0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUFnZW50RmxvdyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVBZ2VudEZsb3dTY2hlbWE+KTogUHJvbWlzZTxUQWdlbnRGbG93PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2FnZW50LWZsb3cnLCAnVXBkYXRlQWdlbnRGbG93JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBZ2VudEZsb3dzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBZ2VudEZsb3dzU2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvd1tdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2FnZW50LWZsb3cnLCAnTGlzdEFnZW50Rmxvd3MnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQWdlbnRGbG93Rm9sZGVyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dGb2xkZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdDcmVhdGVBZ2VudEZsb3dGb2xkZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQWdlbnRGbG93Rm9sZGVyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dGb2xkZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdVcGRhdGVBZ2VudEZsb3dGb2xkZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQWdlbnRGbG93Rm9sZGVyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUFnZW50Rmxvd0ZvbGRlclNjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dGb2xkZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdEZWxldGVBZ2VudEZsb3dGb2xkZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFnZW50Rmxvd0ZvbGRlcnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEFnZW50Rmxvd0ZvbGRlcnNTY2hlbWE+KTogUHJvbWlzZTxUQWdlbnRGbG93Rm9sZGVyW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdMaXN0QWdlbnRGbG93Rm9sZGVycycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVFeHRlbnNpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlRXh0ZW5zaW9uU2NoZW1hPik6IFByb21pc2U8VEV4dGVuc2lvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdleHRlbnNpb24nLCAnQ3JlYXRlRXh0ZW5zaW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUV4dGVuc2lvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVFeHRlbnNpb25TY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2V4dGVuc2lvbicsICdEZWxldGVFeHRlbnNpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEV4dGVuc2lvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEV4dGVuc2lvbnNTY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZXh0ZW5zaW9uJywgJ0xpc3RFeHRlbnNpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS1Bc3Npc3RhbnQtLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFzc2lzdGFudChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdDcmVhdGVBc3Npc3RhbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQXNzaXN0YW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUFzc2lzdGFudFNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ1VwZGF0ZUFzc2lzdGFudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVBc3Npc3RhbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQXNzaXN0YW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnRGVsZXRlQXNzaXN0YW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBc3Npc3RhbnRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRzU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdMaXN0QXNzaXN0YW50cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBc3Npc3RhbnRJbnN0cnVjdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRJbnN0cnVjdGlvblNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnRJbnN0cnVjdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnQ3JlYXRlQXNzaXN0YW50SW5zdHJ1Y3Rpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFzc2lzdGFudEluc3RydWN0aW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0QXNzaXN0YW50SW5zdHJ1Y3Rpb25zU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudEluc3RydWN0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0xpc3RBc3Npc3RhbnRJbnN0cnVjdGlvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQXNzaXN0YW50Q29uc3RyYWludChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRDb25zdHJhaW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudENvbnN0cmFpbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0NyZWF0ZUFzc2lzdGFudENvbnN0cmFpbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFzc2lzdGFudENvbnN0cmFpbnRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRDb25zdHJhaW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudENvbnN0cmFpbnRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnTGlzdEFzc2lzdGFudENvbnN0cmFpbnRzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFzc2lzdGFudERhdGFzb3VyY2UocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnREYXRhc291cmNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdDcmVhdGVBc3Npc3RhbnREYXRhc291cmNlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUFzc2lzdGFudERhdGFzb3VyY2UocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnREYXRhc291cmNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdVcGRhdGVBc3Npc3RhbnREYXRhc291cmNlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUFzc2lzdGFudERhdGFzb3VyY2UocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQXNzaXN0YW50RGF0YXNvdXJjZVNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnREYXRhc291cmNlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdEZWxldGVBc3Npc3RhbnREYXRhc291cmNlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RBc3Npc3RhbnREYXRhc291cmNlcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0QXNzaXN0YW50RGF0YXNvdXJjZXNTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50RGF0YXNvdXJjZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdMaXN0QXNzaXN0YW50RGF0YXNvdXJjZXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVdvcmtlcihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVXb3JrZXJTY2hlbWE+KTogUHJvbWlzZTxUV29ya2VyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3dvcmtlcicsICdDcmVhdGVXb3JrZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlV29ya2VyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVdvcmtlclNjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnd29ya2VyJywgJ1VwZGF0ZVdvcmtlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVXb3JrZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlV29ya2VyU2NoZW1hPik6IFByb21pc2U8VFdvcmtlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnRGVsZXRlV29ya2VyJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RXb3JrZXJzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RXb3JrZXJzU2NoZW1hPik6IFByb21pc2U8VFdvcmtlcltdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3dvcmtlcicsICdMaXN0V29ya2VycycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVJbnB1dChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVJbnB1dFNjaGVtYT4pOiBQcm9taXNlPFRJbnB1dD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnQ3JlYXRlSW5wdXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlSW5wdXQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlSW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnaW5wdXQtb3V0cHV0JywgJ1VwZGF0ZUlucHV0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUlucHV0KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUlucHV0U2NoZW1hPik6IFByb21pc2U8VElucHV0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2lucHV0LW91dHB1dCcsICdEZWxldGVJbnB1dCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0SW5wdXRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RJbnB1dFNjaGVtYT4pOiBQcm9taXNlPFRJbnB1dFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2lucHV0LW91dHB1dCcsICdMaXN0SW5wdXRzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVRlYW0ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGVhbVNjaGVtYT4pOiBQcm9taXNlPFRUZWFtPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3RlYW0nLCAnQ3JlYXRlVGVhbScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0VGVhbXMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFRlYW1zU2NoZW1hPik6IFByb21pc2U8VFRlYW1bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd0ZWFtJywgJ0xpc3RUZWFtcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVUZWFtKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVRlYW1TY2hlbWE+KTogUHJvbWlzZTxUVGVhbT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd0ZWFtJywgJ1VwZGF0ZVRlYW0nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlVGVhbShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVUZWFtU2NoZW1hPik6IFByb21pc2U8VFRlYW0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdEZWxldGVUZWFtJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFNhdmVDaGF0KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNhdmVDaGF0U2NoZW1hPik6IFByb21pc2U8VENoYXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdTYXZlQ2hhdCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVDaGF0QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVDaGF0QnlJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnRGVsZXRlQ2hhdEJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0Q2hhdEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0Q2hhdEJ5SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldENoYXRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldENoYXRzQnlVc2VySWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0Q2hhdHNCeVVzZXJJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRDaGF0c0J5VXNlcklkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFNhdmVNZXNzYWdlcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTYXZlTWVzc2FnZXNTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnU2F2ZU1lc3NhZ2VzJywgcGF5bG9hZCk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TWVzc2FnZXNCeUNoYXRJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRNZXNzYWdlc0J5Q2hhdElkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldE1lc3NhZ2VzQnlDaGF0SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBHZXRNZXNzYWdlQnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRNZXNzYWdlQnlJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRNZXNzYWdlQnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBWb3RlTWVzc2FnZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBWb3RlTWVzc2FnZVNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdWb3RlTWVzc2FnZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRWb3Rlc0J5Q2hhdElkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFZvdGVzQnlDaGF0SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0Vm90ZXNCeUNoYXRJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXAocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0RlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTYXZlU3VnZ2VzdGlvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZVN1Z2dlc3Rpb25zU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVTdWdnZXN0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRTdWdnZXN0aW9uc0J5RG9jdW1lbnRJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXAocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0RlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdVcGRhdGVDaGF0VmlzaWJsaXR5QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWRTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZFNjaGVtYT4pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldE1lc3NhZ2VDb3VudEJ5VXNlcklkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVN0cmVhbUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVN0cmVhbUlkU2NoZW1hPik6IFByb21pc2U8VFN0cmVhbUlkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnQ3JlYXRlU3RyZWFtSWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0U3RyZWFtSWRzQnlDaGF0SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0U3RyZWFtSWRzQnlDaGF0SWRTY2hlbWE+KTogUHJvbWlzZTxUU3RyZWFtSWRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldFN0cmVhbUlkc0J5Q2hhdElkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFNhdmVEb2N1bWVudChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTYXZlRG9jdW1lbnRTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnU2F2ZURvY3VtZW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldERvY3VtZW50QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXREb2N1bWVudEJ5SWRTY2hlbWE+KTogUHJvbWlzZTxURG9jdW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXREb2N1bWVudEJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0RG9jdW1lbnRzQnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXREb2N1bWVudHNCeUlkU2NoZW1hPik6IFByb21pc2U8VERvY3VtZW50W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXREb2N1bWVudHNCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNraWxsU2NoZW1hPik6IFByb21pc2U8VFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ0NyZWF0ZVNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RTa2lsbHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFNraWxsc1NjaGVtYT4pOiBQcm9taXNlPFRTa2lsbFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3NraWxsJywgJ0xpc3RTa2lsbHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlU2tpbGwocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlU2tpbGxTY2hlbWE+KTogUHJvbWlzZTxUU2tpbGw+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnc2tpbGwnLCAnVXBkYXRlU2tpbGwnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlU2tpbGwocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlU2tpbGxTY2hlbWE+KTogUHJvbWlzZTxUU2tpbGw+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnc2tpbGwnLCAnRGVsZXRlU2tpbGwnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQ29tbWFuZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVDb21tYW5kU2NoZW1hPik6IFByb21pc2U8VENvbW1hbmQ+IHtcbiAgICAgICAgLyogIGRlYnVnZ2VyXG4gICAgICAgICAgaWYgKCB0eXBlb2YgcGF5bG9hZC5pbnB1dHMgPT09ICdvYmplY3QnICkge1xuICAgICAgICAgICAgICBwYXlsb2FkLmlucHV0cyA9IEpTT04uc3RyaW5naWZ5KHBheWxvYWQuaW5wdXRzKSBhcyBhbnk7XG4gICAgICAgICAgfSAqL1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjb21tYW5kJywgJ0NyZWF0ZUNvbW1hbmQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdENvbW1hbmRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RDb21tYW5kc1NjaGVtYT4pOiBQcm9taXNlPFRDb21tYW5kW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY29tbWFuZCcsICdMaXN0Q29tbWFuZHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQ29tbWFuZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVDb21tYW5kU2NoZW1hPik6IFByb21pc2U8VENvbW1hbmQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY29tbWFuZCcsICdVcGRhdGVDb21tYW5kJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNvbW1hbmQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29tbWFuZFNjaGVtYT4pOiBQcm9taXNlPFRDb21tYW5kPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NvbW1hbmQnLCAnRGVsZXRlQ29tbWFuZCcsIHBheWxvYWQpO1xuICAgIH1cblxuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS1Db2xsZWN0aW9ucy0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZURhdGFNb2RlbChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlRGF0YU1vZGVsU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQ3JlYXRlRGF0YU1vZGVsXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZURhdGFNb2RlbChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlRGF0YU1vZGVsU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiVXBkYXRlRGF0YU1vZGVsXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZURhdGFNb2RlbChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlRGF0YU1vZGVsU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiRGVsZXRlRGF0YU1vZGVsXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldERhdGFNb2RlbEJ5SWQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldERhdGFNb2RlbEJ5SWRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJHZXREYXRhTW9kZWxCeUlkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3REYXRhTW9kZWxzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0RGF0YU1vZGVsc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkxpc3REYXRhTW9kZWxzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFJlc3RvcmVEYXRhTW9kZWwoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFJlc3RvcmVEYXRhTW9kZWxTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJSZXN0b3JlRGF0YU1vZGVsXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEhhcmREZWxldGVEYXRhTW9kZWwoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEhhcmREZWxldGVEYXRhTW9kZWxTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJIYXJkRGVsZXRlRGF0YU1vZGVsXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUNvbGxlY3Rpb24oXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbGxlY3Rpb25TY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJDcmVhdGVDb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RDb2xsZWN0aW9ucyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdENvbGxlY3Rpb25zU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiTGlzdENvbGxlY3Rpb25zXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlUmVjb3JkKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVSZWNvcmRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJDcmVhdGVSZWNvcmRcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0UmVjb3JkQnlJZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0UmVjb3JkQnlJZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkdldFJlY29yZEJ5SWRcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0UmVjb3JkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFJlY29yZHNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTx7XG4gICAgICAgIHRvdGFsOiBudW1iZXI7XG4gICAgICAgIHJlY29yZHM6IGFueVtdO1xuICAgIH0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJMaXN0UmVjb3Jkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVSZWNvcmQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlVwZGF0ZVJlY29yZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVSZWNvcmQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkRlbGV0ZVJlY29yZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIFJlc3RvcmVSZWNvcmQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFJlc3RvcmVSZWNvcmRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJSZXN0b3JlUmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwc2VydFJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBzZXJ0UmVjb3JkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiVXBzZXJ0UmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEJ1bGtDcmVhdGVSZWNvcmRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBCdWxrQ3JlYXRlUmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkJ1bGtDcmVhdGVSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEJ1bGtVcGRhdGVSZWNvcmRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBCdWxrVXBkYXRlUmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkJ1bGtVcGRhdGVSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEJ1bGtEZWxldGVSZWNvcmRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBCdWxrRGVsZXRlUmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkJ1bGtEZWxldGVSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuICAgIHB1YmxpYyBhc3luYyBEdXBsaWNhdGVSZWNvcmQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIER1cGxpY2F0ZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkR1cGxpY2F0ZVJlY29yZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBRdWVyeVJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFF1ZXJ5UmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPHtcbiAgICAgICAgdG90YWw6IG51bWJlcjtcbiAgICAgICAgcmVjb3JkczogYW55W107XG4gICAgfT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlF1ZXJ5UmVjb3Jkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBTZWFyY2hSZWNvcmRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTZWFyY2hSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8e1xuICAgICAgICB0b3RhbDogbnVtYmVyO1xuICAgICAgICByZWNvcmRzOiBhbnlbXTtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiU2VhcmNoUmVjb3Jkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDb3VudFJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENvdW50UmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkNvdW50UmVjb3Jkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHcm91cFJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdyb3VwUmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiR3JvdXBSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEFnZ3JlZ2F0ZVJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEFnZ3JlZ2F0ZVJlY29yZHNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkFnZ3JlZ2F0ZVJlY29yZHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGlzdGluY3RGaWVsZFZhbHVlcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGlzdGluY3RGaWVsZFZhbHVlc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiRGlzdGluY3RGaWVsZFZhbHVlc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVDb2xsZWN0aW9uRmllbGQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkNyZWF0ZUNvbGxlY3Rpb25GaWVsZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDb2xsZWN0aW9uRmllbGQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlVwZGF0ZUNvbGxlY3Rpb25GaWVsZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVDb2xsZWN0aW9uRmllbGQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbGxlY3Rpb25GaWVsZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkRlbGV0ZUNvbGxlY3Rpb25GaWVsZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBSZW9yZGVyQ29sbGVjdGlvbkZpZWxkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUmVvcmRlckNvbGxlY3Rpb25GaWVsZHNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJSZW9yZGVyQ29sbGVjdGlvbkZpZWxkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRDb2xsZWN0aW9uU2NoZW1hKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRDb2xsZWN0aW9uU2NoZW1hU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiR2V0Q29sbGVjdGlvblNjaGVtYVwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBWYWxpZGF0ZVJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVmFsaWRhdGVSZWNvcmRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJWYWxpZGF0ZVJlY29yZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBQcmV2aWV3VmFsaWRhdGlvbkVycm9ycyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUHJldmlld1ZhbGlkYXRpb25FcnJvcnNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJQcmV2aWV3VmFsaWRhdGlvbkVycm9yc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDaGVja1JlY29yZFBlcm1pc3Npb24oXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENoZWNrUmVjb3JkUGVybWlzc2lvblNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkNoZWNrUmVjb3JkUGVybWlzc2lvblwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0UmVjb3JkUGVybWlzc2lvbnMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RSZWNvcmRQZXJtaXNzaW9uc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiTGlzdFJlY29yZFBlcm1pc3Npb25zXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdyYW50UmVjb3JkUGVybWlzc2lvbihcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR3JhbnRSZWNvcmRQZXJtaXNzaW9uU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiR3JhbnRSZWNvcmRQZXJtaXNzaW9uXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgUmV2b2tlUmVjb3JkUGVybWlzc2lvbihcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUmV2b2tlUmVjb3JkUGVybWlzc2lvblNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlJldm9rZVJlY29yZFBlcm1pc3Npb25cIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIC8vLS0td2lraS0tLS0tLS0tXG5cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVXaWtpUGFnZShcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlV2lraVBhZ2VTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwid2lraVwiLFxuICAgICAgICAgICAgXCJDcmVhdGVXaWtpUGFnZVwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVXaWtpUGFnZShcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlV2lraVBhZ2VTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJVcGRhdGVXaWtpUGFnZVwiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlV2lraVBhZ2UoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVdpa2lQYWdlU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiRGVsZXRlV2lraVBhZ2VcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RXaWtpUGFnZXMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RXaWtpUGFnZXNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkxpc3RXaWtpUGFnZXNcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFJlc3RvcmVXaWtpUGFnZShcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUmVzdG9yZVdpa2lQYWdlU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiUmVzdG9yZVdpa2lQYWdlXCIsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRXaWtpUGFnZUJ5SWQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFdpa2lQYWdlQnlJZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkdldFdpa2lQYWdlQnlJZFwiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0V2lraVBhZ2VCeVNsdWcoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFdpa2lQYWdlQnlTbHVnU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiR2V0V2lraVBhZ2VCeVNsdWdcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFdpa2lUcmVlKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRXaWtpVHJlZVNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkdldFdpa2lUcmVlXCIsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIFdpa2kgUmV2aXNpb25cbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVXaWtpUmV2aXNpb24oXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVdpa2lSZXZpc2lvblNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkNyZWF0ZVdpa2lSZXZpc2lvblwiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0TGF0ZXN0V2lraVJldmlzaW9uKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRMYXRlc3RXaWtpUmV2aXNpb25TY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJHZXRMYXRlc3RXaWtpUmV2aXNpb25cIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFdpa2lSZXZpc2lvbkJ5SWQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFdpa2lSZXZpc2lvbkJ5SWRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJHZXRXaWtpUmV2aXNpb25CeUlkXCIsIHBheWxvYWQpO1xuICAgIH1cblxufVxuIl19
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL2VtcGxvaWQvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNckQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQ25DLGNBQWM7UUFDcEIsT0FBTyw4QkFBOEIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE0QztRQUNuRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQTRDO1FBQ25FLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBNEM7UUFDbkUsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUEyQztRQUNqRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBb0Q7UUFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBZ0Q7UUFDM0UsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLG1CQUFtQixF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MEJBQTBCLENBQUMsT0FBeUQ7UUFDN0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBc0Q7UUFDeEYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMseUJBQXlCLENBQUMsT0FBd0Q7UUFDM0YsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsT0FBdUQ7UUFDekYsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8s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VSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB6IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFNlcnZpY2VDbGllbnQgfSBmcm9tIFwiLi4vLi4vc2VydmljZS1jbGllbnRcIjtcblxuXG5pbXBvcnQgeyBBZ2dyZWdhdGVSZWNvcmRzU2NoZW1hLCBCdWxrQ3JlYXRlUmVjb3Jkc1NjaGVtYSwgQnVsa0RlbGV0ZVJlY29yZHNTY2hlbWEsIEJ1bGtVcGRhdGVSZWNvcmRzU2NoZW1hLCBDaGFuZ2VBZ2VudGZsb3dQcm9qZWN0U2NoZW1hLCBDaGVja1JlY29yZFBlcm1pc3Npb25TY2hlbWEsIENvdW50UmVjb3Jkc1NjaGVtYSwgQ3JlYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hLCBDcmVhdGVBZ2VudEZsb3dTY2hlbWEsIENyZWF0ZUFzc2lzdGFudENvbnN0cmFpbnRTY2hlbWEsIENyZWF0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEsIENyZWF0ZUFzc2lzdGFudEluc3RydWN0aW9uU2NoZW1hLCBDcmVhdGVBc3Npc3RhbnRTY2hlbWEsIENyZWF0ZUFzc2lzdGFudFNraWxsU2NoZW1hLCBDcmVhdGVDb2xsZWN0aW9uRmllbGRTY2hlbWEsIENyZWF0ZUNvbGxlY3Rpb25TY2hlbWEsIENyZWF0ZUNvbW1hbmRTY2hlbWEsIENyZWF0ZUNvbXBldGVuY3lTY2hlbWEsIENyZWF0ZUNvbnN0cmFpbnRTY2hlbWEsIENyZWF0ZURhdGFNb2RlbFNjaGVtYSwgQ3JlYXRlRG9tYWluVG9waWNTY2hlbWEsIENyZWF0ZUVtcGxvaWRTY2hlbWEsIENyZWF0ZUV4dGVuc2lvblNjaGVtYSwgQ3JlYXRlSW5wdXRTY2hlbWEsIENyZWF0ZUluc3RydWN0aW9uU2NoZW1hLCBDcmVhdGVKb2JEZWZpbml0aW9uU2NoZW1hLCBDcmVhdGVPY2N1cGF0aW9uU2NoZW1hLCBDcmVhdGVSZWNvcmRTY2hlbWEsIENyZWF0ZVNjb3BlU2NoZW1hLCBDcmVhdGVTa2lsbFNjaGVtYSwgQ3JlYXRlU3RyZWFtSWRTY2hlbWEsIENyZWF0ZVRhc2tUZW1wbGF0ZVNjaGVtYSwgQ3JlYXRlVGVhbVNjaGVtYSwgQ3JlYXRlV2lraVBhZ2VTY2hlbWEsIENyZWF0ZVdpa2lSZXZpc2lvblNjaGVtYSwgQ3JlYXRlV29ya2VyU2NoZW1hLCBEZWxldGVBZ2VudEZsb3dGb2xkZXJTY2hlbWEsIERlbGV0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEsIERlbGV0ZUFzc2lzdGFudFNjaGVtYSwgRGVsZXRlQXNzaXN0YW50U2tpbGxTY2hlbWEsIERlbGV0ZUNoYXRCeUlkU2NoZW1hLCBEZWxldGVDb2xsZWN0aW9uRmllbGRTY2hlbWEsIERlbGV0ZUNvbW1hbmRTY2hlbWEsIERlbGV0ZUNvbXBldGVuY3lTY2hlbWEsIERlbGV0ZUNvbnN0cmFpbnRTY2hlbWEsIERlbGV0ZURhdGFNb2RlbFNjaGVtYSwgRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wU2NoZW1hLCBEZWxldGVEb21haW5Ub3BpY1NjaGVtYSwgRGVsZXRlRW1wbG9pZFNjaGVtYSwgRGVsZXRlRXh0ZW5zaW9uU2NoZW1hLCBEZWxldGVJbnB1dFNjaGVtYSwgRGVsZXRlSW5zdHJ1Y3Rpb25TY2hlbWEsIERlbGV0ZUpvYkRlZmluaXRpb25TY2hlbWEsIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcFNjaGVtYSwgRGVsZXRlT2NjdXBhdGlvblNjaGVtYSwgRGVsZXRlUmVjb3JkU2NoZW1hLCBEZWxldGVTY29wZVNjaGVtYSwgRGVsZXRlU2tpbGxTY2hlbWEsIERlbGV0ZVRhc2tUZW1wbGF0ZVNjaGVtYSwgRGVsZXRlVGVhbVNjaGVtYSwgRGVsZXRlV2lraVBhZ2VTY2hlbWEsIERlbGV0ZVdvcmtlclNjaGVtYSwgRGlzdGluY3RGaWVsZFZhbHVlc1NjaGVtYSwgRHVwbGljYXRlUmVjb3JkU2NoZW1hLCBHZXRDaGF0QnlJZFNjaGVtYSwgR2V0Q2hhdHNCeVVzZXJJZFNjaGVtYSwgR2V0Q29sbGVjdGlvblNjaGVtYVNjaGVtYSwgR2V0RGF0YU1vZGVsQnlJZFNjaGVtYSwgR2V0RG9jdW1lbnRCeUlkU2NoZW1hLCBHZXREb2N1bWVudHNCeUlkU2NoZW1hLCBHZXRMYXRlc3RXaWtpUmV2aXNpb25TY2hlbWEsIEdldE1lc3NhZ2VCeUlkU2NoZW1hLCBHZXRNZXNzYWdlQ291bnRCeVVzZXJJZFNjaGVtYSwgR2V0TWVzc2FnZXNCeUNoYXRJZFNjaGVtYSwgR2V0UmVjb3JkQnlJZFNjaGVtYSwgR2V0U3RyZWFtSWRzQnlDaGF0SWRTY2hlbWEsIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hLCBHZXRWb3Rlc0J5Q2hhdElkU2NoZW1hLCBHZXRXaWtpUGFnZUJ5SWRTY2hlbWEsIEdldFdpa2lQYWdlQnlTbHVnU2NoZW1hLCBHZXRXaWtpUmV2aXNpb25CeUlkU2NoZW1hLCBHZXRXaWtpVHJlZVNjaGVtYSwgR3JhbnRSZWNvcmRQZXJtaXNzaW9uU2NoZW1hLCBHcm91cFJlY29yZHNTY2hlbWEsIEhhcmREZWxldGVEYXRhTW9kZWxTY2hlbWEsIExpc3RBZ2VudEZsb3dGb2xkZXJzU2NoZW1hLCBMaXN0QWdlbnRGbG93c1NjaGVtYSwgTGlzdEFzc2lzdGFudENvbnN0cmFpbnRzU2NoZW1hLCBMaXN0QXNzaXN0YW50RGF0YXNvdXJjZXNTY2hlbWEsIExpc3RBc3Npc3RhbnRJbnN0cnVjdGlvbnNTY2hlbWEsIExpc3RBc3Npc3RhbnRTa2lsbHNTY2hlbWEsIExpc3RBc3Npc3RhbnRzU2NoZW1hLCBMaXN0Q29sbGVjdGlvbnNTY2hlbWEsIExpc3RDb21tYW5kc1NjaGVtYSwgTGlzdENvbXBldGVuY2llc1NjaGVtYSwgTGlzdENvbnN0cmFpbnRzU2NoZW1hLCBMaXN0RGF0YU1vZGVsc1NjaGVtYSwgTGlzdERvbWFpblRvcGljc1NjaGVtYSwgTGlzdEVtcGxvaWRzUGFnaW5hdGVkU2NoZW1hLCBMaXN0RW1wbG9pZHNTY2hlbWEsIExpc3RFeHRlbnNpb25zU2NoZW1hLCBMaXN0SW5wdXRTY2hlbWEsIExpc3RJbnN0cnVjdGlvbnNTY2hlbWEsIExpc3RKb2JEZWZpbml0aW9uU2NoZW1hLCBMaXN0T2NjdXBhdGlvbnNTY2hlbWEsIExpc3RSZWNvcmRQZXJtaXNzaW9uc1NjaGVtYSwgTGlzdFJlY29yZHNTY2hlbWEsIExpc3RTY29wZXNTY2hlbWEsIExpc3RTa2lsbHNTY2hlbWEsIExpc3RUYXNrVGVtcGxhdGVzU2NoZW1hLCBMaXN0VGVhbXNTY2hlbWEsIExpc3RXaWtpUGFnZXNTY2hlbWEsIExpc3RXb3JrZXJzU2NoZW1hLCBQcmV2aWV3VmFsaWRhdGlvbkVycm9yc1NjaGVtYSwgUXVlcnlSZWNvcmRzU2NoZW1hLCBSZW9yZGVyQ29sbGVjdGlvbkZpZWxkc1NjaGVtYSwgUmVzdG9yZURhdGFNb2RlbFNjaGVtYSwgUmVzdG9yZVJlY29yZFNjaGVtYSwgUmVzdG9yZVdpa2lQYWdlU2NoZW1hLCBSZXZva2VSZWNvcmRQZXJtaXNzaW9uU2NoZW1hLCBTYXZlQ2hhdFNjaGVtYSwgU2F2ZURvY3VtZW50U2NoZW1hLCBTYXZlTWVzc2FnZXNTY2hlbWEsIFNhdmVTdWdnZXN0aW9uc1NjaGVtYSwgU2VhcmNoUmVjb3Jkc1NjaGVtYSwgVXBkYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hLCBVcGRhdGVBZ2VudEZsb3dTY2hlbWEsIFVwZGF0ZUFzc2lzdGFudERhdGFzb3VyY2VTY2hlbWEsIFVwZGF0ZUFzc2lzdGFudFNjaGVtYSwgVXBkYXRlQXNzaXN0YW50U2tpbGxTY2hlbWEsIFVwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWRTY2hlbWEsIFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkU2NoZW1hLCBVcGRhdGVDb2xsZWN0aW9uRmllbGRTY2hlbWEsIFVwZGF0ZUNvbW1hbmRTY2hlbWEsIFVwZGF0ZUNvbXBldGVuY3lTY2hlbWEsIFVwZGF0ZUNvbnN0cmFpbnRTY2hlbWEsIFVwZGF0ZURhdGFNb2RlbFNjaGVtYSwgVXBkYXRlRG9tYWluVG9waWNTY2hlbWEsIFVwZGF0ZUVtcGxvaWRTY2hlbWEsIFVwZGF0ZUlucHV0U2NoZW1hLCBVcGRhdGVJbnN0cnVjdGlvblNjaGVtYSwgVXBkYXRlSm9iRGVmaW5pdGlvblNjaGVtYSwgVXBkYXRlT2NjdXBhdGlvblNjaGVtYSwgVXBkYXRlUmVjb3JkU2NoZW1hLCBVcGRhdGVTY29wZVNjaGVtYSwgVXBkYXRlU2tpbGxTY2hlbWEsIFVwZGF0ZVRhc2tUZW1wbGF0ZVNjaGVtYSwgVXBkYXRlVGVhbVNjaGVtYSwgVXBkYXRlV2lraVBhZ2VTY2hlbWEsIFVwZGF0ZVdvcmtlclNjaGVtYSwgVXBzZXJ0UmVjb3JkU2NoZW1hLCBWYWxpZGF0ZVJlY29yZFNjaGVtYSwgVm90ZU1lc3NhZ2VTY2hlbWEgfSBmcm9tIFwiLi9zY2hlbWFcIjtcbmltcG9ydCB7IFRBZ2VudEZsb3csIFRBZ2VudEZsb3dGb2xkZXIsIFRBc3Npc3RhbnQsIFRBc3Npc3RhbnRDb25zdHJhaW50LCBUQXNzaXN0YW50RGF0YXNvdXJjZSwgVEFzc2lzdGFudEluc3RydWN0aW9uLCBUQXNzaXN0YW50U2tpbGwsIFRDaGF0LCBUQ29tbWFuZCwgVENvbXBldGVuY3ksIFRDb25zdHJhaW50LCBURG9jdW1lbnQsIFREb21haW5Ub3BpYywgVEVtcGxvaWQsIFRFeHRlbnNpb24sIFRJbnB1dCwgVEluc3RydWN0aW9uLCBUSm9iRGVmaW5pdGlvbiwgVE9jY3VwYXRpb24sIFRQYWdpbmF0ZWRFbXBsb2lkc1Jlc3VsdCwgVFNjb3BlLCBUU2tpbGwsIFRTdHJlYW1JZCwgVFRhc2tUZW1wbGF0ZSwgVFRlYW0sIFRXb3JrZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgRW1wbG9pZFNlcnZpY2UgZXh0ZW5kcyBTZXJ2aWNlQ2xpZW50IHtcbiAgICBwcm90ZWN0ZWQgZ2V0U2VydmljZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdjb20uYXBwY29uZGEuc2VydmljZS5lbXBsb2lkJztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlRW1wbG9pZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFbXBsb2lkU2NoZW1hPik6IFByb21pc2U8VEVtcGxvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVFbXBsb2lkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUVtcGxvaWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlRW1wbG9pZFNjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlRW1wbG9pZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVFbXBsb2lkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUVtcGxvaWRTY2hlbWE+KTogUHJvbWlzZTxURW1wbG9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUVtcGxvaWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEVtcGxvaWRzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1NjaGVtYT4pOiBQcm9taXNlPFRFbXBsb2lkW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0RW1wbG9pZHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEVtcGxvaWRzUGFnaW5hdGVkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RFbXBsb2lkc1BhZ2luYXRlZFNjaGVtYT4pOiBQcm9taXNlPFRQYWdpbmF0ZWRFbXBsb2lkc1Jlc3VsdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0xpc3RFbXBsb2lkc1BhZ2luYXRlZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVJbnN0cnVjdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVJbnN0cnVjdGlvblNjaGVtYT4pOiBQcm9taXNlPFRJbnN0cnVjdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUluc3RydWN0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RJbnN0cnVjdGlvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEluc3RydWN0aW9uc1NjaGVtYT4pOiBQcm9taXNlPFRJbnN0cnVjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdEluc3RydWN0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVJbnN0cnVjdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVJbnN0cnVjdGlvblNjaGVtYT4pOiBQcm9taXNlPFRJbnN0cnVjdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZUluc3RydWN0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUluc3RydWN0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUluc3RydWN0aW9uU2NoZW1hPik6IFByb21pc2U8VEluc3RydWN0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlSW5zdHJ1Y3Rpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQ29uc3RyYWludChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVDb25zdHJhaW50U2NoZW1hPik6IFByb21pc2U8VENvbnN0cmFpbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdDcmVhdGVDb25zdHJhaW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RDb25zdHJhaW50cyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0Q29uc3RyYWludHNTY2hlbWE+KTogUHJvbWlzZTxUQ29uc3RyYWludFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdENvbnN0cmFpbnRzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUNvbnN0cmFpbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ29uc3RyYWludFNjaGVtYT4pOiBQcm9taXNlPFRDb25zdHJhaW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlQ29uc3RyYWludCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVDb25zdHJhaW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbnN0cmFpbnRTY2hlbWE+KTogUHJvbWlzZTxUQ29uc3RyYWludD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZUNvbnN0cmFpbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFNjb3BlcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0U2NvcGVzU2NoZW1hPik6IFByb21pc2U8VFNjb3BlW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0U2NvcGVzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVNjb3BlKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNjb3BlU2NoZW1hPik6IFByb21pc2U8VFNjb3BlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlU2NvcGUnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlU2NvcGUocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlU2NvcGVTY2hlbWE+KTogUHJvbWlzZTxUU2NvcGU+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVTY29wZScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVTY29wZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVTY29wZVNjaGVtYT4pOiBQcm9taXNlPFRTY29wZT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0RlbGV0ZVNjb3BlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZU9jY3VwYXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlT2NjdXBhdGlvblNjaGVtYT4pOiBQcm9taXNlPFRPY2N1cGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnQ3JlYXRlT2NjdXBhdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVPY2N1cGF0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZU9jY3VwYXRpb25TY2hlbWE+KTogUHJvbWlzZTxUT2NjdXBhdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ1VwZGF0ZU9jY3VwYXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlT2NjdXBhdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVPY2N1cGF0aW9uU2NoZW1hPik6IFByb21pc2U8VE9jY3VwYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdEZWxldGVPY2N1cGF0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RPY2N1cGF0aW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0T2NjdXBhdGlvbnNTY2hlbWE+KTogUHJvbWlzZTxUT2NjdXBhdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnTGlzdE9jY3VwYXRpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZURvbWFpblRvcGljKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZURvbWFpblRvcGljU2NoZW1hPik6IFByb21pc2U8VERvbWFpblRvcGljPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnQ3JlYXRlRG9tYWluVG9waWMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlRG9tYWluVG9waWMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlRG9tYWluVG9waWNTY2hlbWE+KTogUHJvbWlzZTxURG9tYWluVG9waWM+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnb2NjdXBhdGlvbicsICdVcGRhdGVEb21haW5Ub3BpYycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVEb21haW5Ub3BpYyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVEb21haW5Ub3BpY1NjaGVtYT4pOiBQcm9taXNlPFREb21haW5Ub3BpYz4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdvY2N1cGF0aW9uJywgJ0RlbGV0ZURvbWFpblRvcGljJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3REb21haW5Ub3BpY3MocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdERvbWFpblRvcGljc1NjaGVtYT4pOiBQcm9taXNlPFREb21haW5Ub3BpY1tdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ29jY3VwYXRpb24nLCAnTGlzdERvbWFpblRvcGljcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVKb2JEZWZpbml0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUpvYkRlZmluaXRpb25TY2hlbWE+KTogUHJvbWlzZTxUSm9iRGVmaW5pdGlvbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ0NyZWF0ZUpvYkRlZmluaXRpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlSm9iRGVmaW5pdGlvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVKb2JEZWZpbml0aW9uU2NoZW1hPik6IFByb21pc2U8VEpvYkRlZmluaXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdVcGRhdGVKb2JEZWZpbml0aW9uJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUpvYkRlZmluaXRpb24ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlSm9iRGVmaW5pdGlvblNjaGVtYT4pOiBQcm9taXNlPFRKb2JEZWZpbml0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlSm9iRGVmaW5pdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Sm9iRGVmaW5pdGlvbnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEpvYkRlZmluaXRpb25TY2hlbWE+KTogUHJvbWlzZTxUSm9iRGVmaW5pdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdEpvYkRlZmluaXRpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUNvbXBldGVuY3kocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29tcGV0ZW5jeVNjaGVtYT4pOiBQcm9taXNlPFRDb21wZXRlbmN5PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlQ29tcGV0ZW5jeScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDb21wZXRlbmN5KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNvbXBldGVuY3lTY2hlbWE+KTogUHJvbWlzZTxUQ29tcGV0ZW5jeT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdlbXBsb2lkJywgJ1VwZGF0ZUNvbXBldGVuY3knLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQ29tcGV0ZW5jeShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVDb21wZXRlbmN5U2NoZW1hPik6IFByb21pc2U8VENvbXBldGVuY3k+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdEZWxldGVDb21wZXRlbmN5JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RDb21wZXRlbmNpZXMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdENvbXBldGVuY2llc1NjaGVtYT4pOiBQcm9taXNlPFRDb21wZXRlbmN5W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZW1wbG9pZCcsICdMaXN0Q29tcGV0ZW5jaWVzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVRhc2tUZW1wbGF0ZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVUYXNrVGVtcGxhdGVTY2hlbWE+KTogUHJvbWlzZTxUVGFza1RlbXBsYXRlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnQ3JlYXRlVGFza1RlbXBsYXRlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVRhc2tUZW1wbGF0ZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVUYXNrVGVtcGxhdGVTY2hlbWE+KTogUHJvbWlzZTxUVGFza1RlbXBsYXRlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnVXBkYXRlVGFza1RlbXBsYXRlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVRhc2tUZW1wbGF0ZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVUYXNrVGVtcGxhdGVTY2hlbWE+KTogUHJvbWlzZTxUVGFza1RlbXBsYXRlPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnRGVsZXRlVGFza1RlbXBsYXRlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RUYXNrVGVtcGxhdGVzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RUYXNrVGVtcGxhdGVzU2NoZW1hPik6IFByb21pc2U8VFRhc2tUZW1wbGF0ZVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2VtcGxvaWQnLCAnTGlzdFRhc2tUZW1wbGF0ZXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQWdlbnRGbG93KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFnZW50Rmxvd1NjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3c+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdDcmVhdGVBZ2VudEZsb3cnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ2hhbmdlQWdlbnRmbG93UHJvamVjdChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDaGFuZ2VBZ2VudGZsb3dQcm9qZWN0U2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvdz4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0NoYW5nZUFnZW50Zmxvd1Byb2plY3QnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQWdlbnRGbG93KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUFnZW50Rmxvd1NjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3c+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdVcGRhdGVBZ2VudEZsb3cnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFnZW50Rmxvd3MocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEFnZW50Rmxvd3NTY2hlbWE+KTogUHJvbWlzZTxUQWdlbnRGbG93W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYWdlbnQtZmxvdycsICdMaXN0QWdlbnRGbG93cycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBZ2VudEZsb3dGb2xkZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvd0ZvbGRlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0NyZWF0ZUFnZW50Rmxvd0ZvbGRlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVBZ2VudEZsb3dGb2xkZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvd0ZvbGRlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ1VwZGF0ZUFnZW50Rmxvd0ZvbGRlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVBZ2VudEZsb3dGb2xkZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQWdlbnRGbG93Rm9sZGVyU2NoZW1hPik6IFByb21pc2U8VEFnZW50Rmxvd0ZvbGRlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0RlbGV0ZUFnZW50Rmxvd0ZvbGRlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QWdlbnRGbG93Rm9sZGVycyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0QWdlbnRGbG93Rm9sZGVyc1NjaGVtYT4pOiBQcm9taXNlPFRBZ2VudEZsb3dGb2xkZXJbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhZ2VudC1mbG93JywgJ0xpc3RBZ2VudEZsb3dGb2xkZXJzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUV4dGVuc2lvbihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVFeHRlbnNpb25TY2hlbWE+KTogUHJvbWlzZTxURXh0ZW5zaW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2V4dGVuc2lvbicsICdDcmVhdGVFeHRlbnNpb24nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRXh0ZW5zaW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUV4dGVuc2lvblNjaGVtYT4pOiBQcm9taXNlPFRFeHRlbnNpb24+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnZXh0ZW5zaW9uJywgJ0RlbGV0ZUV4dGVuc2lvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0RXh0ZW5zaW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0RXh0ZW5zaW9uc1NjaGVtYT4pOiBQcm9taXNlPFRFeHRlbnNpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdleHRlbnNpb24nLCAnTGlzdEV4dGVuc2lvbnMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLUFzc2lzdGFudC0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQXNzaXN0YW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFzc2lzdGFudFNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0NyZWF0ZUFzc2lzdGFudCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVBc3Npc3RhbnQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQXNzaXN0YW50U2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnVXBkYXRlQXNzaXN0YW50JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUFzc2lzdGFudChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVBc3Npc3RhbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdEZWxldGVBc3Npc3RhbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFzc2lzdGFudHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEFzc2lzdGFudHNTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0xpc3RBc3Npc3RhbnRzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUFzc2lzdGFudEluc3RydWN0aW9uKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFzc2lzdGFudEluc3RydWN0aW9uU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudEluc3RydWN0aW9uPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdDcmVhdGVBc3Npc3RhbnRJbnN0cnVjdGlvbicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QXNzaXN0YW50SW5zdHJ1Y3Rpb25zKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRJbnN0cnVjdGlvbnNTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50SW5zdHJ1Y3Rpb25bXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnTGlzdEFzc2lzdGFudEluc3RydWN0aW9ucycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBc3Npc3RhbnRDb25zdHJhaW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFzc2lzdGFudENvbnN0cmFpbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50Q29uc3RyYWludD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnQ3JlYXRlQXNzaXN0YW50Q29uc3RyYWludCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QXNzaXN0YW50Q29uc3RyYWludHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdEFzc2lzdGFudENvbnN0cmFpbnRTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50Q29uc3RyYWludFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdMaXN0QXNzaXN0YW50Q29uc3RyYWludHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQXNzaXN0YW50RGF0YXNvdXJjZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudERhdGFzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0NyZWF0ZUFzc2lzdGFudERhdGFzb3VyY2UnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQXNzaXN0YW50RGF0YXNvdXJjZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudERhdGFzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ1VwZGF0ZUFzc2lzdGFudERhdGFzb3VyY2UnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQXNzaXN0YW50RGF0YXNvdXJjZShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVBc3Npc3RhbnREYXRhc291cmNlU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudERhdGFzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0RlbGV0ZUFzc2lzdGFudERhdGFzb3VyY2UnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdEFzc2lzdGFudERhdGFzb3VyY2VzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnREYXRhc291cmNlc1NjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnREYXRhc291cmNlW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ0xpc3RBc3Npc3RhbnREYXRhc291cmNlcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVBc3Npc3RhbnRTa2lsbChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVBc3Npc3RhbnRTa2lsbFNjaGVtYT4pOiBQcm9taXNlPFRBc3Npc3RhbnRTa2lsbD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnQ3JlYXRlQXNzaXN0YW50U2tpbGwnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlQXNzaXN0YW50U2tpbGwocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQXNzaXN0YW50U2tpbGxTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50U2tpbGw+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnYXNzaXN0YW50JywgJ1VwZGF0ZUFzc2lzdGFudFNraWxsJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUFzc2lzdGFudFNraWxsKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUFzc2lzdGFudFNraWxsU2NoZW1hPik6IFByb21pc2U8VEFzc2lzdGFudFNraWxsPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2Fzc2lzdGFudCcsICdEZWxldGVBc3Npc3RhbnRTa2lsbCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0QXNzaXN0YW50U2tpbGxzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3RBc3Npc3RhbnRTa2lsbHNTY2hlbWE+KTogUHJvbWlzZTxUQXNzaXN0YW50U2tpbGxbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdhc3Npc3RhbnQnLCAnTGlzdEFzc2lzdGFudFNraWxscycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlV29ya2VyKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVdvcmtlclNjaGVtYT4pOiBQcm9taXNlPFRXb3JrZXI+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnd29ya2VyJywgJ0NyZWF0ZVdvcmtlcicsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVXb3JrZXIocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlV29ya2VyU2NoZW1hPik6IFByb21pc2U8VFdvcmtlcj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd3b3JrZXInLCAnVXBkYXRlV29ya2VyJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVdvcmtlcihwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVXb3JrZXJTY2hlbWE+KTogUHJvbWlzZTxUV29ya2VyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3dvcmtlcicsICdEZWxldGVXb3JrZXInLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFdvcmtlcnMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFdvcmtlcnNTY2hlbWE+KTogUHJvbWlzZTxUV29ya2VyW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnd29ya2VyJywgJ0xpc3RXb3JrZXJzJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUlucHV0KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUlucHV0U2NoZW1hPik6IFByb21pc2U8VElucHV0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2lucHV0LW91dHB1dCcsICdDcmVhdGVJbnB1dCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVJbnB1dChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVJbnB1dFNjaGVtYT4pOiBQcm9taXNlPFRJbnB1dD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdpbnB1dC1vdXRwdXQnLCAnVXBkYXRlSW5wdXQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlSW5wdXQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlSW5wdXRTY2hlbWE+KTogUHJvbWlzZTxUSW5wdXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnaW5wdXQtb3V0cHV0JywgJ0RlbGV0ZUlucHV0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RJbnB1dHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdElucHV0U2NoZW1hPik6IFByb21pc2U8VElucHV0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnaW5wdXQtb3V0cHV0JywgJ0xpc3RJbnB1dHMnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlVGVhbShwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVUZWFtU2NoZW1hPik6IFByb21pc2U8VFRlYW0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgndGVhbScsICdDcmVhdGVUZWFtJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RUZWFtcyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0VGVhbXNTY2hlbWE+KTogUHJvbWlzZTxUVGVhbVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3RlYW0nLCAnTGlzdFRlYW1zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVRlYW0ocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlVGVhbVNjaGVtYT4pOiBQcm9taXNlPFRUZWFtPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ3RlYW0nLCAnVXBkYXRlVGVhbScsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVUZWFtKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVRlYW1TY2hlbWE+KTogUHJvbWlzZTxUVGVhbT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCd0ZWFtJywgJ0RlbGV0ZVRlYW0nLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgU2F2ZUNoYXQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgU2F2ZUNoYXRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1NhdmVDaGF0JywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNoYXRCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNoYXRCeUlkU2NoZW1hPik6IFByb21pc2U8VENoYXQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdEZWxldGVDaGF0QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRDaGF0QnlJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRDaGF0QnlJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0Q2hhdEJ5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0Q2hhdHNCeVVzZXJJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRDaGF0c0J5VXNlcklkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldENoYXRzQnlVc2VySWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgU2F2ZU1lc3NhZ2VzKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNhdmVNZXNzYWdlc1NjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdTYXZlTWVzc2FnZXMnLCBwYXlsb2FkKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBHZXRNZXNzYWdlc0J5Q2hhdElkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldE1lc3NhZ2VzQnlDaGF0SWRTY2hlbWE+KTogUHJvbWlzZTxUQ2hhdFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0TWVzc2FnZXNCeUNoYXRJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIEdldE1lc3NhZ2VCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldE1lc3NhZ2VCeUlkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldE1lc3NhZ2VCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFZvdGVNZXNzYWdlKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFZvdGVNZXNzYWdlU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1ZvdGVNZXNzYWdlJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFZvdGVzQnlDaGF0SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0Vm90ZXNCeUNoYXRJZFNjaGVtYT4pOiBQcm9taXNlPFRDaGF0W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdHZXRWb3Rlc0J5Q2hhdElkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZURvY3VtZW50c0J5SWRBZnRlclRpbWVzdGFtcChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVEb2N1bWVudHNCeUlkQWZ0ZXJUaW1lc3RhbXBTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnRGVsZXRlRG9jdW1lbnRzQnlJZEFmdGVyVGltZXN0YW1wJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFNhdmVTdWdnZXN0aW9ucyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBTYXZlU3VnZ2VzdGlvbnNTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnU2F2ZVN1Z2dlc3Rpb25zJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkU2NoZW1hPik6IFByb21pc2U8VENoYXRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldFN1Z2dlc3Rpb25zQnlEb2N1bWVudElkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZU1lc3NhZ2VzQnlDaGF0SWRBZnRlclRpbWVzdGFtcChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVNZXNzYWdlc0J5Q2hhdElkQWZ0ZXJUaW1lc3RhbXBTY2hlbWE+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnRGVsZXRlTWVzc2FnZXNCeUNoYXRJZEFmdGVyVGltZXN0YW1wJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkU2NoZW1hPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ1VwZGF0ZUNoYXRWaXNpYmxpdHlCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUNoYXRMYXN0Q29udGV4dEJ5SWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ2hhdExhc3RDb250ZXh0QnlJZFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdVcGRhdGVDaGF0TGFzdENvbnRleHRCeUlkJywgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldE1lc3NhZ2VDb3VudEJ5VXNlcklkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldE1lc3NhZ2VDb3VudEJ5VXNlcklkU2NoZW1hPik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0TWVzc2FnZUNvdW50QnlVc2VySWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlU3RyZWFtSWQocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3RyZWFtSWRTY2hlbWE+KTogUHJvbWlzZTxUU3RyZWFtSWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdDcmVhdGVTdHJlYW1JZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRTdHJlYW1JZHNCeUNoYXRJZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRTdHJlYW1JZHNCeUNoYXRJZFNjaGVtYT4pOiBQcm9taXNlPFRTdHJlYW1JZFtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NoYXQnLCAnR2V0U3RyZWFtSWRzQnlDaGF0SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgU2F2ZURvY3VtZW50KHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNhdmVEb2N1bWVudFNjaGVtYT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY2hhdCcsICdTYXZlRG9jdW1lbnQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0RG9jdW1lbnRCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldERvY3VtZW50QnlJZFNjaGVtYT4pOiBQcm9taXNlPFREb2N1bWVudD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldERvY3VtZW50QnlJZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXREb2N1bWVudHNCeUlkKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldERvY3VtZW50c0J5SWRTY2hlbWE+KTogUHJvbWlzZTxURG9jdW1lbnRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjaGF0JywgJ0dldERvY3VtZW50c0J5SWQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlU2tpbGwocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU2tpbGxTY2hlbWE+KTogUHJvbWlzZTxUU2tpbGw+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnc2tpbGwnLCAnQ3JlYXRlU2tpbGwnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFNraWxscyhwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0U2tpbGxzU2NoZW1hPik6IFByb21pc2U8VFNraWxsW10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnc2tpbGwnLCAnTGlzdFNraWxscycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVTa2lsbChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTa2lsbFNjaGVtYT4pOiBQcm9taXNlPFRTa2lsbD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdVcGRhdGVTa2lsbCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVTa2lsbChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVTa2lsbFNjaGVtYT4pOiBQcm9taXNlPFRTa2lsbD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdza2lsbCcsICdEZWxldGVTa2lsbCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVDb21tYW5kKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNvbW1hbmRTY2hlbWE+KTogUHJvbWlzZTxUQ29tbWFuZD4ge1xuICAgICAgICAvKiAgZGVidWdnZXJcbiAgICAgICAgICBpZiAoIHR5cGVvZiBwYXlsb2FkLmlucHV0cyA9PT0gJ29iamVjdCcgKSB7XG4gICAgICAgICAgICAgIHBheWxvYWQuaW5wdXRzID0gSlNPTi5zdHJpbmdpZnkocGF5bG9hZC5pbnB1dHMpIGFzIGFueTtcbiAgICAgICAgICB9ICovXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoJ2NvbW1hbmQnLCAnQ3JlYXRlQ29tbWFuZCcsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBMaXN0Q29tbWFuZHMocGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdENvbW1hbmRzU2NoZW1hPik6IFByb21pc2U8VENvbW1hbmRbXT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjb21tYW5kJywgJ0xpc3RDb21tYW5kcycsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBVcGRhdGVDb21tYW5kKHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUNvbW1hbmRTY2hlbWE+KTogUHJvbWlzZTxUQ29tbWFuZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKCdjb21tYW5kJywgJ1VwZGF0ZUNvbW1hbmQnLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlQ29tbWFuZChwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVDb21tYW5kU2NoZW1hPik6IFByb21pc2U8VENvbW1hbmQ+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbCgnY29tbWFuZCcsICdEZWxldGVDb21tYW5kJywgcGF5bG9hZCk7XG4gICAgfVxuXG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLUNvbGxlY3Rpb25zLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlRGF0YU1vZGVsKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVEYXRhTW9kZWxTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJDcmVhdGVEYXRhTW9kZWxcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlRGF0YU1vZGVsKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVEYXRhTW9kZWxTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJVcGRhdGVEYXRhTW9kZWxcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRGF0YU1vZGVsKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEZWxldGVEYXRhTW9kZWxTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJEZWxldGVEYXRhTW9kZWxcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0RGF0YU1vZGVsQnlJZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0RGF0YU1vZGVsQnlJZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkdldERhdGFNb2RlbEJ5SWRcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdERhdGFNb2RlbHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIExpc3REYXRhTW9kZWxzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiTGlzdERhdGFNb2RlbHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgUmVzdG9yZURhdGFNb2RlbChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUmVzdG9yZURhdGFNb2RlbFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlJlc3RvcmVEYXRhTW9kZWxcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgSGFyZERlbGV0ZURhdGFNb2RlbChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgSGFyZERlbGV0ZURhdGFNb2RlbFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkhhcmREZWxldGVEYXRhTW9kZWxcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQ3JlYXRlQ29sbGVjdGlvbihcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29sbGVjdGlvblNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkNyZWF0ZUNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdENvbGxlY3Rpb25zKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0Q29sbGVjdGlvbnNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJMaXN0Q29sbGVjdGlvbnNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBDcmVhdGVSZWNvcmQoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkNyZWF0ZVJlY29yZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRSZWNvcmRCeUlkKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHZXRSZWNvcmRCeUlkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiR2V0UmVjb3JkQnlJZFwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgcHVibGljIGFzeW5jIExpc3RSZWNvcmRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBMaXN0UmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPHtcbiAgICAgICAgdG90YWw6IG51bWJlcjtcbiAgICAgICAgcmVjb3JkczogYW55W107XG4gICAgfT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIkxpc3RSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlUmVjb3JkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiVXBkYXRlUmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZVJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlUmVjb3JkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiRGVsZXRlUmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgYXN5bmMgUmVzdG9yZVJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUmVzdG9yZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlJlc3RvcmVSZWNvcmRcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgVXBzZXJ0UmVjb3JkKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcHNlcnRSZWNvcmRTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJVcHNlcnRSZWNvcmRcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQnVsa0NyZWF0ZVJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEJ1bGtDcmVhdGVSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQnVsa0NyZWF0ZVJlY29yZHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQnVsa1VwZGF0ZVJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEJ1bGtVcGRhdGVSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQnVsa1VwZGF0ZVJlY29yZHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQnVsa0RlbGV0ZVJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEJ1bGtEZWxldGVSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQnVsa0RlbGV0ZVJlY29yZHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHVibGljIGFzeW5jIER1cGxpY2F0ZVJlY29yZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRHVwbGljYXRlUmVjb3JkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiRHVwbGljYXRlUmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFF1ZXJ5UmVjb3JkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgUXVlcnlSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8e1xuICAgICAgICB0b3RhbDogbnVtYmVyO1xuICAgICAgICByZWNvcmRzOiBhbnlbXTtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiUXVlcnlSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFNlYXJjaFJlY29yZHMoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIFNlYXJjaFJlY29yZHNTY2hlbWE+XG4gICAgKTogUHJvbWlzZTx7XG4gICAgICAgIHRvdGFsOiBudW1iZXI7XG4gICAgICAgIHJlY29yZHM6IGFueVtdO1xuICAgIH0+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJTZWFyY2hSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENvdW50UmVjb3JkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ291bnRSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQ291bnRSZWNvcmRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdyb3VwUmVjb3JkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR3JvdXBSZWNvcmRzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJHcm91cFJlY29yZHNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQWdncmVnYXRlUmVjb3JkcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQWdncmVnYXRlUmVjb3Jkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQWdncmVnYXRlUmVjb3Jkc1wiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEaXN0aW5jdEZpZWxkVmFsdWVzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBEaXN0aW5jdEZpZWxkVmFsdWVzU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJEaXN0aW5jdEZpZWxkVmFsdWVzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZUNvbGxlY3Rpb25GaWVsZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQ3JlYXRlQ29sbGVjdGlvbkZpZWxkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZUNvbGxlY3Rpb25GaWVsZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgVXBkYXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiVXBkYXRlQ29sbGVjdGlvbkZpZWxkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIERlbGV0ZUNvbGxlY3Rpb25GaWVsZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlQ29sbGVjdGlvbkZpZWxkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiRGVsZXRlQ29sbGVjdGlvbkZpZWxkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFJlb3JkZXJDb2xsZWN0aW9uRmllbGRzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBSZW9yZGVyQ29sbGVjdGlvbkZpZWxkc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlJlb3JkZXJDb2xsZWN0aW9uRmllbGRzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldENvbGxlY3Rpb25TY2hlbWEoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldENvbGxlY3Rpb25TY2hlbWFTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJHZXRDb2xsZWN0aW9uU2NoZW1hXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFZhbGlkYXRlUmVjb3JkKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBWYWxpZGF0ZVJlY29yZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlZhbGlkYXRlUmVjb3JkXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFByZXZpZXdWYWxpZGF0aW9uRXJyb3JzKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBQcmV2aWV3VmFsaWRhdGlvbkVycm9yc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uXCIsXG4gICAgICAgICAgICBcIlByZXZpZXdWYWxpZGF0aW9uRXJyb3JzXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIENoZWNrUmVjb3JkUGVybWlzc2lvbihcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ2hlY2tSZWNvcmRQZXJtaXNzaW9uU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiQ2hlY2tSZWNvcmRQZXJtaXNzaW9uXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIExpc3RSZWNvcmRQZXJtaXNzaW9ucyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFJlY29yZFBlcm1pc3Npb25zU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJMaXN0UmVjb3JkUGVybWlzc2lvbnNcIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR3JhbnRSZWNvcmRQZXJtaXNzaW9uKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBHcmFudFJlY29yZFBlcm1pc3Npb25TY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcbiAgICAgICAgICAgIFwiY29sbGVjdGlvblwiLFxuICAgICAgICAgICAgXCJHcmFudFJlY29yZFBlcm1pc3Npb25cIixcbiAgICAgICAgICAgIHBheWxvYWRcbiAgICAgICAgKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBhc3luYyBSZXZva2VSZWNvcmRQZXJtaXNzaW9uKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBSZXZva2VSZWNvcmRQZXJtaXNzaW9uU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgICAgIFwiUmV2b2tlUmVjb3JkUGVybWlzc2lvblwiLFxuICAgICAgICAgICAgcGF5bG9hZFxuICAgICAgICApO1xuICAgIH1cblxuXG4gICAgLy8tLS13aWtpLS0tLS0tLS1cblxuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVdpa2lQYWdlKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBDcmVhdGVXaWtpUGFnZVNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFxuICAgICAgICAgICAgXCJ3aWtpXCIsXG4gICAgICAgICAgICBcIkNyZWF0ZVdpa2lQYWdlXCIsXG4gICAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZVdpa2lQYWdlKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBVcGRhdGVXaWtpUGFnZVNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIlVwZGF0ZVdpa2lQYWdlXCIsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVXaWtpUGFnZShcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgRGVsZXRlV2lraVBhZ2VTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJEZWxldGVXaWtpUGFnZVwiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgTGlzdFdpa2lQYWdlcyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgTGlzdFdpa2lQYWdlc1NjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueVtdPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiTGlzdFdpa2lQYWdlc1wiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgUmVzdG9yZVdpa2lQYWdlKFxuICAgICAgICBwYXlsb2FkOiB6LmluZmVyPHR5cGVvZiBSZXN0b3JlV2lraVBhZ2VTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJSZXN0b3JlV2lraVBhZ2VcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIEdldFdpa2lQYWdlQnlJZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0V2lraVBhZ2VCeUlkU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiR2V0V2lraVBhZ2VCeUlkXCIsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRXaWtpUGFnZUJ5U2x1ZyhcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0V2lraVBhZ2VCeVNsdWdTY2hlbWE+XG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYWN0aW9uQ2FsbChcIndpa2lcIiwgXCJHZXRXaWtpUGFnZUJ5U2x1Z1wiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0V2lraVRyZWUoXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldFdpa2lUcmVlU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiR2V0V2lraVRyZWVcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICogV2lraSBSZXZpc2lvblxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4gICAgcHVibGljIGFzeW5jIENyZWF0ZVdpa2lSZXZpc2lvbihcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlV2lraVJldmlzaW9uU2NoZW1hPlxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFjdGlvbkNhbGwoXCJ3aWtpXCIsIFwiQ3JlYXRlV2lraVJldmlzaW9uXCIsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBHZXRMYXRlc3RXaWtpUmV2aXNpb24oXG4gICAgICAgIHBheWxvYWQ6IHouaW5mZXI8dHlwZW9mIEdldExhdGVzdFdpa2lSZXZpc2lvblNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkdldExhdGVzdFdpa2lSZXZpc2lvblwiLCBwYXlsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgR2V0V2lraVJldmlzaW9uQnlJZChcbiAgICAgICAgcGF5bG9hZDogei5pbmZlcjx0eXBlb2YgR2V0V2lraVJldmlzaW9uQnlJZFNjaGVtYT5cbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hY3Rpb25DYWxsKFwid2lraVwiLCBcIkdldFdpa2lSZXZpc2lvbkJ5SWRcIiwgcGF5bG9hZCk7XG4gICAgfVxuXG59XG4iXX0=
@@ -107,6 +107,14 @@ export type TAssistantDatasource = {
107
107
  name: string;
108
108
  config: any;
109
109
  };
110
+ export type TAssistantSkill = {
111
+ tenantId: string;
112
+ id: string;
113
+ type: string;
114
+ assistantId: string;
115
+ name: string;
116
+ config: any;
117
+ };
110
118
  export type TWorker = {
111
119
  id: string;
112
120
  emploidId: string;
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9lbXBsb2lkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB0eXBlIFRFbXBsb2lkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQgPSB7XG4gICAgZW1wbG9pZHM6IFRFbXBsb2lkW107XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICAgIGhhc01vcmU6IGJvb2xlYW47XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRTY29wZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUT2NjdXBhdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHRvcGljczogVERvbWFpblRvcGljW107XG59XG5cbmV4cG9ydCB0eXBlIFREb21haW5Ub3BpYyA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG4gICAgaW5zdHJ1Y3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgVEpvYkRlZmluaXRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbiAgICBzY29wZUlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBwcmlvcml0eTogc3RyaW5nO1xuICAgIHN0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUQ29tcGV0ZW5jeSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIHNjb3BlSWQ6IHN0cmluZztcbiAgICBqb2JEZWZpbml0aW9uSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVEFnZW50RmxvdyA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGZvbGRlcklkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBZ2VudEZsb3dGb2xkZXIgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBhZ2VudEZsb3dzOiBUQWdlbnRGbG93W107XG59XG5cbmV4cG9ydCB0eXBlIFRFeHRlbnNpb24gPSB7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIGV4dGVuc2lvbklkOiBzdHJpbmc7XG4gICAgY29uZmlnOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnQgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhbGlhczogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHByb21wdDogc3RyaW5nO1xuICAgIGNvbmZpZzoge1xuICAgICAgICBtb2RlOiBcInNpbXBsZVwiIHwgXCJhZHZhbmNlZFwiXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBUQXNzaXN0YW50SW5zdHJ1Y3Rpb24gPSB7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG4gICAgaW5zdHJ1Y3Rpb25zOiBhbnk7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBhc3Npc3RhbnQ6IFRBc3Npc3RhbnQ7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnRDb25zdHJhaW50ID0ge1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHByb21wdDogc3RyaW5nO1xuICAgIGNvbnN0cmFpbnRzOiBhbnk7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBhc3Npc3RhbnQ6IFRBc3Npc3RhbnQ7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnREYXRhc291cmNlID0ge1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY29uZmlnOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRXb3JrZXIgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbiAgICBlbXBsb2lkOiBURW1wbG9pZDtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVElucHV0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgY29tcGV0ZW5jeUlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUVGVhbSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDaGF0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgbGFzdENvbnRleHQ6IGFueTtcbn1cblxuXG5leHBvcnQgdHlwZSBURG9jdW1lbnQgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUU3RyZWFtSWQgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjaGF0SWQ6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFNraWxsID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZ3JhcGg6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVEluc3RydWN0aW9uID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRDb25zdHJhaW50ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRDb21tYW5kID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgdGFyZ2V0SWQ6IHN0cmluZztcbiAgICB0YXJnZXRUeXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRUYXNrVGVtcGxhdGUgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0YXNrOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICB0ZW5hbnRJZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUV2lraVBhZ2VTdGF0dXMgPVxuICAgIHwgXCJEUkFGVFwiXG4gICAgfCBcIlBVQkxJU0hFRFwiXG4gICAgfCBcIkFSQ0hJVkVEXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVFdpa2lQYWdlIHtcbiAgICAvLyBpZGVudGl0eVxuICAgIGlkOiBzdHJpbmc7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICB3b3Jrc3BhY2VJZDogc3RyaW5nO1xuXG4gICAgLy8gY29udGVudCBtZXRhXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzbHVnOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvLyB0cmVlXG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG5cbiAgICAvLyBzdGF0ZVxuICAgIHN0YXR1czogVFdpa2lQYWdlU3RhdHVzO1xuXG4gICAgLy8gYXVkaXRcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgICB1cGRhdGVkQXQ6IHN0cmluZztcbiAgICBkZWxldGVkQXQ/OiBzdHJpbmc7XG5cbiAgICAvLyByZWxhdGlvbnMgKG9wc2l5b25lbCwgZWFnZXIgbG9hZCBlZGlsaXJzZSBnZWxpcilcbiAgICBwYXJlbnQ/OiBUV2lraVBhZ2U7XG4gICAgY2hpbGRyZW4/OiBUV2lraVBhZ2VbXTtcblxuICAgIC8vIHJldmlzaW9ucyAobGlzdGUgdmV5YSBzYXnEsW0gacOnaW4pXG4gICAgcmV2aXNpb25zPzogVFdpa2lSZXZpc2lvbltdO1xuICAgIHJldmlzaW9uQ291bnQ/OiBudW1iZXI7XG5cbiAgICAvLyAtLS0tIGZyb250ZW5kLW9ubHkgLyBkZXJpdmVkIGZpZWxkcyAtLS0tXG5cbiAgICAvLyBha3RpZiBpw6dlcmlrIChsYXRlc3QgcmV2aXNpb27igJlkYW4gZ2VsaXIpXG4gICAgY29udGVudD86IGFueTtcblxuICAgIC8vIGxpc3RlIC8gYXJhbWEgacOnaW5cbiAgICBjb250ZW50VGV4dD86IHN0cmluZztcblxuICAgIC8vIHBlcm1pc3Npb24gY2FjaGUgKEFDTCBVSSBpw6dpbilcbiAgICBjYW5WaWV3PzogYm9vbGVhbjtcbiAgICBjYW5FZGl0PzogYm9vbGVhbjtcbiAgICBjYW5EZWxldGU/OiBib29sZWFuO1xuICAgIGNhbk1hbmFnZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVFdpa2lSZXZpc2lvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB3aWtpUGFnZUlkOiBzdHJpbmc7XG5cbiAgICBjb250ZW50OiBhbnk7XG5cbiAgICBjcmVhdGVkQnk6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuXG5leHBvcnQgdHlwZSBURGF0YU1vZGVsID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVENvbGxlY3Rpb24gPSB7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBkYXRhTW9kZWw6IFREYXRhTW9kZWw7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN0YXRzOiB7XG4gICAgICAgIHRvdGFsRmllbGRzOiBudW1iZXI7XG4gICAgICAgIGFjdGl2ZUZpZWxkczogbnVtYmVyO1xuICAgICAgICBkZWxldGVkRmllbGRzOiBudW1iZXI7XG4gICAgICAgIGRhdGE6IHN0cmluZztcbiAgICAgICAgc3RvcmFnZTogc3RyaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgVENvbGxlY3Rpb25GaWVsZCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbGxlY3Rpb25JZDogc3RyaW5nO1xuICAgIGRhdGFNb2RlbElkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbmZpZz86IGFueTtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBkZWxldGVkQXQ/OiBzdHJpbmc7XG4gICAgZGVsZXRlZEJ5Pzogc3RyaW5nO1xufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9lbXBsb2lkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB0eXBlIFRFbXBsb2lkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICAgIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUUGFnaW5hdGVkRW1wbG9pZHNSZXN1bHQgPSB7XG4gICAgZW1wbG9pZHM6IFRFbXBsb2lkW107XG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xuICAgIGhhc01vcmU6IGJvb2xlYW47XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFRTY29wZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUT2NjdXBhdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHRvcGljczogVERvbWFpblRvcGljW107XG59XG5cbmV4cG9ydCB0eXBlIFREb21haW5Ub3BpYyA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG4gICAgaW5zdHJ1Y3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgVEpvYkRlZmluaXRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbiAgICBzY29wZUlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBwcmlvcml0eTogc3RyaW5nO1xuICAgIHN0YXR1czogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUQ29tcGV0ZW5jeSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIHNjb3BlSWQ6IHN0cmluZztcbiAgICBqb2JEZWZpbml0aW9uSWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVEFnZW50RmxvdyA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGZvbGRlcklkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBZ2VudEZsb3dGb2xkZXIgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBhZ2VudEZsb3dzOiBUQWdlbnRGbG93W107XG59XG5cbmV4cG9ydCB0eXBlIFRFeHRlbnNpb24gPSB7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIGV4dGVuc2lvbklkOiBzdHJpbmc7XG4gICAgY29uZmlnOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnQgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhbGlhczogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHByb21wdDogc3RyaW5nO1xuICAgIGNvbmZpZzoge1xuICAgICAgICBtb2RlOiBcInNpbXBsZVwiIHwgXCJhZHZhbmNlZFwiXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBUQXNzaXN0YW50SW5zdHJ1Y3Rpb24gPSB7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJvbXB0OiBzdHJpbmc7XG4gICAgaW5zdHJ1Y3Rpb25zOiBhbnk7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBhc3Npc3RhbnQ6IFRBc3Npc3RhbnQ7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnRDb25zdHJhaW50ID0ge1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHByb21wdDogc3RyaW5nO1xuICAgIGNvbnN0cmFpbnRzOiBhbnk7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBhc3Npc3RhbnQ6IFRBc3Npc3RhbnQ7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnREYXRhc291cmNlID0ge1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY29uZmlnOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRBc3Npc3RhbnRTa2lsbCA9IHtcbiAgICB0ZW5hbnRJZDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudElkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbmZpZzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBUV29ya2VyID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZW1wbG9pZElkOiBzdHJpbmc7XG4gICAgZW1wbG9pZDogVEVtcGxvaWQ7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRJbnB1dCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIGNvbXBldGVuY3lJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFRlYW0gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhbGlhczogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUQ2hhdCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgdmlzaWJpbGl0eTogc3RyaW5nO1xuICAgIGxhc3RDb250ZXh0OiBhbnk7XG59XG5cblxuZXhwb3J0IHR5cGUgVERvY3VtZW50ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGtpbmQ6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFN0cmVhbUlkID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRTa2lsbCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGdyYXBoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRJbnN0cnVjdGlvbiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBUQ29uc3RyYWludCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGVtcGxvaWRJZDogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aXZlOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBUQ29tbWFuZCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHRhcmdldElkOiBzdHJpbmc7XG4gICAgdGFyZ2V0VHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUVGFza1RlbXBsYXRlID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGFzazogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgdGVuYW50SWQ6IHN0cmluZztcbiAgICBlbXBsb2lkSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVFdpa2lQYWdlU3RhdHVzID1cbiAgICB8IFwiRFJBRlRcIlxuICAgIHwgXCJQVUJMSVNIRURcIlxuICAgIHwgXCJBUkNISVZFRFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRXaWtpUGFnZSB7XG4gICAgLy8gaWRlbnRpdHlcbiAgICBpZDogc3RyaW5nO1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgd29ya3NwYWNlSWQ6IHN0cmluZztcblxuICAgIC8vIGNvbnRlbnQgbWV0YVxuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc2x1Zzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgLy8gdHJlZVxuICAgIHBhcmVudElkPzogc3RyaW5nO1xuXG4gICAgLy8gc3RhdGVcbiAgICBzdGF0dXM6IFRXaWtpUGFnZVN0YXR1cztcblxuICAgIC8vIGF1ZGl0XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gICAgZGVsZXRlZEF0Pzogc3RyaW5nO1xuXG4gICAgLy8gcmVsYXRpb25zIChvcHNpeW9uZWwsIGVhZ2VyIGxvYWQgZWRpbGlyc2UgZ2VsaXIpXG4gICAgcGFyZW50PzogVFdpa2lQYWdlO1xuICAgIGNoaWxkcmVuPzogVFdpa2lQYWdlW107XG5cbiAgICAvLyByZXZpc2lvbnMgKGxpc3RlIHZleWEgc2F5xLFtIGnDp2luKVxuICAgIHJldmlzaW9ucz86IFRXaWtpUmV2aXNpb25bXTtcbiAgICByZXZpc2lvbkNvdW50PzogbnVtYmVyO1xuXG4gICAgLy8gLS0tLSBmcm9udGVuZC1vbmx5IC8gZGVyaXZlZCBmaWVsZHMgLS0tLVxuXG4gICAgLy8gYWt0aWYgacOnZXJpayAobGF0ZXN0IHJldmlzaW9u4oCZZGFuIGdlbGlyKVxuICAgIGNvbnRlbnQ/OiBhbnk7XG5cbiAgICAvLyBsaXN0ZSAvIGFyYW1hIGnDp2luXG4gICAgY29udGVudFRleHQ/OiBzdHJpbmc7XG5cbiAgICAvLyBwZXJtaXNzaW9uIGNhY2hlIChBQ0wgVUkgacOnaW4pXG4gICAgY2FuVmlldz86IGJvb2xlYW47XG4gICAgY2FuRWRpdD86IGJvb2xlYW47XG4gICAgY2FuRGVsZXRlPzogYm9vbGVhbjtcbiAgICBjYW5NYW5hZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRXaWtpUmV2aXNpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgd2lraVBhZ2VJZDogc3RyaW5nO1xuXG4gICAgY29udGVudDogYW55O1xuXG4gICAgY3JlYXRlZEJ5OiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IHR5cGUgVERhdGFNb2RlbCA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRDb2xsZWN0aW9uID0ge1xuICAgIHRlbmFudElkOiBzdHJpbmc7XG4gICAgZGF0YU1vZGVsOiBURGF0YU1vZGVsO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzdGF0czoge1xuICAgICAgICB0b3RhbEZpZWxkczogbnVtYmVyO1xuICAgICAgICBhY3RpdmVGaWVsZHM6IG51bWJlcjtcbiAgICAgICAgZGVsZXRlZEZpZWxkczogbnVtYmVyO1xuICAgICAgICBkYXRhOiBzdHJpbmc7XG4gICAgICAgIHN0b3JhZ2U6IHN0cmluZztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFRDb2xsZWN0aW9uRmllbGQgPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb2xsZWN0aW9uSWQ6IHN0cmluZztcbiAgICBkYXRhTW9kZWxJZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb25maWc/OiBhbnk7XG4gICAgb3JkZXI/OiBudW1iZXI7XG4gICAgZGVsZXRlZEF0Pzogc3RyaW5nO1xuICAgIGRlbGV0ZWRCeT86IHN0cmluZztcbn0iXX0=
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@appconda/sdk",
3
3
  "homepage": "https://appconda.io/support",
4
4
  "description": "Appconda is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
5
- "version": "1.0.516",
5
+ "version": "1.0.517",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -311,6 +311,34 @@ export const DeleteAssistantDatasourceSchema = z.object({
311
311
  id: z.string()
312
312
  });
313
313
 
314
+ export const CreateAssistantSkillSchema = z.object({
315
+ tenantId: z.string(),
316
+ assistantId: z.string(),
317
+ name: z.string(),
318
+ config: z.object({
319
+
320
+ }).optional()
321
+ });
322
+
323
+
324
+
325
+ export const ListAssistantSkillsSchema = z.object({
326
+ tenantId: z.string(),
327
+ assistantId: z.string().optional(),
328
+ });
329
+
330
+ export const UpdateAssistantSkillSchema = z.object({
331
+ id: z.string(),
332
+ name: z.string().optional(),
333
+ config: z.object({
334
+
335
+ }).optional()
336
+ });
337
+
338
+ export const DeleteAssistantSkillSchema = z.object({
339
+ id: z.string()
340
+ });
341
+
314
342
  export const CreateWorkerSchema = z.object({
315
343
  tenantId: z.string(),
316
344
  emploidId: z.string(),
@@ -3,8 +3,8 @@ import z from "zod";
3
3
  import { ServiceClient } from "../../service-client";
4
4
 
5
5
 
6
- import { AggregateRecordsSchema, BulkCreateRecordsSchema, BulkDeleteRecordsSchema, BulkUpdateRecordsSchema, ChangeAgentflowProjectSchema, CheckRecordPermissionSchema, CountRecordsSchema, CreateAgentFlowFolderSchema, CreateAgentFlowSchema, CreateAssistantConstraintSchema, CreateAssistantDatasourceSchema, CreateAssistantInstructionSchema, CreateAssistantSchema, CreateCollectionFieldSchema, CreateCollectionSchema, CreateCommandSchema, CreateCompetencySchema, CreateConstraintSchema, CreateDataModelSchema, CreateDomainTopicSchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateRecordSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTaskTemplateSchema, CreateTeamSchema, CreateWikiPageSchema, CreateWikiRevisionSchema, CreateWorkerSchema, DeleteAgentFlowFolderSchema, DeleteAssistantDatasourceSchema, DeleteAssistantSchema, DeleteChatByIdSchema, DeleteCollectionFieldSchema, DeleteCommandSchema, DeleteCompetencySchema, DeleteConstraintSchema, DeleteDataModelSchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteDomainTopicSchema, DeleteEmploidSchema, DeleteExtensionSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteRecordSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTaskTemplateSchema, DeleteTeamSchema, DeleteWikiPageSchema, DeleteWorkerSchema, DistinctFieldValuesSchema, DuplicateRecordSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetCollectionSchemaSchema, GetDataModelByIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetLatestWikiRevisionSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetRecordByIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, GetWikiPageByIdSchema, GetWikiPageBySlugSchema, GetWikiRevisionByIdSchema, GetWikiTreeSchema, GrantRecordPermissionSchema, GroupRecordsSchema, HardDeleteDataModelSchema, ListAgentFlowFoldersSchema, ListAgentFlowsSchema, ListAssistantConstraintsSchema, ListAssistantDatasourcesSchema, ListAssistantInstructionsSchema, ListAssistantsSchema, ListCollectionsSchema, ListCommandsSchema, ListCompetenciesSchema, ListConstraintsSchema, ListDataModelsSchema, ListDomainTopicsSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListRecordPermissionsSchema, ListRecordsSchema, ListScopesSchema, ListSkillsSchema, ListTaskTemplatesSchema, ListTeamsSchema, ListWikiPagesSchema, ListWorkersSchema, PreviewValidationErrorsSchema, QueryRecordsSchema, ReorderCollectionFieldsSchema, RestoreDataModelSchema, RestoreRecordSchema, RestoreWikiPageSchema, RevokeRecordPermissionSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, SearchRecordsSchema, UpdateAgentFlowFolderSchema, UpdateAgentFlowSchema, UpdateAssistantDatasourceSchema, UpdateAssistantSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCollectionFieldSchema, UpdateCommandSchema, UpdateCompetencySchema, UpdateConstraintSchema, UpdateDataModelSchema, UpdateDomainTopicSchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateRecordSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTaskTemplateSchema, UpdateTeamSchema, UpdateWikiPageSchema, UpdateWorkerSchema, UpsertRecordSchema, ValidateRecordSchema, VoteMessageSchema } from "./schema";
7
- import { TAgentFlow, TAgentFlowFolder, TAssistant, TAssistantConstraint, TAssistantDatasource, TAssistantInstruction, TChat, TCommand, TCompetency, TConstraint, TDocument, TDomainTopic, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTaskTemplate, TTeam, TWorker } from "./types";
6
+ import { AggregateRecordsSchema, BulkCreateRecordsSchema, BulkDeleteRecordsSchema, BulkUpdateRecordsSchema, ChangeAgentflowProjectSchema, CheckRecordPermissionSchema, CountRecordsSchema, CreateAgentFlowFolderSchema, CreateAgentFlowSchema, CreateAssistantConstraintSchema, CreateAssistantDatasourceSchema, CreateAssistantInstructionSchema, CreateAssistantSchema, CreateAssistantSkillSchema, CreateCollectionFieldSchema, CreateCollectionSchema, CreateCommandSchema, CreateCompetencySchema, CreateConstraintSchema, CreateDataModelSchema, CreateDomainTopicSchema, CreateEmploidSchema, CreateExtensionSchema, CreateInputSchema, CreateInstructionSchema, CreateJobDefinitionSchema, CreateOccupationSchema, CreateRecordSchema, CreateScopeSchema, CreateSkillSchema, CreateStreamIdSchema, CreateTaskTemplateSchema, CreateTeamSchema, CreateWikiPageSchema, CreateWikiRevisionSchema, CreateWorkerSchema, DeleteAgentFlowFolderSchema, DeleteAssistantDatasourceSchema, DeleteAssistantSchema, DeleteAssistantSkillSchema, DeleteChatByIdSchema, DeleteCollectionFieldSchema, DeleteCommandSchema, DeleteCompetencySchema, DeleteConstraintSchema, DeleteDataModelSchema, DeleteDocumentsByIdAfterTimestampSchema, DeleteDomainTopicSchema, DeleteEmploidSchema, DeleteExtensionSchema, DeleteInputSchema, DeleteInstructionSchema, DeleteJobDefinitionSchema, DeleteMessagesByChatIdAfterTimestampSchema, DeleteOccupationSchema, DeleteRecordSchema, DeleteScopeSchema, DeleteSkillSchema, DeleteTaskTemplateSchema, DeleteTeamSchema, DeleteWikiPageSchema, DeleteWorkerSchema, DistinctFieldValuesSchema, DuplicateRecordSchema, GetChatByIdSchema, GetChatsByUserIdSchema, GetCollectionSchemaSchema, GetDataModelByIdSchema, GetDocumentByIdSchema, GetDocumentsByIdSchema, GetLatestWikiRevisionSchema, GetMessageByIdSchema, GetMessageCountByUserIdSchema, GetMessagesByChatIdSchema, GetRecordByIdSchema, GetStreamIdsByChatIdSchema, GetSuggestionsByDocumentIdSchema, GetVotesByChatIdSchema, GetWikiPageByIdSchema, GetWikiPageBySlugSchema, GetWikiRevisionByIdSchema, GetWikiTreeSchema, GrantRecordPermissionSchema, GroupRecordsSchema, HardDeleteDataModelSchema, ListAgentFlowFoldersSchema, ListAgentFlowsSchema, ListAssistantConstraintsSchema, ListAssistantDatasourcesSchema, ListAssistantInstructionsSchema, ListAssistantSkillsSchema, ListAssistantsSchema, ListCollectionsSchema, ListCommandsSchema, ListCompetenciesSchema, ListConstraintsSchema, ListDataModelsSchema, ListDomainTopicsSchema, ListEmploidsPaginatedSchema, ListEmploidsSchema, ListExtensionsSchema, ListInputSchema, ListInstructionsSchema, ListJobDefinitionSchema, ListOccupationsSchema, ListRecordPermissionsSchema, ListRecordsSchema, ListScopesSchema, ListSkillsSchema, ListTaskTemplatesSchema, ListTeamsSchema, ListWikiPagesSchema, ListWorkersSchema, PreviewValidationErrorsSchema, QueryRecordsSchema, ReorderCollectionFieldsSchema, RestoreDataModelSchema, RestoreRecordSchema, RestoreWikiPageSchema, RevokeRecordPermissionSchema, SaveChatSchema, SaveDocumentSchema, SaveMessagesSchema, SaveSuggestionsSchema, SearchRecordsSchema, UpdateAgentFlowFolderSchema, UpdateAgentFlowSchema, UpdateAssistantDatasourceSchema, UpdateAssistantSchema, UpdateAssistantSkillSchema, UpdateChatLastContextByIdSchema, UpdateChatVisiblityByIdSchema, UpdateCollectionFieldSchema, UpdateCommandSchema, UpdateCompetencySchema, UpdateConstraintSchema, UpdateDataModelSchema, UpdateDomainTopicSchema, UpdateEmploidSchema, UpdateInputSchema, UpdateInstructionSchema, UpdateJobDefinitionSchema, UpdateOccupationSchema, UpdateRecordSchema, UpdateScopeSchema, UpdateSkillSchema, UpdateTaskTemplateSchema, UpdateTeamSchema, UpdateWikiPageSchema, UpdateWorkerSchema, UpsertRecordSchema, ValidateRecordSchema, VoteMessageSchema } from "./schema";
7
+ import { TAgentFlow, TAgentFlowFolder, TAssistant, TAssistantConstraint, TAssistantDatasource, TAssistantInstruction, TAssistantSkill, TChat, TCommand, TCompetency, TConstraint, TDocument, TDomainTopic, TEmploid, TExtension, TInput, TInstruction, TJobDefinition, TOccupation, TPaginatedEmploidsResult, TScope, TSkill, TStreamId, TTaskTemplate, TTeam, TWorker } from "./types";
8
8
 
9
9
  export class EmploidService extends ServiceClient {
10
10
  protected getServiceName(): string {
@@ -253,6 +253,22 @@ export class EmploidService extends ServiceClient {
253
253
  return await this.actionCall('assistant', 'ListAssistantDatasources', payload);
254
254
  }
255
255
 
256
+ public async CreateAssistantSkill(payload: z.infer<typeof CreateAssistantSkillSchema>): Promise<TAssistantSkill> {
257
+ return await this.actionCall('assistant', 'CreateAssistantSkill', payload);
258
+ }
259
+
260
+ public async UpdateAssistantSkill(payload: z.infer<typeof UpdateAssistantSkillSchema>): Promise<TAssistantSkill> {
261
+ return await this.actionCall('assistant', 'UpdateAssistantSkill', payload);
262
+ }
263
+
264
+ public async DeleteAssistantSkill(payload: z.infer<typeof DeleteAssistantSkillSchema>): Promise<TAssistantSkill> {
265
+ return await this.actionCall('assistant', 'DeleteAssistantSkill', payload);
266
+ }
267
+
268
+ public async ListAssistantSkills(payload: z.infer<typeof ListAssistantSkillsSchema>): Promise<TAssistantSkill[]> {
269
+ return await this.actionCall('assistant', 'ListAssistantSkills', payload);
270
+ }
271
+
256
272
  //---------------------------------------
257
273
 
258
274
  public async CreateWorker(payload: z.infer<typeof CreateWorkerSchema>): Promise<TWorker> {
@@ -122,6 +122,15 @@ export type TAssistantDatasource = {
122
122
  config: any;
123
123
  }
124
124
 
125
+ export type TAssistantSkill = {
126
+ tenantId: string;
127
+ id: string;
128
+ type: string;
129
+ assistantId: string;
130
+ name: string;
131
+ config: any;
132
+ }
133
+
125
134
  export type TWorker = {
126
135
  id: string;
127
136
  emploidId: string;