@sidekick-coder/zenith-kit 0.4.0 → 0.4.2

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.
@@ -389,33 +389,33 @@ declare namespace dashboardMetaSchema {
389
389
  readonly dashboard_id: v.NumberSchema<undefined>;
390
390
  readonly name: v.StringSchema<undefined>;
391
391
  readonly value: v.NullableSchema<v.StringSchema<undefined>, undefined>;
392
- }, "value" | "dashboard_id" | "name">;
392
+ }, "value" | "name" | "dashboard_id">;
393
393
  readonly "~standard": v.StandardProps<{
394
394
  value: string;
395
- dashboard_id: number;
396
395
  name: string;
396
+ dashboard_id: number;
397
397
  }, {
398
398
  value: string;
399
- dashboard_id: number;
400
399
  name: string;
400
+ dashboard_id: number;
401
401
  }>;
402
402
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
403
403
  value: string;
404
- dashboard_id: number;
405
404
  name: string;
406
- }, v.ObjectIssue | v.NumberIssue | v.StringIssue>;
405
+ dashboard_id: number;
406
+ }, v.NumberIssue | v.StringIssue | v.ObjectIssue>;
407
407
  readonly "~types"?: {
408
408
  readonly input: {
409
409
  value: string;
410
- dashboard_id: number;
411
410
  name: string;
411
+ dashboard_id: number;
412
412
  };
413
413
  readonly output: {
414
414
  value: string;
415
- dashboard_id: number;
416
415
  name: string;
416
+ dashboard_id: number;
417
417
  };
418
- readonly issue: v.ObjectIssue | v.NumberIssue | v.StringIssue;
418
+ readonly issue: v.NumberIssue | v.StringIssue | v.ObjectIssue;
419
419
  };
420
420
  };
421
421
  var update: Omit<Omit<v.ObjectSchema<{
@@ -429,66 +429,66 @@ declare namespace dashboardMetaSchema {
429
429
  readonly dashboard_id: v.NumberSchema<undefined>;
430
430
  readonly name: v.StringSchema<undefined>;
431
431
  readonly value: v.NullableSchema<v.StringSchema<undefined>, undefined>;
432
- }, "value" | "dashboard_id" | "name">;
432
+ }, "value" | "name" | "dashboard_id">;
433
433
  readonly "~standard": v.StandardProps<{
434
434
  value: string;
435
- dashboard_id: number;
436
435
  name: string;
436
+ dashboard_id: number;
437
437
  }, {
438
438
  value: string;
439
- dashboard_id: number;
440
439
  name: string;
440
+ dashboard_id: number;
441
441
  }>;
442
442
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
443
443
  value: string;
444
- dashboard_id: number;
445
444
  name: string;
446
- }, v.ObjectIssue | v.NumberIssue | v.StringIssue>;
445
+ dashboard_id: number;
446
+ }, v.NumberIssue | v.StringIssue | v.ObjectIssue>;
447
447
  readonly "~types"?: {
448
448
  readonly input: {
449
449
  value: string;
450
- dashboard_id: number;
451
450
  name: string;
451
+ dashboard_id: number;
452
452
  };
453
453
  readonly output: {
454
454
  value: string;
455
- dashboard_id: number;
456
455
  name: string;
456
+ dashboard_id: number;
457
457
  };
458
- readonly issue: v.ObjectIssue | v.NumberIssue | v.StringIssue;
458
+ readonly issue: v.NumberIssue | v.StringIssue | v.ObjectIssue;
459
459
  };
460
460
  }, "~types" | "~run" | "~standard" | "entries"> & {
461
461
  readonly entries: {
462
462
  readonly value: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
463
- readonly dashboard_id: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
464
463
  readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
464
+ readonly dashboard_id: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
465
465
  };
466
466
  readonly "~standard": v.StandardProps<{
467
467
  value?: string;
468
- dashboard_id?: number;
469
468
  name?: string;
469
+ dashboard_id?: number;
470
470
  }, {
471
471
  value?: string;
472
- dashboard_id?: number;
473
472
  name?: string;
473
+ dashboard_id?: number;
474
474
  }>;
475
475
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
476
476
  value?: string;
477
- dashboard_id?: number;
478
477
  name?: string;
479
- }, v.ObjectIssue | v.NumberIssue | v.StringIssue>;
478
+ dashboard_id?: number;
479
+ }, v.NumberIssue | v.StringIssue | v.ObjectIssue>;
480
480
  readonly "~types"?: {
481
481
  readonly input: {
482
482
  value?: string;
483
- dashboard_id?: number;
484
483
  name?: string;
484
+ dashboard_id?: number;
485
485
  };
486
486
  readonly output: {
487
487
  value?: string;
488
- dashboard_id?: number;
489
488
  name?: string;
489
+ dashboard_id?: number;
490
490
  };
491
- readonly issue: v.ObjectIssue | v.NumberIssue | v.StringIssue;
491
+ readonly issue: v.NumberIssue | v.StringIssue | v.ObjectIssue;
492
492
  };
493
493
  };
494
494
  }
@@ -533,7 +533,7 @@ declare namespace dashboardSchema {
533
533
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
534
534
  name: string;
535
535
  description: string;
536
- }, v.ObjectIssue | v.StringIssue>;
536
+ }, v.StringIssue | v.ObjectIssue>;
537
537
  readonly "~types"?: {
538
538
  readonly input: {
539
539
  name: string;
@@ -543,7 +543,7 @@ declare namespace dashboardSchema {
543
543
  name: string;
544
544
  description: string;
545
545
  };
546
- readonly issue: v.ObjectIssue | v.StringIssue;
546
+ readonly issue: v.StringIssue | v.ObjectIssue;
547
547
  };
548
548
  };
549
549
  var update: Omit<Omit<v.ObjectSchema<{
@@ -574,7 +574,7 @@ declare namespace dashboardSchema {
574
574
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
575
575
  name: string;
576
576
  description: string;
577
- }, v.ObjectIssue | v.StringIssue>;
577
+ }, v.StringIssue | v.ObjectIssue>;
578
578
  readonly "~types"?: {
579
579
  readonly input: {
580
580
  name: string;
@@ -584,7 +584,7 @@ declare namespace dashboardSchema {
584
584
  name: string;
585
585
  description: string;
586
586
  };
587
- readonly issue: v.ObjectIssue | v.StringIssue;
587
+ readonly issue: v.StringIssue | v.ObjectIssue;
588
588
  };
589
589
  }, "~types" | "~run" | "~standard" | "entries"> & {
590
590
  readonly entries: {
@@ -601,7 +601,7 @@ declare namespace dashboardSchema {
601
601
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
602
602
  name?: string;
603
603
  description?: string;
604
- }, v.ObjectIssue | v.StringIssue>;
604
+ }, v.StringIssue | v.ObjectIssue>;
605
605
  readonly "~types"?: {
606
606
  readonly input: {
607
607
  name?: string;
@@ -611,7 +611,7 @@ declare namespace dashboardSchema {
611
611
  name?: string;
612
612
  description?: string;
613
613
  };
614
- readonly issue: v.ObjectIssue | v.StringIssue;
614
+ readonly issue: v.StringIssue | v.ObjectIssue;
615
615
  };
616
616
  };
617
617
  }
@@ -688,38 +688,38 @@ declare namespace userSchema {
688
688
  readonly created_at: v.StringSchema<undefined>;
689
689
  readonly updated_at: v.StringSchema<undefined>;
690
690
  readonly deleted_at: v.NullableSchema<v.StringSchema<undefined>, undefined>;
691
- }, "id" | "deleted_at" | "created_at" | "updated_at" | "verified_at">;
691
+ }, "id" | "created_at" | "updated_at" | "verified_at" | "deleted_at">;
692
692
  readonly "~standard": v.StandardProps<{
693
+ password: string;
693
694
  name?: string;
694
695
  email: string;
695
- password: string;
696
696
  username: string;
697
697
  }, {
698
+ password: string;
698
699
  name?: string;
699
700
  email: string;
700
- password: string;
701
701
  username: string;
702
702
  }>;
703
703
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
704
+ password: string;
704
705
  name?: string;
705
706
  email: string;
706
- password: string;
707
707
  username: string;
708
- }, v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>>;
708
+ }, v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue>;
709
709
  readonly "~types"?: {
710
710
  readonly input: {
711
+ password: string;
711
712
  name?: string;
712
713
  email: string;
713
- password: string;
714
714
  username: string;
715
715
  };
716
716
  readonly output: {
717
+ password: string;
717
718
  name?: string;
718
719
  email: string;
719
- password: string;
720
720
  username: string;
721
721
  };
722
- readonly issue: v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>;
722
+ readonly issue: v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue;
723
723
  };
724
724
  };
725
725
  var update: () => Omit<Omit<v.ObjectSchema<{
@@ -743,77 +743,77 @@ declare namespace userSchema {
743
743
  readonly created_at: v.StringSchema<undefined>;
744
744
  readonly updated_at: v.StringSchema<undefined>;
745
745
  readonly deleted_at: v.NullableSchema<v.StringSchema<undefined>, undefined>;
746
- }, "id" | "deleted_at" | "created_at" | "updated_at" | "verified_at">;
746
+ }, "id" | "created_at" | "updated_at" | "verified_at" | "deleted_at">;
747
747
  readonly "~standard": v.StandardProps<{
748
+ password: string;
748
749
  name?: string;
749
750
  email: string;
750
- password: string;
751
751
  username: string;
752
752
  }, {
753
+ password: string;
753
754
  name?: string;
754
755
  email: string;
755
- password: string;
756
756
  username: string;
757
757
  }>;
758
758
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
759
+ password: string;
759
760
  name?: string;
760
761
  email: string;
761
- password: string;
762
762
  username: string;
763
- }, v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>>;
763
+ }, v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue>;
764
764
  readonly "~types"?: {
765
765
  readonly input: {
766
+ password: string;
766
767
  name?: string;
767
768
  email: string;
768
- password: string;
769
769
  username: string;
770
770
  };
771
771
  readonly output: {
772
+ password: string;
772
773
  name?: string;
773
774
  email: string;
774
- password: string;
775
775
  username: string;
776
776
  };
777
- readonly issue: v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>;
777
+ readonly issue: v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue;
778
778
  };
779
779
  }, "~types" | "~run" | "~standard" | "entries"> & {
780
780
  readonly entries: {
781
+ readonly password: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 6, undefined>]>, undefined>;
781
782
  readonly name: v.OptionalSchema<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
782
783
  readonly email: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>]>, undefined>;
783
- readonly password: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 6, undefined>]>, undefined>;
784
784
  readonly username: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, undefined>;
785
785
  };
786
786
  readonly "~standard": v.StandardProps<{
787
+ password?: string;
787
788
  name?: string;
788
789
  email?: string;
789
- password?: string;
790
790
  username?: string;
791
791
  }, {
792
+ password?: string;
792
793
  name?: string;
793
794
  email?: string;
794
- password?: string;
795
795
  username?: string;
796
796
  }>;
797
797
  readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
798
+ password?: string;
798
799
  name?: string;
799
800
  email?: string;
800
- password?: string;
801
801
  username?: string;
802
- }, v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>>;
802
+ }, v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue>;
803
803
  readonly "~types"?: {
804
804
  readonly input: {
805
+ password?: string;
805
806
  name?: string;
806
807
  email?: string;
807
- password?: string;
808
808
  username?: string;
809
809
  };
810
810
  readonly output: {
811
+ password?: string;
811
812
  name?: string;
812
813
  email?: string;
813
- password?: string;
814
814
  username?: string;
815
815
  };
816
- readonly issue: v.ObjectIssue | v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string>;
816
+ readonly issue: v.StringIssue | v.EmailIssue<string> | v.MinLengthIssue<string, 6> | v.RegexIssue<string> | v.ObjectIssue;
817
817
  };
818
818
  };
819
819
  }
@@ -1324,4 +1324,4 @@ declare class UserEntity extends UserEntity_base {
1324
1324
  }
1325
1325
  //#endregion
1326
1326
  export { AclEntity, AnyClass, BaseEntity as BaseEntityMixin, BaseException, ConfigService, Constructor, ContainerService, CookieMapEntity, CookieMapEntityOptions, DashboardMetaSchema, DashboardSchema, DriveConfig as DriveConfigEntity, DriveEntry as DriveEntryEntity, EmmitterListener, EmmitterListenerOptions, EmmitterService, EmmitterServiceOptions, FileEntity, FileMeta as FileMetaEntity, UploadSession as FileUploadSessionEntity, GitBranchEntity, GitCommitEntity, HeaderMapEntity, HeaderMapEntityOptions, Hooks as HooksMixin, HooksStatic, LifecycleHook, LifecycleService, LifecycleServiceOptions, Listener, LoggerService, Mixin, Module as ModuleEntity, ModuleManifestBuild, ModuleManifestBuildImport, ModuleManifest as ModuleManifestEntity, PaginationEntity, PartialBy, Permission, PermissionAssignment, PermissionEntity, PluginEntity, PublicData, Role as RoleEntity, ShellException, SoftDeleteMixin, TYPES, TimestampMixin, Token, TranslatorService, UnionToIntersection, UploadService, UserEntity, Valibot, ValibotObjectSchema, ValibotSchema, ValibotSchemaAsync, ValidatePayload, ValidateResult, ValidatorCallback, ValidatorCallbackAsync, ValidatorResult, ValidatorService, compose, composeWith, createBaseEntity, createId, dashboardMetaSchema, dashboardSchema, emitHook, flatten, formatBytes, matchPath, mixin, onHook, parseUrlParams, parseUrlQuery, permissionAssignmentSchema, permissionSchema, safeJsonParse, safeJsonStringify, tokenSchema, tryCatch, unflatten, userSchema, validator };
1327
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5tdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9Db25maWdTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0NvbnRhaW5lclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9FbW1pdHRlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC91dGlscy90eXBpbmcuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvY29tcG9zZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9MaWZlY3ljbGVTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL1RyYW5zbGF0b3JTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL1VwbG9hZFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy91cmxWYWxpZGF0b3IuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy9rZXlWYWx1ZVZhbGlkYXRvci5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC92YWxpZGF0b3JzL3BhZ2luYXRpb25WYWxpZGF0b3IuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy9pbmRleC5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9WYWxpZGF0b3JTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2NyZWF0ZUlkLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2ZsYXR0ZW4uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvZm9ybWF0Qnl0ZXMuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvdHJ5Q2F0Y2guZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvbWF0Y2hQYXRocy5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC91dGlscy9wYXJzZVJvdXRlVXJsLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL3NhZmVKc29uLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvZGFzaGJvYXJkTWV0YVNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL2Rhc2hib2FyZFNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25Bc3NpZ25tZW50U2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvblNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Rva2VuU2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvdXNlclNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9leGNlcHRpb25zL0Jhc2VFeGNlcHRpb24uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZXhjZXB0aW9ucy9TaGVsbEV4Y2VwdGlvbi5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9mYWNhZGVzL3ZhbGlkYXRvci5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9taXhpbnMvQmFzZUVudGl0eU1peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Ib29rc01peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Tb2Z0RGVsZXRlTWl4aW4uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvbWl4aW5zL1RpbWVzdGFtcE1peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1Blcm1pc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvQWNsRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0ZpbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZU1ldGFFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZVVwbG9hZFNlc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvR2l0QnJhbmNoRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0dpdENvbW1pdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9IZWFkZXJNYXBFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTW9kdWxlTWFuaWZlc3RFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTW9kdWxlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1BhZ2luYXRpb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUGx1Z2luRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1JvbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvVXNlckVudGl0eS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBFbnRyeSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBzb3VyY2U6IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ1NlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBlbnRyaWVzOiBNYXA8c3RyaW5nLCBFbnRyeT47XG4gICAgY29uc3RydWN0b3IoKTtcbiAgICBsaXN0KCk6IEVudHJ5W107XG4gICAgcGFyc2VWYWx1ZSh2YWx1ZTogYW55KTogYW55O1xuICAgIGxvYWRGcm9tUmVjb3JkKHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55Piwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICBsb2FkRnJvbUVudHJpZXMoZW50cmllczogW3N0cmluZywgYW55XVtdLCBzb3VyY2U/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbjtcbiAgICBnZXQ8VCA9IGFueSB8IHVuZGVmaW5lZD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSk6IFQ7XG4gICAgZ2V0T25lPFQgPSBhbnkgfCB1bmRlZmluZWQ+KGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBUO1xuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICB1bnNldChrZXk6IHN0cmluZyk6IHZvaWQ7XG4gICAgY2xlYXIoKTogdm9pZDtcbiAgICBkdW1wKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5leHBvcnQge307XG4iLCJ0eXBlIENvbnN0cnVjdG9yPFQgPSBvYmplY3Q+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbnR5cGUgRW50cnlLZXkgPSBzdHJpbmcgfCBzeW1ib2wgfCBDb25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRhaW5lclNlcnZpY2Uge1xuICAgIHByaXZhdGUgZW50cmllcztcbiAgICBsb2FkRnJvbVJlY29yZChyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcHJpdmF0ZSBnZXRLZXk7XG4gICAgc2V0KHBheWxvYWQ6IEVudHJ5S2V5LCB2YWx1ZTogYW55KTogdGhpcztcbiAgICBoYXMocGF5bG9hZDogRW50cnlLZXkpOiBib29sZWFuO1xuICAgIGdldDxUPihwYXlsb2FkOiBFbnRyeUtleSk6IFQ7XG4gICAgdW5zZXQocGF5bG9hZDogRW50cnlLZXkpOiB2b2lkO1xuICAgIHNpbmdsZXRvbjxUPihjbGFzc0NvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcjxUPik6IFQ7XG4gICAgbG9hZChlbnRyaWVzOiBSZWNvcmQ8YW55LCBhbnk+KTogdm9pZDtcbiAgICBwcm94eTxUID0gdW5rbm93bj4oa2V5OiBFbnRyeUtleSk6IFQ7XG4gICAga2V5cygpOiBFbnRyeUtleVtdO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGluZm8obWVzc2FnZTogc3RyaW5nLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIG1ldGE/OiBhbnkpOiB2b2lkO1xuICAgIHdhcm4obWVzc2FnZTogc3RyaW5nLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcgfCBFcnJvciwgbWV0YT86IGFueSk6IHZvaWQ7XG4gICAgY2hpbGQob3B0aW9uczogYW55KTogTG9nZ2VyU2VydmljZTtcbn1cbiIsImltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJy4vTG9nZ2VyU2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEVtbWl0dGVyTGlzdGVuZXJPcHRpb25zIHtcbiAgICBldmVudDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBFbW1pdHRlckxpc3RlbmVyIHtcbiAgICAoZGF0YTogYW55LCBvcHRpb25zOiBFbW1pdHRlckxpc3RlbmVyT3B0aW9ucyk6IHZvaWQ7XG59XG5pbnRlcmZhY2UgRW1taXR0ZXJIYW5kbGVyIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgbGlzdGVuZXI6IEVtbWl0dGVyTGlzdGVuZXI7XG4gICAgb3JpZ2luYWxMaXN0ZW5lcj86IEVtbWl0dGVyTGlzdGVuZXI7XG59XG5pbnRlcmZhY2UgT25PcHRpb25zIHtcbiAgICBpZD86IHN0cmluZztcbiAgICB1bmlxdWU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE9uRGVib3VuY2VPcHRpb25zIGV4dGVuZHMgT25PcHRpb25zIHtcbiAgICBkZWJvdW5jZT86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRW1taXR0ZXJTZXJ2aWNlT3B0aW9ucyB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbW1pdHRlclNlcnZpY2U8RXZlbnRzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgaGFuZGxlcnM6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogRW1taXR0ZXJTZXJ2aWNlT3B0aW9ucyk7XG4gICAgc3RhdGljIGNyZWF0ZTxFdmVudHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucz86IEVtbWl0dGVyU2VydmljZU9wdGlvbnMpOiBFbW1pdHRlclNlcnZpY2U8RXZlbnRzPjtcbiAgICBzZXREZWJ1ZyhkZWJ1ZzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHZvaWQ7XG4gICAgb248SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uY2U8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uY2UoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6IChhcmdzOiBhbnkpID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25EZWJvdW5jZTxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbkRlYm91bmNlT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbkRlYm91bmNlKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25EZWJvdW5jZU9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25BbnlPZjxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudHM6IEtbXSwgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICBvbkFueU9mKGV2ZW50czogc3RyaW5nW10sIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgb2ZmKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiBFbW1pdHRlckhhbmRsZXJbJ2xpc3RlbmVyJ10pOiB2b2lkO1xuICAgIGVtaXQ8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGFyZ3M6IEV2ZW50c1tLXSk6IHZvaWQ7XG4gICAgZW1pdChldmVudDogc3RyaW5nLCBhcmdzPzogYW55KTogdm9pZDtcbiAgICBlbWl0QW5kV2FpdDxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgYXJnczogRXZlbnRzW0tdKTogUHJvbWlzZTx2b2lkPjtcbiAgICBlbWl0QW5kV2FpdChldmVudDogc3RyaW5nLCBhcmdzPzogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgICBsaXN0KCk6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIGxpc3RCeUV2ZW50KGV2ZW50OiBzdHJpbmcpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICByZW1vdmUocGF5bG9hZDogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkO1xuICAgIGNsZWFyKCk6IHZvaWQ7XG4gICAgaGFzSGFuZGxlcnMoKTogYm9vbGVhbjtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIExpZmVjeWNsZUhvb2sge1xuICAgIGhvb2tfaWQ6IHN0cmluZztcbiAgICBob29rX2FsaWFzZXM/OiBzdHJpbmdbXTtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBzdWJob29rcz86IExpZmVjeWNsZUhvb2tbXTtcbiAgICByZWdpc3RlcigpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBib290KCk6IFByb21pc2U8dm9pZD47XG4gICAgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIHJlZ2lzdGVyICovXG4gICAgb25SZWdpc3RlcigpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgbG9hZCAqL1xuICAgIG9uTG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgYm9vdCAqL1xuICAgIG9uQm9vdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2h1dGRvd24gKi9cbiAgICBvblNodXRkb3duKCk6IFByb21pc2U8dm9pZD47XG59XG4iLCJleHBvcnQgdHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFUgZXh0ZW5kcyBhbnkgPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrOiBpbmZlciBJKSA9PiB2b2lkID8gSSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUGFydGlhbEJ5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuZXhwb3J0IHR5cGUgUHVibGljRGF0YTxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogS106IFRbS107XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBVbmlvblRvSW50ZXJzZWN0aW9uIH0gZnJvbSAnLi90eXBpbmcudHMnO1xuZXhwb3J0IHR5cGUgQW55Q2xhc3MgPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5leHBvcnQgdHlwZSBDb25zdHJ1Y3RvcjxUID0ge30+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbmV4cG9ydCB0eXBlIE1peGluPFQ+ID0gKGJhc2U6IENvbnN0cnVjdG9yKSA9PiBDb25zdHJ1Y3RvcjxUPjtcbi8qKlxuICogQ29tcG9zZXMgbXVsdGlwbGUgbWl4aW5zIGludG8gYSBzaW5nbGUgY2xhc3MgdGhhdCBjYW4gYmUgZXh0ZW5kZWQuXG4gKiBBbGxvd3MgZm9yIG11bHRpcGxlIGluaGVyaXRhbmNlLWxpa2UgYmVoYXZpb3IgYnkgYXBwbHlpbmcgbWl4aW5zIHNlcXVlbnRpYWxseS5cbiAqXG4gKiBAcGFyYW0gbWl4aW5zIC0gQXJyYXkgb2YgbWl4aW4gZnVuY3Rpb25zIHRvIGNvbXBvc2VcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBpbmNsdWRlcyBhbGwgbWl4aW4gZnVuY3Rpb25hbGl0eVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBVc2VyIGV4dGVuZHMgY29tcG9zZShUaW1lc3RhbXAsIFNvZnREZWxldGUpIHtcbiAqICAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZykge1xuICogICAgIHN1cGVyKClcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNvbXBvc2U8TSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3Rvcjxhbnk+KSA9PiBDb25zdHJ1Y3Rvcjxhbnk+Pj4oLi4ubWl4aW5zOiBNKTogVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuLyoqXG4gKiBBbHRlcm5hdGl2ZSBjb21wb3NlIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHdpdGggYSBiYXNlIGNsYXNzXG4gKlxuICogQHBhcmFtIGJhc2VDbGFzcyAtIFRoZSBiYXNlIGNsYXNzIHRvIHN0YXJ0IHdpdGhcbiAqIEBwYXJhbSBtaXhpbnMgLSBBcnJheSBvZiBtaXhpbiBmdW5jdGlvbnMgdG8gYXBwbHlcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBleHRlbmRzIHRoZSBiYXNlIGNsYXNzIHdpdGggYWxsIG1peGluIGZ1bmN0aW9uYWxpdHlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIGNvbXBvc2VXaXRoKEJhc2VFbnRpdHksIFRpbWVzdGFtcCwgU29mdERlbGV0ZSkge1xuICogICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nKSB7XG4gKiAgICAgc3VwZXIoKVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY29tcG9zZVdpdGg8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvciwgTSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3RvcikgPT4gQ29uc3RydWN0b3I8YW55Pj4+KGJhc2VDbGFzczogVEJhc2UsIC4uLm1peGluczogTSk6IFRCYXNlICYgVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oU291cmNlOiBUQmFzZSk6IDxUVGFyZ2V0IGV4dGVuZHMgQ29uc3RydWN0b3I+KFRhcmdldDogVFRhcmdldCkgPT4gVFRhcmdldCAmIFRCYXNlO1xuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnLi9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBMaWZlY3ljbGVIb29rIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbnR5cGUgTGlmZWN5Y2xlTWV0aG9kID0gJ3JlZ2lzdGVyJyB8ICdsb2FkJyB8ICdib290JyB8ICdzaHV0ZG93bic7XG5pbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICAgIGluY2x1ZGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBleGNsdWRlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIExpZmVjeWNsZVNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgaG9va3M/OiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yLCBjb250ZXh0OiB7XG4gICAgICAgIGhvb2tJZDogc3RyaW5nO1xuICAgICAgICBtZXRob2Q6IExpZmVjeWNsZU1ldGhvZDtcbiAgICB9KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlmZWN5Y2xlU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGhvb2tzOiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IExpZmVjeWNsZVNlcnZpY2VPcHRpb25zKTtcbiAgICBzZXRPbkVycm9yKGhhbmRsZXI6IFJlcXVpcmVkPExpZmVjeWNsZVNlcnZpY2VPcHRpb25zPlsnb25FcnJvciddKTogdm9pZDtcbiAgICBvbkVycm9yKGVycm9yOiBFcnJvciwgY29udGV4dDoge1xuICAgICAgICBob29rSWQ6IHN0cmluZztcbiAgICAgICAgbWV0aG9kOiBMaWZlY3ljbGVNZXRob2Q7XG4gICAgfSk6IHZvaWQ7XG4gICAgbWFwQWxpYXNlcyhhcmdzOiBzdHJpbmdbXSk6IHN0cmluZ1tdO1xuICAgIGxpc3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogTGlmZWN5Y2xlSG9va1tdO1xuICAgIGFkZCguLi5wYXlsb2FkOiAoTGlmZWN5Y2xlSG9vayB8IENvbnN0cnVjdG9yPExpZmVjeWNsZUhvb2s+KVtdKTogdm9pZDtcbiAgICBlbWl0TWV0aG9kKG1ldGhvZDogTGlmZWN5Y2xlTWV0aG9kLCBvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGVtaXQocGF5bG9hZDogTGlmZWN5Y2xlTWV0aG9kIHwgTGlmZWN5Y2xlTWV0aG9kW10sIG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgb24obWV0aG9kOiBMaWZlY3ljbGVNZXRob2QsIGhhbmRsZXI6ICgpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkO1xuICAgIHJlZ2lzdGVyKG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZChvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGJvb3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzaHV0ZG93bihvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGNsZWFyKCk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcuL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJhbnNsYXRvclNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBlbnRyaWVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIGxvY2FsZUxvYWRlcnM6IE1hcDxzdHJpbmcsICgpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4+O1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjYWNoZTogTWFwPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8VHJhbnNsYXRvclNlcnZpY2U+KTtcbiAgICBnZXQgbG9jYWxlcygpOiBzdHJpbmdbXTtcbiAgICBsaXN0KCk6IHtcbiAgICAgICAga2V5OiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIGdldEVudHJpZXMobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICAgIGxvYWQobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHQoa2V5OiBzdHJpbmcsIGFyZ3M/OiBhbnkpOiBzdHJpbmc7XG4gICAgZGF0ZShkYXRhOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogc3RyaW5nO1xuICAgIGRhdGV0aW1lKGRhdGE6IHN0cmluZyB8IG51bWJlciB8IERhdGUpOiBzdHJpbmc7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgc2luZ2xlKG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgbXVsdGlwbGUobmFtZTogc3RyaW5nKTogdm9pZDtcbn1cbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBudW1iZXI6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGJvb2xlYW46ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQm9vbGVhblNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgYm9vbGVhbiwgYm9vbGVhbj5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGRhdGU6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRGF0ZVNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgRGF0ZSwgRGF0ZT4sIHYuVHJhbnNmb3JtQWN0aW9uPERhdGUsIHN0cmluZyB8IERhdGU+XT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkYXRldGltZTogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5EYXRlU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYXJyYXk6IDxUIGV4dGVuZHMgdi5CYXNlU2NoZW1hPGFueSwgYW55LCBhbnk+PihzY2hlbWE/OiBUKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPFQsIHVuZGVmaW5lZD5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFycmF5TnVtYmVyOiAoKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuQmFzZVNjaGVtYTxhbnksIGFueSwgYW55PiwgdW5kZWZpbmVkPl0+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnlbXSwgbnVtYmVyW10+XT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBvYmplY3Q6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVjb3JkU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQW55U2NoZW1hLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwge1xuICAgIFt4OiBzdHJpbmddOiBhbnk7XG59LCB7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0+LCB2LlRyYW5zZm9ybUFjdGlvbjx7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0sIFJlY29yZDxzdHJpbmcsIGFueT4+XT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1cmwoKTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWNvcmRTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BbnlTY2hlbWEsIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCB7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0sIHtcbiAgICBbeDogc3RyaW5nXTogYW55O1xufT4sIHYuVHJhbnNmb3JtQWN0aW9uPHtcbiAgICBbeDogc3RyaW5nXTogYW55O1xufSwgUmVjb3JkPHN0cmluZywgYW55Pj5dPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSB1cmwge1xuICAgIHZhciBudW1iZXI6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPjtcbiAgICB2YXIgYm9vbGVhbjogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5Cb29sZWFuU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBib29sZWFuLCBib29sZWFuPl0+O1xuICAgIHZhciBkYXRlOiAoKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkRhdGVTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IERhdGUsIERhdGU+LCB2LlRyYW5zZm9ybUFjdGlvbjxEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuICAgIHZhciBkYXRldGltZTogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5EYXRlU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuICAgIHZhciBhcnJheTogPFQgZXh0ZW5kcyB2LkJhc2VTY2hlbWE8YW55LCBhbnksIGFueT4+KHNjaGVtYT86IFQpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8VCwgdW5kZWZpbmVkPl0+O1xuICAgIHZhciBhcnJheU51bWJlcjogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LkJhc2VTY2hlbWE8YW55LCBhbnksIGFueT4sIHVuZGVmaW5lZD5dPiwgdi5UcmFuc2Zvcm1BY3Rpb248YW55W10sIG51bWJlcltdPl0+O1xuICAgIHZhciBvYmplY3Q6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVjb3JkU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQW55U2NoZW1hLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwge1xuICAgICAgICBbeDogc3RyaW5nXTogYW55O1xuICAgIH0sIHtcbiAgICAgICAgW3g6IHN0cmluZ106IGFueTtcbiAgICB9Piwgdi5UcmFuc2Zvcm1BY3Rpb248e1xuICAgICAgICBbeDogc3RyaW5nXTogYW55O1xuICAgIH0sIFJlY29yZDxzdHJpbmcsIGFueT4+XT47XG59XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qga2V5VmFsdWU6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj5dPjtcbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25QYXJhbXMge1xuICAgIG1heExpbWl0PzogbnVtYmVyO1xuICAgIG9yZGVyRmllbGRzPzogc3RyaW5nW107XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBiYXNlOiAob3B0aW9ucz86IFBhZ2luYXRpb25QYXJhbXMpID0+IHYuT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBwYWdlOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPiwgMT47XG4gICAgcmVhZG9ubHkgbGltaXQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCBudW1iZXI+O1xuICAgIHJlYWRvbmx5IG9yZGVyQnk6IHYuTnVsbGlzaFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuUGlja2xpc3RTY2hlbWE8c3RyaW5nW10sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiB8IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0+LCByZWFkb25seSBbXT47XG4gICAgcmVhZG9ubHkgb3JkZXJEaXJlY3Rpb246IHYuTnVsbGlzaFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuVW5pb25TY2hlbWE8W3YuTGl0ZXJhbFNjaGVtYTxcImFzY1wiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCJkZXNjXCIsIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4sIHJlYWRvbmx5IFtdPjtcbn0sIHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBwYWdpbmF0aW9uKG9wdGlvbnM/OiBQYWdpbmF0aW9uUGFyYW1zKTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IHBhZ2U6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCAxPjtcbiAgICByZWFkb25seSBsaW1pdDogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248YW55LCBudW1iZXI+LCB2LkludGVnZXJBY3Rpb248bnVtYmVyLCB1bmRlZmluZWQ+XT4sIG51bWJlcj47XG4gICAgcmVhZG9ubHkgb3JkZXJCeTogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5QaWNrbGlzdFNjaGVtYTxzdHJpbmdbXSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0+IHwgdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4sIHJlYWRvbmx5IFtdPjtcbiAgICByZWFkb25seSBvcmRlckRpcmVjdGlvbjogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwiYXNjXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImRlc2NcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xufSwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBwYWdpbmF0aW9uIHtcbiAgICB2YXIgYmFzZTogKG9wdGlvbnM/OiBQYWdpbmF0aW9uUGFyYW1zKSA9PiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IHBhZ2U6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCAxPjtcbiAgICAgICAgcmVhZG9ubHkgbGltaXQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCBudW1iZXI+O1xuICAgICAgICByZWFkb25seSBvcmRlckJ5OiB2Lk51bGxpc2hTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LlBpY2tsaXN0U2NoZW1hPHN0cmluZ1tdLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4gfCB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xuICAgICAgICByZWFkb25seSBvcmRlckRpcmVjdGlvbjogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwiYXNjXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImRlc2NcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xuICAgIH0sIHVuZGVmaW5lZD47XG59XG4iLCJleHBvcnQgKiBmcm9tICcuL3VybFZhbGlkYXRvci50cyc7XG5leHBvcnQgKiBmcm9tICcuL2tleVZhbHVlVmFsaWRhdG9yLnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvblZhbGlkYXRvci50cyc7XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuaW1wb3J0ICogYXMgZXh0cmFzIGZyb20gJyNzaGFyZWQvdmFsaWRhdG9ycy9pbmRleC50cyc7XG5leHBvcnQgdHlwZSBWYWxpYm90ID0gdHlwZW9mIHYgJiB7XG4gICAgZXh0cmFzOiB0eXBlb2YgZXh0cmFzO1xufTtcbmV4cG9ydCB0eXBlIFZhbGlib3RTY2hlbWEgPSB2LkJhc2VTY2hlbWE8dW5rbm93biwgdW5rbm93biwgdi5CYXNlSXNzdWU8dW5rbm93bj4+O1xuZXhwb3J0IHR5cGUgVmFsaWJvdE9iamVjdFNjaGVtYSA9IHYuT2JqZWN0U2NoZW1hPGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIFZhbGlib3RTY2hlbWFBc3luYyA9IHYuQmFzZVNjaGVtYUFzeW5jPHVua25vd24sIHVua25vd24sIHYuQmFzZUlzc3VlPHVua25vd24+PjtcbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yQ2FsbGJhY2s8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+IHtcbiAgICAoX3Y6IFZhbGlib3QpOiBUO1xufVxuZXhwb3J0IHR5cGUgVmFsaWRhdG9yQ2FsbGJhY2tBc3luYzxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYUFzeW5jPiA9IHtcbiAgICAoX3Y6IFZhbGlib3QpOiBUO1xufTtcbmV4cG9ydCB0eXBlIFZhbGlkYXRvclJlc3VsdDxUIGV4dGVuZHMgdi5CYXNlU2NoZW1hPGFueSwgYW55LCBhbnk+PiA9IHYuSW5mZXJPdXRwdXQ8VD47XG5leHBvcnQgdHlwZSBWYWxpZGF0ZVBheWxvYWQ8VCBleHRlbmRzIFZhbGlib3RTY2hlbWEgPSBWYWxpYm90U2NoZW1hPiA9IFZhbGlkYXRvckNhbGxiYWNrPFQ+IHwgVDtcbmV4cG9ydCB0eXBlIFZhbGlkYXRlUmVzdWx0PFQgZXh0ZW5kcyBWYWxpZGF0ZVBheWxvYWQ+ID0gVCBleHRlbmRzIFZhbGlib3RTY2hlbWEgPyB2LkluZmVyT3V0cHV0PFQ+IDogVCBleHRlbmRzIFZhbGlkYXRvckNhbGxiYWNrPGluZmVyIFU+ID8gdi5JbmZlck91dHB1dDxVPiA6IHVua25vd247XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYWxpZGF0b3JTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgdjogVmFsaWJvdDtcbiAgICBjcmVhdGU8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+KGNiOiBWYWxpZGF0b3JDYWxsYmFjazxUPik6IFQ7XG4gICAgdmFsaWRhdGU8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+KHBheWxvYWQ6IGFueSwgY2I6IFZhbGlkYXRlUGF5bG9hZDxUPik6IHYuSW5mZXJPdXRwdXQ8VD47XG4gICAgdmFsaWRhdGVBc3luYzxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYUFzeW5jPihwYXlsb2FkOiBhbnksIGNiOiBWYWxpZGF0b3JDYWxsYmFja0FzeW5jPFQ+IHwgVCk6IFByb21pc2U8di5JbmZlck91dHB1dDxUPj47XG4gICAgaXNWYWxpZDxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYT4ocGF5bG9hZDogYW55LCBjYjogVmFsaWRhdGVQYXlsb2FkPFQ+KTogYm9vbGVhbjtcbn1cbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZUlkKHByZWZpeD86IHN0cmluZyk6IHN0cmluZztcbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZsYXR0ZW4ob2JqOiBhbnksIHByZWZpeD86IHN0cmluZywgcmVzPzogYW55KTogUmVjb3JkPHN0cmluZywgYW55PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHVuZmxhdHRlbihvYmo6IGFueSk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRCeXRlcyhieXRlczogbnVtYmVyLCBkZWNpbWFscz86IG51bWJlcik6IHN0cmluZztcbiIsImludGVyZmFjZSBUcnllciB7XG4gICAgKC4uLmFyZ3M6IGFueVtdKTogYW55O1xufVxuaW50ZXJmYWNlIFRyeWVyQXN5bmMge1xuICAgICguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cbnR5cGUgVHJ5Q2F0Y2hSZXN1bHQ8VCBleHRlbmRzIFRyeWVyPiA9IFtudWxsLCBSZXR1cm5UeXBlPFQ+XSB8IFtFcnJvciwgbnVsbF07XG50eXBlIFRyeUNhdGNoQXN5bmNSZXN1bHQ8VCBleHRlbmRzIFRyeWVyQXN5bmM+ID0gW251bGwsIEF3YWl0ZWQ8UmV0dXJuVHlwZTxUPj5dIHwgW0Vycm9yLCBudWxsXTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyeUNhdGNoPFQgZXh0ZW5kcyBUcnllckFzeW5jPih0cnllcjogVCk6IFByb21pc2U8VHJ5Q2F0Y2hBc3luY1Jlc3VsdDxUPj47XG5leHBvcnQgZGVjbGFyZSBuYW1lc3BhY2UgdHJ5Q2F0Y2gge1xuICAgIHZhciBzeW5jOiA8VCBleHRlbmRzIFRyeWVyPih0cnllcjogVCkgPT4gVHJ5Q2F0Y2hSZXN1bHQ8VD47XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBtYXRjaFBhdGgocGF0dGVybjogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcGFyc2VVcmxQYXJhbXMocm91dGVQYXRoOiBzdHJpbmcsIHJlcXVlc3RQYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcGFyc2VVcmxRdWVyeShyZXF1ZXN0UGF0aDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgYW55PjtcbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHNhZmVKc29uUGFyc2U8VD4oanNvblN0cmluZzogc3RyaW5nKTogVCB8IG51bGw7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBzYWZlSnNvblN0cmluZ2lmeTxUPih2YWx1ZTogVCk6IHN0cmluZyB8IG51bGw7XG4iLCJpbXBvcnQgdHlwZSB7IFZhbGlkYXRvclJlc3VsdCB9IGZyb20gJyNzaGFyZWQvc2VydmljZXMvVmFsaWRhdG9yU2VydmljZS50cyc7XG5leHBvcnQgdHlwZSBEYXNoYm9hcmRNZXRhU2NoZW1hID0gVmFsaWRhdG9yUmVzdWx0PFJldHVyblR5cGU8dHlwZW9mIGRhc2hib2FyZE1ldGFTY2hlbWE+PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGRhc2hib2FyZE1ldGFTY2hlbWEoKTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgbmFtZXNwYWNlIGRhc2hib2FyZE1ldGFTY2hlbWEge1xuICAgIHZhciBjcmVhdGU6IE9taXQ8aW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGFzaGJvYXJkX2lkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSB2YWx1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIH0sIHVuZGVmaW5lZD4sIFwifnR5cGVzXCIgfCBcIn5ydW5cIiB8IFwifnN0YW5kYXJkXCIgfCBcImVudHJpZXNcIj4gJiB7XG4gICAgICAgIHJlYWRvbmx5IGVudHJpZXM6IFBpY2s8e1xuICAgICAgICAgICAgcmVhZG9ubHkgaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkYXNoYm9hcmRfaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdmFsdWU6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJ2YWx1ZVwiIHwgXCJkYXNoYm9hcmRfaWRcIiB8IFwibmFtZVwiPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+c3RhbmRhcmRcIjogaW1wb3J0KFwidmFsaWJvdFwiKS5TdGFuZGFyZFByb3BzPHtcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlVua25vd25EYXRhc2V0LCBjb25maWc6IGltcG9ydChcInZhbGlib3RcIikuQ29uZmlnPGltcG9ydChcInZhbGlib3RcIikuQmFzZUlzc3VlPHVua25vd24+PikgPT4gaW1wb3J0KFwidmFsaWJvdFwiKS5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgfSwgaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVySXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlcklzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHZhciB1cGRhdGU6IE9taXQ8T21pdDxpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBkYXNoYm9hcmRfaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogUGljazx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSB2YWx1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9LCBcInZhbHVlXCIgfCBcImRhc2hib2FyZF9pZFwiIHwgXCJuYW1lXCI+O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgZGFzaGJvYXJkX2lkOiBudW1iZXI7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IGltcG9ydChcInZhbGlib3RcIikuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogaW1wb3J0KFwidmFsaWJvdFwiKS5Db25maWc8aW1wb3J0KFwidmFsaWJvdFwiKS5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiBpbXBvcnQoXCJ2YWxpYm90XCIpLk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWU+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVySXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlO1xuICAgICAgICB9O1xuICAgIH0sIFwifnR5cGVzXCIgfCBcIn5ydW5cIiB8IFwifnN0YW5kYXJkXCIgfCBcImVudHJpZXNcIj4gJiB7XG4gICAgICAgIHJlYWRvbmx5IGVudHJpZXM6IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ/OiBudW1iZXI7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZD86IG51bWJlcjtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IGltcG9ydChcInZhbGlib3RcIikuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogaW1wb3J0KFwidmFsaWJvdFwiKS5Db25maWc8aW1wb3J0KFwidmFsaWJvdFwiKS5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiBpbXBvcnQoXCJ2YWxpYm90XCIpLk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ/OiBudW1iZXI7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWU+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVySXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlO1xuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgdHlwZSB7IFZhbGlkYXRvclJlc3VsdCB9IGZyb20gJyNzaGFyZWQvc2VydmljZXMvVmFsaWRhdG9yU2VydmljZS50cyc7XG5leHBvcnQgdHlwZSBEYXNoYm9hcmRTY2hlbWEgPSBWYWxpZGF0b3JSZXN1bHQ8UmV0dXJuVHlwZTx0eXBlb2YgZGFzaGJvYXJkU2NoZW1hPj47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBkYXNoYm9hcmRTY2hlbWEoKTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZGVsZXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG1ldGFzOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuUmVjb3JkU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIGltcG9ydChcInZhbGlib3RcIikuQW55U2NoZW1hLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xufSwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBkYXNoYm9hcmRTY2hlbWEge1xuICAgIHZhciBjcmVhdGU6IE9taXQ8aW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgbmFtZTogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGVsZXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBtZXRhczogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlJlY29yZFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLkFueVNjaGVtYSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICB9LCB1bmRlZmluZWQ+LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiBQaWNrPHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG1ldGFzOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuUmVjb3JkU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIGltcG9ydChcInZhbGlib3RcIikuQW55U2NoZW1hLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9LCBcIm5hbWVcIiB8IFwiZGVzY3JpcHRpb25cIj47XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IGltcG9ydChcInZhbGlib3RcIikuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlVua25vd25EYXRhc2V0LCBjb25maWc6IGltcG9ydChcInZhbGlib3RcIikuQ29uZmlnPGltcG9ydChcInZhbGlib3RcIikuQmFzZUlzc3VlPHVua25vd24+PikgPT4gaW1wb3J0KFwidmFsaWJvdFwiKS5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgIH0sIGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgdmFyIHVwZGF0ZTogT21pdDxPbWl0PGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0U2NoZW1hPHtcbiAgICAgICAgcmVhZG9ubHkgaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgbWV0YXM6IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5SZWNvcmRTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgaW1wb3J0KFwidmFsaWJvdFwiKS5BbnlTY2hlbWEsIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogUGljazx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZXNjcmlwdGlvbjogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBtZXRhczogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlJlY29yZFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLkFueVNjaGVtYSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJuYW1lXCIgfCBcImRlc2NyaXB0aW9uXCI+O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogaW1wb3J0KFwidmFsaWJvdFwiKS5Vbmtub3duRGF0YXNldCwgY29uZmlnOiBpbXBvcnQoXCJ2YWxpYm90XCIpLkNvbmZpZzxpbXBvcnQoXCJ2YWxpYm90XCIpLkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IGltcG9ydChcInZhbGlib3RcIikuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZT47XG4gICAgICAgIHJlYWRvbmx5IFwifnR5cGVzXCI/OiB7XG4gICAgICAgICAgICByZWFkb25seSBpbnB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IG91dHB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiB7XG4gICAgICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZXNjcmlwdGlvbjogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIH07XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IGltcG9ydChcInZhbGlib3RcIikuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogaW1wb3J0KFwidmFsaWJvdFwiKS5Vbmtub3duRGF0YXNldCwgY29uZmlnOiBpbXBvcnQoXCJ2YWxpYm90XCIpLkNvbmZpZzxpbXBvcnQoXCJ2YWxpYm90XCIpLkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IGltcG9ydChcInZhbGlib3RcIikuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIH0sIGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25Bc3NpZ25tZW50ID0gdi5JbmZlck91dHB1dDx0eXBlb2YgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE6IHYuT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBpZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBwZXJtaXNzaW9uX2lkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFzc2lnbmFibGVfdHlwZTogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBhc3NpZ25hYmxlX2lkOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgUGVybWlzc2lvbiA9IHYuSW5mZXJPdXRwdXQ8dHlwZW9mIHBlcm1pc3Npb25TY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFjdGlvbjogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBzdWJqZWN0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNvbmRpdGlvbnM6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZXhwaXJlc19hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgVG9rZW4gPSB2LkluZmVyT3V0cHV0PHR5cGVvZiB0b2tlblNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB0b2tlblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB0eXBlOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVzZXJfaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdG9rZW46IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGV4cGlyZXNfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmRlY2xhcmUgZnVuY3Rpb24gdXNlclNjaGVtYSgpOiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgbmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDYsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSB1c2VybmFtZTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWdleEFjdGlvbjxzdHJpbmcsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuZGVjbGFyZSBuYW1lc3BhY2UgdXNlclNjaGVtYSB7XG4gICAgdmFyIGNyZWF0ZTogKCkgPT4gT21pdDx2Lk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBuYW1lOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICByZWFkb25seSBwYXNzd29yZDogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHVzZXJuYW1lOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlJlZ2V4QWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogT21pdDx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICAgICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTWluTGVuZ3RoQWN0aW9uPHN0cmluZywgNiwgdW5kZWZpbmVkPl0+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXNlcm5hbWU6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVnZXhBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIH0sIFwiaWRcIiB8IFwiZGVsZXRlZF9hdFwiIHwgXCJjcmVhdGVkX2F0XCIgfCBcInVwZGF0ZWRfYXRcIiB8IFwidmVyaWZpZWRfYXRcIj47XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IHYuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiB2LlVua25vd25EYXRhc2V0LCBjb25maWc6IHYuQ29uZmlnPHYuQmFzZUlzc3VlPHVua25vd24+PikgPT4gdi5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0sIHYuT2JqZWN0SXNzdWUgfCB2LlN0cmluZ0lzc3VlIHwgdi5FbWFpbElzc3VlPHN0cmluZz4gfCB2Lk1pbkxlbmd0aElzc3VlPHN0cmluZywgNj4gfCB2LlJlZ2V4SXNzdWU8c3RyaW5nPj47XG4gICAgICAgIHJlYWRvbmx5IFwifnR5cGVzXCI/OiB7XG4gICAgICAgICAgICByZWFkb25seSBpbnB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogdi5PYmplY3RJc3N1ZSB8IHYuU3RyaW5nSXNzdWUgfCB2LkVtYWlsSXNzdWU8c3RyaW5nPiB8IHYuTWluTGVuZ3RoSXNzdWU8c3RyaW5nLCA2PiB8IHYuUmVnZXhJc3N1ZTxzdHJpbmc+O1xuICAgICAgICB9O1xuICAgIH07XG4gICAgdmFyIHVwZGF0ZTogKCkgPT4gT21pdDxPbWl0PHYuT2JqZWN0U2NoZW1hPHtcbiAgICAgICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZW1haWw6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRW1haWxBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHBhc3N3b3JkOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDYsIHVuZGVmaW5lZD5dPjtcbiAgICAgICAgcmVhZG9ubHkgdXNlcm5hbWU6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVnZXhBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHZlcmlmaWVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICB9LCB1bmRlZmluZWQ+LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiBPbWl0PHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgZW1haWw6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRW1haWxBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSBwYXNzd29yZDogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSB1c2VybmFtZTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWdleEFjdGlvbjxzdHJpbmcsIHVuZGVmaW5lZD5dPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHZlcmlmaWVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJpZFwiIHwgXCJkZWxldGVkX2F0XCIgfCBcImNyZWF0ZWRfYXRcIiB8IFwidXBkYXRlZF9hdFwiIHwgXCJ2ZXJpZmllZF9hdFwiPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+c3RhbmRhcmRcIjogdi5TdGFuZGFyZFByb3BzPHtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IHYuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogdi5Db25maWc8di5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiB2Lk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgfSwgdi5PYmplY3RJc3N1ZSB8IHYuU3RyaW5nSXNzdWUgfCB2LkVtYWlsSXNzdWU8c3RyaW5nPiB8IHYuTWluTGVuZ3RoSXNzdWU8c3RyaW5nLCA2PiB8IHYuUmVnZXhJc3N1ZTxzdHJpbmc+PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiB2Lk9iamVjdElzc3VlIHwgdi5TdHJpbmdJc3N1ZSB8IHYuRW1haWxJc3N1ZTxzdHJpbmc+IHwgdi5NaW5MZW5ndGhJc3N1ZTxzdHJpbmcsIDY+IHwgdi5SZWdleElzc3VlPHN0cmluZz47XG4gICAgICAgIH07XG4gICAgfSwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczoge1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogdi5PcHRpb25hbFNjaGVtYTx2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBlbWFpbDogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSB1c2VybmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlJlZ2V4QWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiB2LlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIGVtYWlsPzogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIGVtYWlsPzogc3RyaW5nO1xuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogdi5Vbmtub3duRGF0YXNldCwgY29uZmlnOiB2LkNvbmZpZzx2LkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IHYuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw/OiBzdHJpbmc7XG4gICAgICAgICAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgICB9LCB2Lk9iamVjdElzc3VlIHwgdi5TdHJpbmdJc3N1ZSB8IHYuRW1haWxJc3N1ZTxzdHJpbmc+IHwgdi5NaW5MZW5ndGhJc3N1ZTxzdHJpbmcsIDY+IHwgdi5SZWdleElzc3VlPHN0cmluZz4+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGVtYWlsPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IG91dHB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZW1haWw/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IHYuT2JqZWN0SXNzdWUgfCB2LlN0cmluZ0lzc3VlIHwgdi5FbWFpbElzc3VlPHN0cmluZz4gfCB2Lk1pbkxlbmd0aElzc3VlPHN0cmluZywgNj4gfCB2LlJlZ2V4SXNzdWU8c3RyaW5nPjtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlclNjaGVtYTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VFeGNlcHRpb24gZXh0ZW5kcyBFcnJvciB7XG4gICAgc3RhdHVzOiBudW1iZXI7XG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBzdGF0dXM/OiBudW1iZXIpO1xuICAgIHN0YXRpYyBmcm9tRXJyb3IoZXJyb3I6IEVycm9yKTogQmFzZUV4Y2VwdGlvbjtcbn1cbiIsImltcG9ydCBCYXNlRXhjZXB0aW9uIGZyb20gJy4vQmFzZUV4Y2VwdGlvbi50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaGVsbEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICAgIG91dHB1dDogc3RyaW5nO1xuICAgIGJpbjogc3RyaW5nO1xuICAgIGFyZ3M6IHN0cmluZ1tdO1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgb3V0cHV0OiBzdHJpbmcsIGJpbjogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSk7XG59XG4iLCJpbXBvcnQgVmFsaWRhdG9yU2VydmljZSBmcm9tIFwiLi4vc2VydmljZXMvVmFsaWRhdG9yU2VydmljZVwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdG9yO1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5pbnRlcmZhY2UgQ3JlYXRlQmFzZUVudGl0eU9wdGlvbnMge1xuICAgIHBhcnNlPzogKGRhdGE6IGFueSkgPT4gYW55O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlQmFzZUVudGl0eShvcHRpb25zPzogQ3JlYXRlQmFzZUVudGl0eU9wdGlvbnMpOiA8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpID0+IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgVEJhc2U7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBCYXNlRW50aXR5PFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBUQmFzZTtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tICcjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lciB7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZW1pdEhvb2soY29uc3RydWN0b3I6IGFueSwgZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gb25Ib29rKGNvbnN0cnVjdG9yOiBhbnksIGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gSG9va3NTdGF0aWM8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHt9O1xuICAgIGxpc3RlbmVyczogQXJyYXk8KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPjtcbiAgICBvbihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn0gJiBUQmFzZTtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBIb29rc1N0YXRpYyB7XG4gICAgdmFyIGVtaXQ6IHR5cGVvZiBlbWl0SG9vaztcbiAgICB2YXIgb246IHR5cGVvZiBvbkhvb2s7XG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb29rczxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSk6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBsaXN0ZW5lcnM6IExpc3RlbmVyW107XG4gICAgICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBvZmYoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgICAgICBlbWl0QXN5bmMoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG59ICYgVEJhc2U7XG4iLCJpbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNvZnREZWxldGVNaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I+KGJhc2U6IFQpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn0gJiBUO1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUaW1lc3RhbXBNaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I+KGJhc2U6IFQpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIFQ7XG4iLCJkZWNsYXJlIGNvbnN0IFBlcm1pc3Npb25FbnRpdHlfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJtaXNzaW9uRW50aXR5IGV4dGVuZHMgUGVybWlzc2lvbkVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBvcmlnaW46IHN0cmluZztcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uczogc3RyaW5nIHwgbnVsbCB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZ2V0IGVkaXRhYmxlKCk6IGJvb2xlYW47XG4gICAgZ2V0IHBhcnNlZENvbmRpdGlvbnMoKTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgZGVmaW5lQWJpbGl0eSB9IGZyb20gJ0BjYXNsL2FiaWxpdHknO1xuaW1wb3J0IFBlcm1pc3Npb24gZnJvbSAnLi9QZXJtaXNzaW9uRW50aXR5LnRzJztcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBY2xFbnRpdHkge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBhYmlsaXR5OiBSZXR1cm5UeXBlPHR5cGVvZiBkZWZpbmVBYmlsaXR5PjtcbiAgICBwZXJtaXNzaW9uczogUGVybWlzc2lvbltdO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxBY2xFbnRpdHk+KTtcbiAgICBjYW4oYWN0aW9uOiBzdHJpbmcsIHN1YmplY3Q6IGFueSwgb2JqZWN0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IGJvb2xlYW47XG4gICAgY2Fubm90KGFjdGlvbjogc3RyaW5nLCBzdWJqZWN0OiBhbnksIG9iamVjdD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuO1xuICAgIHN1YmplY3Qoc3ViamVjdDogc3RyaW5nLCBvYmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYgaW1wb3J0KFwiQGNhc2wvYWJpbGl0eVwiKS5Gb3JjZWRTdWJqZWN0PHN0cmluZz47XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIENvb2tpZU1hcEVudGl0eU9wdGlvbnMge1xuICAgIGNvb2tpZXM/OiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHByZWZpeD86IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvb2tpZU1hcEVudGl0eSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGNvb2tpZXM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICAgcHJlZml4OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IENvb2tpZU1hcEVudGl0eU9wdGlvbnMpO1xuICAgIGxvYWQoY29va2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IE1hcDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkO1xuICAgIGdldChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsO1xuICAgIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCBUWVBFUzogKCkgPT4gKHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBhbnk7XG4gICAgZGVzY3JpcHRpb246IGFueTtcbiAgICBjb25maWdfZmllbGRzOiB7XG4gICAgICAgIGRpcmVjdG9yeToge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXNzS2V5SWQ/OiB1bmRlZmluZWQ7XG4gICAgICAgIHNlY3JldEFjY2Vzc0tleT86IHVuZGVmaW5lZDtcbiAgICAgICAgYnVja2V0PzogdW5kZWZpbmVkO1xuICAgICAgICByZWdpb24/OiB1bmRlZmluZWQ7XG4gICAgICAgIHByZWZpeD86IHVuZGVmaW5lZDtcbiAgICAgICAgZW5kcG9pbnQ/OiB1bmRlZmluZWQ7XG4gICAgfTtcbn0gfCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYnVja2V0OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIHJlZ2lvbjoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICBwcmVmaXg6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgZGlyZWN0b3J5PzogdW5kZWZpbmVkO1xuICAgIH07XG59KVtdO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJpdmVDb25maWcge1xuICAgIHN0YXRpYyBnZXQgVFlQRVMoKTogKHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICAgICAgZGlyZWN0b3J5OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhY2Nlc3NLZXlJZD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleT86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGJ1Y2tldD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlZ2lvbj86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHByZWZpeD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGVuZHBvaW50PzogdW5kZWZpbmVkO1xuICAgICAgICB9O1xuICAgIH0gfCB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgICAgIGNvbmZpZ19maWVsZHM6IHtcbiAgICAgICAgICAgIGFjY2Vzc0tleUlkOiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleToge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBidWNrZXQ6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWdpb246IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBwcmVmaXg6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGRpcmVjdG9yeT86IHVuZGVmaW5lZDtcbiAgICAgICAgfTtcbiAgICB9KVtdO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBpc19kZWZhdWx0OiBib29sZWFuO1xuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEcml2ZUNvbmZpZyk7XG4gICAgZ2V0IGNvbmZpZ19maWVsZHMoKToge307XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZUVudHJ5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHR5cGU6ICdmaWxlJyB8ICdkaXJlY3RvcnknO1xuICAgIG1ldGFzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERyaXZlRW50cnkpO1xufVxuIiwiZGVjbGFyZSBjb25zdCBGaWxlRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlRW50aXR5IGV4dGVuZHMgRmlsZUVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGRyaXZlOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBwdXJwb3NlOiBzdHJpbmc7XG4gICAgY2xpZW50X25hbWU6IHN0cmluZztcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYzogYm9vbGVhbjtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgbWV0YXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGlzSW1hZ2UoKTogYm9vbGVhbjtcbn1cbmV4cG9ydCB7fTtcbiIsImRlY2xhcmUgY29uc3QgRmlsZU1ldGFfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVNZXRhIGV4dGVuZHMgRmlsZU1ldGFfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBmaWxlX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IHt9O1xuIiwiZGVjbGFyZSBjb25zdCBVcGxvYWRTZXNzaW9uX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGxvYWRTZXNzaW9uIGV4dGVuZHMgVXBsb2FkU2Vzc2lvbl9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHB1cnBvc2U6IHN0cmluZztcbiAgICBtaW1lX3R5cGVzOiBzdHJpbmc7XG4gICAgbWF4X3NpemU6IG51bWJlcjtcbiAgICB1cGxvYWRfdXJsPzogc3RyaW5nO1xuICAgIGNyZWF0ZV9maWxlX3VybD86IHN0cmluZztcbiAgICBnZXRQYXJzZWRNaW1lVHlwZXMoKTogc3RyaW5nW107XG4gICAgaXNBbGxvd2VkTWltZVR5cGUobWltZVR5cGU6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgaXNBbGxvd2VkU2l6ZShzaXplOiBudW1iZXIpOiBib29sZWFuO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2l0QnJhbmNoRW50aXR5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcmVtb3RlOiBzdHJpbmcgfCBudWxsO1xuICAgIGlzX2N1cnJlbnQ6IGJvb2xlYW47XG4gICAgaXNfcmVtb3RlOiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEdpdEJyYW5jaEVudGl0eSk7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBHaXRDb21taXRFbnRpdHkge1xuICAgIGhhc2g6IHN0cmluZztcbiAgICBzaG9ydF9oYXNoOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGJvZHk6IHN0cmluZztcbiAgICBhdXRob3JfbmFtZTogc3RyaW5nO1xuICAgIGF1dGhvcl9lbWFpbDogc3RyaW5nO1xuICAgIGRhdGU6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBHaXRDb21taXRFbnRpdHkpO1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBIZWFkZXJNYXBFbnRpdHlPcHRpb25zIHtcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBzZXRIZWFkZXI/OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGVhZGVyTWFwRW50aXR5IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgZW50cmllczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBzZXRIZWFkZXI/OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBIZWFkZXJNYXBFbnRpdHlPcHRpb25zKTtcbiAgICBsb2FkRnJvbVJlY29yZChjb29raWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZDtcbiAgICBnZXQobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbDtcbiAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICB0b1JlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBNb2R1bGVNYW5pZmVzdEJ1aWxkSW1wb3J0IHtcbiAgICBmcm9tOiBzdHJpbmc7XG4gICAgdG8/OiBzdHJpbmc7XG4gICAgdHlwZTogJ2dsb2JhbF9pbXBvcnQnO1xufVxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVNYW5pZmVzdEJ1aWxkIHtcbiAgICBpbXBvcnRzPzogTW9kdWxlTWFuaWZlc3RCdWlsZEltcG9ydFtdO1xufVxuZGVjbGFyZSBjb25zdCBNb2R1bGVNYW5pZmVzdF9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZHVsZU1hbmlmZXN0IGV4dGVuZHMgTW9kdWxlTWFuaWZlc3RfYmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgYXV0aG9yPzogc3RyaW5nO1xuICAgIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgYnVpbGQ/OiBNb2R1bGVNYW5pZmVzdEJ1aWxkO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIE1vZHVsZU1hbmlmZXN0IGZyb20gJy4vTW9kdWxlTWFuaWZlc3RFbnRpdHkudHMnO1xuaW1wb3J0IExpZmVjeWNsZUhvb2sgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9MaWZlY3ljbGVIb29rLnRzJztcbmludGVyZmFjZSBNb2R1bGVVcGdyYWRlSW5mbyB7XG4gICAgc291cmNlOiAnZ2l0JyB8ICd6aXAnO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmRlY2xhcmUgY29uc3QgTW9kdWxlX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yPHt9PiAmIHR5cGVvZiBMaWZlY3ljbGVIb29rO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kdWxlIGV4dGVuZHMgTW9kdWxlX2Jhc2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGJ1aWxkOiBNb2R1bGVNYW5pZmVzdFsnYnVpbGQnXTtcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbiAgICB1cGdyYWRlX2luZm8/OiBNb2R1bGVVcGdyYWRlSW5mbztcbiAgICBzZXREYXRhKGRhdGE6IFBhcnRpYWw8TW9kdWxlIHwgTW9kdWxlTWFuaWZlc3Q+KTogdm9pZDtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2luYXRpb25FbnRpdHk8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBpdGVtczogVFtdO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIHBlcl9wYWdlOiBudW1iZXI7XG4gICAgdG90YWxfcGFnZXM6IG51bWJlcjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFBhZ2luYXRpb25FbnRpdHk+KTtcbiAgICBzdGF0aWMgZnJvbTxUID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ocGF5bG9hZDogUGFydGlhbDxQYWdpbmF0aW9uRW50aXR5PFQ+Pik6IFBhZ2luYXRpb25FbnRpdHk8VD47XG59XG4iLCJkZWNsYXJlIGNvbnN0IFBsdWdpbkVudGl0eV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsdWdpbkVudGl0eSBleHRlbmRzIFBsdWdpbkVudGl0eV9iYXNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBhbGlhc2VzOiBzdHJpbmdbXTtcbiAgICB2ZXJzaW9uX2NoYW5uZWw6IHN0cmluZztcbiAgICB2ZXJzaW9uX2F2YWlsYWJsZV9jaGFubmVsczogc3RyaW5nW107XG59XG5leHBvcnQge307XG4iLCJkZWNsYXJlIGNvbnN0IFJvbGVfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvbGUgZXh0ZW5kcyBSb2xlX2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgUGVybWlzc2lvbiBmcm9tICcuL1Blcm1pc3Npb25FbnRpdHkudHMnO1xuaW1wb3J0IHR5cGUgUm9sZSBmcm9tICcuL1JvbGVFbnRpdHkudHMnO1xuZGVjbGFyZSBjb25zdCBVc2VyRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVc2VyRW50aXR5IGV4dGVuZHMgVXNlckVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgdmVyaWZpZWRfYXQ/OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25bXTtcbiAgICByb2xlcz86IFJvbGVbXTtcbiAgICBnZXQgaW5pdGlhbHMoKTogc3RyaW5nO1xufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBLFFBQVU7Q0FBQTtPQUFNLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBSSxnQkFBVztDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RmLElBQUksZ0JBQWM7Q0FBQztFQUFFLE1BQU0sQ0FBQyxFQUFFO0NBQUM7RUFBQTtFQUFNO0VBQUU7RUFBSztDQUFDO0FBQzdDLElBQUksV0FBVztDQUFDO09BQVMsQ0FBQSxjQUFTO0NBQUEsQ0FBQSxHQUFXO0NBQUE7QUFDN0MsSUFBQSxtQkFBcUI7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFpQjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Z0QyxJQUFBLGdCQUFvQjtDQUFDO09BQUEsQ0FBQSxPQUFjLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ25DLElBQU8sMEJBQVU7Q0FBQTtPQUF3QixFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDekMsSUFBVyxtQkFBTTtDQUFBO09BQUEsQ0FBQSx3QkFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNqQixJQUFBLGtCQUFBO0NBQUE7T0FBQSxDQUFBLGtCQUFBLGlCQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBQSxZQUFnQjtDQUFDO09BQUEsRUFBQTtDQUFBLENBQUEsSUFBaUIsR0FBQTtDQUFBO0FBQ2xDLElBQUksb0JBQW9CO0NBQUM7T0FBQSxDQUFBLFVBQUE7Q0FBQSxDQUF1QixJQUFHLEdBQUk7Q0FBQTtBQUN2RCxJQUFBLHlCQUFBO0NBQUE7T0FBQSxDQUFBLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFBLGtCQUFVO0NBQUE7RUFBZ0IsUUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDUDFCLElBQUEsZ0JBQW9CO0NBQUM7T0FBQTtFQUFBO0VBQWM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQW5DLElBQVcsc0JBQXNCO0NBQUM7RUFBSSxNQUFFLENBQUEsR0FBTyxFQUFDO0NBQUc7RUFBQztFQUFJO0VBQUk7RUFBSTtFQUFJO0VBQUc7RUFBSztFQUFFO0NBQUE7QUFDOUUsSUFBVyxZQUFZO0NBQUM7RUFBRyxHQUFBLE1BQVE7RUFBQTtFQUFPO0VBQUc7RUFBQztFQUFRO0VBQUc7RUFBRTtFQUFPO0VBQVE7Q0FBRTtFQUFDO0VBQUM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM5RSxJQUFXLGFBQWE7Q0FBQztFQUFHLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDVCLElBQVcsV0FBVztDQUFDO09BQVEsRUFBSTtDQUFFLENBQUEsR0FBSTtDQUFDO0FBQzFDLElBQVcsY0FBYztDQUFDO0VBQUksTUFBSSxDQUFBLEVBQUk7Q0FBRTtFQUFDO0VBQUM7RUFBTTtFQUFJO0NBQUM7QUFDckQsSUFBVyxRQUFRO0NBQUM7RUFBSSxNQUFLO0VBQUM7RUFBYTtFQUFHO0VBQVk7Q0FBRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVELElBQUUsVUFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNGLElBQVcsY0FBVTtDQUFBO0VBQU8sT0FBTyxNQUFPO0VBQUE7RUFBZTtFQUFXO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNwRSxJQUFVLFFBQUk7Q0FBQTtFQUFTLFNBQVcsVUFBTTtFQUFBO0VBQVk7RUFBUztFQUFPO0VBQVk7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIaEYsSUFBSSxrQkFBa0I7Q0FBQztPQUFVLEVBQUU7Q0FBRSxFQUFBO0NBQUE7QUFDckMsSUFBQSxjQUFVO0NBQUE7T0FBWSxFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUN0QixJQUFXLDBCQUFvQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMvQixJQUFJLG1CQUFtQjtDQUFBO09BQVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VB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O0VBQUE7RUFBQTtFQUFBO0VBQWdCO0VBQUE7RUFBUztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuTixJQUFRLE1BQVM7Q0FBQTtPQUFHO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNwQixJQUFHLE1BQUE7Q0FBQTtFQUFBLE1BQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ1JILElBQU8sV0FBYztDQUFBO09BQWE7RUFBQyxFQUFFO0VBQUU7RUFBZSxFQUFBO0VBQXdCLEVBQUM7RUFBYztDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQWdCO0VBQUE7RUFBUTtFQUFBO0VBQU87Q0FBQTs7OztBQ0E1SCxJQUFPLG1CQUFVO0NBQUE7T0FBaUIsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDbEMsSUFBSSxPQUFXO0NBQUE7T0FBTTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNyQixJQUFJLGFBQW9CO0NBQUM7T0FBQztFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFBLGFBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7Ozs7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O0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRnBFLElBQU8sa0JBQWlCO0NBQUE7T0FBZ0I7RUFBQztFQUFpQjtFQUFHO0VBQWE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUUsSUFBSSxrQkFBcUI7Q0FBQTtPQUFVO0VBQUEsRUFBYTtFQUFVLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxRCxJQUFJLGtCQUF1QjtDQUFBO09BQVU7RUFBQSxFQUFhO0VBQVUsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0g1RCxJQUFXLHVCQUF1QjtDQUFDO09BQUUsQ0FBQSw0QkFBbUIsRUFBQSxZQUEyQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuRixJQUFPLDZCQUFjO0NBQUE7T0FBOEI7RUFBQSxFQUFBO0VBQWEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRGhFLElBQVcsYUFBYTtDQUFDO09BQUUsQ0FBQSxrQkFBbUIsRUFBQSxZQUFpQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMvRCxJQUFPLG1CQUFjO0NBQUE7T0FBb0I7RUFBQSxFQUFBO0VBQWEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRHRELElBQVcsUUFBUTtDQUFDO09BQUUsQ0FBQSxhQUFtQixFQUFBLFlBQVk7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDckQsSUFBTyxjQUFjO0NBQUE7T0FBZTtFQUFBLEVBQUE7RUFBYSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRGpELElBQUEsYUFBaUI7Q0FBQTtPQUFXO0VBQUMsRUFBRTtFQUFjLEVBQUM7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM5QyxJQUFJLGFBQWE7Q0FBQztPQUFDO0VBQUEsRUFBWTtFQUFXLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEakMsSUFBTyxRQUFRO0NBQUs7T0FBVSxFQUFFO0NBQUU7RUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDbkMsSUFBSSxjQUFVO0NBQUE7T0FBQSxDQUFBLFFBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RkLElBQUEsYUFBZTtDQUFBO09BQU0sQ0FBQSxRQUFXLFdBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ2hDLElBQUksa0JBQWtCO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VB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O0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN0QixJQUFBLFNBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDTEEsSUFBQSxtQkFBcUI7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFxQjtFQUFBO0VBQXFCO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNDL0QsSUFBSSxvQkFBb0I7Q0FBQztFQUFDLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksZUFBZTtDQUFDO09BQVUsQ0FBQSxrQkFBa0I7Q0FBQTtFQUFBO0VBQVM7RUFBRztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDVELElBQUksWUFBWTtDQUFDO0VBQUssTUFBSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksT0FBSTtDQUFBO09BQVksQ0FBQSxVQUFVO0NBQU07RUFBQztFQUFFO0VBQU07RUFBRztFQUFBO0NBQUE7Ozs7QUNDaEQsSUFBSSxrQkFBa0I7Q0FBQztFQUFHLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFJLGFBQVU7Q0FBSTtPQUFVO0VBQUM7RUFBQztFQUFpQjtFQUFDO0VBQVk7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQSJ9
1327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5tdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9Db25maWdTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL0NvbnRhaW5lclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9FbW1pdHRlclNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC91dGlscy90eXBpbmcuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvY29tcG9zZS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9MaWZlY3ljbGVTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL1RyYW5zbGF0b3JTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL1VwbG9hZFNlcnZpY2UuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy91cmxWYWxpZGF0b3IuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy9rZXlWYWx1ZVZhbGlkYXRvci5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC92YWxpZGF0b3JzL3BhZ2luYXRpb25WYWxpZGF0b3IuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdmFsaWRhdG9ycy9pbmRleC5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9WYWxpZGF0b3JTZXJ2aWNlLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2NyZWF0ZUlkLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL2ZsYXR0ZW4uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvZm9ybWF0Qnl0ZXMuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvdHJ5Q2F0Y2guZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvdXRpbHMvbWF0Y2hQYXRocy5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC91dGlscy9wYXJzZVJvdXRlVXJsLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3V0aWxzL3NhZmVKc29uLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvZGFzaGJvYXJkTWV0YVNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL2Rhc2hib2FyZFNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Blcm1pc3Npb25Bc3NpZ25tZW50U2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvcGVybWlzc2lvblNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9zY2hlbWFzL3Rva2VuU2NoZW1hLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL3NjaGVtYXMvdXNlclNjaGVtYS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9leGNlcHRpb25zL0Jhc2VFeGNlcHRpb24uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZXhjZXB0aW9ucy9TaGVsbEV4Y2VwdGlvbi5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9mYWNhZGVzL3ZhbGlkYXRvci5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9taXhpbnMvQmFzZUVudGl0eU1peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Ib29rc01peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL21peGlucy9Tb2Z0RGVsZXRlTWl4aW4uZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvbWl4aW5zL1RpbWVzdGFtcE1peGluLmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1Blcm1pc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvQWNsRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0Nvb2tpZU1hcEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUNvbmZpZ0VudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9Ecml2ZUVudHJ5RW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0ZpbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZU1ldGFFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvRmlsZVVwbG9hZFNlc3Npb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvR2l0QnJhbmNoRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL0dpdENvbW1pdEVudGl0eS5kLnRzIiwiLi4vLi4vc3JjL3NoYXJlZC9lbnRpdGllcy9IZWFkZXJNYXBFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTW9kdWxlTWFuaWZlc3RFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvTW9kdWxlRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1BhZ2luYXRpb25FbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvUGx1Z2luRW50aXR5LmQudHMiLCIuLi8uLi9zcmMvc2hhcmVkL2VudGl0aWVzL1JvbGVFbnRpdHkuZC50cyIsIi4uLy4uL3NyYy9zaGFyZWQvZW50aXRpZXMvVXNlckVudGl0eS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBFbnRyeSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBzb3VyY2U6IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ1NlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBlbnRyaWVzOiBNYXA8c3RyaW5nLCBFbnRyeT47XG4gICAgY29uc3RydWN0b3IoKTtcbiAgICBsaXN0KCk6IEVudHJ5W107XG4gICAgcGFyc2VWYWx1ZSh2YWx1ZTogYW55KTogYW55O1xuICAgIGxvYWRGcm9tUmVjb3JkKHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55Piwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICBsb2FkRnJvbUVudHJpZXMoZW50cmllczogW3N0cmluZywgYW55XVtdLCBzb3VyY2U/OiBzdHJpbmcpOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbjtcbiAgICBnZXQ8VCA9IGFueSB8IHVuZGVmaW5lZD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSk6IFQ7XG4gICAgZ2V0T25lPFQgPSBhbnkgfCB1bmRlZmluZWQ+KGtleXM6IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBUO1xuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgc291cmNlPzogc3RyaW5nKTogdm9pZDtcbiAgICB1bnNldChrZXk6IHN0cmluZyk6IHZvaWQ7XG4gICAgY2xlYXIoKTogdm9pZDtcbiAgICBkdW1wKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5leHBvcnQge307XG4iLCJ0eXBlIENvbnN0cnVjdG9yPFQgPSBvYmplY3Q+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbnR5cGUgRW50cnlLZXkgPSBzdHJpbmcgfCBzeW1ib2wgfCBDb25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRhaW5lclNlcnZpY2Uge1xuICAgIHByaXZhdGUgZW50cmllcztcbiAgICBsb2FkRnJvbVJlY29yZChyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcHJpdmF0ZSBnZXRLZXk7XG4gICAgc2V0KHBheWxvYWQ6IEVudHJ5S2V5LCB2YWx1ZTogYW55KTogdGhpcztcbiAgICBoYXMocGF5bG9hZDogRW50cnlLZXkpOiBib29sZWFuO1xuICAgIGdldDxUPihwYXlsb2FkOiBFbnRyeUtleSk6IFQ7XG4gICAgdW5zZXQocGF5bG9hZDogRW50cnlLZXkpOiB2b2lkO1xuICAgIHNpbmdsZXRvbjxUPihjbGFzc0NvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcjxUPik6IFQ7XG4gICAgbG9hZChlbnRyaWVzOiBSZWNvcmQ8YW55LCBhbnk+KTogdm9pZDtcbiAgICBwcm94eTxUID0gdW5rbm93bj4oa2V5OiBFbnRyeUtleSk6IFQ7XG4gICAga2V5cygpOiBFbnRyeUtleVtdO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGluZm8obWVzc2FnZTogc3RyaW5nLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIG1ldGE/OiBhbnkpOiB2b2lkO1xuICAgIHdhcm4obWVzc2FnZTogc3RyaW5nLCBtZXRhPzogYW55KTogdm9pZDtcbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcgfCBFcnJvciwgbWV0YT86IGFueSk6IHZvaWQ7XG4gICAgY2hpbGQob3B0aW9uczogYW55KTogTG9nZ2VyU2VydmljZTtcbn1cbiIsImltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJy4vTG9nZ2VyU2VydmljZS50cyc7XG5leHBvcnQgaW50ZXJmYWNlIEVtbWl0dGVyTGlzdGVuZXJPcHRpb25zIHtcbiAgICBldmVudDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBFbW1pdHRlckxpc3RlbmVyIHtcbiAgICAoZGF0YTogYW55LCBvcHRpb25zOiBFbW1pdHRlckxpc3RlbmVyT3B0aW9ucyk6IHZvaWQ7XG59XG5pbnRlcmZhY2UgRW1taXR0ZXJIYW5kbGVyIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGV2ZW50OiBzdHJpbmc7XG4gICAgbGlzdGVuZXI6IEVtbWl0dGVyTGlzdGVuZXI7XG4gICAgb3JpZ2luYWxMaXN0ZW5lcj86IEVtbWl0dGVyTGlzdGVuZXI7XG59XG5pbnRlcmZhY2UgT25PcHRpb25zIHtcbiAgICBpZD86IHN0cmluZztcbiAgICB1bmlxdWU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE9uRGVib3VuY2VPcHRpb25zIGV4dGVuZHMgT25PcHRpb25zIHtcbiAgICBkZWJvdW5jZT86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRW1taXR0ZXJTZXJ2aWNlT3B0aW9ucyB7XG4gICAgZGVidWc/OiBib29sZWFuO1xuICAgIGxvZ2dlcj86IExvZ2dlclNlcnZpY2U7XG59XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbW1pdHRlclNlcnZpY2U8RXZlbnRzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgaGFuZGxlcnM6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogRW1taXR0ZXJTZXJ2aWNlT3B0aW9ucyk7XG4gICAgc3RhdGljIGNyZWF0ZTxFdmVudHMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gUmVjb3JkPHN0cmluZywgYW55Pj4ob3B0aW9ucz86IEVtbWl0dGVyU2VydmljZU9wdGlvbnMpOiBFbW1pdHRlclNlcnZpY2U8RXZlbnRzPjtcbiAgICBzZXREZWJ1ZyhkZWJ1ZzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0TG9nZ2VyKGxvZ2dlcjogTG9nZ2VyU2VydmljZSk6IHZvaWQ7XG4gICAgb248SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uY2U8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGxpc3RlbmVyOiAoYXJnczogRXZlbnRzW0tdKSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyO1xuICAgIG9uY2UoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6IChhcmdzOiBhbnkpID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25EZWJvdW5jZTxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbkRlYm91bmNlT3B0aW9ucyk6IEVtbWl0dGVySGFuZGxlcjtcbiAgICBvbkRlYm91bmNlKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25EZWJvdW5jZU9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXI7XG4gICAgb25BbnlPZjxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudHM6IEtbXSwgbGlzdGVuZXI6IChhcmdzOiBFdmVudHNbS10pID0+IHZvaWQsIG9wdGlvbnM/OiBPbk9wdGlvbnMpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICBvbkFueU9mKGV2ZW50czogc3RyaW5nW10sIGxpc3RlbmVyOiAoYXJnczogYW55KSA9PiB2b2lkLCBvcHRpb25zPzogT25PcHRpb25zKTogRW1taXR0ZXJIYW5kbGVyW107XG4gICAgb2ZmKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiBFbW1pdHRlckhhbmRsZXJbJ2xpc3RlbmVyJ10pOiB2b2lkO1xuICAgIGVtaXQ8SyBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEssIGFyZ3M6IEV2ZW50c1tLXSk6IHZvaWQ7XG4gICAgZW1pdChldmVudDogc3RyaW5nLCBhcmdzPzogYW55KTogdm9pZDtcbiAgICBlbWl0QW5kV2FpdDxLIGV4dGVuZHMga2V5b2YgRXZlbnRzPihldmVudDogSywgYXJnczogRXZlbnRzW0tdKTogUHJvbWlzZTx2b2lkPjtcbiAgICBlbWl0QW5kV2FpdChldmVudDogc3RyaW5nLCBhcmdzPzogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgICBsaXN0KCk6IEVtbWl0dGVySGFuZGxlcltdO1xuICAgIGxpc3RCeUV2ZW50KGV2ZW50OiBzdHJpbmcpOiBFbW1pdHRlckhhbmRsZXJbXTtcbiAgICByZW1vdmUocGF5bG9hZDogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkO1xuICAgIGNsZWFyKCk6IHZvaWQ7XG4gICAgaGFzSGFuZGxlcnMoKTogYm9vbGVhbjtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIExpZmVjeWNsZUhvb2sge1xuICAgIGhvb2tfaWQ6IHN0cmluZztcbiAgICBob29rX2FsaWFzZXM/OiBzdHJpbmdbXTtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBzdWJob29rcz86IExpZmVjeWNsZUhvb2tbXTtcbiAgICByZWdpc3RlcigpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBib290KCk6IFByb21pc2U8dm9pZD47XG4gICAgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPjtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVXNlIHJlZ2lzdGVyICovXG4gICAgb25SZWdpc3RlcigpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgbG9hZCAqL1xuICAgIG9uTG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgYm9vdCAqL1xuICAgIG9uQm9vdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2Ugc2h1dGRvd24gKi9cbiAgICBvblNodXRkb3duKCk6IFByb21pc2U8dm9pZD47XG59XG4iLCJleHBvcnQgdHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFUgZXh0ZW5kcyBhbnkgPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrOiBpbmZlciBJKSA9PiB2b2lkID8gSSA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgUGFydGlhbEJ5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuZXhwb3J0IHR5cGUgUHVibGljRGF0YTxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogS106IFRbS107XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBVbmlvblRvSW50ZXJzZWN0aW9uIH0gZnJvbSAnLi90eXBpbmcudHMnO1xuZXhwb3J0IHR5cGUgQW55Q2xhc3MgPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5leHBvcnQgdHlwZSBDb25zdHJ1Y3RvcjxUID0ge30+ID0gbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVDtcbmV4cG9ydCB0eXBlIE1peGluPFQ+ID0gKGJhc2U6IENvbnN0cnVjdG9yKSA9PiBDb25zdHJ1Y3RvcjxUPjtcbi8qKlxuICogQ29tcG9zZXMgbXVsdGlwbGUgbWl4aW5zIGludG8gYSBzaW5nbGUgY2xhc3MgdGhhdCBjYW4gYmUgZXh0ZW5kZWQuXG4gKiBBbGxvd3MgZm9yIG11bHRpcGxlIGluaGVyaXRhbmNlLWxpa2UgYmVoYXZpb3IgYnkgYXBwbHlpbmcgbWl4aW5zIHNlcXVlbnRpYWxseS5cbiAqXG4gKiBAcGFyYW0gbWl4aW5zIC0gQXJyYXkgb2YgbWl4aW4gZnVuY3Rpb25zIHRvIGNvbXBvc2VcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBpbmNsdWRlcyBhbGwgbWl4aW4gZnVuY3Rpb25hbGl0eVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBVc2VyIGV4dGVuZHMgY29tcG9zZShUaW1lc3RhbXAsIFNvZnREZWxldGUpIHtcbiAqICAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZykge1xuICogICAgIHN1cGVyKClcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNvbXBvc2U8TSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3Rvcjxhbnk+KSA9PiBDb25zdHJ1Y3Rvcjxhbnk+Pj4oLi4ubWl4aW5zOiBNKTogVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuLyoqXG4gKiBBbHRlcm5hdGl2ZSBjb21wb3NlIGZ1bmN0aW9uIHRoYXQgc3RhcnRzIHdpdGggYSBiYXNlIGNsYXNzXG4gKlxuICogQHBhcmFtIGJhc2VDbGFzcyAtIFRoZSBiYXNlIGNsYXNzIHRvIHN0YXJ0IHdpdGhcbiAqIEBwYXJhbSBtaXhpbnMgLSBBcnJheSBvZiBtaXhpbiBmdW5jdGlvbnMgdG8gYXBwbHlcbiAqIEByZXR1cm5zIEEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBleHRlbmRzIHRoZSBiYXNlIGNsYXNzIHdpdGggYWxsIG1peGluIGZ1bmN0aW9uYWxpdHlcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIGNvbXBvc2VXaXRoKEJhc2VFbnRpdHksIFRpbWVzdGFtcCwgU29mdERlbGV0ZSkge1xuICogICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZTogc3RyaW5nKSB7XG4gKiAgICAgc3VwZXIoKVxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY29tcG9zZVdpdGg8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvciwgTSBleHRlbmRzIEFycmF5PChiYXNlOiBDb25zdHJ1Y3RvcikgPT4gQ29uc3RydWN0b3I8YW55Pj4+KGJhc2VDbGFzczogVEJhc2UsIC4uLm1peGluczogTSk6IFRCYXNlICYgVW5pb25Ub0ludGVyc2VjdGlvbjxSZXR1cm5UeXBlPE1bbnVtYmVyXT4+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gbWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oU291cmNlOiBUQmFzZSk6IDxUVGFyZ2V0IGV4dGVuZHMgQ29uc3RydWN0b3I+KFRhcmdldDogVFRhcmdldCkgPT4gVFRhcmdldCAmIFRCYXNlO1xuIiwiaW1wb3J0IExvZ2dlclNlcnZpY2UgZnJvbSAnLi9Mb2dnZXJTZXJ2aWNlLnRzJztcbmltcG9ydCBMaWZlY3ljbGVIb29rIGZyb20gJyNzaGFyZWQvZW50aXRpZXMvTGlmZWN5Y2xlSG9vay50cyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbnR5cGUgTGlmZWN5Y2xlTWV0aG9kID0gJ3JlZ2lzdGVyJyB8ICdsb2FkJyB8ICdib290JyB8ICdzaHV0ZG93bic7XG5pbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICAgIGluY2x1ZGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBleGNsdWRlPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIExpZmVjeWNsZVNlcnZpY2VPcHRpb25zIHtcbiAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgaG9va3M/OiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI/OiBMb2dnZXJTZXJ2aWNlO1xuICAgIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yLCBjb250ZXh0OiB7XG4gICAgICAgIGhvb2tJZDogc3RyaW5nO1xuICAgICAgICBtZXRob2Q6IExpZmVjeWNsZU1ldGhvZDtcbiAgICB9KSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlmZWN5Y2xlU2VydmljZSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGhvb2tzOiBNYXA8c3RyaW5nLCBMaWZlY3ljbGVIb29rPjtcbiAgICBsb2dnZXI6IExvZ2dlclNlcnZpY2U7XG4gICAgZGVidWc6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IExpZmVjeWNsZVNlcnZpY2VPcHRpb25zKTtcbiAgICBzZXRPbkVycm9yKGhhbmRsZXI6IFJlcXVpcmVkPExpZmVjeWNsZVNlcnZpY2VPcHRpb25zPlsnb25FcnJvciddKTogdm9pZDtcbiAgICBvbkVycm9yKGVycm9yOiBFcnJvciwgY29udGV4dDoge1xuICAgICAgICBob29rSWQ6IHN0cmluZztcbiAgICAgICAgbWV0aG9kOiBMaWZlY3ljbGVNZXRob2Q7XG4gICAgfSk6IHZvaWQ7XG4gICAgbWFwQWxpYXNlcyhhcmdzOiBzdHJpbmdbXSk6IHN0cmluZ1tdO1xuICAgIGxpc3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogTGlmZWN5Y2xlSG9va1tdO1xuICAgIGFkZCguLi5wYXlsb2FkOiAoTGlmZWN5Y2xlSG9vayB8IENvbnN0cnVjdG9yPExpZmVjeWNsZUhvb2s+KVtdKTogdm9pZDtcbiAgICBlbWl0TWV0aG9kKG1ldGhvZDogTGlmZWN5Y2xlTWV0aG9kLCBvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGVtaXQocGF5bG9hZDogTGlmZWN5Y2xlTWV0aG9kIHwgTGlmZWN5Y2xlTWV0aG9kW10sIG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgb24obWV0aG9kOiBMaWZlY3ljbGVNZXRob2QsIGhhbmRsZXI6ICgpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkO1xuICAgIHJlZ2lzdGVyKG9wdGlvbnM/OiBMaXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gICAgbG9hZChvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGJvb3Qob3B0aW9ucz86IExpc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcbiAgICBzaHV0ZG93bihvcHRpb25zPzogTGlzdE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuICAgIGNsZWFyKCk6IHZvaWQ7XG59XG5leHBvcnQge307XG4iLCJpbXBvcnQgTG9nZ2VyU2VydmljZSBmcm9tICcuL0xvZ2dlclNlcnZpY2UudHMnO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJhbnNsYXRvclNlcnZpY2Uge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBlbnRyaWVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIGxvY2FsZUxvYWRlcnM6IE1hcDxzdHJpbmcsICgpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4+O1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjYWNoZTogTWFwPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8VHJhbnNsYXRvclNlcnZpY2U+KTtcbiAgICBnZXQgbG9jYWxlcygpOiBzdHJpbmdbXTtcbiAgICBsaXN0KCk6IHtcbiAgICAgICAga2V5OiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIGdldEVudHJpZXMobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICAgIGxvYWQobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHQoa2V5OiBzdHJpbmcsIGFyZ3M/OiBhbnkpOiBzdHJpbmc7XG4gICAgZGF0ZShkYXRhOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogc3RyaW5nO1xuICAgIGRhdGV0aW1lKGRhdGE6IHN0cmluZyB8IG51bWJlciB8IERhdGUpOiBzdHJpbmc7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBVcGxvYWRTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgc2luZ2xlKG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgbXVsdGlwbGUobmFtZTogc3RyaW5nKTogdm9pZDtcbn1cbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBudW1iZXI6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGJvb2xlYW46ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQm9vbGVhblNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgYm9vbGVhbiwgYm9vbGVhbj5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGRhdGU6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRGF0ZVNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgRGF0ZSwgRGF0ZT4sIHYuVHJhbnNmb3JtQWN0aW9uPERhdGUsIHN0cmluZyB8IERhdGU+XT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBkYXRldGltZTogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5EYXRlU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYXJyYXk6IDxUIGV4dGVuZHMgdi5CYXNlU2NoZW1hPGFueSwgYW55LCBhbnk+PihzY2hlbWE/OiBUKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPFQsIHVuZGVmaW5lZD5dPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFycmF5TnVtYmVyOiAoKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuQmFzZVNjaGVtYTxhbnksIGFueSwgYW55PiwgdW5kZWZpbmVkPl0+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnlbXSwgbnVtYmVyW10+XT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBvYmplY3Q6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVjb3JkU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQW55U2NoZW1hLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwge1xuICAgIFt4OiBzdHJpbmddOiBhbnk7XG59LCB7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0+LCB2LlRyYW5zZm9ybUFjdGlvbjx7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0sIFJlY29yZDxzdHJpbmcsIGFueT4+XT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB1cmwoKTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWNvcmRTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BbnlTY2hlbWEsIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCB7XG4gICAgW3g6IHN0cmluZ106IGFueTtcbn0sIHtcbiAgICBbeDogc3RyaW5nXTogYW55O1xufT4sIHYuVHJhbnNmb3JtQWN0aW9uPHtcbiAgICBbeDogc3RyaW5nXTogYW55O1xufSwgUmVjb3JkPHN0cmluZywgYW55Pj5dPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSB1cmwge1xuICAgIHZhciBudW1iZXI6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPjtcbiAgICB2YXIgYm9vbGVhbjogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5Cb29sZWFuU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBib29sZWFuLCBib29sZWFuPl0+O1xuICAgIHZhciBkYXRlOiAoKSA9PiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkRhdGVTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IERhdGUsIERhdGU+LCB2LlRyYW5zZm9ybUFjdGlvbjxEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuICAgIHZhciBkYXRldGltZTogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5EYXRlU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBEYXRlLCBzdHJpbmcgfCBEYXRlPl0+O1xuICAgIHZhciBhcnJheTogPFQgZXh0ZW5kcyB2LkJhc2VTY2hlbWE8YW55LCBhbnksIGFueT4+KHNjaGVtYT86IFQpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8VCwgdW5kZWZpbmVkPl0+O1xuICAgIHZhciBhcnJheU51bWJlcjogKCkgPT4gdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LkJhc2VTY2hlbWE8YW55LCBhbnksIGFueT4sIHVuZGVmaW5lZD5dPiwgdi5UcmFuc2Zvcm1BY3Rpb248YW55W10sIG51bWJlcltdPl0+O1xuICAgIHZhciBvYmplY3Q6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVjb3JkU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQW55U2NoZW1hLCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwge1xuICAgICAgICBbeDogc3RyaW5nXTogYW55O1xuICAgIH0sIHtcbiAgICAgICAgW3g6IHN0cmluZ106IGFueTtcbiAgICB9Piwgdi5UcmFuc2Zvcm1BY3Rpb248e1xuICAgICAgICBbeDogc3RyaW5nXTogYW55O1xuICAgIH0sIFJlY29yZDxzdHJpbmcsIGFueT4+XT47XG59XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qga2V5VmFsdWU6ICgpID0+IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj5dPjtcbiIsImltcG9ydCAqIGFzIHYgZnJvbSAndmFsaWJvdCc7XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25QYXJhbXMge1xuICAgIG1heExpbWl0PzogbnVtYmVyO1xuICAgIG9yZGVyRmllbGRzPzogc3RyaW5nW107XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBiYXNlOiAob3B0aW9ucz86IFBhZ2luYXRpb25QYXJhbXMpID0+IHYuT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBwYWdlOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxhbnksIG51bWJlcj4sIHYuSW50ZWdlckFjdGlvbjxudW1iZXIsIHVuZGVmaW5lZD5dPiwgMT47XG4gICAgcmVhZG9ubHkgbGltaXQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCBudW1iZXI+O1xuICAgIHJlYWRvbmx5IG9yZGVyQnk6IHYuTnVsbGlzaFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuUGlja2xpc3RTY2hlbWE8c3RyaW5nW10sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiB8IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0+LCByZWFkb25seSBbXT47XG4gICAgcmVhZG9ubHkgb3JkZXJEaXJlY3Rpb246IHYuTnVsbGlzaFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuVW5pb25TY2hlbWE8W3YuTGl0ZXJhbFNjaGVtYTxcImFzY1wiLCB1bmRlZmluZWQ+LCB2LkxpdGVyYWxTY2hlbWE8XCJkZXNjXCIsIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4sIHJlYWRvbmx5IFtdPjtcbn0sIHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBwYWdpbmF0aW9uKG9wdGlvbnM/OiBQYWdpbmF0aW9uUGFyYW1zKTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IHBhZ2U6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCAxPjtcbiAgICByZWFkb25seSBsaW1pdDogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248YW55LCBudW1iZXI+LCB2LkludGVnZXJBY3Rpb248bnVtYmVyLCB1bmRlZmluZWQ+XT4sIG51bWJlcj47XG4gICAgcmVhZG9ubHkgb3JkZXJCeTogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5QaWNrbGlzdFNjaGVtYTxzdHJpbmdbXSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0+IHwgdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4sIHJlYWRvbmx5IFtdPjtcbiAgICByZWFkb25seSBvcmRlckRpcmVjdGlvbjogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwiYXNjXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImRlc2NcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xufSwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBwYWdpbmF0aW9uIHtcbiAgICB2YXIgYmFzZTogKG9wdGlvbnM/OiBQYWdpbmF0aW9uUGFyYW1zKSA9PiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IHBhZ2U6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCAxPjtcbiAgICAgICAgcmVhZG9ubHkgbGltaXQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPGFueSwgbnVtYmVyPiwgdi5JbnRlZ2VyQWN0aW9uPG51bWJlciwgdW5kZWZpbmVkPl0+LCBudW1iZXI+O1xuICAgICAgICByZWFkb25seSBvcmRlckJ5OiB2Lk51bGxpc2hTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5VbmlvblNjaGVtYTxbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5BcnJheVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XSwgdW5kZWZpbmVkPiwgdi5UcmFuc2Zvcm1BY3Rpb248c3RyaW5nIHwgc3RyaW5nW10sIHN0cmluZ1tdPiwgdi5BcnJheVNjaGVtYTx2LlBpY2tsaXN0U2NoZW1hPHN0cmluZ1tdLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+XT4gfCB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlVuaW9uU2NoZW1hPFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dLCB1bmRlZmluZWQ+LCB2LlRyYW5zZm9ybUFjdGlvbjxzdHJpbmcgfCBzdHJpbmdbXSwgc3RyaW5nW10+LCB2LkFycmF5U2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xuICAgICAgICByZWFkb25seSBvcmRlckRpcmVjdGlvbjogdi5OdWxsaXNoU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuVW5pb25TY2hlbWE8W3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuQXJyYXlTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHYuVHJhbnNmb3JtQWN0aW9uPHN0cmluZyB8IHN0cmluZ1tdLCBzdHJpbmdbXT4sIHYuQXJyYXlTY2hlbWE8di5VbmlvblNjaGVtYTxbdi5MaXRlcmFsU2NoZW1hPFwiYXNjXCIsIHVuZGVmaW5lZD4sIHYuTGl0ZXJhbFNjaGVtYTxcImRlc2NcIiwgdW5kZWZpbmVkPl0sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD5dPiwgcmVhZG9ubHkgW10+O1xuICAgIH0sIHVuZGVmaW5lZD47XG59XG4iLCJleHBvcnQgKiBmcm9tICcuL3VybFZhbGlkYXRvci50cyc7XG5leHBvcnQgKiBmcm9tICcuL2tleVZhbHVlVmFsaWRhdG9yLnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvblZhbGlkYXRvci50cyc7XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuaW1wb3J0ICogYXMgZXh0cmFzIGZyb20gJyNzaGFyZWQvdmFsaWRhdG9ycy9pbmRleC50cyc7XG5leHBvcnQgdHlwZSBWYWxpYm90ID0gdHlwZW9mIHYgJiB7XG4gICAgZXh0cmFzOiB0eXBlb2YgZXh0cmFzO1xufTtcbmV4cG9ydCB0eXBlIFZhbGlib3RTY2hlbWEgPSB2LkJhc2VTY2hlbWE8dW5rbm93biwgdW5rbm93biwgdi5CYXNlSXNzdWU8dW5rbm93bj4+O1xuZXhwb3J0IHR5cGUgVmFsaWJvdE9iamVjdFNjaGVtYSA9IHYuT2JqZWN0U2NoZW1hPGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIFZhbGlib3RTY2hlbWFBc3luYyA9IHYuQmFzZVNjaGVtYUFzeW5jPHVua25vd24sIHVua25vd24sIHYuQmFzZUlzc3VlPHVua25vd24+PjtcbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yQ2FsbGJhY2s8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+IHtcbiAgICAoX3Y6IFZhbGlib3QpOiBUO1xufVxuZXhwb3J0IHR5cGUgVmFsaWRhdG9yQ2FsbGJhY2tBc3luYzxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYUFzeW5jPiA9IHtcbiAgICAoX3Y6IFZhbGlib3QpOiBUO1xufTtcbmV4cG9ydCB0eXBlIFZhbGlkYXRvclJlc3VsdDxUIGV4dGVuZHMgdi5CYXNlU2NoZW1hPGFueSwgYW55LCBhbnk+PiA9IHYuSW5mZXJPdXRwdXQ8VD47XG5leHBvcnQgdHlwZSBWYWxpZGF0ZVBheWxvYWQ8VCBleHRlbmRzIFZhbGlib3RTY2hlbWEgPSBWYWxpYm90U2NoZW1hPiA9IFZhbGlkYXRvckNhbGxiYWNrPFQ+IHwgVDtcbmV4cG9ydCB0eXBlIFZhbGlkYXRlUmVzdWx0PFQgZXh0ZW5kcyBWYWxpZGF0ZVBheWxvYWQ+ID0gVCBleHRlbmRzIFZhbGlib3RTY2hlbWEgPyB2LkluZmVyT3V0cHV0PFQ+IDogVCBleHRlbmRzIFZhbGlkYXRvckNhbGxiYWNrPGluZmVyIFU+ID8gdi5JbmZlck91dHB1dDxVPiA6IHVua25vd247XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYWxpZGF0b3JTZXJ2aWNlIHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgdjogVmFsaWJvdDtcbiAgICBjcmVhdGU8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+KGNiOiBWYWxpZGF0b3JDYWxsYmFjazxUPik6IFQ7XG4gICAgdmFsaWRhdGU8VCBleHRlbmRzIFZhbGlib3RTY2hlbWE+KHBheWxvYWQ6IGFueSwgY2I6IFZhbGlkYXRlUGF5bG9hZDxUPik6IHYuSW5mZXJPdXRwdXQ8VD47XG4gICAgdmFsaWRhdGVBc3luYzxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYUFzeW5jPihwYXlsb2FkOiBhbnksIGNiOiBWYWxpZGF0b3JDYWxsYmFja0FzeW5jPFQ+IHwgVCk6IFByb21pc2U8di5JbmZlck91dHB1dDxUPj47XG4gICAgaXNWYWxpZDxUIGV4dGVuZHMgVmFsaWJvdFNjaGVtYT4ocGF5bG9hZDogYW55LCBjYjogVmFsaWRhdGVQYXlsb2FkPFQ+KTogYm9vbGVhbjtcbn1cbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGNyZWF0ZUlkKHByZWZpeD86IHN0cmluZyk6IHN0cmluZztcbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZsYXR0ZW4ob2JqOiBhbnksIHByZWZpeD86IHN0cmluZywgcmVzPzogYW55KTogUmVjb3JkPHN0cmluZywgYW55PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHVuZmxhdHRlbihvYmo6IGFueSk6IFJlY29yZDxzdHJpbmcsIGFueT47XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRCeXRlcyhieXRlczogbnVtYmVyLCBkZWNpbWFscz86IG51bWJlcik6IHN0cmluZztcbiIsImludGVyZmFjZSBUcnllciB7XG4gICAgKC4uLmFyZ3M6IGFueVtdKTogYW55O1xufVxuaW50ZXJmYWNlIFRyeWVyQXN5bmMge1xuICAgICguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cbnR5cGUgVHJ5Q2F0Y2hSZXN1bHQ8VCBleHRlbmRzIFRyeWVyPiA9IFtudWxsLCBSZXR1cm5UeXBlPFQ+XSB8IFtFcnJvciwgbnVsbF07XG50eXBlIFRyeUNhdGNoQXN5bmNSZXN1bHQ8VCBleHRlbmRzIFRyeWVyQXN5bmM+ID0gW251bGwsIEF3YWl0ZWQ8UmV0dXJuVHlwZTxUPj5dIHwgW0Vycm9yLCBudWxsXTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyeUNhdGNoPFQgZXh0ZW5kcyBUcnllckFzeW5jPih0cnllcjogVCk6IFByb21pc2U8VHJ5Q2F0Y2hBc3luY1Jlc3VsdDxUPj47XG5leHBvcnQgZGVjbGFyZSBuYW1lc3BhY2UgdHJ5Q2F0Y2gge1xuICAgIHZhciBzeW5jOiA8VCBleHRlbmRzIFRyeWVyPih0cnllcjogVCkgPT4gVHJ5Q2F0Y2hSZXN1bHQ8VD47XG59XG5leHBvcnQge307XG4iLCJleHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBtYXRjaFBhdGgocGF0dGVybjogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBib29sZWFuO1xuIiwiZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcGFyc2VVcmxQYXJhbXMocm91dGVQYXRoOiBzdHJpbmcsIHJlcXVlc3RQYXRoOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gcGFyc2VVcmxRdWVyeShyZXF1ZXN0UGF0aDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgYW55PjtcbiIsImV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHNhZmVKc29uUGFyc2U8VD4oanNvblN0cmluZzogc3RyaW5nKTogVCB8IG51bGw7XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBzYWZlSnNvblN0cmluZ2lmeTxUPih2YWx1ZTogVCk6IHN0cmluZyB8IG51bGw7XG4iLCJpbXBvcnQgdHlwZSB7IFZhbGlkYXRvclJlc3VsdCB9IGZyb20gJyNzaGFyZWQvc2VydmljZXMvVmFsaWRhdG9yU2VydmljZS50cyc7XG5leHBvcnQgdHlwZSBEYXNoYm9hcmRNZXRhU2NoZW1hID0gVmFsaWRhdG9yUmVzdWx0PFJldHVyblR5cGU8dHlwZW9mIGRhc2hib2FyZE1ldGFTY2hlbWE+PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGRhc2hib2FyZE1ldGFTY2hlbWEoKTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuZXhwb3J0IGRlY2xhcmUgbmFtZXNwYWNlIGRhc2hib2FyZE1ldGFTY2hlbWEge1xuICAgIHZhciBjcmVhdGU6IE9taXQ8aW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGFzaGJvYXJkX2lkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSB2YWx1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIH0sIHVuZGVmaW5lZD4sIFwifnR5cGVzXCIgfCBcIn5ydW5cIiB8IFwifnN0YW5kYXJkXCIgfCBcImVudHJpZXNcIj4gJiB7XG4gICAgICAgIHJlYWRvbmx5IGVudHJpZXM6IFBpY2s8e1xuICAgICAgICAgICAgcmVhZG9ubHkgaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkYXNoYm9hcmRfaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdmFsdWU6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJ2YWx1ZVwiIHwgXCJuYW1lXCIgfCBcImRhc2hib2FyZF9pZFwiPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+c3RhbmRhcmRcIjogaW1wb3J0KFwidmFsaWJvdFwiKS5TdGFuZGFyZFByb3BzPHtcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlVua25vd25EYXRhc2V0LCBjb25maWc6IGltcG9ydChcInZhbGlib3RcIikuQ29uZmlnPGltcG9ydChcInZhbGlib3RcIikuQmFzZUlzc3VlPHVua25vd24+PikgPT4gaW1wb3J0KFwidmFsaWJvdFwiKS5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgfSwgaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZGFzaGJvYXJkX2lkOiBudW1iZXI7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZGFzaGJvYXJkX2lkOiBudW1iZXI7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVySXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHZhciB1cGRhdGU6IE9taXQ8T21pdDxpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBkYXNoYm9hcmRfaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogUGljazx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSB2YWx1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9LCBcInZhbHVlXCIgfCBcIm5hbWVcIiB8IFwiZGFzaGJvYXJkX2lkXCI+O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGFzaGJvYXJkX2lkOiBudW1iZXI7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IGltcG9ydChcInZhbGlib3RcIikuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogaW1wb3J0KFwidmFsaWJvdFwiKS5Db25maWc8aW1wb3J0KFwidmFsaWJvdFwiKS5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiBpbXBvcnQoXCJ2YWxpYm90XCIpLk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRhc2hib2FyZF9pZDogbnVtYmVyO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlcklzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWU+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkYXNoYm9hcmRfaWQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlO1xuICAgICAgICB9O1xuICAgIH0sIFwifnR5cGVzXCIgfCBcIn5ydW5cIiB8IFwifnN0YW5kYXJkXCIgfCBcImVudHJpZXNcIj4gJiB7XG4gICAgICAgIHJlYWRvbmx5IGVudHJpZXM6IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IHZhbHVlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRhc2hib2FyZF9pZDogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGFzaGJvYXJkX2lkPzogbnVtYmVyO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBkYXNoYm9hcmRfaWQ/OiBudW1iZXI7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IGltcG9ydChcInZhbGlib3RcIikuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogaW1wb3J0KFwidmFsaWJvdFwiKS5Db25maWc8aW1wb3J0KFwidmFsaWJvdFwiKS5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiBpbXBvcnQoXCJ2YWxpYm90XCIpLk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGFzaGJvYXJkX2lkPzogbnVtYmVyO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlcklzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0SXNzdWU+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRhc2hib2FyZF9pZD86IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRhc2hib2FyZF9pZD86IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJJc3N1ZSB8IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlO1xuICAgICAgICB9O1xuICAgIH07XG59XG4iLCJpbXBvcnQgdHlwZSB7IFZhbGlkYXRvclJlc3VsdCB9IGZyb20gJyNzaGFyZWQvc2VydmljZXMvVmFsaWRhdG9yU2VydmljZS50cyc7XG5leHBvcnQgdHlwZSBEYXNoYm9hcmRTY2hlbWEgPSBWYWxpZGF0b3JSZXN1bHQ8UmV0dXJuVHlwZTx0eXBlb2YgZGFzaGJvYXJkU2NoZW1hPj47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBkYXNoYm9hcmRTY2hlbWEoKTogaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZGVsZXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG1ldGFzOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuUmVjb3JkU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIGltcG9ydChcInZhbGlib3RcIikuQW55U2NoZW1hLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xufSwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBkYXNoYm9hcmRTY2hlbWEge1xuICAgIHZhciBjcmVhdGU6IE9taXQ8aW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RTY2hlbWE8e1xuICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgbmFtZTogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZGVsZXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBtZXRhczogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlJlY29yZFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLkFueVNjaGVtYSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICB9LCB1bmRlZmluZWQ+LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiBQaWNrPHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlkOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG1ldGFzOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuUmVjb3JkU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIGltcG9ydChcInZhbGlib3RcIikuQW55U2NoZW1hLCB1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9LCBcIm5hbWVcIiB8IFwiZGVzY3JpcHRpb25cIj47XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IGltcG9ydChcInZhbGlib3RcIikuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLlVua25vd25EYXRhc2V0LCBjb25maWc6IGltcG9ydChcInZhbGlib3RcIikuQ29uZmlnPGltcG9ydChcInZhbGlib3RcIikuQmFzZUlzc3VlPHVua25vd24+PikgPT4gaW1wb3J0KFwidmFsaWJvdFwiKS5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgIH0sIGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgdmFyIHVwZGF0ZTogT21pdDxPbWl0PGltcG9ydChcInZhbGlib3RcIikuT2JqZWN0U2NoZW1hPHtcbiAgICAgICAgcmVhZG9ubHkgaWQ6IGltcG9ydChcInZhbGlib3RcIikuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuTnVsbGFibGVTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgbWV0YXM6IGltcG9ydChcInZhbGlib3RcIikuT3B0aW9uYWxTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5SZWNvcmRTY2hlbWE8aW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgaW1wb3J0KFwidmFsaWJvdFwiKS5BbnlTY2hlbWEsIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogUGljazx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogaW1wb3J0KFwidmFsaWJvdFwiKS5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZXNjcmlwdGlvbjogaW1wb3J0KFwidmFsaWJvdFwiKS5OdWxsYWJsZVNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogaW1wb3J0KFwidmFsaWJvdFwiKS5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiBpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBtZXRhczogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlJlY29yZFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCBpbXBvcnQoXCJ2YWxpYm90XCIpLkFueVNjaGVtYSwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJuYW1lXCIgfCBcImRlc2NyaXB0aW9uXCI+O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogaW1wb3J0KFwidmFsaWJvdFwiKS5Vbmtub3duRGF0YXNldCwgY29uZmlnOiBpbXBvcnQoXCJ2YWxpYm90XCIpLkNvbmZpZzxpbXBvcnQoXCJ2YWxpYm90XCIpLkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IGltcG9ydChcInZhbGlib3RcIikuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICB9LCBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZT47XG4gICAgICAgIHJlYWRvbmx5IFwifnR5cGVzXCI/OiB7XG4gICAgICAgICAgICByZWFkb25seSBpbnB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IG91dHB1dDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiB7XG4gICAgICAgICAgICByZWFkb25seSBuYW1lOiBpbXBvcnQoXCJ2YWxpYm90XCIpLk9wdGlvbmFsU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZXNjcmlwdGlvbjogaW1wb3J0KFwidmFsaWJvdFwiKS5PcHRpb25hbFNjaGVtYTxpbXBvcnQoXCJ2YWxpYm90XCIpLk51bGxhYmxlU2NoZW1hPGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIH07XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IGltcG9ydChcInZhbGlib3RcIikuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogaW1wb3J0KFwidmFsaWJvdFwiKS5Vbmtub3duRGF0YXNldCwgY29uZmlnOiBpbXBvcnQoXCJ2YWxpYm90XCIpLkNvbmZpZzxpbXBvcnQoXCJ2YWxpYm90XCIpLkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IGltcG9ydChcInZhbGlib3RcIikuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIH0sIGltcG9ydChcInZhbGlib3RcIikuU3RyaW5nSXNzdWUgfCBpbXBvcnQoXCJ2YWxpYm90XCIpLk9iamVjdElzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiBpbXBvcnQoXCJ2YWxpYm90XCIpLlN0cmluZ0lzc3VlIHwgaW1wb3J0KFwidmFsaWJvdFwiKS5PYmplY3RJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25Bc3NpZ25tZW50ID0gdi5JbmZlck91dHB1dDx0eXBlb2YgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvbkFzc2lnbm1lbnRTY2hlbWE6IHYuT2JqZWN0U2NoZW1hPHtcbiAgICByZWFkb25seSBpZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBwZXJtaXNzaW9uX2lkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFzc2lnbmFibGVfdHlwZTogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBhc3NpZ25hYmxlX2lkOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgUGVybWlzc2lvbiA9IHYuSW5mZXJPdXRwdXQ8dHlwZW9mIHBlcm1pc3Npb25TY2hlbWE+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVybWlzc2lvblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGFjdGlvbjogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBzdWJqZWN0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNvbmRpdGlvbnM6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgZXhwaXJlc19hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbn0sIHVuZGVmaW5lZD47XG4iLCJpbXBvcnQgKiBhcyB2IGZyb20gJ3ZhbGlib3QnO1xuZXhwb3J0IHR5cGUgVG9rZW4gPSB2LkluZmVyT3V0cHV0PHR5cGVvZiB0b2tlblNjaGVtYT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB0b2tlblNjaGVtYTogdi5PYmplY3RTY2hlbWE8e1xuICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IG5hbWU6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB0eXBlOiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVzZXJfaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdG9rZW46IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGV4cGlyZXNfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuIiwiaW1wb3J0ICogYXMgdiBmcm9tICd2YWxpYm90JztcbmRlY2xhcmUgZnVuY3Rpb24gdXNlclNjaGVtYSgpOiB2Lk9iamVjdFNjaGVtYTx7XG4gICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgbmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDYsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSB1c2VybmFtZTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWdleEFjdGlvbjxzdHJpbmcsIHVuZGVmaW5lZD5dPjtcbiAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG59LCB1bmRlZmluZWQ+O1xuZGVjbGFyZSBuYW1lc3BhY2UgdXNlclNjaGVtYSB7XG4gICAgdmFyIGNyZWF0ZTogKCkgPT4gT21pdDx2Lk9iamVjdFNjaGVtYTx7XG4gICAgICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBuYW1lOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICByZWFkb25seSBwYXNzd29yZDogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHVzZXJuYW1lOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlJlZ2V4QWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSB1cGRhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgfSwgdW5kZWZpbmVkPiwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczogT21pdDx7XG4gICAgICAgICAgICByZWFkb25seSBpZDogdi5OdW1iZXJTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IG5hbWU6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGVtYWlsOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LkVtYWlsQWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+O1xuICAgICAgICAgICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuTWluTGVuZ3RoQWN0aW9uPHN0cmluZywgNiwgdW5kZWZpbmVkPl0+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXNlcm5hbWU6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVnZXhBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSB2ZXJpZmllZF9hdDogdi5OdWxsYWJsZVNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgY3JlYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBkZWxldGVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIH0sIFwiaWRcIiB8IFwiY3JlYXRlZF9hdFwiIHwgXCJ1cGRhdGVkX2F0XCIgfCBcInZlcmlmaWVkX2F0XCIgfCBcImRlbGV0ZWRfYXRcIj47XG4gICAgICAgIHJlYWRvbmx5IFwifnN0YW5kYXJkXCI6IHYuU3RhbmRhcmRQcm9wczx7XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICB9PjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+cnVuXCI6IChkYXRhc2V0OiB2LlVua25vd25EYXRhc2V0LCBjb25maWc6IHYuQ29uZmlnPHYuQmFzZUlzc3VlPHVua25vd24+PikgPT4gdi5PdXRwdXREYXRhc2V0PHtcbiAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0sIHYuU3RyaW5nSXNzdWUgfCB2LkVtYWlsSXNzdWU8c3RyaW5nPiB8IHYuTWluTGVuZ3RoSXNzdWU8c3RyaW5nLCA2PiB8IHYuUmVnZXhJc3N1ZTxzdHJpbmc+IHwgdi5PYmplY3RJc3N1ZT47XG4gICAgICAgIHJlYWRvbmx5IFwifnR5cGVzXCI/OiB7XG4gICAgICAgICAgICByZWFkb25seSBpbnB1dDoge1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBpc3N1ZTogdi5TdHJpbmdJc3N1ZSB8IHYuRW1haWxJc3N1ZTxzdHJpbmc+IHwgdi5NaW5MZW5ndGhJc3N1ZTxzdHJpbmcsIDY+IHwgdi5SZWdleElzc3VlPHN0cmluZz4gfCB2Lk9iamVjdElzc3VlO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgdmFyIHVwZGF0ZTogKCkgPT4gT21pdDxPbWl0PHYuT2JqZWN0U2NoZW1hPHtcbiAgICAgICAgcmVhZG9ubHkgaWQ6IHYuTnVtYmVyU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IG5hbWU6IHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgcmVhZG9ubHkgZW1haWw6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRW1haWxBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHBhc3N3b3JkOiB2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2Lk1pbkxlbmd0aEFjdGlvbjxzdHJpbmcsIDYsIHVuZGVmaW5lZD5dPjtcbiAgICAgICAgcmVhZG9ubHkgdXNlcm5hbWU6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuUmVnZXhBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgIHJlYWRvbmx5IHZlcmlmaWVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGNyZWF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IHVwZGF0ZWRfYXQ6IHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD47XG4gICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICB9LCB1bmRlZmluZWQ+LCBcIn50eXBlc1wiIHwgXCJ+cnVuXCIgfCBcIn5zdGFuZGFyZFwiIHwgXCJlbnRyaWVzXCI+ICYge1xuICAgICAgICByZWFkb25seSBlbnRyaWVzOiBPbWl0PHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlkOiB2Lk51bWJlclNjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgbmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgZW1haWw6IHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRW1haWxBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSBwYXNzd29yZDogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT47XG4gICAgICAgICAgICByZWFkb25seSB1c2VybmFtZTogdi5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5SZWdleEFjdGlvbjxzdHJpbmcsIHVuZGVmaW5lZD5dPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IHZlcmlmaWVkX2F0OiB2Lk51bGxhYmxlU2NoZW1hPHYuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBjcmVhdGVkX2F0OiB2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+O1xuICAgICAgICAgICAgcmVhZG9ubHkgdXBkYXRlZF9hdDogdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGRlbGV0ZWRfYXQ6IHYuTnVsbGFibGVTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgfSwgXCJpZFwiIHwgXCJjcmVhdGVkX2F0XCIgfCBcInVwZGF0ZWRfYXRcIiB8IFwidmVyaWZpZWRfYXRcIiB8IFwiZGVsZXRlZF9hdFwiPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+c3RhbmRhcmRcIjogdi5TdGFuZGFyZFByb3BzPHtcbiAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICAgIH0+O1xuICAgICAgICByZWFkb25seSBcIn5ydW5cIjogKGRhdGFzZXQ6IHYuVW5rbm93bkRhdGFzZXQsIGNvbmZpZzogdi5Db25maWc8di5CYXNlSXNzdWU8dW5rbm93bj4+KSA9PiB2Lk91dHB1dERhdGFzZXQ8e1xuICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgfSwgdi5TdHJpbmdJc3N1ZSB8IHYuRW1haWxJc3N1ZTxzdHJpbmc+IHwgdi5NaW5MZW5ndGhJc3N1ZTxzdHJpbmcsIDY+IHwgdi5SZWdleElzc3VlPHN0cmluZz4gfCB2Lk9iamVjdElzc3VlPjtcbiAgICAgICAgcmVhZG9ubHkgXCJ+dHlwZXNcIj86IHtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlucHV0OiB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkb25seSBvdXRwdXQ6IHtcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IGlzc3VlOiB2LlN0cmluZ0lzc3VlIHwgdi5FbWFpbElzc3VlPHN0cmluZz4gfCB2Lk1pbkxlbmd0aElzc3VlPHN0cmluZywgNj4gfCB2LlJlZ2V4SXNzdWU8c3RyaW5nPiB8IHYuT2JqZWN0SXNzdWU7XG4gICAgICAgIH07XG4gICAgfSwgXCJ+dHlwZXNcIiB8IFwifnJ1blwiIHwgXCJ+c3RhbmRhcmRcIiB8IFwiZW50cmllc1wiPiAmIHtcbiAgICAgICAgcmVhZG9ubHkgZW50cmllczoge1xuICAgICAgICAgICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHYuT3B0aW9uYWxTY2hlbWE8di5TY2hlbWFXaXRoUGlwZTxyZWFkb25seSBbdi5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdi5NaW5MZW5ndGhBY3Rpb248c3RyaW5nLCA2LCB1bmRlZmluZWQ+XT4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSBuYW1lOiB2Lk9wdGlvbmFsU2NoZW1hPHYuT3B0aW9uYWxTY2hlbWE8di5TdHJpbmdTY2hlbWE8dW5kZWZpbmVkPiwgdW5kZWZpbmVkPiwgdW5kZWZpbmVkPjtcbiAgICAgICAgICAgIHJlYWRvbmx5IGVtYWlsOiB2Lk9wdGlvbmFsU2NoZW1hPHYuU2NoZW1hV2l0aFBpcGU8cmVhZG9ubHkgW3YuU3RyaW5nU2NoZW1hPHVuZGVmaW5lZD4sIHYuRW1haWxBY3Rpb248c3RyaW5nLCB1bmRlZmluZWQ+XT4sIHVuZGVmaW5lZD47XG4gICAgICAgICAgICByZWFkb25seSB1c2VybmFtZTogdi5PcHRpb25hbFNjaGVtYTx2LlNjaGVtYVdpdGhQaXBlPHJlYWRvbmx5IFt2LlN0cmluZ1NjaGVtYTx1bmRlZmluZWQ+LCB2LlJlZ2V4QWN0aW9uPHN0cmluZywgdW5kZWZpbmVkPl0+LCB1bmRlZmluZWQ+O1xuICAgICAgICB9O1xuICAgICAgICByZWFkb25seSBcIn5zdGFuZGFyZFwiOiB2LlN0YW5kYXJkUHJvcHM8e1xuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw/OiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgZW1haWw/OiBzdHJpbmc7XG4gICAgICAgICAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICAgICAgfT47XG4gICAgICAgIHJlYWRvbmx5IFwifnJ1blwiOiAoZGF0YXNldDogdi5Vbmtub3duRGF0YXNldCwgY29uZmlnOiB2LkNvbmZpZzx2LkJhc2VJc3N1ZTx1bmtub3duPj4pID0+IHYuT3V0cHV0RGF0YXNldDx7XG4gICAgICAgICAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICBlbWFpbD86IHN0cmluZztcbiAgICAgICAgICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgICB9LCB2LlN0cmluZ0lzc3VlIHwgdi5FbWFpbElzc3VlPHN0cmluZz4gfCB2Lk1pbkxlbmd0aElzc3VlPHN0cmluZywgNj4gfCB2LlJlZ2V4SXNzdWU8c3RyaW5nPiB8IHYuT2JqZWN0SXNzdWU+O1xuICAgICAgICByZWFkb25seSBcIn50eXBlc1wiPzoge1xuICAgICAgICAgICAgcmVhZG9ubHkgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICAgICAgICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGVtYWlsPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRvbmx5IG91dHB1dDoge1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgZW1haWw/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZG9ubHkgaXNzdWU6IHYuU3RyaW5nSXNzdWUgfCB2LkVtYWlsSXNzdWU8c3RyaW5nPiB8IHYuTWluTGVuZ3RoSXNzdWU8c3RyaW5nLCA2PiB8IHYuUmVnZXhJc3N1ZTxzdHJpbmc+IHwgdi5PYmplY3RJc3N1ZTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlclNjaGVtYTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VFeGNlcHRpb24gZXh0ZW5kcyBFcnJvciB7XG4gICAgc3RhdHVzOiBudW1iZXI7XG4gICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBzdGF0dXM/OiBudW1iZXIpO1xuICAgIHN0YXRpYyBmcm9tRXJyb3IoZXJyb3I6IEVycm9yKTogQmFzZUV4Y2VwdGlvbjtcbn1cbiIsImltcG9ydCBCYXNlRXhjZXB0aW9uIGZyb20gJy4vQmFzZUV4Y2VwdGlvbi50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaGVsbEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICAgIG91dHB1dDogc3RyaW5nO1xuICAgIGJpbjogc3RyaW5nO1xuICAgIGFyZ3M6IHN0cmluZ1tdO1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgb3V0cHV0OiBzdHJpbmcsIGJpbjogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSk7XG59XG4iLCJpbXBvcnQgVmFsaWRhdG9yU2VydmljZSBmcm9tIFwiLi4vc2VydmljZXMvVmFsaWRhdG9yU2VydmljZVwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JTZXJ2aWNlO1xuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdG9yO1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5pbnRlcmZhY2UgQ3JlYXRlQmFzZUVudGl0eU9wdGlvbnMge1xuICAgIHBhcnNlPzogKGRhdGE6IGFueSkgPT4gYW55O1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gY3JlYXRlQmFzZUVudGl0eShvcHRpb25zPzogQ3JlYXRlQmFzZUVudGl0eU9wdGlvbnMpOiA8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpID0+IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgVEJhc2U7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBCYXNlRW50aXR5PFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I+KEJhc2U6IFRCYXNlKToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBUQmFzZTtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tICcjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHMnO1xuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lciB7XG4gICAgZXZlbnQ6IHN0cmluZztcbiAgICBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZW1pdEhvb2soY29uc3RydWN0b3I6IGFueSwgZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gb25Ib29rKGNvbnN0cnVjdG9yOiBhbnksIGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gSG9va3NTdGF0aWM8VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3Rvcj4oQmFzZTogVEJhc2UpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHt9O1xuICAgIGxpc3RlbmVyczogQXJyYXk8KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkPjtcbiAgICBvbihldmVudDogc3RyaW5nLCBsaXN0ZW5lcjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZDtcbiAgICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPjtcbn0gJiBUQmFzZTtcbmV4cG9ydCBkZWNsYXJlIG5hbWVzcGFjZSBIb29rc1N0YXRpYyB7XG4gICAgdmFyIGVtaXQ6IHR5cGVvZiBlbWl0SG9vaztcbiAgICB2YXIgb246IHR5cGVvZiBvbkhvb2s7XG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb29rczxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPihCYXNlOiBUQmFzZSk6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBsaXN0ZW5lcnM6IExpc3RlbmVyW107XG4gICAgICAgIG9uKGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkO1xuICAgICAgICBvZmYoZXZlbnQ6IHN0cmluZywgbGlzdGVuZXI6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgICAgICBlbWl0QXN5bmMoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuICAgIH07XG59ICYgVEJhc2U7XG4iLCJpbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnI3NoYXJlZC91dGlscy9jb21wb3NlLnRzJztcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNvZnREZWxldGVNaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I+KGJhc2U6IFQpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn0gJiBUO1xuIiwiaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJyNzaGFyZWQvdXRpbHMvY29tcG9zZS50cyc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUaW1lc3RhbXBNaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I+KGJhc2U6IFQpOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIFQ7XG4iLCJkZWNsYXJlIGNvbnN0IFBlcm1pc3Npb25FbnRpdHlfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3I7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJtaXNzaW9uRW50aXR5IGV4dGVuZHMgUGVybWlzc2lvbkVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBvcmlnaW46IHN0cmluZztcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uczogc3RyaW5nIHwgbnVsbCB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgZ2V0IGVkaXRhYmxlKCk6IGJvb2xlYW47XG4gICAgZ2V0IHBhcnNlZENvbmRpdGlvbnMoKTogYW55O1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgZGVmaW5lQWJpbGl0eSB9IGZyb20gJ0BjYXNsL2FiaWxpdHknO1xuaW1wb3J0IFBlcm1pc3Npb24gZnJvbSAnLi9QZXJtaXNzaW9uRW50aXR5LnRzJztcbmltcG9ydCBMb2dnZXJTZXJ2aWNlIGZyb20gJyNzaGFyZWQvc2VydmljZXMvTG9nZ2VyU2VydmljZS50cyc7XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBY2xFbnRpdHkge1xuICAgIHN0YXRpYyBfX2NvbnRhaW5lcl9lbnRyeV9rZXk6IHN0cmluZztcbiAgICBhYmlsaXR5OiBSZXR1cm5UeXBlPHR5cGVvZiBkZWZpbmVBYmlsaXR5PjtcbiAgICBwZXJtaXNzaW9uczogUGVybWlzc2lvbltdO1xuICAgIGRlYnVnOiBib29sZWFuO1xuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxBY2xFbnRpdHk+KTtcbiAgICBjYW4oYWN0aW9uOiBzdHJpbmcsIHN1YmplY3Q6IGFueSwgb2JqZWN0PzogUmVjb3JkPHN0cmluZywgYW55Pik6IGJvb2xlYW47XG4gICAgY2Fubm90KGFjdGlvbjogc3RyaW5nLCBzdWJqZWN0OiBhbnksIG9iamVjdD86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBib29sZWFuO1xuICAgIHN1YmplY3Qoc3ViamVjdDogc3RyaW5nLCBvYmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYgaW1wb3J0KFwiQGNhc2wvYWJpbGl0eVwiKS5Gb3JjZWRTdWJqZWN0PHN0cmluZz47XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIENvb2tpZU1hcEVudGl0eU9wdGlvbnMge1xuICAgIGNvb2tpZXM/OiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHByZWZpeD86IHN0cmluZztcbn1cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvb2tpZU1hcEVudGl0eSB7XG4gICAgc3RhdGljIF9fY29udGFpbmVyX2VudHJ5X2tleTogc3RyaW5nO1xuICAgIGNvb2tpZXM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gICAgcHJlZml4OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IENvb2tpZU1hcEVudGl0eU9wdGlvbnMpO1xuICAgIGxvYWQoY29va2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IE1hcDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkO1xuICAgIGdldChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsO1xuICAgIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkO1xuICAgIHRvUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCBUWVBFUzogKCkgPT4gKHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBhbnk7XG4gICAgZGVzY3JpcHRpb246IGFueTtcbiAgICBjb25maWdfZmllbGRzOiB7XG4gICAgICAgIGRpcmVjdG9yeToge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgYWNjZXNzS2V5SWQ/OiB1bmRlZmluZWQ7XG4gICAgICAgIHNlY3JldEFjY2Vzc0tleT86IHVuZGVmaW5lZDtcbiAgICAgICAgYnVja2V0PzogdW5kZWZpbmVkO1xuICAgICAgICByZWdpb24/OiB1bmRlZmluZWQ7XG4gICAgICAgIHByZWZpeD86IHVuZGVmaW5lZDtcbiAgICAgICAgZW5kcG9pbnQ/OiB1bmRlZmluZWQ7XG4gICAgfTtcbn0gfCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgYnVja2V0OiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgIH07XG4gICAgICAgIHJlZ2lvbjoge1xuICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICB9O1xuICAgICAgICBwcmVmaXg6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgfTtcbiAgICAgICAgZGlyZWN0b3J5PzogdW5kZWZpbmVkO1xuICAgIH07XG59KVtdO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJpdmVDb25maWcge1xuICAgIHN0YXRpYyBnZXQgVFlQRVMoKTogKHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgZGVzY3JpcHRpb246IGFueTtcbiAgICAgICAgY29uZmlnX2ZpZWxkczoge1xuICAgICAgICAgICAgZGlyZWN0b3J5OiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhY2Nlc3NLZXlJZD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleT86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGJ1Y2tldD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlZ2lvbj86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHByZWZpeD86IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGVuZHBvaW50PzogdW5kZWZpbmVkO1xuICAgICAgICB9O1xuICAgIH0gfCB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBhbnk7XG4gICAgICAgIGNvbmZpZ19maWVsZHM6IHtcbiAgICAgICAgICAgIGFjY2Vzc0tleUlkOiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGFueTtcbiAgICAgICAgICAgICAgICBoaW50OiBhbnk7XG4gICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleToge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBidWNrZXQ6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWdpb246IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBwcmVmaXg6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICAgICAgICAgICAgICBsYWJlbDogYW55O1xuICAgICAgICAgICAgICAgIGhpbnQ6IGFueTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGxhYmVsOiBhbnk7XG4gICAgICAgICAgICAgICAgaGludDogYW55O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGRpcmVjdG9yeT86IHVuZGVmaW5lZDtcbiAgICAgICAgfTtcbiAgICB9KVtdO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBpc19kZWZhdWx0OiBib29sZWFuO1xuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEcml2ZUNvbmZpZyk7XG4gICAgZ2V0IGNvbmZpZ19maWVsZHMoKToge307XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZUVudHJ5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHR5cGU6ICdmaWxlJyB8ICdkaXJlY3RvcnknO1xuICAgIG1ldGFzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERyaXZlRW50cnkpO1xufVxuIiwiZGVjbGFyZSBjb25zdCBGaWxlRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlRW50aXR5IGV4dGVuZHMgRmlsZUVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGRyaXZlOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IHN0cmluZztcbiAgICBwdXJwb3NlOiBzdHJpbmc7XG4gICAgY2xpZW50X25hbWU6IHN0cmluZztcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYzogYm9vbGVhbjtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgbWV0YXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGlzSW1hZ2UoKTogYm9vbGVhbjtcbn1cbmV4cG9ydCB7fTtcbiIsImRlY2xhcmUgY29uc3QgRmlsZU1ldGFfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVNZXRhIGV4dGVuZHMgRmlsZU1ldGFfYmFzZSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBmaWxlX2lkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IHt9O1xuIiwiZGVjbGFyZSBjb25zdCBVcGxvYWRTZXNzaW9uX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVcGxvYWRTZXNzaW9uIGV4dGVuZHMgVXBsb2FkU2Vzc2lvbl9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHB1cnBvc2U6IHN0cmluZztcbiAgICBtaW1lX3R5cGVzOiBzdHJpbmc7XG4gICAgbWF4X3NpemU6IG51bWJlcjtcbiAgICB1cGxvYWRfdXJsPzogc3RyaW5nO1xuICAgIGNyZWF0ZV9maWxlX3VybD86IHN0cmluZztcbiAgICBnZXRQYXJzZWRNaW1lVHlwZXMoKTogc3RyaW5nW107XG4gICAgaXNBbGxvd2VkTWltZVR5cGUobWltZVR5cGU6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgaXNBbGxvd2VkU2l6ZShzaXplOiBudW1iZXIpOiBib29sZWFuO1xufVxuZXhwb3J0IHt9O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2l0QnJhbmNoRW50aXR5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgcmVtb3RlOiBzdHJpbmcgfCBudWxsO1xuICAgIGlzX2N1cnJlbnQ6IGJvb2xlYW47XG4gICAgaXNfcmVtb3RlOiBib29sZWFuO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IEdpdEJyYW5jaEVudGl0eSk7XG59XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBHaXRDb21taXRFbnRpdHkge1xuICAgIGhhc2g6IHN0cmluZztcbiAgICBzaG9ydF9oYXNoOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGJvZHk6IHN0cmluZztcbiAgICBhdXRob3JfbmFtZTogc3RyaW5nO1xuICAgIGF1dGhvcl9lbWFpbDogc3RyaW5nO1xuICAgIGRhdGU6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBHaXRDb21taXRFbnRpdHkpO1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBIZWFkZXJNYXBFbnRpdHlPcHRpb25zIHtcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBzZXRIZWFkZXI/OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGVhZGVyTWFwRW50aXR5IHtcbiAgICBzdGF0aWMgX19jb250YWluZXJfZW50cnlfa2V5OiBzdHJpbmc7XG4gICAgZW50cmllczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBzZXRIZWFkZXI/OiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBIZWFkZXJNYXBFbnRpdHlPcHRpb25zKTtcbiAgICBsb2FkRnJvbVJlY29yZChjb29raWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZDtcbiAgICBnZXQobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbDtcbiAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICB0b1JlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBNb2R1bGVNYW5pZmVzdEJ1aWxkSW1wb3J0IHtcbiAgICBmcm9tOiBzdHJpbmc7XG4gICAgdG8/OiBzdHJpbmc7XG4gICAgdHlwZTogJ2dsb2JhbF9pbXBvcnQnO1xufVxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVNYW5pZmVzdEJ1aWxkIHtcbiAgICBpbXBvcnRzPzogTW9kdWxlTWFuaWZlc3RCdWlsZEltcG9ydFtdO1xufVxuZGVjbGFyZSBjb25zdCBNb2R1bGVNYW5pZmVzdF9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZHVsZU1hbmlmZXN0IGV4dGVuZHMgTW9kdWxlTWFuaWZlc3RfYmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgYXV0aG9yPzogc3RyaW5nO1xuICAgIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgYnVpbGQ/OiBNb2R1bGVNYW5pZmVzdEJ1aWxkO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIE1vZHVsZU1hbmlmZXN0IGZyb20gJy4vTW9kdWxlTWFuaWZlc3RFbnRpdHkudHMnO1xuaW1wb3J0IExpZmVjeWNsZUhvb2sgZnJvbSAnI3NoYXJlZC9lbnRpdGllcy9MaWZlY3ljbGVIb29rLnRzJztcbmludGVyZmFjZSBNb2R1bGVVcGdyYWRlSW5mbyB7XG4gICAgc291cmNlOiAnZ2l0JyB8ICd6aXAnO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbmRlY2xhcmUgY29uc3QgTW9kdWxlX2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yPHt9PiAmIHR5cGVvZiBMaWZlY3ljbGVIb29rO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kdWxlIGV4dGVuZHMgTW9kdWxlX2Jhc2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGJ1aWxkOiBNb2R1bGVNYW5pZmVzdFsnYnVpbGQnXTtcbiAgICBkaXJlY3Rvcnk6IHN0cmluZztcbiAgICB1cGdyYWRlX2luZm8/OiBNb2R1bGVVcGdyYWRlSW5mbztcbiAgICBzZXREYXRhKGRhdGE6IFBhcnRpYWw8TW9kdWxlIHwgTW9kdWxlTWFuaWZlc3Q+KTogdm9pZDtcbn1cbmV4cG9ydCB7fTtcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2luYXRpb25FbnRpdHk8VCA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBpdGVtczogVFtdO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIHBlcl9wYWdlOiBudW1iZXI7XG4gICAgdG90YWxfcGFnZXM6IG51bWJlcjtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFBhZ2luYXRpb25FbnRpdHk+KTtcbiAgICBzdGF0aWMgZnJvbTxUID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ocGF5bG9hZDogUGFydGlhbDxQYWdpbmF0aW9uRW50aXR5PFQ+Pik6IFBhZ2luYXRpb25FbnRpdHk8VD47XG59XG4iLCJkZWNsYXJlIGNvbnN0IFBsdWdpbkVudGl0eV9iYXNlOiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgbWVyZ2UoZGF0YTogUGFydGlhbDwvKmVsaWRlZCovIGFueT4pOiAvKmVsaWRlZCovIGFueTtcbiAgICB9O1xuICAgIGZyb208VD4odGhpczogbmV3ICgpID0+IFQsIGRhdGE6IFBhcnRpYWw8VD4pOiBUO1xufSAmIGltcG9ydChcIiNzaGFyZWQvdXRpbHMvY29tcG9zZS50c1wiKS5Db25zdHJ1Y3RvcjtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsdWdpbkVudGl0eSBleHRlbmRzIFBsdWdpbkVudGl0eV9iYXNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBhbGlhc2VzOiBzdHJpbmdbXTtcbiAgICB2ZXJzaW9uX2NoYW5uZWw6IHN0cmluZztcbiAgICB2ZXJzaW9uX2F2YWlsYWJsZV9jaGFubmVsczogc3RyaW5nW107XG59XG5leHBvcnQge307XG4iLCJkZWNsYXJlIGNvbnN0IFJvbGVfYmFzZToge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIG1lcmdlKGRhdGE6IFBhcnRpYWw8LyplbGlkZWQqLyBhbnk+KTogLyplbGlkZWQqLyBhbnk7XG4gICAgfTtcbiAgICBmcm9tPFQ+KHRoaXM6IG5ldyAoKSA9PiBULCBkYXRhOiBQYXJ0aWFsPFQ+KTogVDtcbn0gJiBpbXBvcnQoXCIjc2hhcmVkL3V0aWxzL2NvbXBvc2UudHNcIikuQ29uc3RydWN0b3IgJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgdXBkYXRlZF9hdDogRGF0ZSB8IHN0cmluZztcbiAgICB9O1xufSAmIHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBkZWxldGVkX2F0OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvbGUgZXh0ZW5kcyBSb2xlX2Jhc2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHR5cGUgUGVybWlzc2lvbiBmcm9tICcuL1Blcm1pc3Npb25FbnRpdHkudHMnO1xuaW1wb3J0IHR5cGUgUm9sZSBmcm9tICcuL1JvbGVFbnRpdHkudHMnO1xuZGVjbGFyZSBjb25zdCBVc2VyRW50aXR5X2Jhc2U6IHtcbiAgICBuZXcgKC4uLmFyZ3M6IGFueVtdKToge1xuICAgICAgICBtZXJnZShkYXRhOiBQYXJ0aWFsPC8qZWxpZGVkKi8gYW55Pik6IC8qZWxpZGVkKi8gYW55O1xuICAgIH07XG4gICAgZnJvbTxUPih0aGlzOiBuZXcgKCkgPT4gVCwgZGF0YTogUGFydGlhbDxUPik6IFQ7XG59ICYgaW1wb3J0KFwiI3NoYXJlZC91dGlscy9jb21wb3NlLnRzXCIpLkNvbnN0cnVjdG9yICYge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiB7XG4gICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUgfCBzdHJpbmc7XG4gICAgfTtcbn0gJiB7XG4gICAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IHtcbiAgICAgICAgZGVsZXRlZF9hdDogRGF0ZSB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVc2VyRW50aXR5IGV4dGVuZHMgVXNlckVudGl0eV9iYXNlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgdmVyaWZpZWRfYXQ/OiBEYXRlIHwgc3RyaW5nIHwgbnVsbDtcbiAgICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25bXTtcbiAgICByb2xlcz86IFJvbGVbXTtcbiAgICBnZXQgaW5pdGlhbHMoKTogc3RyaW5nO1xufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBLFFBQVU7Q0FBQTtPQUFNLEVBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDaEIsSUFBSSxnQkFBVztDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RmLElBQUksZ0JBQWM7Q0FBQztFQUFFLE1BQU0sQ0FBQyxFQUFFO0NBQUM7RUFBQTtFQUFNO0VBQUU7RUFBSztDQUFDO0FBQzdDLElBQUksV0FBVztDQUFDO09BQVMsQ0FBQSxjQUFTO0NBQUEsQ0FBQSxHQUFBO0NBQVc7QUFDN0MsSUFBQSxtQkFBcUI7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFpQjtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Z0QyxJQUFBLGdCQUFvQjtDQUFDO09BQUEsQ0FBQSxPQUFjLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ25DLElBQU8sMEJBQVU7Q0FBQTtPQUF3QixFQUFBO0NBQUEsQ0FBQSxHQUFBO0NBQUE7QUFDekMsSUFBVyxtQkFBTTtDQUFBO09BQUEsQ0FBQSx3QkFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNqQixJQUFBLGtCQUFBO0NBQUE7T0FBQSxDQUFBLGtCQUFBLGlCQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ0EsSUFBQSxZQUFnQjtDQUFDO09BQUEsRUFBQTtDQUFBLENBQUEsSUFBaUIsR0FBQTtDQUFBO0FBQ2xDLElBQUksb0JBQW9CO0NBQUM7T0FBQSxDQUFBLFVBQUE7Q0FBdUIsQ0FBQyxJQUFFLEdBQUk7Q0FBQTtBQUN2RCxJQUFBLHlCQUFBO0NBQUE7T0FBQSxDQUFBLGNBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDQSxJQUFBLGtCQUFVO0NBQUE7RUFBZ0IsUUFBQSxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDUDFCLElBQUEsZ0JBQW9CO0NBQUM7T0FBQTtFQUFBO0VBQWM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQW5DLElBQVcsc0JBQXNCO0NBQUM7RUFBSSxNQUFFLENBQUEsR0FBTyxFQUFDO0NBQUc7RUFBQztFQUFJO0VBQUk7RUFBSTtFQUFJO0VBQUc7RUFBSztFQUFFO0NBQUE7QUFDOUUsSUFBVyxZQUFZO0NBQUM7RUFBRyxHQUFBLE1BQVE7RUFBQTtFQUFPO0VBQUc7RUFBQztFQUFRO0VBQUc7RUFBRTtFQUFPO0VBQVE7Q0FBRTtFQUFDO0VBQUM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM5RSxJQUFXLGFBQWE7Q0FBQztFQUFHLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRDVCLElBQVcsV0FBVztDQUFDO09BQVEsRUFBSTtDQUFFLENBQUEsR0FBSTtDQUFDO0FBQzFDLElBQVcsY0FBYztDQUFDO0VBQUksTUFBSSxDQUFBLEVBQUk7Q0FBRTtFQUFDO0VBQUM7RUFBTTtFQUFJO0NBQUM7QUFDckQsSUFBVyxRQUFRO0NBQUM7RUFBSSxNQUFLO0VBQUM7RUFBYTtFQUFHO0VBQVk7Q0FBRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzVELElBQUUsVUFBQTtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNGLElBQVcsY0FBVTtDQUFBO0VBQU8sT0FBTyxNQUFPO0VBQUE7RUFBZTtFQUFXO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNwRSxJQUFVLFFBQUk7Q0FBQTtFQUFTLFNBQVcsVUFBTTtFQUFBO0VBQVk7RUFBUztFQUFPO0VBQVk7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNIaEYsSUFBSSxrQkFBa0I7Q0FBQztPQUFVLEVBQUU7Q0FBRSxFQUFBO0NBQUE7QUFDckMsSUFBQSxjQUFVO0NBQUE7T0FBWSxFQUFBO0NBQUEsQ0FBQSxJQUFBLEdBQUE7Q0FBQTtBQUN0QixJQUFXLDBCQUFvQjtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMvQixJQUFJLG1CQUFtQjtDQUFBO09BQVE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VB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O0VBQUE7RUFBQTtFQUFBO0VBQWdCO0VBQUE7RUFBUztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuTixJQUFRLE1BQVM7Q0FBQTtPQUFHO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNwQixJQUFHLE1BQUE7Q0FBQTtFQUFBLE1BQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ1JILElBQU8sV0FBYztDQUFBO09BQWE7RUFBQyxFQUFFO0VBQUU7RUFBZSxFQUFBO0VBQXdCLEVBQUM7RUFBYztDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQWdCO0VBQUE7RUFBUTtFQUFBO0VBQU87Q0FBQTs7OztBQ0E1SCxJQUFPLG1CQUFVO0NBQUE7T0FBaUIsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDbEMsSUFBSSxPQUFXO0NBQUE7T0FBTTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNyQixJQUFJLGFBQW9CO0NBQUM7T0FBQztFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxQixJQUFBLGFBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7Ozs7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O0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRnBFLElBQU8sa0JBQWlCO0NBQUE7T0FBaUI7RUFBQztFQUFpQjtFQUFFO0VBQWE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUUsSUFBSSxrQkFBcUI7Q0FBQTtPQUFVO0VBQUEsRUFBYTtFQUFVLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMxRCxJQUFJLGtCQUF1QjtDQUFBO09BQVU7RUFBQSxFQUFhO0VBQVUsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0g1RCxJQUFXLHVCQUF1QjtDQUFDO09BQUUsQ0FBQSw0QkFBbUIsRUFBQSxZQUEyQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUNuRixJQUFPLDZCQUFjO0NBQUE7T0FBOEI7RUFBQSxFQUFBO0VBQWEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRGhFLElBQVcsYUFBYTtDQUFDO09BQUUsQ0FBQSxrQkFBbUIsRUFBQSxZQUFpQjtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUMvRCxJQUFPLG1CQUFjO0NBQUE7T0FBb0I7RUFBQSxFQUFBO0VBQWEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRHRELElBQVcsUUFBUTtDQUFDO09BQUUsQ0FBQSxhQUFtQixFQUFBLFlBQVk7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDckQsSUFBTyxjQUFjO0NBQUE7T0FBZTtFQUFBLEVBQUE7RUFBYSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDRGpELElBQUEsYUFBaUI7Q0FBQTtPQUFXO0VBQUMsRUFBRTtFQUFjLEVBQUM7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUM5QyxJQUFJLGFBQWE7Q0FBQztPQUFDO0VBQUEsRUFBWTtFQUFXLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUEsRUFBQTtFQUFBLEVBQUE7RUFBQSxFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEakMsSUFBTyxRQUFRO0NBQUs7T0FBVSxFQUFFO0NBQUU7RUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDbkMsSUFBSSxjQUFVO0NBQUE7T0FBQSxDQUFBLFFBQUEsWUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0RkLElBQUEsYUFBZTtDQUFBO09BQU0sQ0FBQSxRQUFXLFdBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBOzs7O0FDQ2hDLElBQUksa0JBQWtCO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxhQUFVO0NBQUk7T0FBVSxDQUFDLFFBQVEsZ0JBQVc7Q0FBTztFQUFDO0VBQUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNENUQsSUFBSSxnQkFBYztDQUFHO0VBQUksTUFBQztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksV0FBVTtDQUFBO09BQU0sQ0FBTyxjQUFZO0NBQUk7RUFBQztFQUFJO0VBQUE7RUFBUTtFQUFJO0VBQUE7Q0FBQTs7OztBQ0Q1RCxJQUFJLHFCQUFxQjtDQUFDO0VBQUEsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksZ0JBQWdCO0NBQUE7T0FBVSxDQUFBLG1CQUFrQjtDQUFBO0VBQU07RUFBRztFQUFHO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0Y1RCxJQUFBLGtCQUFxQjtDQUFBO09BQUEsQ0FBQSxnQkFBZ0I7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FyQyxJQUFBLGtCQUFxQjtDQUFBO09BQUEsQ0FBQSxnQkFBZ0I7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FyQyxJQUFPLHlCQUFVO0NBQUE7T0FBdUIsQ0FBQSxPQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtBQUN4QyxJQUFJLGtCQUFpQjtDQUFBO09BQVE7RUFBQTtFQUFPO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0FwQyxJQUFVLDRCQUFNO0NBQUE7T0FBQSxFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ2hCLElBQVMsc0JBQU07Q0FBQTtPQUFBLENBQUEsMEJBQUE7Q0FBQSxDQUFBLElBQUEsR0FBQTtDQUFBO0FBQ2YsSUFBSSxzQkFBcUI7Q0FBQTtFQUFBLE1BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3pCLElBQUEsaUJBQUE7Q0FBQTtPQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNEQSxJQUFJLG9CQUFvQjtDQUFDO09BQUEsRUFBQTtDQUFBLENBQUEsSUFBQSxHQUFBO0NBQUE7QUFDekIsSUFBSSxjQUFjO0NBQUM7RUFBRyxNQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQ3RCLElBQUEsU0FBQTtDQUFBO09BQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNMQSxJQUFBLG1CQUFxQjtDQUFBO0VBQUEsTUFBQTtFQUFBO0VBQXFCO0VBQUE7RUFBcUI7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTs7OztBQ0MvRCxJQUFJLG9CQUFvQjtDQUFDO0VBQUMsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxlQUFlO0NBQUM7T0FBVSxDQUFBLGtCQUFrQjtDQUFBO0VBQUE7RUFBUztFQUFHO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7Ozs7QUNENUQsSUFBSSxZQUFZO0NBQUM7RUFBSSxNQUFLO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7QUFDMUIsSUFBSSxPQUFJO0NBQUE7T0FBWSxDQUFBLFVBQVU7Q0FBQTtFQUFNO0VBQUc7RUFBSztFQUFJO0VBQUE7Q0FBQTs7OztBQ0NoRCxJQUFJLGtCQUFrQjtDQUFDO0VBQUcsTUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0FBQzFCLElBQUksYUFBVTtDQUFJO09BQVM7RUFBQztFQUFFO0VBQWdCO0VBQUU7RUFBWTtDQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtDQUFBIn0=