@eide/foir-proto-ts 0.95.0 → 0.96.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-proto-ts",
3
- "version": "0.95.0",
3
+ "version": "0.96.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./common/v1/pagination_pb": "./src/common/v1/pagination_pb.js",
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
 
6
- import { AcceptShareRequest, AcceptShareResponse, BulkSetSettingsRequest, BulkSetSettingsResponse, CancelScheduledContextDimensionPublishRequest, CancelScheduledContextDimensionPublishResponse, CancelScheduledDesignTokensPublishRequest, CancelScheduledDesignTokensPublishResponse, CancelScheduledProfileSchemaPublishRequest, CancelScheduledProfileSchemaPublishResponse, ClearRecentlyOpenedRequest, ClearRecentlyOpenedResponse, CountDesignTokenReferencesRequest, CountDesignTokenReferencesResponse, CreateContextDimensionRequest, CreateContextDimensionResponse, CreateCustomerProfileRequest, CreateCustomerProfileResponse, CreateLocaleRequest, CreateLocaleResponse, CreateNoteRequest, CreateNoteResponse, CreateShareRequest, CreateShareResponse, CreateVariantCatalogEntryRequest, CreateVariantCatalogEntryResponse, DeclineShareRequest, DeclineShareResponse, DeleteContextDimensionRequest, DeleteContextDimensionResponse, DeleteCustomerProfileRequest, DeleteCustomerProfileResponse, DeleteLocaleRequest, DeleteLocaleResponse, DeleteNoteRequest, DeleteNoteResponse, DeleteSettingRequest, DeleteSettingResponse, DeleteSettingsByCategoryRequest, DeleteSettingsByCategoryResponse, DeleteVariantCatalogEntryRequest, DeleteVariantCatalogEntryResponse, EnsureDefaultVariantCatalogEntryRequest, EnsureDefaultVariantCatalogEntryResponse, GetContextDimensionByKeyRequest, GetContextDimensionByKeyResponse, GetContextDimensionPublishStatusRequest, GetContextDimensionPublishStatusResponse, GetContextDimensionRequest, GetContextDimensionResponse, GetContextDimensionValuesRequest, GetContextDimensionValuesResponse, GetContextDimensionVersionRequest, GetContextDimensionVersionResponse, GetCustomerProfileRequest, GetCustomerProfileResponse, GetCustomerProfileSchemaRequest, GetCustomerProfileSchemaResponse, GetCustomerResolutionAttributesRequest, GetCustomerResolutionAttributesResponse, GetDefaultLocaleRequest, GetDefaultLocaleResponse, GetDefaultVariantCatalogEntryRequest, GetDefaultVariantCatalogEntryResponse, GetDesignTokensPublishStatusRequest, GetDesignTokensPublishStatusResponse, GetDesignTokensRequest, GetDesignTokensResponse, GetEditorConfigsRequest, GetEditorConfigsResponse, GetLocaleByCodeRequest, GetLocaleByCodeResponse, GetLocaleRequest, GetLocaleResponse, GetNavPreferencesRequest, GetNavPreferencesResponse, GetNoteRequest, GetNoteResponse, GetProfileSchemaPublishStatusRequest, GetProfileSchemaPublishStatusResponse, GetProfileSchemaVersionRequest, GetProfileSchemaVersionResponse, GetProjectPublishStatusRequest, GetProjectPublishStatusResponse, GetProjectSchemaRequest, GetProjectSchemaResponse, GetSettingsRequest, GetSettingsResponse, GetShareRequest, GetShareResponse, GetVariantCatalogEntryRequest, GetVariantCatalogEntryResponse, ListAuditLogsRequest, ListAuditLogsResponse, ListContextDimensionsRequest, ListContextDimensionsResponse, ListContextDimensionVersionsRequest, ListContextDimensionVersionsResponse, ListLocalesRequest, ListLocalesResponse, ListMyMentionsRequest, ListMyMentionsResponse, ListNotesRequest, ListNotesResponse, ListProfileSchemaVersionsRequest, ListProfileSchemaVersionsResponse, ListRecentlyOpenedRequest, ListRecentlyOpenedResponse, ListSharesRequest, ListSharesResponse, ListVariantCatalogRequest, ListVariantCatalogResponse, MarkMentionsSeenRequest, MarkMentionsSeenResponse, PublishContextDimensionRequest, PublishContextDimensionResponse, PublishDesignTokensRequest, PublishDesignTokensResponse, PublishProfileSchemaRequest, PublishProfileSchemaResponse, PublishProjectSchemaRequest, PublishProjectSchemaResponse, RemoveRecentlyOpenedRequest, RemoveRecentlyOpenedResponse, ResolveNoteRequest, ResolveNoteResponse, RestoreContextDimensionVersionRequest, RestoreContextDimensionVersionResponse, RestoreProfileSchemaVersionRequest, RestoreProfileSchemaVersionResponse, RevokeShareRequest, RevokeShareResponse, ScheduleContextDimensionPublishRequest, ScheduleContextDimensionPublishResponse, ScheduleDesignTokensPublishRequest, ScheduleDesignTokensPublishResponse, ScheduleProfileSchemaPublishRequest, ScheduleProfileSchemaPublishResponse, SearchCustomerProfilesRequest, SearchCustomerProfilesResponse, SearchNotesRequest, SearchNotesResponse, TrackRecentlyOpenedRequest, TrackRecentlyOpenedResponse, UnpublishContextDimensionRequest, UnpublishContextDimensionResponse, UnpublishDesignTokensRequest, UnpublishDesignTokensResponse, UnpublishProfileSchemaRequest, UnpublishProfileSchemaResponse, UnresolveNoteRequest, UnresolveNoteResponse, UpdateContextDimensionRequest, UpdateContextDimensionResponse, UpdateCustomerProfileRequest, UpdateCustomerProfileResponse, UpdateCustomerProfileSchemaRequest, UpdateCustomerProfileSchemaResponse, UpdateDesignTokensRequest, UpdateDesignTokensResponse, UpdateLocaleRequest, UpdateLocaleResponse, UpdateMentionStatusRequest, UpdateMentionStatusResponse, UpdateNavPreferencesRequest, UpdateNavPreferencesResponse, UpdateNoteRequest, UpdateNoteResponse, UpdateSettingRequest, UpdateSettingResponse, UpdateShareRequest, UpdateShareResponse, UpdateVariantCatalogEntryRequest, UpdateVariantCatalogEntryResponse } from "./settings_pbjs";
6
+ import { AcceptShareRequest, AcceptShareResponse, BulkSetSettingsRequest, BulkSetSettingsResponse, CancelScheduledContextDimensionPublishRequest, CancelScheduledContextDimensionPublishResponse, CancelScheduledDesignTokensPublishRequest, CancelScheduledDesignTokensPublishResponse, CancelScheduledProfileSchemaPublishRequest, CancelScheduledProfileSchemaPublishResponse, ClearRecentlyOpenedRequest, ClearRecentlyOpenedResponse, CountDesignTokenReferencesRequest, CountDesignTokenReferencesResponse, CreateContextDimensionRequest, CreateContextDimensionResponse, CreateCustomerProfileRequest, CreateCustomerProfileResponse, CreateLocaleRequest, CreateLocaleResponse, CreateNoteRequest, CreateNoteResponse, CreateShareRequest, CreateShareResponse, CreateVariantCatalogEntryRequest, CreateVariantCatalogEntryResponse, DeclineShareRequest, DeclineShareResponse, DeleteContextDimensionRequest, DeleteContextDimensionResponse, DeleteCustomerProfileRequest, DeleteCustomerProfileResponse, DeleteLocaleRequest, DeleteLocaleResponse, DeleteNoteRequest, DeleteNoteResponse, DeleteSettingRequest, DeleteSettingResponse, DeleteSettingsByCategoryRequest, DeleteSettingsByCategoryResponse, DeleteVariantCatalogEntryRequest, DeleteVariantCatalogEntryResponse, EnsureDefaultVariantCatalogEntryRequest, EnsureDefaultVariantCatalogEntryResponse, GetContextDimensionByKeyRequest, GetContextDimensionByKeyResponse, GetContextDimensionPublishStatusRequest, GetContextDimensionPublishStatusResponse, GetContextDimensionRequest, GetContextDimensionResponse, GetContextDimensionValuesRequest, GetContextDimensionValuesResponse, GetContextDimensionVersionRequest, GetContextDimensionVersionResponse, GetCustomerProfileRequest, GetCustomerProfileResponse, GetCustomerProfileSchemaRequest, GetCustomerProfileSchemaResponse, GetCustomerResolutionAttributesRequest, GetCustomerResolutionAttributesResponse, GetDefaultLocaleRequest, GetDefaultLocaleResponse, GetDefaultVariantCatalogEntryRequest, GetDefaultVariantCatalogEntryResponse, GetDesignTokensPublishStatusRequest, GetDesignTokensPublishStatusResponse, GetDesignTokensRequest, GetDesignTokensResponse, GetDesignTokenVersionRequest, GetDesignTokenVersionResponse, GetEditorConfigsRequest, GetEditorConfigsResponse, GetLocaleByCodeRequest, GetLocaleByCodeResponse, GetLocaleRequest, GetLocaleResponse, GetNavPreferencesRequest, GetNavPreferencesResponse, GetNoteRequest, GetNoteResponse, GetProfileSchemaPublishStatusRequest, GetProfileSchemaPublishStatusResponse, GetProfileSchemaVersionRequest, GetProfileSchemaVersionResponse, GetProjectPublishStatusRequest, GetProjectPublishStatusResponse, GetProjectSchemaRequest, GetProjectSchemaResponse, GetSettingsRequest, GetSettingsResponse, GetShareRequest, GetShareResponse, GetVariantCatalogEntryRequest, GetVariantCatalogEntryResponse, ListAuditLogsRequest, ListAuditLogsResponse, ListContextDimensionsRequest, ListContextDimensionsResponse, ListContextDimensionVersionsRequest, ListContextDimensionVersionsResponse, ListDesignTokenVersionsRequest, ListDesignTokenVersionsResponse, ListLocalesRequest, ListLocalesResponse, ListMyMentionsRequest, ListMyMentionsResponse, ListNotesRequest, ListNotesResponse, ListProfileSchemaVersionsRequest, ListProfileSchemaVersionsResponse, ListRecentlyOpenedRequest, ListRecentlyOpenedResponse, ListSharesRequest, ListSharesResponse, ListVariantCatalogRequest, ListVariantCatalogResponse, MarkMentionsSeenRequest, MarkMentionsSeenResponse, PublishContextDimensionRequest, PublishContextDimensionResponse, PublishDesignTokensRequest, PublishDesignTokensResponse, PublishProfileSchemaRequest, PublishProfileSchemaResponse, PublishProjectSchemaRequest, PublishProjectSchemaResponse, RemoveRecentlyOpenedRequest, RemoveRecentlyOpenedResponse, ResolveNoteRequest, ResolveNoteResponse, RestoreContextDimensionVersionRequest, RestoreContextDimensionVersionResponse, RestoreDesignTokenVersionRequest, RestoreDesignTokenVersionResponse, RestoreProfileSchemaVersionRequest, RestoreProfileSchemaVersionResponse, RevokeShareRequest, RevokeShareResponse, ScheduleContextDimensionPublishRequest, ScheduleContextDimensionPublishResponse, ScheduleDesignTokensPublishRequest, ScheduleDesignTokensPublishResponse, ScheduleProfileSchemaPublishRequest, ScheduleProfileSchemaPublishResponse, SearchCustomerProfilesRequest, SearchCustomerProfilesResponse, SearchNotesRequest, SearchNotesResponse, TrackRecentlyOpenedRequest, TrackRecentlyOpenedResponse, UnpublishContextDimensionRequest, UnpublishContextDimensionResponse, UnpublishDesignTokensRequest, UnpublishDesignTokensResponse, UnpublishProfileSchemaRequest, UnpublishProfileSchemaResponse, UnresolveNoteRequest, UnresolveNoteResponse, UpdateContextDimensionRequest, UpdateContextDimensionResponse, UpdateCustomerProfileRequest, UpdateCustomerProfileResponse, UpdateCustomerProfileSchemaRequest, UpdateCustomerProfileSchemaResponse, UpdateDesignTokensRequest, UpdateDesignTokensResponse, UpdateLocaleRequest, UpdateLocaleResponse, UpdateMentionStatusRequest, UpdateMentionStatusResponse, UpdateNavPreferencesRequest, UpdateNavPreferencesResponse, UpdateNoteRequest, UpdateNoteResponse, UpdateSettingRequest, UpdateSettingResponse, UpdateShareRequest, UpdateShareResponse, UpdateVariantCatalogEntryRequest, UpdateVariantCatalogEntryResponse } from "./settings_pbjs";
7
7
  import { MethodKind } from "@bufbuild/protobuf";
8
8
 
9
9
  /**
@@ -841,6 +841,33 @@ export declare const SettingsService: {
841
841
  readonly O: typeof CountDesignTokenReferencesResponse,
842
842
  readonly kind: MethodKind.Unary,
843
843
  },
844
+ /**
845
+ * @generated from rpc settings.v1.SettingsService.GetDesignTokenVersion
846
+ */
847
+ readonly getDesignTokenVersion: {
848
+ readonly name: "GetDesignTokenVersion",
849
+ readonly I: typeof GetDesignTokenVersionRequest,
850
+ readonly O: typeof GetDesignTokenVersionResponse,
851
+ readonly kind: MethodKind.Unary,
852
+ },
853
+ /**
854
+ * @generated from rpc settings.v1.SettingsService.ListDesignTokenVersions
855
+ */
856
+ readonly listDesignTokenVersions: {
857
+ readonly name: "ListDesignTokenVersions",
858
+ readonly I: typeof ListDesignTokenVersionsRequest,
859
+ readonly O: typeof ListDesignTokenVersionsResponse,
860
+ readonly kind: MethodKind.Unary,
861
+ },
862
+ /**
863
+ * @generated from rpc settings.v1.SettingsService.RestoreDesignTokenVersion
864
+ */
865
+ readonly restoreDesignTokenVersion: {
866
+ readonly name: "RestoreDesignTokenVersion",
867
+ readonly I: typeof RestoreDesignTokenVersionRequest,
868
+ readonly O: typeof RestoreDesignTokenVersionResponse,
869
+ readonly kind: MethodKind.Unary,
870
+ },
844
871
  }
845
872
  };
846
873
 
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
 
6
- import { AcceptShareRequest, AcceptShareResponse, BulkSetSettingsRequest, BulkSetSettingsResponse, CancelScheduledContextDimensionPublishRequest, CancelScheduledContextDimensionPublishResponse, CancelScheduledDesignTokensPublishRequest, CancelScheduledDesignTokensPublishResponse, CancelScheduledProfileSchemaPublishRequest, CancelScheduledProfileSchemaPublishResponse, ClearRecentlyOpenedRequest, ClearRecentlyOpenedResponse, CountDesignTokenReferencesRequest, CountDesignTokenReferencesResponse, CreateContextDimensionRequest, CreateContextDimensionResponse, CreateCustomerProfileRequest, CreateCustomerProfileResponse, CreateLocaleRequest, CreateLocaleResponse, CreateNoteRequest, CreateNoteResponse, CreateShareRequest, CreateShareResponse, CreateVariantCatalogEntryRequest, CreateVariantCatalogEntryResponse, DeclineShareRequest, DeclineShareResponse, DeleteContextDimensionRequest, DeleteContextDimensionResponse, DeleteCustomerProfileRequest, DeleteCustomerProfileResponse, DeleteLocaleRequest, DeleteLocaleResponse, DeleteNoteRequest, DeleteNoteResponse, DeleteSettingRequest, DeleteSettingResponse, DeleteSettingsByCategoryRequest, DeleteSettingsByCategoryResponse, DeleteVariantCatalogEntryRequest, DeleteVariantCatalogEntryResponse, EnsureDefaultVariantCatalogEntryRequest, EnsureDefaultVariantCatalogEntryResponse, GetContextDimensionByKeyRequest, GetContextDimensionByKeyResponse, GetContextDimensionPublishStatusRequest, GetContextDimensionPublishStatusResponse, GetContextDimensionRequest, GetContextDimensionResponse, GetContextDimensionValuesRequest, GetContextDimensionValuesResponse, GetContextDimensionVersionRequest, GetContextDimensionVersionResponse, GetCustomerProfileRequest, GetCustomerProfileResponse, GetCustomerProfileSchemaRequest, GetCustomerProfileSchemaResponse, GetCustomerResolutionAttributesRequest, GetCustomerResolutionAttributesResponse, GetDefaultLocaleRequest, GetDefaultLocaleResponse, GetDefaultVariantCatalogEntryRequest, GetDefaultVariantCatalogEntryResponse, GetDesignTokensPublishStatusRequest, GetDesignTokensPublishStatusResponse, GetDesignTokensRequest, GetDesignTokensResponse, GetEditorConfigsRequest, GetEditorConfigsResponse, GetLocaleByCodeRequest, GetLocaleByCodeResponse, GetLocaleRequest, GetLocaleResponse, GetNavPreferencesRequest, GetNavPreferencesResponse, GetNoteRequest, GetNoteResponse, GetProfileSchemaPublishStatusRequest, GetProfileSchemaPublishStatusResponse, GetProfileSchemaVersionRequest, GetProfileSchemaVersionResponse, GetProjectPublishStatusRequest, GetProjectPublishStatusResponse, GetProjectSchemaRequest, GetProjectSchemaResponse, GetSettingsRequest, GetSettingsResponse, GetShareRequest, GetShareResponse, GetVariantCatalogEntryRequest, GetVariantCatalogEntryResponse, ListAuditLogsRequest, ListAuditLogsResponse, ListContextDimensionsRequest, ListContextDimensionsResponse, ListContextDimensionVersionsRequest, ListContextDimensionVersionsResponse, ListLocalesRequest, ListLocalesResponse, ListMyMentionsRequest, ListMyMentionsResponse, ListNotesRequest, ListNotesResponse, ListProfileSchemaVersionsRequest, ListProfileSchemaVersionsResponse, ListRecentlyOpenedRequest, ListRecentlyOpenedResponse, ListSharesRequest, ListSharesResponse, ListVariantCatalogRequest, ListVariantCatalogResponse, MarkMentionsSeenRequest, MarkMentionsSeenResponse, PublishContextDimensionRequest, PublishContextDimensionResponse, PublishDesignTokensRequest, PublishDesignTokensResponse, PublishProfileSchemaRequest, PublishProfileSchemaResponse, PublishProjectSchemaRequest, PublishProjectSchemaResponse, RemoveRecentlyOpenedRequest, RemoveRecentlyOpenedResponse, ResolveNoteRequest, ResolveNoteResponse, RestoreContextDimensionVersionRequest, RestoreContextDimensionVersionResponse, RestoreProfileSchemaVersionRequest, RestoreProfileSchemaVersionResponse, RevokeShareRequest, RevokeShareResponse, ScheduleContextDimensionPublishRequest, ScheduleContextDimensionPublishResponse, ScheduleDesignTokensPublishRequest, ScheduleDesignTokensPublishResponse, ScheduleProfileSchemaPublishRequest, ScheduleProfileSchemaPublishResponse, SearchCustomerProfilesRequest, SearchCustomerProfilesResponse, SearchNotesRequest, SearchNotesResponse, TrackRecentlyOpenedRequest, TrackRecentlyOpenedResponse, UnpublishContextDimensionRequest, UnpublishContextDimensionResponse, UnpublishDesignTokensRequest, UnpublishDesignTokensResponse, UnpublishProfileSchemaRequest, UnpublishProfileSchemaResponse, UnresolveNoteRequest, UnresolveNoteResponse, UpdateContextDimensionRequest, UpdateContextDimensionResponse, UpdateCustomerProfileRequest, UpdateCustomerProfileResponse, UpdateCustomerProfileSchemaRequest, UpdateCustomerProfileSchemaResponse, UpdateDesignTokensRequest, UpdateDesignTokensResponse, UpdateLocaleRequest, UpdateLocaleResponse, UpdateMentionStatusRequest, UpdateMentionStatusResponse, UpdateNavPreferencesRequest, UpdateNavPreferencesResponse, UpdateNoteRequest, UpdateNoteResponse, UpdateSettingRequest, UpdateSettingResponse, UpdateShareRequest, UpdateShareResponse, UpdateVariantCatalogEntryRequest, UpdateVariantCatalogEntryResponse } from "./settings_pbjs";
6
+ import { AcceptShareRequest, AcceptShareResponse, BulkSetSettingsRequest, BulkSetSettingsResponse, CancelScheduledContextDimensionPublishRequest, CancelScheduledContextDimensionPublishResponse, CancelScheduledDesignTokensPublishRequest, CancelScheduledDesignTokensPublishResponse, CancelScheduledProfileSchemaPublishRequest, CancelScheduledProfileSchemaPublishResponse, ClearRecentlyOpenedRequest, ClearRecentlyOpenedResponse, CountDesignTokenReferencesRequest, CountDesignTokenReferencesResponse, CreateContextDimensionRequest, CreateContextDimensionResponse, CreateCustomerProfileRequest, CreateCustomerProfileResponse, CreateLocaleRequest, CreateLocaleResponse, CreateNoteRequest, CreateNoteResponse, CreateShareRequest, CreateShareResponse, CreateVariantCatalogEntryRequest, CreateVariantCatalogEntryResponse, DeclineShareRequest, DeclineShareResponse, DeleteContextDimensionRequest, DeleteContextDimensionResponse, DeleteCustomerProfileRequest, DeleteCustomerProfileResponse, DeleteLocaleRequest, DeleteLocaleResponse, DeleteNoteRequest, DeleteNoteResponse, DeleteSettingRequest, DeleteSettingResponse, DeleteSettingsByCategoryRequest, DeleteSettingsByCategoryResponse, DeleteVariantCatalogEntryRequest, DeleteVariantCatalogEntryResponse, EnsureDefaultVariantCatalogEntryRequest, EnsureDefaultVariantCatalogEntryResponse, GetContextDimensionByKeyRequest, GetContextDimensionByKeyResponse, GetContextDimensionPublishStatusRequest, GetContextDimensionPublishStatusResponse, GetContextDimensionRequest, GetContextDimensionResponse, GetContextDimensionValuesRequest, GetContextDimensionValuesResponse, GetContextDimensionVersionRequest, GetContextDimensionVersionResponse, GetCustomerProfileRequest, GetCustomerProfileResponse, GetCustomerProfileSchemaRequest, GetCustomerProfileSchemaResponse, GetCustomerResolutionAttributesRequest, GetCustomerResolutionAttributesResponse, GetDefaultLocaleRequest, GetDefaultLocaleResponse, GetDefaultVariantCatalogEntryRequest, GetDefaultVariantCatalogEntryResponse, GetDesignTokensPublishStatusRequest, GetDesignTokensPublishStatusResponse, GetDesignTokensRequest, GetDesignTokensResponse, GetDesignTokenVersionRequest, GetDesignTokenVersionResponse, GetEditorConfigsRequest, GetEditorConfigsResponse, GetLocaleByCodeRequest, GetLocaleByCodeResponse, GetLocaleRequest, GetLocaleResponse, GetNavPreferencesRequest, GetNavPreferencesResponse, GetNoteRequest, GetNoteResponse, GetProfileSchemaPublishStatusRequest, GetProfileSchemaPublishStatusResponse, GetProfileSchemaVersionRequest, GetProfileSchemaVersionResponse, GetProjectPublishStatusRequest, GetProjectPublishStatusResponse, GetProjectSchemaRequest, GetProjectSchemaResponse, GetSettingsRequest, GetSettingsResponse, GetShareRequest, GetShareResponse, GetVariantCatalogEntryRequest, GetVariantCatalogEntryResponse, ListAuditLogsRequest, ListAuditLogsResponse, ListContextDimensionsRequest, ListContextDimensionsResponse, ListContextDimensionVersionsRequest, ListContextDimensionVersionsResponse, ListDesignTokenVersionsRequest, ListDesignTokenVersionsResponse, ListLocalesRequest, ListLocalesResponse, ListMyMentionsRequest, ListMyMentionsResponse, ListNotesRequest, ListNotesResponse, ListProfileSchemaVersionsRequest, ListProfileSchemaVersionsResponse, ListRecentlyOpenedRequest, ListRecentlyOpenedResponse, ListSharesRequest, ListSharesResponse, ListVariantCatalogRequest, ListVariantCatalogResponse, MarkMentionsSeenRequest, MarkMentionsSeenResponse, PublishContextDimensionRequest, PublishContextDimensionResponse, PublishDesignTokensRequest, PublishDesignTokensResponse, PublishProfileSchemaRequest, PublishProfileSchemaResponse, PublishProjectSchemaRequest, PublishProjectSchemaResponse, RemoveRecentlyOpenedRequest, RemoveRecentlyOpenedResponse, ResolveNoteRequest, ResolveNoteResponse, RestoreContextDimensionVersionRequest, RestoreContextDimensionVersionResponse, RestoreDesignTokenVersionRequest, RestoreDesignTokenVersionResponse, RestoreProfileSchemaVersionRequest, RestoreProfileSchemaVersionResponse, RevokeShareRequest, RevokeShareResponse, ScheduleContextDimensionPublishRequest, ScheduleContextDimensionPublishResponse, ScheduleDesignTokensPublishRequest, ScheduleDesignTokensPublishResponse, ScheduleProfileSchemaPublishRequest, ScheduleProfileSchemaPublishResponse, SearchCustomerProfilesRequest, SearchCustomerProfilesResponse, SearchNotesRequest, SearchNotesResponse, TrackRecentlyOpenedRequest, TrackRecentlyOpenedResponse, UnpublishContextDimensionRequest, UnpublishContextDimensionResponse, UnpublishDesignTokensRequest, UnpublishDesignTokensResponse, UnpublishProfileSchemaRequest, UnpublishProfileSchemaResponse, UnresolveNoteRequest, UnresolveNoteResponse, UpdateContextDimensionRequest, UpdateContextDimensionResponse, UpdateCustomerProfileRequest, UpdateCustomerProfileResponse, UpdateCustomerProfileSchemaRequest, UpdateCustomerProfileSchemaResponse, UpdateDesignTokensRequest, UpdateDesignTokensResponse, UpdateLocaleRequest, UpdateLocaleResponse, UpdateMentionStatusRequest, UpdateMentionStatusResponse, UpdateNavPreferencesRequest, UpdateNavPreferencesResponse, UpdateNoteRequest, UpdateNoteResponse, UpdateSettingRequest, UpdateSettingResponse, UpdateShareRequest, UpdateShareResponse, UpdateVariantCatalogEntryRequest, UpdateVariantCatalogEntryResponse } from "./settings_pbjs";
7
7
  import { MethodKind } from "@bufbuild/protobuf";
8
8
 
9
9
  /**
@@ -841,6 +841,33 @@ export const SettingsService = {
841
841
  O: CountDesignTokenReferencesResponse,
842
842
  kind: MethodKind.Unary,
843
843
  },
844
+ /**
845
+ * @generated from rpc settings.v1.SettingsService.GetDesignTokenVersion
846
+ */
847
+ getDesignTokenVersion: {
848
+ name: "GetDesignTokenVersion",
849
+ I: GetDesignTokenVersionRequest,
850
+ O: GetDesignTokenVersionResponse,
851
+ kind: MethodKind.Unary,
852
+ },
853
+ /**
854
+ * @generated from rpc settings.v1.SettingsService.ListDesignTokenVersions
855
+ */
856
+ listDesignTokenVersions: {
857
+ name: "ListDesignTokenVersions",
858
+ I: ListDesignTokenVersionsRequest,
859
+ O: ListDesignTokenVersionsResponse,
860
+ kind: MethodKind.Unary,
861
+ },
862
+ /**
863
+ * @generated from rpc settings.v1.SettingsService.RestoreDesignTokenVersion
864
+ */
865
+ restoreDesignTokenVersion: {
866
+ name: "RestoreDesignTokenVersion",
867
+ I: RestoreDesignTokenVersionRequest,
868
+ O: RestoreDesignTokenVersionResponse,
869
+ kind: MethodKind.Unary,
870
+ },
844
871
  }
845
872
  };
846
873
 
@@ -4616,6 +4616,198 @@ export declare type CountDesignTokenReferencesResponse = Message<"settings.v1.Co
4616
4616
  */
4617
4617
  export declare const CountDesignTokenReferencesResponseSchema: GenMessage<CountDesignTokenReferencesResponse>;
4618
4618
 
4619
+ /**
4620
+ * @generated from message settings.v1.DesignTokenVersion
4621
+ */
4622
+ export declare type DesignTokenVersion = Message<"settings.v1.DesignTokenVersion"> & {
4623
+ /**
4624
+ * @generated from field: string id = 1;
4625
+ */
4626
+ id: string;
4627
+
4628
+ /**
4629
+ * @generated from field: string design_tokens_id = 2;
4630
+ */
4631
+ designTokensId: string;
4632
+
4633
+ /**
4634
+ * @generated from field: int32 version_number = 3;
4635
+ */
4636
+ versionNumber: number;
4637
+
4638
+ /**
4639
+ * @generated from field: google.protobuf.Struct snapshot = 4;
4640
+ */
4641
+ snapshot?: JsonObject | undefined;
4642
+
4643
+ /**
4644
+ * @generated from field: string content_hash = 5;
4645
+ */
4646
+ contentHash: string;
4647
+
4648
+ /**
4649
+ * @generated from field: optional string source_version_id = 6;
4650
+ */
4651
+ sourceVersionId?: string | undefined;
4652
+
4653
+ /**
4654
+ * @generated from field: optional string change_description = 7;
4655
+ */
4656
+ changeDescription?: string | undefined;
4657
+
4658
+ /**
4659
+ * @generated from field: google.protobuf.Timestamp created_at = 8;
4660
+ */
4661
+ createdAt?: Timestamp | undefined;
4662
+
4663
+ /**
4664
+ * @generated from field: optional string created_by = 9;
4665
+ */
4666
+ createdBy?: string | undefined;
4667
+ };
4668
+
4669
+ /**
4670
+ * Describes the message settings.v1.DesignTokenVersion.
4671
+ * Use `create(DesignTokenVersionSchema)` to create a new message.
4672
+ */
4673
+ export declare const DesignTokenVersionSchema: GenMessage<DesignTokenVersion>;
4674
+
4675
+ /**
4676
+ * @generated from message settings.v1.GetDesignTokenVersionRequest
4677
+ */
4678
+ export declare type GetDesignTokenVersionRequest = Message<"settings.v1.GetDesignTokenVersionRequest"> & {
4679
+ /**
4680
+ * @generated from field: string id = 1;
4681
+ */
4682
+ id: string;
4683
+ };
4684
+
4685
+ /**
4686
+ * Describes the message settings.v1.GetDesignTokenVersionRequest.
4687
+ * Use `create(GetDesignTokenVersionRequestSchema)` to create a new message.
4688
+ */
4689
+ export declare const GetDesignTokenVersionRequestSchema: GenMessage<GetDesignTokenVersionRequest>;
4690
+
4691
+ /**
4692
+ * @generated from message settings.v1.GetDesignTokenVersionResponse
4693
+ */
4694
+ export declare type GetDesignTokenVersionResponse = Message<"settings.v1.GetDesignTokenVersionResponse"> & {
4695
+ /**
4696
+ * @generated from field: settings.v1.DesignTokenVersion version = 1;
4697
+ */
4698
+ version?: DesignTokenVersion | undefined;
4699
+ };
4700
+
4701
+ /**
4702
+ * Describes the message settings.v1.GetDesignTokenVersionResponse.
4703
+ * Use `create(GetDesignTokenVersionResponseSchema)` to create a new message.
4704
+ */
4705
+ export declare const GetDesignTokenVersionResponseSchema: GenMessage<GetDesignTokenVersionResponse>;
4706
+
4707
+ /**
4708
+ * @generated from message settings.v1.ListDesignTokenVersionsRequest
4709
+ */
4710
+ export declare type ListDesignTokenVersionsRequest = Message<"settings.v1.ListDesignTokenVersionsRequest"> & {
4711
+ /**
4712
+ * @generated from field: optional string after = 1;
4713
+ */
4714
+ after?: string | undefined;
4715
+
4716
+ /**
4717
+ * @generated from field: optional string before = 2;
4718
+ */
4719
+ before?: string | undefined;
4720
+
4721
+ /**
4722
+ * @generated from field: optional int32 first = 3;
4723
+ */
4724
+ first?: number | undefined;
4725
+
4726
+ /**
4727
+ * @generated from field: optional int32 last = 4;
4728
+ */
4729
+ last?: number | undefined;
4730
+ };
4731
+
4732
+ /**
4733
+ * Describes the message settings.v1.ListDesignTokenVersionsRequest.
4734
+ * Use `create(ListDesignTokenVersionsRequestSchema)` to create a new message.
4735
+ */
4736
+ export declare const ListDesignTokenVersionsRequestSchema: GenMessage<ListDesignTokenVersionsRequest>;
4737
+
4738
+ /**
4739
+ * @generated from message settings.v1.ListDesignTokenVersionsResponse
4740
+ */
4741
+ export declare type ListDesignTokenVersionsResponse = Message<"settings.v1.ListDesignTokenVersionsResponse"> & {
4742
+ /**
4743
+ * @generated from field: repeated settings.v1.DesignTokenVersion versions = 1;
4744
+ */
4745
+ versions: DesignTokenVersion[];
4746
+
4747
+ /**
4748
+ * @generated from field: int32 total = 2;
4749
+ */
4750
+ total: number;
4751
+
4752
+ /**
4753
+ * @generated from field: optional common.v1.PageInfo page_info = 3;
4754
+ */
4755
+ pageInfo?: PageInfo | undefined;
4756
+
4757
+ /**
4758
+ * @generated from field: repeated string cursors = 4;
4759
+ */
4760
+ cursors: string[];
4761
+ };
4762
+
4763
+ /**
4764
+ * Describes the message settings.v1.ListDesignTokenVersionsResponse.
4765
+ * Use `create(ListDesignTokenVersionsResponseSchema)` to create a new message.
4766
+ */
4767
+ export declare const ListDesignTokenVersionsResponseSchema: GenMessage<ListDesignTokenVersionsResponse>;
4768
+
4769
+ /**
4770
+ * @generated from message settings.v1.RestoreDesignTokenVersionRequest
4771
+ */
4772
+ export declare type RestoreDesignTokenVersionRequest = Message<"settings.v1.RestoreDesignTokenVersionRequest"> & {
4773
+ /**
4774
+ * @generated from field: string version_id = 1;
4775
+ */
4776
+ versionId: string;
4777
+
4778
+ /**
4779
+ * @generated from field: optional string change_description = 2;
4780
+ */
4781
+ changeDescription?: string | undefined;
4782
+ };
4783
+
4784
+ /**
4785
+ * Describes the message settings.v1.RestoreDesignTokenVersionRequest.
4786
+ * Use `create(RestoreDesignTokenVersionRequestSchema)` to create a new message.
4787
+ */
4788
+ export declare const RestoreDesignTokenVersionRequestSchema: GenMessage<RestoreDesignTokenVersionRequest>;
4789
+
4790
+ /**
4791
+ * @generated from message settings.v1.RestoreDesignTokenVersionResponse
4792
+ */
4793
+ export declare type RestoreDesignTokenVersionResponse = Message<"settings.v1.RestoreDesignTokenVersionResponse"> & {
4794
+ /**
4795
+ * @generated from field: settings.v1.DesignTokens tokens = 1;
4796
+ */
4797
+ tokens?: DesignTokens | undefined;
4798
+
4799
+ /**
4800
+ * @generated from field: settings.v1.DesignTokenVersion new_version = 2;
4801
+ */
4802
+ newVersion?: DesignTokenVersion | undefined;
4803
+ };
4804
+
4805
+ /**
4806
+ * Describes the message settings.v1.RestoreDesignTokenVersionResponse.
4807
+ * Use `create(RestoreDesignTokenVersionResponseSchema)` to create a new message.
4808
+ */
4809
+ export declare const RestoreDesignTokenVersionResponseSchema: GenMessage<RestoreDesignTokenVersionResponse>;
4810
+
4619
4811
  /**
4620
4812
  * @generated from message settings.v1.GetProjectSchemaRequest
4621
4813
  */
@@ -6570,5 +6762,29 @@ export declare const SettingsService: GenService<{
6570
6762
  input: typeof CountDesignTokenReferencesRequestSchema;
6571
6763
  output: typeof CountDesignTokenReferencesResponseSchema;
6572
6764
  },
6765
+ /**
6766
+ * @generated from rpc settings.v1.SettingsService.GetDesignTokenVersion
6767
+ */
6768
+ getDesignTokenVersion: {
6769
+ methodKind: "unary";
6770
+ input: typeof GetDesignTokenVersionRequestSchema;
6771
+ output: typeof GetDesignTokenVersionResponseSchema;
6772
+ },
6773
+ /**
6774
+ * @generated from rpc settings.v1.SettingsService.ListDesignTokenVersions
6775
+ */
6776
+ listDesignTokenVersions: {
6777
+ methodKind: "unary";
6778
+ input: typeof ListDesignTokenVersionsRequestSchema;
6779
+ output: typeof ListDesignTokenVersionsResponseSchema;
6780
+ },
6781
+ /**
6782
+ * @generated from rpc settings.v1.SettingsService.RestoreDesignTokenVersion
6783
+ */
6784
+ restoreDesignTokenVersion: {
6785
+ methodKind: "unary";
6786
+ input: typeof RestoreDesignTokenVersionRequestSchema;
6787
+ output: typeof RestoreDesignTokenVersionResponseSchema;
6788
+ },
6573
6789
  }>;
6574
6790
 
@@ -12,7 +12,7 @@ import { file_common_v1_pagination } from "../../common/v1/pagination_pb.js";
12
12
  * Describes the file settings/v1/settings.proto.
13
13
  */
14
14
  export const file_settings_v1_settings = /*@__PURE__*/
15
- fileDesc("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKdBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKY3JlYXRlZF9ieRgoIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIVChNfZW50aXR5X25hdHVyYWxfa2V5Qg0KC192ZXJzaW9uX2lkQhUKE19jb250ZW50X3BsYWluX3RleHRCEQoPX3BhcmVudF9ub3RlX2lkQhEKD190aHJlYWRfcm9vdF9pZEIOCgxfcmVzb2x2ZWRfYXRCDgoMX3Jlc29sdmVkX2J5QgsKCV9tZXRhZGF0YUINCgtfcHJvamVjdF9pZCKqBQoFU2hhcmUSCgoCaWQYASABKAkSNQoNcmVzb3VyY2VfdHlwZRgCIAEoDjIeLnNldHRpbmdzLnYxLlNoYXJlUmVzb3VyY2VUeXBlEhYKCXJlY29yZF9pZBgDIAEoCUgAiAEBEhQKB2ZpbGVfaWQYBCABKAlIAYgBARIWCgltb2RlbF9rZXkYBSABKAlIAogBARIfChdzaGFyZWRfd2l0aF9jdXN0b21lcl9pZBgGIAEoCRIwCgpwZXJtaXNzaW9uGAcgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uEigKBnN0YXR1cxgKIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzEjQKC2FjY2VwdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjMKCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgFiAEBEhcKCnJldm9rZWRfYnkYHyABKAlIBogBARIzCgpyZXZva2VkX2F0GCAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWRCDAoKX21vZGVsX2tleUIOCgxfYWNjZXB0ZWRfYXRCDQoLX2V4cGlyZXNfYXRCDQoLX2NyZWF0ZWRfYnlCDQoLX3Jldm9rZWRfYnlCDQoLX3Jldm9rZWRfYXQiUgoSR2V0U2V0dGluZ3NSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESEAoDa2V5GAIgASgJSAGIAQFCCwoJX2NhdGVnb3J5QgYKBF9rZXkiPQoTR2V0U2V0dGluZ3NSZXNwb25zZRImCghzZXR0aW5ncxgBIAMoCzIULnNldHRpbmdzLnYxLlNldHRpbmciSwoUVXBkYXRlU2V0dGluZ1JlcXVlc3QSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI+ChVVcGRhdGVTZXR0aW5nUmVzcG9uc2USJQoHc2V0dGluZxgBIAEoCzIULnNldHRpbmdzLnYxLlNldHRpbmcixQEKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKXAQoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEiMKBGxvZ3MYASADKAsyFS5zZXR0aW5ncy52MS5BdWRpdExvZxINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ilQEKEUNyZWF0ZU5vdGVSZXF1ZXN0EhMKC2VudGl0eV90eXBlGAEgASgJEhEKCWVudGl0eV9pZBgCIAEoCRIoCgdjb250ZW50GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIbCg5wYXJlbnRfbm90ZV9pZBgEIAEoCUgAiAEBQhEKD19wYXJlbnRfbm90ZV9pZCI1ChJDcmVhdGVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiHAoOR2V0Tm90ZVJlcXVlc3QSCgoCaWQYASABKAkiMgoPR2V0Tm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIsEBChBMaXN0Tm90ZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAQgASgJSAGIAQESEwoGYmVmb3JlGAUgASgJSAKIAQESEgoFZmlyc3QYBiABKAVIA4gBARIRCgRsYXN0GAcgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKQAQoRTGlzdE5vdGVzUmVzcG9uc2USIAoFbm90ZXMYASADKAsyES5zZXR0aW5ncy52MS5Ob3RlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKEAQoRVXBkYXRlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkSLQoHY29udGVudBgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIYCgtpc19yZXNvbHZlZBgDIAEoCEgBiAEBQgoKCF9jb250ZW50Qg4KDF9pc19yZXNvbHZlZCI1ChJVcGRhdGVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiHwoRRGVsZXRlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkiJQoSRGVsZXRlTm90ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirAUKC05vdGVNZW50aW9uEgoKAmlkGAEgASgJEg8KB25vdGVfaWQYAiABKAkSGQoRbWVudGlvbmVkX3VzZXJfaWQYAyABKAkSDgoGc3RhdHVzGAQgASgJEjAKB3NlZW5fYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESOAoPYWNrbm93bGVkZ2VkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjUKDGNvbXBsZXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIbCg5jb21wbGV0ZWRfbm90ZRgIIAEoCUgDiAEBEjUKDGRpc21pc3NlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIbCg5kaXNtaXNzX3JlYXNvbhgKIAEoCUgFiAEBEjEKCGR1ZV9kYXRlGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAeIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3NlZW5fYXRCEgoQX2Fja25vd2xlZGdlZF9hdEIPCg1fY29tcGxldGVkX2F0QhEKD19jb21wbGV0ZWRfbm90ZUIPCg1fZGlzbWlzc2VkX2F0QhEKD19kaXNtaXNzX3JlYXNvbkILCglfZHVlX2RhdGVCDQoLX3Byb2plY3RfaWQi2gEKEk1lbnRpb25XaXRoQ29udGV4dBIpCgdtZW50aW9uGAEgASgLMhguc2V0dGluZ3MudjEuTm90ZU1lbnRpb24SHwoEbm90ZRgCIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUSGAoLYXV0aG9yX25hbWUYAyABKAlIAIgBARIYCgtlbnRpdHlfdHlwZRgEIAEoCUgBiAEBEhYKCWVudGl0eV9pZBgFIAEoCUgCiAEBQg4KDF9hdXRob3JfbmFtZUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZCJPCg1NZW50aW9uQ291bnRzEg8KB3BlbmRpbmcYASABKAUSEAoIcGFzdF9kdWUYAiABKAUSGwoTY29tcGxldGVkX3RoaXNfd2VlaxgDIAEoBSLGAQoVTGlzdE15TWVudGlvbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCLPAQoWTGlzdE15TWVudGlvbnNSZXNwb25zZRIuCgVpdGVtcxgBIAMoCzIfLnNldHRpbmdzLnYxLk1lbnRpb25XaXRoQ29udGV4dBINCgV0b3RhbBgCIAEoBRIqCgZjb3VudHMYAyABKAsyGi5zZXR0aW5ncy52MS5NZW50aW9uQ291bnRzEisKCXBhZ2VfaW5mbxgEIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBSADKAlCDAoKX3BhZ2VfaW5mbyKgAQoaVXBkYXRlTWVudGlvblN0YXR1c1JlcXVlc3QSEgoKbWVudGlvbl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSGwoOY29tcGxldGVkX25vdGUYAyABKAlIAIgBARIbCg5kaXNtaXNzX3JlYXNvbhgEIAEoCUgBiAEBQhEKD19jb21wbGV0ZWRfbm90ZUIRCg9fZGlzbWlzc19yZWFzb24iSAobVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEikKB21lbnRpb24YASABKAsyGC5zZXR0aW5ncy52MS5Ob3RlTWVudGlvbiLaAQoSQ3JlYXRlU2hhcmVSZXF1ZXN0EjUKDXJlc291cmNlX3R5cGUYASABKA4yHi5zZXR0aW5ncy52MS5TaGFyZVJlc291cmNlVHlwZRIWCglyZWNvcmRfaWQYAiABKAlIAIgBARIUCgdmaWxlX2lkGAMgASgJSAGIAQESEwoLY3VzdG9tZXJfaWQYBCABKAkSMAoKcGVybWlzc2lvbhgFIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkIMCgpfcmVjb3JkX2lkQgoKCF9maWxlX2lkIjgKE0NyZWF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIdCg9HZXRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiNQoQR2V0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIsIBChFMaXN0U2hhcmVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhIKBWZpcnN0GAYgASgFSAOIAQESEQoEbGFzdBgHIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikwEKEkxpc3RTaGFyZXNSZXNwb25zZRIiCgZzaGFyZXMYASADKAsyEi5zZXR0aW5ncy52MS5TaGFyZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ioAEKElVwZGF0ZVNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCRI1CgpwZXJtaXNzaW9uGAIgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uSACIAQESLQoGc3RhdHVzGAMgASgOMhguc2V0dGluZ3MudjEuU2hhcmVTdGF0dXNIAYgBAUINCgtfcGVybWlzc2lvbkIJCgdfc3RhdHVzIjgKE1VwZGF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIgChJSZXZva2VTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiJgoTUmV2b2tlU2hhcmVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiAKEkFjY2VwdFNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChNBY2NlcHRTaGFyZVJlc3BvbnNlEiEKBXNoYXJlGAEgASgLMhIuc2V0dGluZ3MudjEuU2hhcmUiIQoTRGVjbGluZVNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCSI5ChREZWNsaW5lU2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIr8DCgZMb2NhbGUSCgoCaWQYASABKAkSDgoGbG9jYWxlGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIYCgtuYXRpdmVfbmFtZRgEIAEoCUgAiAEBEhIKCmlzX2RlZmF1bHQYBSABKAgSEQoJaXNfYWN0aXZlGAYgASgIEg4KBmlzX3J0bBgHIAEoCBIcCg9mYWxsYmFja19sb2NhbGUYCCABKAlIAYgBARIZChFmYWxsYmFja19wcmlvcml0eRgJIAEoBRIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIXCgpjcmVhdGVkX2J5GB4gASgJSAKIAQESFwoKdXBkYXRlZF9ieRgfIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9uYXRpdmVfbmFtZUISChBfZmFsbGJhY2tfbG9jYWxlQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IsMBChJMaXN0TG9jYWxlc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpYBChNMaXN0TG9jYWxlc1Jlc3BvbnNlEiQKB2xvY2FsZXMYASADKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIh4KEEdldExvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkiOAoRR2V0TG9jYWxlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIt8BChNDcmVhdGVMb2NhbGVSZXF1ZXN0Eg4KBmxvY2FsZRgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSGAoLbmF0aXZlX25hbWUYAyABKAlIAIgBARIXCgppc19kZWZhdWx0GAQgASgISAGIAQESEwoGaXNfcnRsGAUgASgISAKIAQESHAoPZmFsbGJhY2tfbG9jYWxlGAYgASgJSAOIAQFCDgoMX25hdGl2ZV9uYW1lQg0KC19pc19kZWZhdWx0QgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRDcmVhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUilwIKE1VwZGF0ZUxvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkSGQoMZGlzcGxheV9uYW1lGAIgASgJSACIAQESGAoLbmF0aXZlX25hbWUYAyABKAlIAYgBARIXCgppc19kZWZhdWx0GAQgASgISAKIAQESFgoJaXNfYWN0aXZlGAUgASgISAOIAQESEwoGaXNfcnRsGAYgASgISASIAQESHAoPZmFsbGJhY2tfbG9jYWxlGAcgASgJSAWIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZUIJCgdfaXNfcnRsQhIKEF9mYWxsYmFja19sb2NhbGUiOwoUVXBkYXRlTG9jYWxlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiEKE0RlbGV0ZUxvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkiJwoURGVsZXRlTG9jYWxlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKUAQoOTmF2UHJlZmVyZW5jZXMSGQoRZmF2b3JpdGVfcHJvamVjdHMYASADKAkSGgoSZmF2b3JpdGVfbmF2X2l0ZW1zGAIgAygJEhoKEmNvbGxhcHNlZF9zZWN0aW9ucxgDIAMoCRIvCg5uYXZfaXRlbV9vcmRlchgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiGgoYR2V0TmF2UHJlZmVyZW5jZXNSZXF1ZXN0Ik0KGUdldE5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyL8AQobVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXF1ZXN0EjUKC3ByZWZlcmVuY2VzGAEgASgLMhsuc2V0dGluZ3MudjEuTmF2UHJlZmVyZW5jZXNIAIgBARIeChF0b2dnbGVfcHJvamVjdF9pZBgCIAEoCUgBiAEBEhwKD3RvZ2dsZV9uYXZfaXRlbRgDIAEoCUgCiAEBEhsKDnRvZ2dsZV9zZWN0aW9uGAQgASgJSAOIAQFCDgoMX3ByZWZlcmVuY2VzQhQKEl90b2dnbGVfcHJvamVjdF9pZEISChBfdG9nZ2xlX25hdl9pdGVtQhEKD190b2dnbGVfc2VjdGlvbiJQChxVcGRhdGVOYXZQcmVmZXJlbmNlc1Jlc3BvbnNlEjAKC3ByZWZlcmVuY2VzGAEgASgLMhsuc2V0dGluZ3MudjEuTmF2UHJlZmVyZW5jZXMiXgoSUmVjZW50bHlPcGVuZWRJdGVtEgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCRIRCgl0aW1lc3RhbXAYBSABKAMikwEKGUxpc3RSZWNlbnRseU9wZW5lZFJlcXVlc3QSEgoFYWZ0ZXIYASABKAlIAIgBARITCgZiZWZvcmUYAiABKAlIAYgBARISCgVmaXJzdBgDIAEoBUgCiAEBEhEKBGxhc3QYBCABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QimAEKGkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEi4KBWl0ZW1zGAEgAygLMh8uc2V0dGluZ3MudjEuUmVjZW50bHlPcGVuZWRJdGVtEisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAlCDAoKX3BhZ2VfaW5mbyJTChpUcmFja1JlY2VudGx5T3BlbmVkUmVxdWVzdBIMCgR0eXBlGAEgASgJEgoKAmlkGAIgASgJEg0KBWxhYmVsGAMgASgJEgwKBHBhdGgYBCABKAkiLgobVHJhY2tSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiNwobUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiLwocUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhwKGkNsZWFyUmVjZW50bHlPcGVuZWRSZXF1ZXN0Ii4KG0NsZWFyUmVjZW50bHlPcGVuZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIs8FChBDb250ZXh0RGltZW5zaW9uEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEwoLc291cmNlX3R5cGUYBSABKAkSGAoQc291cmNlX21vZGVsX2tleRgGIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYByABKAlIAYgBARIRCglpc19zeXN0ZW0YCCABKAgSFwoPYnVpbHRfaW5fdmFsdWVzGAkgAygJEhEKCWRhdGFfdHlwZRgKIAEoCRIQCghjYXRlZ29yeRgLIAEoCRITCgtpc19yZXF1aXJlZBgMIAEoCBISCgpzb3J0X29yZGVyGA0gASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAogBARIXCgp1cGRhdGVkX2J5GB8gASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPQoUc2NoZWR1bGVkX3B1Ymxpc2hfYXQYPCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESPwoWc2NoZWR1bGVkX3VucHVibGlzaF9hdBg9IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQiMwoVQ29udGV4dERpbWVuc2lvblZhbHVlEgsKA2tleRgBIAEoCRINCgVsYWJlbBgCIAEoCSK2AQocTGlzdENvbnRleHREaW1lbnNpb25zUmVxdWVzdBITCgZzZWFyY2gYASABKAlIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQgkKB19zZWFyY2hCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Iq0BCh1MaXN0Q29udGV4dERpbWVuc2lvbnNSZXNwb25zZRIxCgpkaW1lbnNpb25zGAEgAygLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iKAoaR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iywEKHUNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEwoLc291cmNlX3R5cGUYBCABKAkSGAoQc291cmNlX21vZGVsX2tleRgFIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleSJSCh5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiL/AQodVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgCiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgDiAEBEhQKB3B1Ymxpc2gYBiABKAhIBIgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEwoRX3NvdXJjZV9tb2RlbF9rZXlCFQoTX2RlZmF1bHRfcmVjb3JkX2tleUIKCghfcHVibGlzaCJSCh5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiIrCh1EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLRAQogR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QSFQoNZGltZW5zaW9uX2tleRgBIAEoCRITCgZzZWFyY2gYAiABKAlIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQgkKB19zZWFyY2hCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrIBCiFHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USMgoGdmFsdWVzGAEgAygLMiIuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZhbHVlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyLnAQoUQ3VzdG9tZXJQcm9maWxlRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHR5cGUYAyABKAkSDQoFbGFiZWwYBCABKAkSEAoIcmVxdWlyZWQYBSABKAgSFgoJaGVscF90ZXh0GAYgASgJSACIAQESGAoLcGxhY2Vob2xkZXIYByABKAlIAYgBARIsCgZjb25maWcYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCCQoHX2NvbmZpZyKSAwoVQ3VzdG9tZXJQcm9maWxlU2NoZW1hEgoKAmlkGAEgASgJEjEKBmZpZWxkcxgCIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAyADKAkSDwoHdmVyc2lvbhgEIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg8IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCIhCh9HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0IlYKIEdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjIKBnNjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSLyAwoTVmFyaWFudENhdGFsb2dFbnRyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESEAoIcHJpb3JpdHkYBiABKAUSEgoKaXNfZGVmYXVsdBgHIAEoCBIRCglpc19hY3RpdmUYCCABKAgSGAoLZmFsbGJhY2tfaWQYCiABKAlIAogBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIXCgpjcmVhdGVkX2J5GB4gASgJSAOIAQESFwoKdXBkYXRlZF9ieRgfIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkISChBfdGFyZ2V0aW5nX3J1bGVzQg4KDF9mYWxsYmFja19pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLKAQoZTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiqgEKGkxpc3RWYXJpYW50Q2F0YWxvZ1Jlc3BvbnNlEjEKB2VudHJpZXMYASADKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIrCh1HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSJRCh5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IqsCCiBDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFQoIcHJpb3JpdHkYBSABKAVIAogBARIXCgppc19kZWZhdWx0GAYgASgISAOIAQESFgoJaXNfYWN0aXZlGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCCwoJX3ByaW9yaXR5Qg0KC19pc19kZWZhdWx0QgwKCl9pc19hY3RpdmUiVAohQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSK4AgogVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAogBARIVCghwcmlvcml0eRgFIAEoBUgDiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Ii4KIERlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjQKIURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjAKGUdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiQwoaR2V0Q3VzdG9tZXJQcm9maWxlUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXAocQ3JlYXRlQ3VzdG9tZXJQcm9maWxlUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRInCgZjcmVhdGUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkYKHUNyZWF0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEiUKBGRhdGEYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IlwKHFVwZGF0ZUN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSJwoGdXBkYXRlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJGCh1VcGRhdGVDdXN0b21lclByb2ZpbGVSZXNwb25zZRIlCgRkYXRhGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJuCiJVcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0EjEKBmZpZWxkcxgBIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAiADKAkiWQojVXBkYXRlQ3VzdG9tZXJQcm9maWxlU2NoZW1hUmVzcG9uc2USMgoGc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hIlMKFUN1c3RvbWVyUHJvZmlsZVJlc3VsdBITCgtjdXN0b21lcl9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKmAQodU2VhcmNoQ3VzdG9tZXJQcm9maWxlc1JlcXVlc3QSDQoFcXVlcnkYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QisAEKHlNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXNwb25zZRIzCgdyZXN1bHRzGAEgAygLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlUmVzdWx0Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIzChxEZWxldGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIjAKHURlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiPQomR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiWQoTUmVzb2x1dGlvbkF0dHJpYnV0ZRILCgNrZXkYASABKAkSNQoGdmFsdWVzGAIgAygLMiUuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZVZhbHVlIoABChhSZXNvbHV0aW9uQXR0cmlidXRlVmFsdWUSDQoFdmFsdWUYASABKAkSDQoFY291bnQYAiABKAUSNQoMbGFzdF9zZWVuX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV9sYXN0X3NlZW5fYXQijAIKJ0dldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXNwb25zZRIZChF0b3RhbF9yZXNvbHV0aW9ucxgBIAEoBRI0CgphdHRyaWJ1dGVzGAIgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZRI2Cg1maXJzdF9zZWVuX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjUKDGxhc3Rfc2Vlbl9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIQCg5fZmlyc3Rfc2Vlbl9hdEIPCg1fbGFzdF9zZWVuX2F0IiwKF0dldEVkaXRvckNvbmZpZ3NSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSLAAgoVRWRpdG9yQ29uZmlnUGxhY2VtZW50EhEKCWNvbmZpZ19pZBgBIAEoCRISCgpjb25maWdfa2V5GAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhsKDmFsbG93ZWRfb3JpZ2luGAQgASgJSAGIAQESEwoGaGVpZ2h0GAUgASgFSAKIAQESEgoFbGFiZWwYBiABKAlIA4gBARIUCgdhcGlfa2V5GAcgASgJSASIAQESFAoHYXBpX3VybBgIIAEoCUgFiAEBEh4KEWNvbm5lY3Rpb25fZG9tYWluGAkgASgJSAaIAQFCBgoEX3VybEIRCg9fYWxsb3dlZF9vcmlnaW5CCQoHX2hlaWdodEIICgZfbGFiZWxCCgoIX2FwaV9rZXlCCgoIX2FwaV91cmxCFAoSX2Nvbm5lY3Rpb25fZG9tYWluIlIKGEdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRI2CgpwbGFjZW1lbnRzGAEgAygLMiIuc2V0dGluZ3MudjEuRWRpdG9yQ29uZmlnUGxhY2VtZW50IiAKElJlc29sdmVOb3RlUmVxdWVzdBIKCgJpZBgBIAEoCSI2ChNSZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIiIKFFVucmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjgKFVVucmVzb2x2ZU5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSLFAQoSU2VhcmNoTm90ZXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhgKC2VudGl0eV90eXBlGAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIOCgxfZW50aXR5X3R5cGVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpIBChNTZWFyY2hOb3Rlc1Jlc3BvbnNlEiAKBW5vdGVzGAEgAygLMhEuc2V0dGluZ3MudjEuTm90ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGQoXTWFya01lbnRpb25zU2VlblJlcXVlc3QiKQoYTWFya01lbnRpb25zU2VlblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIi4KH0dldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIlQKIEdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iGQoXR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QiPwoYR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSImChZHZXRMb2NhbGVCeUNvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAkiPgoXR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKJEdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdCJYCiVHZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSIjChREZWxldGVTZXR0aW5nUmVxdWVzdBILCgNrZXkYASABKAkiKAoVRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiMwofRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSIxCiBEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRINCgVjb3VudBgBIAEoBSJNChZCdWxrU2V0U2V0dGluZ3NSZXF1ZXN0EjMKCHNldHRpbmdzGAEgAygLMiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QiKAoXQnVsa1NldFNldHRpbmdzUmVzcG9uc2USDQoFY291bnQYASABKAUiKQonRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlsKKEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IvADCgxEZXNpZ25Ub2tlbnMSKQoIZG9jdW1lbnQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCHJlc29sdmVkGAIgASgLMiEuc2V0dGluZ3MudjEuUmVzb2x2ZWREZXNpZ25Ub2tlbnMSDwoHdmVyc2lvbhgKIAEoBRIeChFwdWJsaXNoZWRfdmVyc2lvbhgLIAEoBUgAiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GDwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCFAoSX3B1Ymxpc2hlZF92ZXJzaW9uQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCL6BAoUUmVzb2x2ZWREZXNpZ25Ub2tlbnMSLwoGY29sb3JzGAEgAygLMh8uc2V0dGluZ3MudjEuUmVzb2x2ZWRDb2xvclRva2VuEjsKDWZvbnRfZmFtaWxpZXMYAiADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhI6Cgxmb250X3dlaWdodHMYAyADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRXZWlnaHRUb2tlbhI3Cgpmb250X3NpemVzGAQgAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhI2CgxsaW5lX2hlaWdodHMYBSADKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZE51bWJlclRva2VuEjwKD2xldHRlcl9zcGFjaW5ncxgGIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SOAoKdHlwb2dyYXBoeRgHIAMoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVRva2VuEjUKCHNwYWNpbmdzGAggAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhIyCgVyYWRpaRgJIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SMQoHc2hhZG93cxgKIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93VG9rZW4SMQoHYm9yZGVycxgLIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkQm9yZGVyVG9rZW4iaQoSUmVzb2x2ZWRDb2xvclRva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEg0KBXZhbHVlGAQgASgJQg4KDF9kZXNjcmlwdGlvbiJuChdSZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAMoCUIOCgxfZGVzY3JpcHRpb24ibgoXUmVzb2x2ZWRGb250V2VpZ2h0VG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIm0KFlJlc29sdmVkRGltZW5zaW9uVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAlCDgoMX2Rlc2NyaXB0aW9uImoKE1Jlc29sdmVkTnVtYmVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAFCDgoMX2Rlc2NyaXB0aW9uIswBChdSZXNvbHZlZFR5cG9ncmFwaHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIzCgV2YWx1ZRgEIAEoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVZhbHVlEhIKBWxhYmVsGAUgASgJSAGIAQESEAoDdGFnGAYgASgJSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9sYWJlbEIGCgRfdGFnIo0BChNSZXNvbHZlZFNoYWRvd1Rva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjAKBmxheWVycxgEIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93TGF5ZXJCDgoMX2Rlc2NyaXB0aW9uInUKE1Jlc29sdmVkU2hhZG93TGF5ZXISEAoIb2Zmc2V0X3gYASABKAkSEAoIb2Zmc2V0X3kYAiABKAkSDAoEYmx1chgDIAEoCRIOCgZzcHJlYWQYBCABKAkSDQoFY29sb3IYBSABKAkSDQoFaW5zZXQYBiABKAgijAEKE1Jlc29sdmVkQm9yZGVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESLwoFdmFsdWUYBCABKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZEJvcmRlclZhbHVlQg4KDF9kZXNjcmlwdGlvbiJCChNSZXNvbHZlZEJvcmRlclZhbHVlEg0KBWNvbG9yGAEgASgJEg0KBXdpZHRoGAIgASgJEg0KBXN0eWxlGAMgASgJIpsBChdSZXNvbHZlZFR5cG9ncmFwaHlWYWx1ZRITCgtmb250X2ZhbWlseRgBIAMoCRIRCglmb250X3NpemUYAiABKAkSEwoLZm9udF93ZWlnaHQYAyABKAUSEwoLbGluZV9oZWlnaHQYBCABKAESFgoObGV0dGVyX3NwYWNpbmcYBSABKAkSFgoOdGV4dF90cmFuc2Zvcm0YBiABKAkiRAoWR2V0RGVzaWduVG9rZW5zUmVxdWVzdBIqCgdjaGFubmVsGAEgASgOMhkucHVibGlzaC52MS5TY2hlbWFDaGFubmVsIkQKF0dldERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyJGChlVcGRhdGVEZXNpZ25Ub2tlbnNSZXF1ZXN0EikKCGRvY3VtZW50GAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJHChpVcGRhdGVEZXNpZ25Ub2tlbnNSZXNwb25zZRIpCgZ0b2tlbnMYASABKAsyGS5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlbnMiHAoaUHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QifgobUHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucxI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIeChxVbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0IkoKHVVucHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIlCiNHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVxdWVzdCJRCiRHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVzcG9uc2USKQoGc3RhdHVzGAEgASgLMhkucHVibGlzaC52MS5QdWJsaXNoU3RhdHVzIpwBCiJTY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0Ei4KCnB1Ymxpc2hfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlAKI1NjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIrCilDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdCJXCipDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIjcKIUNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVxdWVzdBISCgp0b2tlbl9wYXRoGAEgASgJIlMKIkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVzcG9uc2USFwoPcGFyYWdyYXBoX2NvdW50GAEgASgFEhQKDHJlY29yZF9jb3VudBgCIAEoBSJFChdHZXRQcm9qZWN0U2NoZW1hUmVxdWVzdBIqCgdjaGFubmVsGAEgASgOMhkucHVibGlzaC52MS5TY2hlbWFDaGFubmVsImUKElByb2plY3RTY2hlbWFNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtmaWVsZHNfanNvbhgEIAEoCRITCgtjb25maWdfanNvbhgFIAEoCSLCAQodUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgAiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgBiAEBEg4KBnZhbHVlcxgGIAMoCUITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5Io4BChlQcm9qZWN0U2NoZW1hQXV0aFByb3ZpZGVyEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSDwoHZW5hYmxlZBgEIAEoCBIsCgZjb25maWcYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCQoHX2NvbmZpZyKfAwoWUHJvamVjdFNjaGVtYU9wZXJhdGlvbhILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIQCghlbmRwb2ludBgDIAEoCRISCgp0aW1lb3V0X21zGAQgASgFEjIKDGlucHV0X3NjaGVtYRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIzCg1vdXRwdXRfc2NoZW1hGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEhYKDnN1cHBvcnRzX2FzeW5jGAcgASgIEgwKBGtpbmQYCCABKAkSHgoRYXR0YWNoZWRfdG9fbW9kZWwYCSABKAlIAogBARIVCg1wYXJlbnRfZmllbGRzGAogAygJEjMKDWNhY2hlX2NvbnRyb2wYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQFCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYUIUChJfYXR0YWNoZWRfdG9fbW9kZWxCEAoOX2NhY2hlX2NvbnRyb2wiRAoUUHJvamVjdFNjaGVtYVNlZ21lbnQSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEQoJaXNfYWN0aXZlGAMgASgIIlkKGlByb2plY3RTY2hlbWFQcm9maWxlU2NoZW1hEhMKC2ZpZWxkc19qc29uGAEgASgJEhUKDXB1YmxpY19maWVsZHMYAiADKAkSDwoHdmVyc2lvbhgDIAEoBSKSAwoYR2V0UHJvamVjdFNjaGVtYVJlc3BvbnNlEi8KBm1vZGVscxgBIAMoCzIfLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFNb2RlbBI+CgpkaW1lbnNpb25zGAIgAygLMiouc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SPgoOYXV0aF9wcm92aWRlcnMYAyADKAsyJi5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hQXV0aFByb3ZpZGVyEjcKCm9wZXJhdGlvbnMYBCADKAsyIy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hT3BlcmF0aW9uEjMKCHNlZ21lbnRzGAUgAygLMiEuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYVNlZ21lbnQSRAoOcHJvZmlsZV9zY2hlbWEYByABKAsyJy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hUHJvZmlsZVNjaGVtYUgAiAEBQhEKD19wcm9maWxlX3NjaGVtYSIsCh5QdWJsaXNoQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiiQEKH1B1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbhI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIuCiBVbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCiFVbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiI1CidHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1JlcXVlc3QSCgoCaWQYASABKAkiVQooR2V0Q29udGV4dERpbWVuc2lvblB1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMi4gIKF0NvbnRleHREaW1lbnNpb25WZXJzaW9uEgoKAmlkGAEgASgJEhwKFGNvbnRleHRfZGltZW5zaW9uX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnkiLwohR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlsKIkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uUmVzcG9uc2USNQoHdmVyc2lvbhgBIAEoCzIkLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb25WZXJzaW9uIrsBCiNMaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVxdWVzdBIcChRjb250ZXh0X2RpbWVuc2lvbl9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCK5AQokTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9uc1Jlc3BvbnNlEjYKCHZlcnNpb25zGAEgAygLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvInMKJVJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAiABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIpUBCiZSZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uEjkKC25ld192ZXJzaW9uGAIgASgLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24iHQobUHVibGlzaFByb2ZpbGVTY2hlbWFSZXF1ZXN0IpABChxQdWJsaXNoUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjoKDnByb2ZpbGVfc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIh8KHVVucHVibGlzaFByb2ZpbGVTY2hlbWFSZXF1ZXN0IlwKHlVucHVibGlzaFByb2ZpbGVTY2hlbWFSZXNwb25zZRI6Cg5wcm9maWxlX3NjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSImCiRHZXRQcm9maWxlU2NoZW1hUHVibGlzaFN0YXR1c1JlcXVlc3QiUgolR2V0UHJvZmlsZVNjaGVtYVB1Ymxpc2hTdGF0dXNSZXNwb25zZRIpCgZzdGF0dXMYASABKAsyGS5wdWJsaXNoLnYxLlB1Ymxpc2hTdGF0dXMi3AIKFFByb2ZpbGVTY2hlbWFWZXJzaW9uEgoKAmlkGAEgASgJEhkKEXByb2ZpbGVfc2NoZW1hX2lkGAIgASgJEhYKDnZlcnNpb25fbnVtYmVyGAMgASgFEikKCHNuYXBzaG90GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxjb250ZW50X2hhc2gYBSABKAkSHgoRc291cmNlX3ZlcnNpb25faWQYBiABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YByABKAlIAYgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAkgASgJSAKIAQFCFAoSX3NvdXJjZV92ZXJzaW9uX2lkQhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDQoLX2NyZWF0ZWRfYnkiLAoeR2V0UHJvZmlsZVNjaGVtYVZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlUKH0dldFByb2ZpbGVTY2hlbWFWZXJzaW9uUmVzcG9uc2USMgoHdmVyc2lvbhgBIAEoCzIhLnNldHRpbmdzLnYxLlByb2ZpbGVTY2hlbWFWZXJzaW9uIpoBCiBMaXN0UHJvZmlsZVNjaGVtYVZlcnNpb25zUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKzAQohTGlzdFByb2ZpbGVTY2hlbWFWZXJzaW9uc1Jlc3BvbnNlEjMKCHZlcnNpb25zGAEgAygLMiEuc2V0dGluZ3MudjEuUHJvZmlsZVNjaGVtYVZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvInAKIlJlc3RvcmVQcm9maWxlU2NoZW1hVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAiABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIpEBCiNSZXN0b3JlUHJvZmlsZVNjaGVtYVZlcnNpb25SZXNwb25zZRIyCgZzY2hlbWEYASABKAsyIi5zZXR0aW5ncy52MS5DdXN0b21lclByb2ZpbGVTY2hlbWESNgoLbmV3X3ZlcnNpb24YAiABKAsyIS5zZXR0aW5ncy52MS5Qcm9maWxlU2NoZW1hVmVyc2lvbiIdChtQdWJsaXNoUHJvamVjdFNjaGVtYVJlcXVlc3Qi9gEKHFB1Ymxpc2hQcm9qZWN0U2NoZW1hUmVzcG9uc2USGAoQbW9kZWxzX3B1Ymxpc2hlZBgBIAEoBRIcChRvcGVyYXRpb25zX3B1Ymxpc2hlZBgCIAEoBRIkChxjb250ZXh0X2RpbWVuc2lvbnNfcHVibGlzaGVkGAMgASgFEiAKGGF1dGhfcHJvdmlkZXJzX3B1Ymxpc2hlZBgEIAEoBRIgChhwcm9maWxlX3NjaGVtYV9wdWJsaXNoZWQYBSABKAgSNAoQYnJlYWtpbmdfY2hhbmdlcxgGIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiIAoeR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXNSZXF1ZXN0IoMBCh9HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1Jlc3BvbnNlEioKB3BlbmRpbmcYASADKAsyGS5wdWJsaXNoLnYxLlBlbmRpbmdFbnRpdHkSNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UirAEKJlNjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlsKJ1NjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIjsKLUNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJiCi5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24inQEKI1NjaGVkdWxlUHJvZmlsZVNjaGVtYVB1Ymxpc2hSZXF1ZXN0Ei4KCnB1Ymxpc2hfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0ImIKJFNjaGVkdWxlUHJvZmlsZVNjaGVtYVB1Ymxpc2hSZXNwb25zZRI6Cg5wcm9maWxlX3NjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSIsCipDYW5jZWxTY2hlZHVsZWRQcm9maWxlU2NoZW1hUHVibGlzaFJlcXVlc3QiaQorQ2FuY2VsU2NoZWR1bGVkUHJvZmlsZVNjaGVtYVB1Ymxpc2hSZXNwb25zZRI6Cg5wcm9maWxlX3NjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSp2ChFTaGFyZVJlc291cmNlVHlwZRIjCh9TSEFSRV9SRVNPVVJDRV9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaU0hBUkVfUkVTT1VSQ0VfVFlQRV9SRUNPUkQQARIcChhTSEFSRV9SRVNPVVJDRV9UWVBFX0ZJTEUQAiqFAQoPU2hhcmVQZXJtaXNzaW9uEiAKHFNIQVJFX1BFUk1JU1NJT05fVU5TUEVDSUZJRUQQABIZChVTSEFSRV9QRVJNSVNTSU9OX1ZJRVcQARIZChVTSEFSRV9QRVJNSVNTSU9OX0VESVQQAhIaChZTSEFSRV9QRVJNSVNTSU9OX0FETUlOEAMqewoLU2hhcmVTdGF0dXMSHAoYU0hBUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGAoUU0hBUkVfU1RBVFVTX1BFTkRJTkcQARIZChVTSEFSRV9TVEFUVVNfQUNDRVBURUQQAhIZChVTSEFSRV9TVEFUVVNfREVDTElORUQQAzLeSQoPU2V0dGluZ3NTZXJ2aWNlElAKC0dldFNldHRpbmdzEh8uc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXF1ZXN0GiAuc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXNwb25zZRJWCg1VcGRhdGVTZXR0aW5nEiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QaIi5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVzcG9uc2USVgoNRGVsZXRlU2V0dGluZxIhLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdSZXF1ZXN0GiIuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEncKGERlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeRIsLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlcXVlc3QaLS5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRJcCg9CdWxrU2V0U2V0dGluZ3MSIy5zZXR0aW5ncy52MS5CdWxrU2V0U2V0dGluZ3NSZXF1ZXN0GiQuc2V0dGluZ3MudjEuQnVsa1NldFNldHRpbmdzUmVzcG9uc2USVgoNTGlzdEF1ZGl0TG9ncxIhLnNldHRpbmdzLnYxLkxpc3RBdWRpdExvZ3NSZXF1ZXN0GiIuc2V0dGluZ3MudjEuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEk0KCkNyZWF0ZU5vdGUSHi5zZXR0aW5ncy52MS5DcmVhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLkNyZWF0ZU5vdGVSZXNwb25zZRJECgdHZXROb3RlEhsuc2V0dGluZ3MudjEuR2V0Tm90ZVJlcXVlc3QaHC5zZXR0aW5ncy52MS5HZXROb3RlUmVzcG9uc2USSgoJTGlzdE5vdGVzEh0uc2V0dGluZ3MudjEuTGlzdE5vdGVzUmVxdWVzdBoeLnNldHRpbmdzLnYxLkxpc3ROb3Rlc1Jlc3BvbnNlEk0KClVwZGF0ZU5vdGUSHi5zZXR0aW5ncy52MS5VcGRhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLlVwZGF0ZU5vdGVSZXNwb25zZRJNCgpEZWxldGVOb3RlEh4uc2V0dGluZ3MudjEuRGVsZXRlTm90ZVJlcXVlc3QaHy5zZXR0aW5ncy52MS5EZWxldGVOb3RlUmVzcG9uc2USUAoLUmVzb2x2ZU5vdGUSHy5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlc3BvbnNlElYKDVVucmVzb2x2ZU5vdGUSIS5zZXR0aW5ncy52MS5VbnJlc29sdmVOb3RlUmVxdWVzdBoiLnNldHRpbmdzLnYxLlVucmVzb2x2ZU5vdGVSZXNwb25zZRJQCgtTZWFyY2hOb3RlcxIfLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVxdWVzdBogLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVzcG9uc2USWQoOTGlzdE15TWVudGlvbnMSIi5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1JlcXVlc3QaIy5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1Jlc3BvbnNlEmgKE1VwZGF0ZU1lbnRpb25TdGF0dXMSJy5zZXR0aW5ncy52MS5VcGRhdGVNZW50aW9uU3RhdHVzUmVxdWVzdBooLnNldHRpbmdzLnYxLlVwZGF0ZU1lbnRpb25TdGF0dXNSZXNwb25zZRJfChBNYXJrTWVudGlvbnNTZWVuEiQuc2V0dGluZ3MudjEuTWFya01lbnRpb25zU2VlblJlcXVlc3QaJS5zZXR0aW5ncy52MS5NYXJrTWVudGlvbnNTZWVuUmVzcG9uc2USUAoLTGlzdExvY2FsZXMSHy5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1Jlc3BvbnNlEkoKCUdldExvY2FsZRIdLnNldHRpbmdzLnYxLkdldExvY2FsZVJlcXVlc3QaHi5zZXR0aW5ncy52MS5HZXRMb2NhbGVSZXNwb25zZRJfChBHZXREZWZhdWx0TG9jYWxlEiQuc2V0dGluZ3MudjEuR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXREZWZhdWx0TG9jYWxlUmVzcG9uc2USXAoPR2V0TG9jYWxlQnlDb2RlEiMuc2V0dGluZ3MudjEuR2V0TG9jYWxlQnlDb2RlUmVxdWVzdBokLnNldHRpbmdzLnYxLkdldExvY2FsZUJ5Q29kZVJlc3BvbnNlElMKDENyZWF0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLkNyZWF0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5DcmVhdGVMb2NhbGVSZXNwb25zZRJTCgxVcGRhdGVMb2NhbGUSIC5zZXR0aW5ncy52MS5VcGRhdGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuVXBkYXRlTG9jYWxlUmVzcG9uc2USUwoMRGVsZXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuRGVsZXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLkRlbGV0ZUxvY2FsZVJlc3BvbnNlEmIKEUdldE5hdlByZWZlcmVuY2VzEiUuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXF1ZXN0GiYuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRJrChRVcGRhdGVOYXZQcmVmZXJlbmNlcxIoLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVxdWVzdBopLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USZQoSTGlzdFJlY2VudGx5T3BlbmVkEiYuc2V0dGluZ3MudjEuTGlzdFJlY2VudGx5T3BlbmVkUmVxdWVzdBonLnNldHRpbmdzLnYxLkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmgKE1RyYWNrUmVjZW50bHlPcGVuZWQSJy5zZXR0aW5ncy52MS5UcmFja1JlY2VudGx5T3BlbmVkUmVxdWVzdBooLnNldHRpbmdzLnYxLlRyYWNrUmVjZW50bHlPcGVuZWRSZXNwb25zZRJrChRSZW1vdmVSZWNlbnRseU9wZW5lZBIoLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVxdWVzdBopLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVzcG9uc2USaAoTQ2xlYXJSZWNlbnRseU9wZW5lZBInLnNldHRpbmdzLnYxLkNsZWFyUmVjZW50bHlPcGVuZWRSZXF1ZXN0Giguc2V0dGluZ3MudjEuQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlElAKC0NyZWF0ZVNoYXJlEh8uc2V0dGluZ3MudjEuQ3JlYXRlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuQ3JlYXRlU2hhcmVSZXNwb25zZRJHCghHZXRTaGFyZRIcLnNldHRpbmdzLnYxLkdldFNoYXJlUmVxdWVzdBodLnNldHRpbmdzLnYxLkdldFNoYXJlUmVzcG9uc2USTQoKTGlzdFNoYXJlcxIeLnNldHRpbmdzLnYxLkxpc3RTaGFyZXNSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuTGlzdFNoYXJlc1Jlc3BvbnNlElAKC1VwZGF0ZVNoYXJlEh8uc2V0dGluZ3MudjEuVXBkYXRlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuVXBkYXRlU2hhcmVSZXNwb25zZRJQCgtSZXZva2VTaGFyZRIfLnNldHRpbmdzLnYxLlJldm9rZVNoYXJlUmVxdWVzdBogLnNldHRpbmdzLnYxLlJldm9rZVNoYXJlUmVzcG9uc2USUAoLQWNjZXB0U2hhcmUSHy5zZXR0aW5ncy52MS5BY2NlcHRTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5BY2NlcHRTaGFyZVJlc3BvbnNlElMKDERlY2xpbmVTaGFyZRIgLnNldHRpbmdzLnYxLkRlY2xpbmVTaGFyZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5EZWNsaW5lU2hhcmVSZXNwb25zZRJuChVMaXN0Q29udGV4dERpbWVuc2lvbnMSKS5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXF1ZXN0Giouc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USaAoTR2V0Q29udGV4dERpbWVuc2lvbhInLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25SZXF1ZXN0Giguc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEncKGEdldENvbnRleHREaW1lbnNpb25CeUtleRIsLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QaLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uQnlLZXlSZXNwb25zZRJxChZDcmVhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuQ3JlYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWVXBkYXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnEKFkRlbGV0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJ6ChlHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzEi0uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QaLi5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USdwoYR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hEiwuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hUmVxdWVzdBotLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEmUKEkdldEN1c3RvbWVyUHJvZmlsZRImLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QaJy5zZXR0aW5ncy52MS5HZXRDdXN0b21lclByb2ZpbGVSZXNwb25zZRJuChVDcmVhdGVDdXN0b21lclByb2ZpbGUSKS5zZXR0aW5ncy52MS5DcmVhdGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0Giouc2V0dGluZ3MudjEuQ3JlYXRlQ3VzdG9tZXJQcm9maWxlUmVzcG9uc2USbgoVVXBkYXRlQ3VzdG9tZXJQcm9maWxlEikuc2V0dGluZ3MudjEuVXBkYXRlQ3VzdG9tZXJQcm9maWxlUmVxdWVzdBoqLnNldHRpbmdzLnYxLlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEoABChtVcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWESLy5zZXR0aW5ncy52MS5VcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0GjAuc2V0dGluZ3MudjEuVXBkYXRlQ3VzdG9tZXJQcm9maWxlU2NoZW1hUmVzcG9uc2UScQoWU2VhcmNoQ3VzdG9tZXJQcm9maWxlcxIqLnNldHRpbmdzLnYxLlNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXF1ZXN0Gisuc2V0dGluZ3MudjEuU2VhcmNoQ3VzdG9tZXJQcm9maWxlc1Jlc3BvbnNlEm4KFURlbGV0ZUN1c3RvbWVyUHJvZmlsZRIpLnNldHRpbmdzLnYxLkRlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlcXVlc3QaKi5zZXR0aW5ncy52MS5EZWxldGVDdXN0b21lclByb2ZpbGVSZXNwb25zZRKMAQofR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlcxIzLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXF1ZXN0GjQuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1Jlc3BvbnNlEl8KEEdldEVkaXRvckNvbmZpZ3MSJC5zZXR0aW5ncy52MS5HZXRFZGl0b3JDb25maWdzUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRJlChJMaXN0VmFyaWFudENhdGFsb2cSJi5zZXR0aW5ncy52MS5MaXN0VmFyaWFudENhdGFsb2dSZXF1ZXN0Gicuc2V0dGluZ3MudjEuTGlzdFZhcmlhbnRDYXRhbG9nUmVzcG9uc2UScQoWR2V0VmFyaWFudENhdGFsb2dFbnRyeRIqLnNldHRpbmdzLnYxLkdldFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gisuc2V0dGluZ3MudjEuR2V0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGUNyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5DcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLkNyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5VcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLkRlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEoYBCh1HZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeRIxLnNldHRpbmdzLnYxLkdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBoyLnNldHRpbmdzLnYxLkdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USjwEKIEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5EjQuc2V0dGluZ3MudjEuRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0GjUuc2V0dGluZ3MudjEuRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJfChBHZXRQcm9qZWN0U2NoZW1hEiQuc2V0dGluZ3MudjEuR2V0UHJvamVjdFNjaGVtYVJlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXRQcm9qZWN0U2NoZW1hUmVzcG9uc2USdAoXUHVibGlzaENvbnRleHREaW1lbnNpb24SKy5zZXR0aW5ncy52MS5QdWJsaXNoQ29udGV4dERpbWVuc2lvblJlcXVlc3QaLC5zZXR0aW5ncy52MS5QdWJsaXNoQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnoKGVVucHVibGlzaENvbnRleHREaW1lbnNpb24SLS5zZXR0aW5ncy52MS5VbnB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBouLnNldHRpbmdzLnYxLlVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRKPAQogR2V0Q29udGV4dERpbWVuc2lvblB1Ymxpc2hTdGF0dXMSNC5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1JlcXVlc3QaNS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEowBCh9TY2hlZHVsZUNvbnRleHREaW1lbnNpb25QdWJsaXNoEjMuc2V0dGluZ3MudjEuU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlcXVlc3QaNC5zZXR0aW5ncy52MS5TY2hlZHVsZUNvbnRleHREaW1lbnNpb25QdWJsaXNoUmVzcG9uc2USoQEKJkNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoEjouc2V0dGluZ3MudjEuQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0Gjsuc2V0dGluZ3MudjEuQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXNwb25zZRJ9ChpHZXRDb250ZXh0RGltZW5zaW9uVmVyc2lvbhIuLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uUmVxdWVzdBovLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uUmVzcG9uc2USgwEKHExpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnMSMC5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVxdWVzdBoxLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnNSZXNwb25zZRKJAQoeUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uEjIuc2V0dGluZ3MudjEuUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uUmVxdWVzdBozLnNldHRpbmdzLnYxLlJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlc3BvbnNlEnQKF0dldFByb2ZpbGVTY2hlbWFWZXJzaW9uEisuc2V0dGluZ3MudjEuR2V0UHJvZmlsZVNjaGVtYVZlcnNpb25SZXF1ZXN0Giwuc2V0dGluZ3MudjEuR2V0UHJvZmlsZVNjaGVtYVZlcnNpb25SZXNwb25zZRJ6ChlMaXN0UHJvZmlsZVNjaGVtYVZlcnNpb25zEi0uc2V0dGluZ3MudjEuTGlzdFByb2ZpbGVTY2hlbWFWZXJzaW9uc1JlcXVlc3QaLi5zZXR0aW5ncy52MS5MaXN0UHJvZmlsZVNjaGVtYVZlcnNpb25zUmVzcG9uc2USgAEKG1Jlc3RvcmVQcm9maWxlU2NoZW1hVmVyc2lvbhIvLnNldHRpbmdzLnYxLlJlc3RvcmVQcm9maWxlU2NoZW1hVmVyc2lvblJlcXVlc3QaMC5zZXR0aW5ncy52MS5SZXN0b3JlUHJvZmlsZVNjaGVtYVZlcnNpb25SZXNwb25zZRJrChRQdWJsaXNoUHJvZmlsZVNjaGVtYRIoLnNldHRpbmdzLnYxLlB1Ymxpc2hQcm9maWxlU2NoZW1hUmVxdWVzdBopLnNldHRpbmdzLnYxLlB1Ymxpc2hQcm9maWxlU2NoZW1hUmVzcG9uc2UScQoWVW5wdWJsaXNoUHJvZmlsZVNjaGVtYRIqLnNldHRpbmdzLnYxLlVucHVibGlzaFByb2ZpbGVTY2hlbWFSZXF1ZXN0Gisuc2V0dGluZ3MudjEuVW5wdWJsaXNoUHJvZmlsZVNjaGVtYVJlc3BvbnNlEoYBCh1HZXRQcm9maWxlU2NoZW1hUHVibGlzaFN0YXR1cxIxLnNldHRpbmdzLnYxLkdldFByb2ZpbGVTY2hlbWFQdWJsaXNoU3RhdHVzUmVxdWVzdBoyLnNldHRpbmdzLnYxLkdldFByb2ZpbGVTY2hlbWFQdWJsaXNoU3RhdHVzUmVzcG9uc2USgwEKHFNjaGVkdWxlUHJvZmlsZVNjaGVtYVB1Ymxpc2gSMC5zZXR0aW5ncy52MS5TY2hlZHVsZVByb2ZpbGVTY2hlbWFQdWJsaXNoUmVxdWVzdBoxLnNldHRpbmdzLnYxLlNjaGVkdWxlUHJvZmlsZVNjaGVtYVB1Ymxpc2hSZXNwb25zZRKYAQojQ2FuY2VsU2NoZWR1bGVkUHJvZmlsZVNjaGVtYVB1Ymxpc2gSNy5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRQcm9maWxlU2NoZW1hUHVibGlzaFJlcXVlc3QaOC5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRQcm9maWxlU2NoZW1hUHVibGlzaFJlc3BvbnNlEnQKF0dldFByb2plY3RQdWJsaXNoU3RhdHVzEisuc2V0dGluZ3MudjEuR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXNSZXF1ZXN0Giwuc2V0dGluZ3MudjEuR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXNSZXNwb25zZRJrChRQdWJsaXNoUHJvamVjdFNjaGVtYRIoLnNldHRpbmdzLnYxLlB1Ymxpc2hQcm9qZWN0U2NoZW1hUmVxdWVzdBopLnNldHRpbmdzLnYxLlB1Ymxpc2hQcm9qZWN0U2NoZW1hUmVzcG9uc2USXAoPR2V0RGVzaWduVG9rZW5zEiMuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5zUmVxdWVzdBokLnNldHRpbmdzLnYxLkdldERlc2lnblRva2Vuc1Jlc3BvbnNlEmUKElVwZGF0ZURlc2lnblRva2VucxImLnNldHRpbmdzLnYxLlVwZGF0ZURlc2lnblRva2Vuc1JlcXVlc3QaJy5zZXR0aW5ncy52MS5VcGRhdGVEZXNpZ25Ub2tlbnNSZXNwb25zZRJoChNQdWJsaXNoRGVzaWduVG9rZW5zEicuc2V0dGluZ3MudjEuUHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QaKC5zZXR0aW5ncy52MS5QdWJsaXNoRGVzaWduVG9rZW5zUmVzcG9uc2USbgoVVW5wdWJsaXNoRGVzaWduVG9rZW5zEikuc2V0dGluZ3MudjEuVW5wdWJsaXNoRGVzaWduVG9rZW5zUmVxdWVzdBoqLnNldHRpbmdzLnYxLlVucHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEoMBChxHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzEjAuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5zUHVibGlzaFN0YXR1c1JlcXVlc3QaMS5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVzcG9uc2USgAEKG1NjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaBIvLnNldHRpbmdzLnYxLlNjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlcXVlc3QaMC5zZXR0aW5ncy52MS5TY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2hSZXNwb25zZRKVAQoiQ2FuY2VsU2NoZWR1bGVkRGVzaWduVG9rZW5zUHVibGlzaBI2LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZERlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0Gjcuc2V0dGluZ3MudjEuQ2FuY2VsU2NoZWR1bGVkRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEn0KGkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzEi4uc2V0dGluZ3MudjEuQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXNSZXF1ZXN0Gi8uc2V0dGluZ3MudjEuQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXNSZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vc2V0dGluZ3MvdjE7c2V0dGluZ3N2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions, file_publish_v1_publish, file_common_v1_pagination]);
15
+ fileDesc("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKdBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKY3JlYXRlZF9ieRgoIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIVChNfZW50aXR5X25hdHVyYWxfa2V5Qg0KC192ZXJzaW9uX2lkQhUKE19jb250ZW50X3BsYWluX3RleHRCEQoPX3BhcmVudF9ub3RlX2lkQhEKD190aHJlYWRfcm9vdF9pZEIOCgxfcmVzb2x2ZWRfYXRCDgoMX3Jlc29sdmVkX2J5QgsKCV9tZXRhZGF0YUINCgtfcHJvamVjdF9pZCKqBQoFU2hhcmUSCgoCaWQYASABKAkSNQoNcmVzb3VyY2VfdHlwZRgCIAEoDjIeLnNldHRpbmdzLnYxLlNoYXJlUmVzb3VyY2VUeXBlEhYKCXJlY29yZF9pZBgDIAEoCUgAiAEBEhQKB2ZpbGVfaWQYBCABKAlIAYgBARIWCgltb2RlbF9rZXkYBSABKAlIAogBARIfChdzaGFyZWRfd2l0aF9jdXN0b21lcl9pZBgGIAEoCRIwCgpwZXJtaXNzaW9uGAcgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uEigKBnN0YXR1cxgKIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzEjQKC2FjY2VwdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjMKCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgFiAEBEhcKCnJldm9rZWRfYnkYHyABKAlIBogBARIzCgpyZXZva2VkX2F0GCAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWRCDAoKX21vZGVsX2tleUIOCgxfYWNjZXB0ZWRfYXRCDQoLX2V4cGlyZXNfYXRCDQoLX2NyZWF0ZWRfYnlCDQoLX3Jldm9rZWRfYnlCDQoLX3Jldm9rZWRfYXQiUgoSR2V0U2V0dGluZ3NSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESEAoDa2V5GAIgASgJSAGIAQFCCwoJX2NhdGVnb3J5QgYKBF9rZXkiPQoTR2V0U2V0dGluZ3NSZXNwb25zZRImCghzZXR0aW5ncxgBIAMoCzIULnNldHRpbmdzLnYxLlNldHRpbmciSwoUVXBkYXRlU2V0dGluZ1JlcXVlc3QSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI+ChVVcGRhdGVTZXR0aW5nUmVzcG9uc2USJQoHc2V0dGluZxgBIAEoCzIULnNldHRpbmdzLnYxLlNldHRpbmcixQEKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKXAQoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEiMKBGxvZ3MYASADKAsyFS5zZXR0aW5ncy52MS5BdWRpdExvZxINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ilQEKEUNyZWF0ZU5vdGVSZXF1ZXN0EhMKC2VudGl0eV90eXBlGAEgASgJEhEKCWVudGl0eV9pZBgCIAEoCRIoCgdjb250ZW50GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIbCg5wYXJlbnRfbm90ZV9pZBgEIAEoCUgAiAEBQhEKD19wYXJlbnRfbm90ZV9pZCI1ChJDcmVhdGVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiHAoOR2V0Tm90ZVJlcXVlc3QSCgoCaWQYASABKAkiMgoPR2V0Tm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIsEBChBMaXN0Tm90ZXNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAQgASgJSAGIAQESEwoGYmVmb3JlGAUgASgJSAKIAQESEgoFZmlyc3QYBiABKAVIA4gBARIRCgRsYXN0GAcgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKQAQoRTGlzdE5vdGVzUmVzcG9uc2USIAoFbm90ZXMYASADKAsyES5zZXR0aW5ncy52MS5Ob3RlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyKEAQoRVXBkYXRlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkSLQoHY29udGVudBgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIYCgtpc19yZXNvbHZlZBgDIAEoCEgBiAEBQgoKCF9jb250ZW50Qg4KDF9pc19yZXNvbHZlZCI1ChJVcGRhdGVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiHwoRRGVsZXRlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkiJQoSRGVsZXRlTm90ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirAUKC05vdGVNZW50aW9uEgoKAmlkGAEgASgJEg8KB25vdGVfaWQYAiABKAkSGQoRbWVudGlvbmVkX3VzZXJfaWQYAyABKAkSDgoGc3RhdHVzGAQgASgJEjAKB3NlZW5fYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESOAoPYWNrbm93bGVkZ2VkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjUKDGNvbXBsZXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIbCg5jb21wbGV0ZWRfbm90ZRgIIAEoCUgDiAEBEjUKDGRpc21pc3NlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIbCg5kaXNtaXNzX3JlYXNvbhgKIAEoCUgFiAEBEjEKCGR1ZV9kYXRlGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEhEKCXRlbmFudF9pZBgUIAEoCRIXCgpwcm9qZWN0X2lkGBUgASgJSAeIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3NlZW5fYXRCEgoQX2Fja25vd2xlZGdlZF9hdEIPCg1fY29tcGxldGVkX2F0QhEKD19jb21wbGV0ZWRfbm90ZUIPCg1fZGlzbWlzc2VkX2F0QhEKD19kaXNtaXNzX3JlYXNvbkILCglfZHVlX2RhdGVCDQoLX3Byb2plY3RfaWQi2gEKEk1lbnRpb25XaXRoQ29udGV4dBIpCgdtZW50aW9uGAEgASgLMhguc2V0dGluZ3MudjEuTm90ZU1lbnRpb24SHwoEbm90ZRgCIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUSGAoLYXV0aG9yX25hbWUYAyABKAlIAIgBARIYCgtlbnRpdHlfdHlwZRgEIAEoCUgBiAEBEhYKCWVudGl0eV9pZBgFIAEoCUgCiAEBQg4KDF9hdXRob3JfbmFtZUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZCJPCg1NZW50aW9uQ291bnRzEg8KB3BlbmRpbmcYASABKAUSEAoIcGFzdF9kdWUYAiABKAUSGwoTY29tcGxldGVkX3RoaXNfd2VlaxgDIAEoBSLGAQoVTGlzdE15TWVudGlvbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCLPAQoWTGlzdE15TWVudGlvbnNSZXNwb25zZRIuCgVpdGVtcxgBIAMoCzIfLnNldHRpbmdzLnYxLk1lbnRpb25XaXRoQ29udGV4dBINCgV0b3RhbBgCIAEoBRIqCgZjb3VudHMYAyABKAsyGi5zZXR0aW5ncy52MS5NZW50aW9uQ291bnRzEisKCXBhZ2VfaW5mbxgEIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBSADKAlCDAoKX3BhZ2VfaW5mbyKgAQoaVXBkYXRlTWVudGlvblN0YXR1c1JlcXVlc3QSEgoKbWVudGlvbl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSGwoOY29tcGxldGVkX25vdGUYAyABKAlIAIgBARIbCg5kaXNtaXNzX3JlYXNvbhgEIAEoCUgBiAEBQhEKD19jb21wbGV0ZWRfbm90ZUIRCg9fZGlzbWlzc19yZWFzb24iSAobVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEikKB21lbnRpb24YASABKAsyGC5zZXR0aW5ncy52MS5Ob3RlTWVudGlvbiLaAQoSQ3JlYXRlU2hhcmVSZXF1ZXN0EjUKDXJlc291cmNlX3R5cGUYASABKA4yHi5zZXR0aW5ncy52MS5TaGFyZVJlc291cmNlVHlwZRIWCglyZWNvcmRfaWQYAiABKAlIAIgBARIUCgdmaWxlX2lkGAMgASgJSAGIAQESEwoLY3VzdG9tZXJfaWQYBCABKAkSMAoKcGVybWlzc2lvbhgFIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkIMCgpfcmVjb3JkX2lkQgoKCF9maWxlX2lkIjgKE0NyZWF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIdCg9HZXRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiNQoQR2V0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIsIBChFMaXN0U2hhcmVzUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhIKBWZpcnN0GAYgASgFSAOIAQESEQoEbGFzdBgHIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QikwEKEkxpc3RTaGFyZXNSZXNwb25zZRIiCgZzaGFyZXMYASADKAsyEi5zZXR0aW5ncy52MS5TaGFyZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ioAEKElVwZGF0ZVNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCRI1CgpwZXJtaXNzaW9uGAIgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uSACIAQESLQoGc3RhdHVzGAMgASgOMhguc2V0dGluZ3MudjEuU2hhcmVTdGF0dXNIAYgBAUINCgtfcGVybWlzc2lvbkIJCgdfc3RhdHVzIjgKE1VwZGF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIgChJSZXZva2VTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiJgoTUmV2b2tlU2hhcmVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiAKEkFjY2VwdFNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChNBY2NlcHRTaGFyZVJlc3BvbnNlEiEKBXNoYXJlGAEgASgLMhIuc2V0dGluZ3MudjEuU2hhcmUiIQoTRGVjbGluZVNoYXJlUmVxdWVzdBIKCgJpZBgBIAEoCSI5ChREZWNsaW5lU2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIr8DCgZMb2NhbGUSCgoCaWQYASABKAkSDgoGbG9jYWxlGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRIYCgtuYXRpdmVfbmFtZRgEIAEoCUgAiAEBEhIKCmlzX2RlZmF1bHQYBSABKAgSEQoJaXNfYWN0aXZlGAYgASgIEg4KBmlzX3J0bBgHIAEoCBIcCg9mYWxsYmFja19sb2NhbGUYCCABKAlIAYgBARIZChFmYWxsYmFja19wcmlvcml0eRgJIAEoBRIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIXCgpjcmVhdGVkX2J5GB4gASgJSAKIAQESFwoKdXBkYXRlZF9ieRgfIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9uYXRpdmVfbmFtZUISChBfZmFsbGJhY2tfbG9jYWxlQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IsMBChJMaXN0TG9jYWxlc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpYBChNMaXN0TG9jYWxlc1Jlc3BvbnNlEiQKB2xvY2FsZXMYASADKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUSDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIh4KEEdldExvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkiOAoRR2V0TG9jYWxlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIt8BChNDcmVhdGVMb2NhbGVSZXF1ZXN0Eg4KBmxvY2FsZRgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSGAoLbmF0aXZlX25hbWUYAyABKAlIAIgBARIXCgppc19kZWZhdWx0GAQgASgISAGIAQESEwoGaXNfcnRsGAUgASgISAKIAQESHAoPZmFsbGJhY2tfbG9jYWxlGAYgASgJSAOIAQFCDgoMX25hdGl2ZV9uYW1lQg0KC19pc19kZWZhdWx0QgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRDcmVhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUilwIKE1VwZGF0ZUxvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkSGQoMZGlzcGxheV9uYW1lGAIgASgJSACIAQESGAoLbmF0aXZlX25hbWUYAyABKAlIAYgBARIXCgppc19kZWZhdWx0GAQgASgISAKIAQESFgoJaXNfYWN0aXZlGAUgASgISAOIAQESEwoGaXNfcnRsGAYgASgISASIAQESHAoPZmFsbGJhY2tfbG9jYWxlGAcgASgJSAWIAQFCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZUIJCgdfaXNfcnRsQhIKEF9mYWxsYmFja19sb2NhbGUiOwoUVXBkYXRlTG9jYWxlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiEKE0RlbGV0ZUxvY2FsZVJlcXVlc3QSCgoCaWQYASABKAkiJwoURGVsZXRlTG9jYWxlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKUAQoOTmF2UHJlZmVyZW5jZXMSGQoRZmF2b3JpdGVfcHJvamVjdHMYASADKAkSGgoSZmF2b3JpdGVfbmF2X2l0ZW1zGAIgAygJEhoKEmNvbGxhcHNlZF9zZWN0aW9ucxgDIAMoCRIvCg5uYXZfaXRlbV9vcmRlchgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiGgoYR2V0TmF2UHJlZmVyZW5jZXNSZXF1ZXN0Ik0KGUdldE5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyL8AQobVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXF1ZXN0EjUKC3ByZWZlcmVuY2VzGAEgASgLMhsuc2V0dGluZ3MudjEuTmF2UHJlZmVyZW5jZXNIAIgBARIeChF0b2dnbGVfcHJvamVjdF9pZBgCIAEoCUgBiAEBEhwKD3RvZ2dsZV9uYXZfaXRlbRgDIAEoCUgCiAEBEhsKDnRvZ2dsZV9zZWN0aW9uGAQgASgJSAOIAQFCDgoMX3ByZWZlcmVuY2VzQhQKEl90b2dnbGVfcHJvamVjdF9pZEISChBfdG9nZ2xlX25hdl9pdGVtQhEKD190b2dnbGVfc2VjdGlvbiJQChxVcGRhdGVOYXZQcmVmZXJlbmNlc1Jlc3BvbnNlEjAKC3ByZWZlcmVuY2VzGAEgASgLMhsuc2V0dGluZ3MudjEuTmF2UHJlZmVyZW5jZXMiXgoSUmVjZW50bHlPcGVuZWRJdGVtEgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCRIRCgl0aW1lc3RhbXAYBSABKAMikwEKGUxpc3RSZWNlbnRseU9wZW5lZFJlcXVlc3QSEgoFYWZ0ZXIYASABKAlIAIgBARITCgZiZWZvcmUYAiABKAlIAYgBARISCgVmaXJzdBgDIAEoBUgCiAEBEhEKBGxhc3QYBCABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QimAEKGkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEi4KBWl0ZW1zGAEgAygLMh8uc2V0dGluZ3MudjEuUmVjZW50bHlPcGVuZWRJdGVtEisKCXBhZ2VfaW5mbxgCIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYAyADKAlCDAoKX3BhZ2VfaW5mbyJTChpUcmFja1JlY2VudGx5T3BlbmVkUmVxdWVzdBIMCgR0eXBlGAEgASgJEgoKAmlkGAIgASgJEg0KBWxhYmVsGAMgASgJEgwKBHBhdGgYBCABKAkiLgobVHJhY2tSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiNwobUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkiLwocUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIhwKGkNsZWFyUmVjZW50bHlPcGVuZWRSZXF1ZXN0Ii4KG0NsZWFyUmVjZW50bHlPcGVuZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIs8FChBDb250ZXh0RGltZW5zaW9uEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEwoLc291cmNlX3R5cGUYBSABKAkSGAoQc291cmNlX21vZGVsX2tleRgGIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYByABKAlIAYgBARIRCglpc19zeXN0ZW0YCCABKAgSFwoPYnVpbHRfaW5fdmFsdWVzGAkgAygJEhEKCWRhdGFfdHlwZRgKIAEoCRIQCghjYXRlZ29yeRgLIAEoCRITCgtpc19yZXF1aXJlZBgMIAEoCBISCgpzb3J0X29yZGVyGA0gASgFEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEhcKCmNyZWF0ZWRfYnkYHiABKAlIAogBARIXCgp1cGRhdGVkX2J5GB8gASgJSAOIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASPQoUc2NoZWR1bGVkX3B1Ymxpc2hfYXQYPCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESPwoWc2NoZWR1bGVkX3VucHVibGlzaF9hdBg9IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQiMwoVQ29udGV4dERpbWVuc2lvblZhbHVlEgsKA2tleRgBIAEoCRINCgVsYWJlbBgCIAEoCSK2AQocTGlzdENvbnRleHREaW1lbnNpb25zUmVxdWVzdBITCgZzZWFyY2gYASABKAlIAIgBARISCgVhZnRlchgCIAEoCUgBiAEBEhMKBmJlZm9yZRgDIAEoCUgCiAEBEhIKBWZpcnN0GAQgASgFSAOIAQESEQoEbGFzdBgFIAEoBUgEiAEBQgkKB19zZWFyY2hCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0Iq0BCh1MaXN0Q29udGV4dERpbWVuc2lvbnNSZXNwb25zZRIxCgpkaW1lbnNpb25zGAEgAygLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iKAoaR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iywEKHUNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEwoLc291cmNlX3R5cGUYBCABKAkSGAoQc291cmNlX21vZGVsX2tleRgFIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleSJSCh5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiL/AQodVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgCiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgDiAEBEhQKB3B1Ymxpc2gYBiABKAhIBIgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEwoRX3NvdXJjZV9tb2RlbF9rZXlCFQoTX2RlZmF1bHRfcmVjb3JkX2tleUIKCghfcHVibGlzaCJSCh5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiIrCh1EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLRAQogR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QSFQoNZGltZW5zaW9uX2tleRgBIAEoCRITCgZzZWFyY2gYAiABKAlIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQgkKB19zZWFyY2hCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrIBCiFHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USMgoGdmFsdWVzGAEgAygLMiIuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZhbHVlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyLnAQoUQ3VzdG9tZXJQcm9maWxlRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHR5cGUYAyABKAkSDQoFbGFiZWwYBCABKAkSEAoIcmVxdWlyZWQYBSABKAgSFgoJaGVscF90ZXh0GAYgASgJSACIAQESGAoLcGxhY2Vob2xkZXIYByABKAlIAYgBARIsCgZjb25maWcYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCCQoHX2NvbmZpZyKSAwoVQ3VzdG9tZXJQcm9maWxlU2NoZW1hEgoKAmlkGAEgASgJEjEKBmZpZWxkcxgCIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAyADKAkSDwoHdmVyc2lvbhgEIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI9ChRzY2hlZHVsZWRfcHVibGlzaF9hdBg8IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI/ChZzY2hlZHVsZWRfdW5wdWJsaXNoX2F0GD0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCIhCh9HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0IlYKIEdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjIKBnNjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSLyAwoTVmFyaWFudENhdGFsb2dFbnRyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESEAoIcHJpb3JpdHkYBiABKAUSEgoKaXNfZGVmYXVsdBgHIAEoCBIRCglpc19hY3RpdmUYCCABKAgSGAoLZmFsbGJhY2tfaWQYCiABKAlIAogBARIRCgl0ZW5hbnRfaWQYFCABKAkSEgoKcHJvamVjdF9pZBgVIAEoCRIXCgpjcmVhdGVkX2J5GB4gASgJSAOIAQESFwoKdXBkYXRlZF9ieRgfIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkISChBfdGFyZ2V0aW5nX3J1bGVzQg4KDF9mYWxsYmFja19pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLKAQoZTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBIrCgV3aGVyZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARISCgVhZnRlchgDIAEoCUgBiAEBEhMKBmJlZm9yZRgEIAEoCUgCiAEBEhIKBWZpcnN0GAUgASgFSAOIAQESEQoEbGFzdBgGIAEoBUgEiAEBQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QiqgEKGkxpc3RWYXJpYW50Q2F0YWxvZ1Jlc3BvbnNlEjEKB2VudHJpZXMYASADKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIrCh1HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSJRCh5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IqsCCiBDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFQoIcHJpb3JpdHkYBSABKAVIAogBARIXCgppc19kZWZhdWx0GAYgASgISAOIAQESFgoJaXNfYWN0aXZlGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCCwoJX3ByaW9yaXR5Qg0KC19pc19kZWZhdWx0QgwKCl9pc19hY3RpdmUiVAohQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSK4AgogVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAogBARIVCghwcmlvcml0eRgFIAEoBUgDiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Ii4KIERlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjQKIURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjAKGUdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiQwoaR2V0Q3VzdG9tZXJQcm9maWxlUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXAocQ3JlYXRlQ3VzdG9tZXJQcm9maWxlUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRInCgZjcmVhdGUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkYKHUNyZWF0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEiUKBGRhdGEYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IlwKHFVwZGF0ZUN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSJwoGdXBkYXRlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJGCh1VcGRhdGVDdXN0b21lclByb2ZpbGVSZXNwb25zZRIlCgRkYXRhGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJuCiJVcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0EjEKBmZpZWxkcxgBIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAiADKAkiWQojVXBkYXRlQ3VzdG9tZXJQcm9maWxlU2NoZW1hUmVzcG9uc2USMgoGc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hIlMKFUN1c3RvbWVyUHJvZmlsZVJlc3VsdBITCgtjdXN0b21lcl9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKmAQodU2VhcmNoQ3VzdG9tZXJQcm9maWxlc1JlcXVlc3QSDQoFcXVlcnkYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBARITCgZiZWZvcmUYAyABKAlIAYgBARISCgVmaXJzdBgEIAEoBUgCiAEBEhEKBGxhc3QYBSABKAVIA4gBAUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QisAEKHlNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXNwb25zZRIzCgdyZXN1bHRzGAEgAygLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlUmVzdWx0Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIzChxEZWxldGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIjAKHURlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiPQomR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiWQoTUmVzb2x1dGlvbkF0dHJpYnV0ZRILCgNrZXkYASABKAkSNQoGdmFsdWVzGAIgAygLMiUuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZVZhbHVlIoABChhSZXNvbHV0aW9uQXR0cmlidXRlVmFsdWUSDQoFdmFsdWUYASABKAkSDQoFY291bnQYAiABKAUSNQoMbGFzdF9zZWVuX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV9sYXN0X3NlZW5fYXQijAIKJ0dldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXNwb25zZRIZChF0b3RhbF9yZXNvbHV0aW9ucxgBIAEoBRI0CgphdHRyaWJ1dGVzGAIgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZRI2Cg1maXJzdF9zZWVuX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjUKDGxhc3Rfc2Vlbl9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIQCg5fZmlyc3Rfc2Vlbl9hdEIPCg1fbGFzdF9zZWVuX2F0IiwKF0dldEVkaXRvckNvbmZpZ3NSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSLAAgoVRWRpdG9yQ29uZmlnUGxhY2VtZW50EhEKCWNvbmZpZ19pZBgBIAEoCRISCgpjb25maWdfa2V5GAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhsKDmFsbG93ZWRfb3JpZ2luGAQgASgJSAGIAQESEwoGaGVpZ2h0GAUgASgFSAKIAQESEgoFbGFiZWwYBiABKAlIA4gBARIUCgdhcGlfa2V5GAcgASgJSASIAQESFAoHYXBpX3VybBgIIAEoCUgFiAEBEh4KEWNvbm5lY3Rpb25fZG9tYWluGAkgASgJSAaIAQFCBgoEX3VybEIRCg9fYWxsb3dlZF9vcmlnaW5CCQoHX2hlaWdodEIICgZfbGFiZWxCCgoIX2FwaV9rZXlCCgoIX2FwaV91cmxCFAoSX2Nvbm5lY3Rpb25fZG9tYWluIlIKGEdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRI2CgpwbGFjZW1lbnRzGAEgAygLMiIuc2V0dGluZ3MudjEuRWRpdG9yQ29uZmlnUGxhY2VtZW50IiAKElJlc29sdmVOb3RlUmVxdWVzdBIKCgJpZBgBIAEoCSI2ChNSZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIiIKFFVucmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjgKFVVucmVzb2x2ZU5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSLFAQoSU2VhcmNoTm90ZXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhgKC2VudGl0eV90eXBlGAIgASgJSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARITCgZiZWZvcmUYBCABKAlIAogBARISCgVmaXJzdBgFIAEoBUgDiAEBEhEKBGxhc3QYBiABKAVIBIgBAUIOCgxfZW50aXR5X3R5cGVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpIBChNTZWFyY2hOb3Rlc1Jlc3BvbnNlEiAKBW5vdGVzGAEgAygLMhEuc2V0dGluZ3MudjEuTm90ZRINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGQoXTWFya01lbnRpb25zU2VlblJlcXVlc3QiKQoYTWFya01lbnRpb25zU2VlblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIi4KH0dldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIlQKIEdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iGQoXR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QiPwoYR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSImChZHZXRMb2NhbGVCeUNvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAkiPgoXR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKJEdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdCJYCiVHZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSIjChREZWxldGVTZXR0aW5nUmVxdWVzdBILCgNrZXkYASABKAkiKAoVRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiMwofRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSIxCiBEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRINCgVjb3VudBgBIAEoBSJNChZCdWxrU2V0U2V0dGluZ3NSZXF1ZXN0EjMKCHNldHRpbmdzGAEgAygLMiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QiKAoXQnVsa1NldFNldHRpbmdzUmVzcG9uc2USDQoFY291bnQYASABKAUiKQonRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlsKKEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IvADCgxEZXNpZ25Ub2tlbnMSKQoIZG9jdW1lbnQYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCHJlc29sdmVkGAIgASgLMiEuc2V0dGluZ3MudjEuUmVzb2x2ZWREZXNpZ25Ub2tlbnMSDwoHdmVyc2lvbhgKIAEoBRIeChFwdWJsaXNoZWRfdmVyc2lvbhgLIAEoBUgAiAEBEhEKCXRlbmFudF9pZBgUIAEoCRISCgpwcm9qZWN0X2lkGBUgASgJEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GDwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYPSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCFAoSX3B1Ymxpc2hlZF92ZXJzaW9uQhcKFV9zY2hlZHVsZWRfcHVibGlzaF9hdEIZChdfc2NoZWR1bGVkX3VucHVibGlzaF9hdCL6BAoUUmVzb2x2ZWREZXNpZ25Ub2tlbnMSLwoGY29sb3JzGAEgAygLMh8uc2V0dGluZ3MudjEuUmVzb2x2ZWRDb2xvclRva2VuEjsKDWZvbnRfZmFtaWxpZXMYAiADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhI6Cgxmb250X3dlaWdodHMYAyADKAsyJC5zZXR0aW5ncy52MS5SZXNvbHZlZEZvbnRXZWlnaHRUb2tlbhI3Cgpmb250X3NpemVzGAQgAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhI2CgxsaW5lX2hlaWdodHMYBSADKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZE51bWJlclRva2VuEjwKD2xldHRlcl9zcGFjaW5ncxgGIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SOAoKdHlwb2dyYXBoeRgHIAMoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVRva2VuEjUKCHNwYWNpbmdzGAggAygLMiMuc2V0dGluZ3MudjEuUmVzb2x2ZWREaW1lbnNpb25Ub2tlbhIyCgVyYWRpaRgJIAMoCzIjLnNldHRpbmdzLnYxLlJlc29sdmVkRGltZW5zaW9uVG9rZW4SMQoHc2hhZG93cxgKIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93VG9rZW4SMQoHYm9yZGVycxgLIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkQm9yZGVyVG9rZW4iaQoSUmVzb2x2ZWRDb2xvclRva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEg0KBXZhbHVlGAQgASgJQg4KDF9kZXNjcmlwdGlvbiJuChdSZXNvbHZlZEZvbnRGYW1pbHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgV2YWx1ZRgEIAMoCUIOCgxfZGVzY3JpcHRpb24ibgoXUmVzb2x2ZWRGb250V2VpZ2h0VG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIm0KFlJlc29sdmVkRGltZW5zaW9uVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAlCDgoMX2Rlc2NyaXB0aW9uImoKE1Jlc29sdmVkTnVtYmVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESDQoFdmFsdWUYBCABKAFCDgoMX2Rlc2NyaXB0aW9uIswBChdSZXNvbHZlZFR5cG9ncmFwaHlUb2tlbhIMCgRwYXRoGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIzCgV2YWx1ZRgEIAEoCzIkLnNldHRpbmdzLnYxLlJlc29sdmVkVHlwb2dyYXBoeVZhbHVlEhIKBWxhYmVsGAUgASgJSAGIAQESEAoDdGFnGAYgASgJSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQggKBl9sYWJlbEIGCgRfdGFnIo0BChNSZXNvbHZlZFNoYWRvd1Rva2VuEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjAKBmxheWVycxgEIAMoCzIgLnNldHRpbmdzLnYxLlJlc29sdmVkU2hhZG93TGF5ZXJCDgoMX2Rlc2NyaXB0aW9uInUKE1Jlc29sdmVkU2hhZG93TGF5ZXISEAoIb2Zmc2V0X3gYASABKAkSEAoIb2Zmc2V0X3kYAiABKAkSDAoEYmx1chgDIAEoCRIOCgZzcHJlYWQYBCABKAkSDQoFY29sb3IYBSABKAkSDQoFaW5zZXQYBiABKAgijAEKE1Jlc29sdmVkQm9yZGVyVG9rZW4SDAoEcGF0aBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESLwoFdmFsdWUYBCABKAsyIC5zZXR0aW5ncy52MS5SZXNvbHZlZEJvcmRlclZhbHVlQg4KDF9kZXNjcmlwdGlvbiJCChNSZXNvbHZlZEJvcmRlclZhbHVlEg0KBWNvbG9yGAEgASgJEg0KBXdpZHRoGAIgASgJEg0KBXN0eWxlGAMgASgJIpsBChdSZXNvbHZlZFR5cG9ncmFwaHlWYWx1ZRITCgtmb250X2ZhbWlseRgBIAMoCRIRCglmb250X3NpemUYAiABKAkSEwoLZm9udF93ZWlnaHQYAyABKAUSEwoLbGluZV9oZWlnaHQYBCABKAESFgoObGV0dGVyX3NwYWNpbmcYBSABKAkSFgoOdGV4dF90cmFuc2Zvcm0YBiABKAkiRAoWR2V0RGVzaWduVG9rZW5zUmVxdWVzdBIqCgdjaGFubmVsGAEgASgOMhkucHVibGlzaC52MS5TY2hlbWFDaGFubmVsIkQKF0dldERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyJGChlVcGRhdGVEZXNpZ25Ub2tlbnNSZXF1ZXN0EikKCGRvY3VtZW50GAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJHChpVcGRhdGVEZXNpZ25Ub2tlbnNSZXNwb25zZRIpCgZ0b2tlbnMYASABKAsyGS5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlbnMiHAoaUHVibGlzaERlc2lnblRva2Vuc1JlcXVlc3QifgobUHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucxI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIeChxVbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0IkoKHVVucHVibGlzaERlc2lnblRva2Vuc1Jlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIlCiNHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVxdWVzdCJRCiRHZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVzcG9uc2USKQoGc3RhdHVzGAEgASgLMhkucHVibGlzaC52MS5QdWJsaXNoU3RhdHVzIpwBCiJTY2hlZHVsZURlc2lnblRva2Vuc1B1Ymxpc2hSZXF1ZXN0Ei4KCnB1Ymxpc2hfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IlAKI1NjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEikKBnRva2VucxgBIAEoCzIZLnNldHRpbmdzLnYxLkRlc2lnblRva2VucyIrCilDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdCJXCipDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zIjcKIUNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVxdWVzdBISCgp0b2tlbl9wYXRoGAEgASgJIlMKIkNvdW50RGVzaWduVG9rZW5SZWZlcmVuY2VzUmVzcG9uc2USFwoPcGFyYWdyYXBoX2NvdW50GAEgASgFEhQKDHJlY29yZF9jb3VudBgCIAEoBSLZAgoSRGVzaWduVG9rZW5WZXJzaW9uEgoKAmlkGAEgASgJEhgKEGRlc2lnbl90b2tlbnNfaWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSIqChxHZXREZXNpZ25Ub2tlblZlcnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlEKHUdldERlc2lnblRva2VuVmVyc2lvblJlc3BvbnNlEjAKB3ZlcnNpb24YASABKAsyHy5zZXR0aW5ncy52MS5EZXNpZ25Ub2tlblZlcnNpb24imAEKHkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVxdWVzdBISCgVhZnRlchgBIAEoCUgAiAEBEhMKBmJlZm9yZRgCIAEoCUgBiAEBEhIKBWZpcnN0GAMgASgFSAKIAQESEQoEbGFzdBgEIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKvAQofTGlzdERlc2lnblRva2VuVmVyc2lvbnNSZXNwb25zZRIxCgh2ZXJzaW9ucxgBIAMoCzIfLnNldHRpbmdzLnYxLkRlc2lnblRva2VuVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ibgogUmVzdG9yZURlc2lnblRva2VuVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAiABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIoQBCiFSZXN0b3JlRGVzaWduVG9rZW5WZXJzaW9uUmVzcG9uc2USKQoGdG9rZW5zGAEgASgLMhkuc2V0dGluZ3MudjEuRGVzaWduVG9rZW5zEjQKC25ld192ZXJzaW9uGAIgASgLMh8uc2V0dGluZ3MudjEuRGVzaWduVG9rZW5WZXJzaW9uIkUKF0dldFByb2plY3RTY2hlbWFSZXF1ZXN0EioKB2NoYW5uZWwYASABKA4yGS5wdWJsaXNoLnYxLlNjaGVtYUNoYW5uZWwiZQoSUHJvamVjdFNjaGVtYU1vZGVsEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhMKC2ZpZWxkc19qc29uGAQgASgJEhMKC2NvbmZpZ19qc29uGAUgASgJIsIBCh1Qcm9qZWN0U2NoZW1hQ29udGV4dERpbWVuc2lvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIdChBzb3VyY2VfbW9kZWxfa2V5GAQgASgJSACIAQESHwoSZGVmYXVsdF9yZWNvcmRfa2V5GAUgASgJSAGIAQESDgoGdmFsdWVzGAYgAygJQhMKEV9zb3VyY2VfbW9kZWxfa2V5QhUKE19kZWZhdWx0X3JlY29yZF9rZXkijgEKGVByb2plY3RTY2hlbWFBdXRoUHJvdmlkZXISCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIEiwKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIJCgdfY29uZmlnIp8DChZQcm9qZWN0U2NoZW1hT3BlcmF0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEhIKCnRpbWVvdXRfbXMYBCABKAUSMgoMaW5wdXRfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjMKDW91dHB1dF9zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESFgoOc3VwcG9ydHNfYXN5bmMYByABKAgSDAoEa2luZBgIIAEoCRIeChFhdHRhY2hlZF90b19tb2RlbBgJIAEoCUgCiAEBEhUKDXBhcmVudF9maWVsZHMYCiADKAkSMwoNY2FjaGVfY29udHJvbBgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUIPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQhQKEl9hdHRhY2hlZF90b19tb2RlbEIQCg5fY2FjaGVfY29udHJvbCJEChRQcm9qZWN0U2NoZW1hU2VnbWVudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpc19hY3RpdmUYAyABKAgiWQoaUHJvamVjdFNjaGVtYVByb2ZpbGVTY2hlbWESEwoLZmllbGRzX2pzb24YASABKAkSFQoNcHVibGljX2ZpZWxkcxgCIAMoCRIPCgd2ZXJzaW9uGAMgASgFIpIDChhHZXRQcm9qZWN0U2NoZW1hUmVzcG9uc2USLwoGbW9kZWxzGAEgAygLMh8uc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYU1vZGVsEj4KCmRpbWVuc2lvbnMYAiADKAsyKi5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hQ29udGV4dERpbWVuc2lvbhI+Cg5hdXRoX3Byb3ZpZGVycxgDIAMoCzImLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFBdXRoUHJvdmlkZXISNwoKb3BlcmF0aW9ucxgEIAMoCzIjLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFPcGVyYXRpb24SMwoIc2VnbWVudHMYBSADKAsyIS5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hU2VnbWVudBJECg5wcm9maWxlX3NjaGVtYRgHIAEoCzInLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFQcm9maWxlU2NoZW1hSACIAQFCEQoPX3Byb2ZpbGVfc2NoZW1hIiwKHlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSKJAQofUHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uEjQKEGJyZWFraW5nX2NoYW5nZXMYAiADKAsyGi5wdWJsaXNoLnYxLkJyZWFraW5nQ2hhbmdlIi4KIFVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIlUKIVVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIjUKJ0dldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSJVCihHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyLiAgoXQ29udGV4dERpbWVuc2lvblZlcnNpb24SCgoCaWQYASABKAkSHAoUY29udGV4dF9kaW1lbnNpb25faWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSIvCiFHZXRDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiWwoiR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRI1Cgd2ZXJzaW9uGAEgASgLMiQuc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvblZlcnNpb24iuwEKI0xpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnNSZXF1ZXN0EhwKFGNvbnRleHRfZGltZW5zaW9uX2lkGAEgASgJEhIKBWFmdGVyGAIgASgJSACIAQESEwoGYmVmb3JlGAMgASgJSAGIAQESEgoFZmlyc3QYBCABKAVIAogBARIRCgRsYXN0GAUgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrkBCiRMaXN0Q29udGV4dERpbWVuc2lvblZlcnNpb25zUmVzcG9uc2USNgoIdmVyc2lvbnMYASADKAsyJC5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8icwolUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ilQEKJlJlc3RvcmVDb250ZXh0RGltZW5zaW9uVmVyc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24SOQoLbmV3X3ZlcnNpb24YAiABKAsyJC5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uVmVyc2lvbiIdChtQdWJsaXNoUHJvZmlsZVNjaGVtYVJlcXVlc3QikAEKHFB1Ymxpc2hQcm9maWxlU2NoZW1hUmVzcG9uc2USOgoOcHJvZmlsZV9zY2hlbWEYASABKAsyIi5zZXR0aW5ncy52MS5DdXN0b21lclByb2ZpbGVTY2hlbWESNAoQYnJlYWtpbmdfY2hhbmdlcxgCIAMoCzIaLnB1Ymxpc2gudjEuQnJlYWtpbmdDaGFuZ2UiHwodVW5wdWJsaXNoUHJvZmlsZVNjaGVtYVJlcXVlc3QiXAoeVW5wdWJsaXNoUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjoKDnByb2ZpbGVfc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hIiYKJEdldFByb2ZpbGVTY2hlbWFQdWJsaXNoU3RhdHVzUmVxdWVzdCJSCiVHZXRQcm9maWxlU2NoZW1hUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyLcAgoUUHJvZmlsZVNjaGVtYVZlcnNpb24SCgoCaWQYASABKAkSGQoRcHJvZmlsZV9zY2hlbWFfaWQYAiABKAkSFgoOdmVyc2lvbl9udW1iZXIYAyABKAUSKQoIc25hcHNob3QYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvbnRlbnRfaGFzaBgFIAEoCRIeChFzb3VyY2VfdmVyc2lvbl9pZBgGIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgHIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYCSABKAlIAogBAUIUChJfc291cmNlX3ZlcnNpb25faWRCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbkINCgtfY3JlYXRlZF9ieSIsCh5HZXRQcm9maWxlU2NoZW1hVmVyc2lvblJlcXVlc3QSCgoCaWQYASABKAkiVQofR2V0UHJvZmlsZVNjaGVtYVZlcnNpb25SZXNwb25zZRIyCgd2ZXJzaW9uGAEgASgLMiEuc2V0dGluZ3MudjEuUHJvZmlsZVNjaGVtYVZlcnNpb24imgEKIExpc3RQcm9maWxlU2NoZW1hVmVyc2lvbnNSZXF1ZXN0EhIKBWFmdGVyGAEgASgJSACIAQESEwoGYmVmb3JlGAIgASgJSAGIAQESEgoFZmlyc3QYAyABKAVIAogBARIRCgRsYXN0GAQgASgFSAOIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IrMBCiFMaXN0UHJvZmlsZVNjaGVtYVZlcnNpb25zUmVzcG9uc2USMwoIdmVyc2lvbnMYASADKAsyIS5zZXR0aW5ncy52MS5Qcm9maWxlU2NoZW1hVmVyc2lvbhINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8icAoiUmVzdG9yZVByb2ZpbGVTY2hlbWFWZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgCIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24ikQEKI1Jlc3RvcmVQcm9maWxlU2NoZW1hVmVyc2lvblJlc3BvbnNlEjIKBnNjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYRI2CgtuZXdfdmVyc2lvbhgCIAEoCzIhLnNldHRpbmdzLnYxLlByb2ZpbGVTY2hlbWFWZXJzaW9uIh0KG1B1Ymxpc2hQcm9qZWN0U2NoZW1hUmVxdWVzdCL2AQocUHVibGlzaFByb2plY3RTY2hlbWFSZXNwb25zZRIYChBtb2RlbHNfcHVibGlzaGVkGAEgASgFEhwKFG9wZXJhdGlvbnNfcHVibGlzaGVkGAIgASgFEiQKHGNvbnRleHRfZGltZW5zaW9uc19wdWJsaXNoZWQYAyABKAUSIAoYYXV0aF9wcm92aWRlcnNfcHVibGlzaGVkGAQgASgFEiAKGHByb2ZpbGVfc2NoZW1hX3B1Ymxpc2hlZBgFIAEoCBI0ChBicmVha2luZ19jaGFuZ2VzGAYgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIgCh5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1JlcXVlc3QigwEKH0dldFByb2plY3RQdWJsaXNoU3RhdHVzUmVzcG9uc2USKgoHcGVuZGluZxgBIAMoCzIZLnB1Ymxpc2gudjEuUGVuZGluZ0VudGl0eRI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSKsAQomU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlcXVlc3QSCgoCaWQYASABKAkSLgoKcHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiWwonU2NoZWR1bGVDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iOwotQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJImIKLkNhbmNlbFNjaGVkdWxlZENvbnRleHREaW1lbnNpb25QdWJsaXNoUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiKdAQojU2NoZWR1bGVQcm9maWxlU2NoZW1hUHVibGlzaFJlcXVlc3QSLgoKcHVibGlzaF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiYgokU2NoZWR1bGVQcm9maWxlU2NoZW1hUHVibGlzaFJlc3BvbnNlEjoKDnByb2ZpbGVfc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hIiwKKkNhbmNlbFNjaGVkdWxlZFByb2ZpbGVTY2hlbWFQdWJsaXNoUmVxdWVzdCJpCitDYW5jZWxTY2hlZHVsZWRQcm9maWxlU2NoZW1hUHVibGlzaFJlc3BvbnNlEjoKDnByb2ZpbGVfc2NoZW1hGAEgASgLMiIuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlU2NoZW1hKnYKEVNoYXJlUmVzb3VyY2VUeXBlEiMKH1NIQVJFX1JFU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIeChpTSEFSRV9SRVNPVVJDRV9UWVBFX1JFQ09SRBABEhwKGFNIQVJFX1JFU09VUkNFX1RZUEVfRklMRRACKoUBCg9TaGFyZVBlcm1pc3Npb24SIAocU0hBUkVfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEhkKFVNIQVJFX1BFUk1JU1NJT05fVklFVxABEhkKFVNIQVJFX1BFUk1JU1NJT05fRURJVBACEhoKFlNIQVJFX1BFUk1JU1NJT05fQURNSU4QAyp7CgtTaGFyZVN0YXR1cxIcChhTSEFSRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRTSEFSRV9TVEFUVVNfUEVORElORxABEhkKFVNIQVJFX1NUQVRVU19BQ0NFUFRFRBACEhkKFVNIQVJFX1NUQVRVU19ERUNMSU5FRBADMsBMCg9TZXR0aW5nc1NlcnZpY2USUAoLR2V0U2V0dGluZ3MSHy5zZXR0aW5ncy52MS5HZXRTZXR0aW5nc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5HZXRTZXR0aW5nc1Jlc3BvbnNlElYKDVVwZGF0ZVNldHRpbmcSIS5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVxdWVzdBoiLnNldHRpbmdzLnYxLlVwZGF0ZVNldHRpbmdSZXNwb25zZRJWCg1EZWxldGVTZXR0aW5nEiEuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ1JlcXVlc3QaIi5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nUmVzcG9uc2USdwoYRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5Eiwuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBotLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlc3BvbnNlElwKD0J1bGtTZXRTZXR0aW5ncxIjLnNldHRpbmdzLnYxLkJ1bGtTZXRTZXR0aW5nc1JlcXVlc3QaJC5zZXR0aW5ncy52MS5CdWxrU2V0U2V0dGluZ3NSZXNwb25zZRJWCg1MaXN0QXVkaXRMb2dzEiEuc2V0dGluZ3MudjEuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaIi5zZXR0aW5ncy52MS5MaXN0QXVkaXRMb2dzUmVzcG9uc2USTQoKQ3JlYXRlTm90ZRIeLnNldHRpbmdzLnYxLkNyZWF0ZU5vdGVSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuQ3JlYXRlTm90ZVJlc3BvbnNlEkQKB0dldE5vdGUSGy5zZXR0aW5ncy52MS5HZXROb3RlUmVxdWVzdBocLnNldHRpbmdzLnYxLkdldE5vdGVSZXNwb25zZRJKCglMaXN0Tm90ZXMSHS5zZXR0aW5ncy52MS5MaXN0Tm90ZXNSZXF1ZXN0Gh4uc2V0dGluZ3MudjEuTGlzdE5vdGVzUmVzcG9uc2USTQoKVXBkYXRlTm90ZRIeLnNldHRpbmdzLnYxLlVwZGF0ZU5vdGVSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuVXBkYXRlTm90ZVJlc3BvbnNlEk0KCkRlbGV0ZU5vdGUSHi5zZXR0aW5ncy52MS5EZWxldGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLkRlbGV0ZU5vdGVSZXNwb25zZRJQCgtSZXNvbHZlTm90ZRIfLnNldHRpbmdzLnYxLlJlc29sdmVOb3RlUmVxdWVzdBogLnNldHRpbmdzLnYxLlJlc29sdmVOb3RlUmVzcG9uc2USVgoNVW5yZXNvbHZlTm90ZRIhLnNldHRpbmdzLnYxLlVucmVzb2x2ZU5vdGVSZXF1ZXN0GiIuc2V0dGluZ3MudjEuVW5yZXNvbHZlTm90ZVJlc3BvbnNlElAKC1NlYXJjaE5vdGVzEh8uc2V0dGluZ3MudjEuU2VhcmNoTm90ZXNSZXF1ZXN0GiAuc2V0dGluZ3MudjEuU2VhcmNoTm90ZXNSZXNwb25zZRJZCg5MaXN0TXlNZW50aW9ucxIiLnNldHRpbmdzLnYxLkxpc3RNeU1lbnRpb25zUmVxdWVzdBojLnNldHRpbmdzLnYxLkxpc3RNeU1lbnRpb25zUmVzcG9uc2USaAoTVXBkYXRlTWVudGlvblN0YXR1cxInLnNldHRpbmdzLnYxLlVwZGF0ZU1lbnRpb25TdGF0dXNSZXF1ZXN0Giguc2V0dGluZ3MudjEuVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEl8KEE1hcmtNZW50aW9uc1NlZW4SJC5zZXR0aW5ncy52MS5NYXJrTWVudGlvbnNTZWVuUmVxdWVzdBolLnNldHRpbmdzLnYxLk1hcmtNZW50aW9uc1NlZW5SZXNwb25zZRJQCgtMaXN0TG9jYWxlcxIfLnNldHRpbmdzLnYxLkxpc3RMb2NhbGVzUmVxdWVzdBogLnNldHRpbmdzLnYxLkxpc3RMb2NhbGVzUmVzcG9uc2USSgoJR2V0TG9jYWxlEh0uc2V0dGluZ3MudjEuR2V0TG9jYWxlUmVxdWVzdBoeLnNldHRpbmdzLnYxLkdldExvY2FsZVJlc3BvbnNlEl8KEEdldERlZmF1bHRMb2NhbGUSJC5zZXR0aW5ncy52MS5HZXREZWZhdWx0TG9jYWxlUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldERlZmF1bHRMb2NhbGVSZXNwb25zZRJcCg9HZXRMb2NhbGVCeUNvZGUSIy5zZXR0aW5ncy52MS5HZXRMb2NhbGVCeUNvZGVSZXF1ZXN0GiQuc2V0dGluZ3MudjEuR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USUwoMQ3JlYXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuQ3JlYXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLkNyZWF0ZUxvY2FsZVJlc3BvbnNlElMKDFVwZGF0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLlVwZGF0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5VcGRhdGVMb2NhbGVSZXNwb25zZRJTCgxEZWxldGVMb2NhbGUSIC5zZXR0aW5ncy52MS5EZWxldGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuRGVsZXRlTG9jYWxlUmVzcG9uc2USYgoRR2V0TmF2UHJlZmVyZW5jZXMSJS5zZXR0aW5ncy52MS5HZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QaJi5zZXR0aW5ncy52MS5HZXROYXZQcmVmZXJlbmNlc1Jlc3BvbnNlEmsKFFVwZGF0ZU5hdlByZWZlcmVuY2VzEiguc2V0dGluZ3MudjEuVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXF1ZXN0Gikuc2V0dGluZ3MudjEuVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXNwb25zZRJlChJMaXN0UmVjZW50bHlPcGVuZWQSJi5zZXR0aW5ncy52MS5MaXN0UmVjZW50bHlPcGVuZWRSZXF1ZXN0Gicuc2V0dGluZ3MudjEuTGlzdFJlY2VudGx5T3BlbmVkUmVzcG9uc2USaAoTVHJhY2tSZWNlbnRseU9wZW5lZBInLnNldHRpbmdzLnYxLlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0Giguc2V0dGluZ3MudjEuVHJhY2tSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmsKFFJlbW92ZVJlY2VudGx5T3BlbmVkEiguc2V0dGluZ3MudjEuUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXF1ZXN0Gikuc2V0dGluZ3MudjEuUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXNwb25zZRJoChNDbGVhclJlY2VudGx5T3BlbmVkEicuc2V0dGluZ3MudjEuQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QaKC5zZXR0aW5ncy52MS5DbGVhclJlY2VudGx5T3BlbmVkUmVzcG9uc2USUAoLQ3JlYXRlU2hhcmUSHy5zZXR0aW5ncy52MS5DcmVhdGVTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5DcmVhdGVTaGFyZVJlc3BvbnNlEkcKCEdldFNoYXJlEhwuc2V0dGluZ3MudjEuR2V0U2hhcmVSZXF1ZXN0Gh0uc2V0dGluZ3MudjEuR2V0U2hhcmVSZXNwb25zZRJNCgpMaXN0U2hhcmVzEh4uc2V0dGluZ3MudjEuTGlzdFNoYXJlc1JlcXVlc3QaHy5zZXR0aW5ncy52MS5MaXN0U2hhcmVzUmVzcG9uc2USUAoLVXBkYXRlU2hhcmUSHy5zZXR0aW5ncy52MS5VcGRhdGVTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5VcGRhdGVTaGFyZVJlc3BvbnNlElAKC1Jldm9rZVNoYXJlEh8uc2V0dGluZ3MudjEuUmV2b2tlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuUmV2b2tlU2hhcmVSZXNwb25zZRJQCgtBY2NlcHRTaGFyZRIfLnNldHRpbmdzLnYxLkFjY2VwdFNoYXJlUmVxdWVzdBogLnNldHRpbmdzLnYxLkFjY2VwdFNoYXJlUmVzcG9uc2USUwoMRGVjbGluZVNoYXJlEiAuc2V0dGluZ3MudjEuRGVjbGluZVNoYXJlUmVxdWVzdBohLnNldHRpbmdzLnYxLkRlY2xpbmVTaGFyZVJlc3BvbnNlEm4KFUxpc3RDb250ZXh0RGltZW5zaW9ucxIpLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QaKi5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXNwb25zZRJoChNHZXRDb250ZXh0RGltZW5zaW9uEicuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QaKC5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USdwoYR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5Eiwuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5UmVxdWVzdBotLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEnEKFkNyZWF0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJxChZVcGRhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWRGVsZXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuRGVsZXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnoKGUdldENvbnRleHREaW1lbnNpb25WYWx1ZXMSLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVxdWVzdBouLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXNwb25zZRJ3ChhHZXRDdXN0b21lclByb2ZpbGVTY2hlbWESLC5zZXR0aW5ncy52MS5HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0Gi0uc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hUmVzcG9uc2USZQoSR2V0Q3VzdG9tZXJQcm9maWxlEiYuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlUmVxdWVzdBonLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEm4KFUNyZWF0ZUN1c3RvbWVyUHJvZmlsZRIpLnNldHRpbmdzLnYxLkNyZWF0ZUN1c3RvbWVyUHJvZmlsZVJlcXVlc3QaKi5zZXR0aW5ncy52MS5DcmVhdGVDdXN0b21lclByb2ZpbGVSZXNwb25zZRJuChVVcGRhdGVDdXN0b21lclByb2ZpbGUSKS5zZXR0aW5ncy52MS5VcGRhdGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0Giouc2V0dGluZ3MudjEuVXBkYXRlQ3VzdG9tZXJQcm9maWxlUmVzcG9uc2USgAEKG1VwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYRIvLnNldHRpbmdzLnYxLlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlcXVlc3QaMC5zZXR0aW5ncy52MS5VcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXNwb25zZRJxChZTZWFyY2hDdXN0b21lclByb2ZpbGVzEiouc2V0dGluZ3MudjEuU2VhcmNoQ3VzdG9tZXJQcm9maWxlc1JlcXVlc3QaKy5zZXR0aW5ncy52MS5TZWFyY2hDdXN0b21lclByb2ZpbGVzUmVzcG9uc2USbgoVRGVsZXRlQ3VzdG9tZXJQcm9maWxlEikuc2V0dGluZ3MudjEuRGVsZXRlQ3VzdG9tZXJQcm9maWxlUmVxdWVzdBoqLnNldHRpbmdzLnYxLkRlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEowBCh9HZXRDdXN0b21lclJlc29sdXRpb25BdHRyaWJ1dGVzEjMuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QaNC5zZXR0aW5ncy52MS5HZXRDdXN0b21lclJlc29sdXRpb25BdHRyaWJ1dGVzUmVzcG9uc2USXwoQR2V0RWRpdG9yQ29uZmlncxIkLnNldHRpbmdzLnYxLkdldEVkaXRvckNvbmZpZ3NSZXF1ZXN0GiUuc2V0dGluZ3MudjEuR2V0RWRpdG9yQ29uZmlnc1Jlc3BvbnNlEmUKEkxpc3RWYXJpYW50Q2F0YWxvZxImLnNldHRpbmdzLnYxLkxpc3RWYXJpYW50Q2F0YWxvZ1JlcXVlc3QaJy5zZXR0aW5ncy52MS5MaXN0VmFyaWFudENhdGFsb2dSZXNwb25zZRJxChZHZXRWYXJpYW50Q2F0YWxvZ0VudHJ5Eiouc2V0dGluZ3MudjEuR2V0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaKy5zZXR0aW5ncy52MS5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLkNyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGVVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5VcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLlVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlEZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5EZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2UShgEKHUdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5EjEuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0GjIuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRKPAQogRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnkSNC5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaNS5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEl8KEEdldFByb2plY3RTY2hlbWESJC5zZXR0aW5ncy52MS5HZXRQcm9qZWN0U2NoZW1hUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldFByb2plY3RTY2hlbWFSZXNwb25zZRJ0ChdQdWJsaXNoQ29udGV4dERpbWVuc2lvbhIrLnNldHRpbmdzLnYxLlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVxdWVzdBosLnNldHRpbmdzLnYxLlB1Ymxpc2hDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USegoZVW5wdWJsaXNoQ29udGV4dERpbWVuc2lvbhItLnNldHRpbmdzLnYxLlVucHVibGlzaENvbnRleHREaW1lbnNpb25SZXF1ZXN0Gi4uc2V0dGluZ3MudjEuVW5wdWJsaXNoQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEo8BCiBHZXRDb250ZXh0RGltZW5zaW9uUHVibGlzaFN0YXR1cxI0LnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVxdWVzdBo1LnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25QdWJsaXNoU3RhdHVzUmVzcG9uc2USjAEKH1NjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2gSMy5zZXR0aW5ncy52MS5TY2hlZHVsZUNvbnRleHREaW1lbnNpb25QdWJsaXNoUmVxdWVzdBo0LnNldHRpbmdzLnYxLlNjaGVkdWxlQ29udGV4dERpbWVuc2lvblB1Ymxpc2hSZXNwb25zZRKhAQomQ2FuY2VsU2NoZWR1bGVkQ29udGV4dERpbWVuc2lvblB1Ymxpc2gSOi5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlcXVlc3QaOy5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWRDb250ZXh0RGltZW5zaW9uUHVibGlzaFJlc3BvbnNlEn0KGkdldENvbnRleHREaW1lbnNpb25WZXJzaW9uEi4uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0Gi8uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZlcnNpb25SZXNwb25zZRKDAQocTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9ucxIwLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uVmVyc2lvbnNSZXF1ZXN0GjEuc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25WZXJzaW9uc1Jlc3BvbnNlEokBCh5SZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb24SMi5zZXR0aW5ncy52MS5SZXN0b3JlQ29udGV4dERpbWVuc2lvblZlcnNpb25SZXF1ZXN0GjMuc2V0dGluZ3MudjEuUmVzdG9yZUNvbnRleHREaW1lbnNpb25WZXJzaW9uUmVzcG9uc2USdAoXR2V0UHJvZmlsZVNjaGVtYVZlcnNpb24SKy5zZXR0aW5ncy52MS5HZXRQcm9maWxlU2NoZW1hVmVyc2lvblJlcXVlc3QaLC5zZXR0aW5ncy52MS5HZXRQcm9maWxlU2NoZW1hVmVyc2lvblJlc3BvbnNlEnoKGUxpc3RQcm9maWxlU2NoZW1hVmVyc2lvbnMSLS5zZXR0aW5ncy52MS5MaXN0UHJvZmlsZVNjaGVtYVZlcnNpb25zUmVxdWVzdBouLnNldHRpbmdzLnYxLkxpc3RQcm9maWxlU2NoZW1hVmVyc2lvbnNSZXNwb25zZRKAAQobUmVzdG9yZVByb2ZpbGVTY2hlbWFWZXJzaW9uEi8uc2V0dGluZ3MudjEuUmVzdG9yZVByb2ZpbGVTY2hlbWFWZXJzaW9uUmVxdWVzdBowLnNldHRpbmdzLnYxLlJlc3RvcmVQcm9maWxlU2NoZW1hVmVyc2lvblJlc3BvbnNlEmsKFFB1Ymxpc2hQcm9maWxlU2NoZW1hEiguc2V0dGluZ3MudjEuUHVibGlzaFByb2ZpbGVTY2hlbWFSZXF1ZXN0Gikuc2V0dGluZ3MudjEuUHVibGlzaFByb2ZpbGVTY2hlbWFSZXNwb25zZRJxChZVbnB1Ymxpc2hQcm9maWxlU2NoZW1hEiouc2V0dGluZ3MudjEuVW5wdWJsaXNoUHJvZmlsZVNjaGVtYVJlcXVlc3QaKy5zZXR0aW5ncy52MS5VbnB1Ymxpc2hQcm9maWxlU2NoZW1hUmVzcG9uc2UShgEKHUdldFByb2ZpbGVTY2hlbWFQdWJsaXNoU3RhdHVzEjEuc2V0dGluZ3MudjEuR2V0UHJvZmlsZVNjaGVtYVB1Ymxpc2hTdGF0dXNSZXF1ZXN0GjIuc2V0dGluZ3MudjEuR2V0UHJvZmlsZVNjaGVtYVB1Ymxpc2hTdGF0dXNSZXNwb25zZRKDAQocU2NoZWR1bGVQcm9maWxlU2NoZW1hUHVibGlzaBIwLnNldHRpbmdzLnYxLlNjaGVkdWxlUHJvZmlsZVNjaGVtYVB1Ymxpc2hSZXF1ZXN0GjEuc2V0dGluZ3MudjEuU2NoZWR1bGVQcm9maWxlU2NoZW1hUHVibGlzaFJlc3BvbnNlEpgBCiNDYW5jZWxTY2hlZHVsZWRQcm9maWxlU2NoZW1hUHVibGlzaBI3LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZFByb2ZpbGVTY2hlbWFQdWJsaXNoUmVxdWVzdBo4LnNldHRpbmdzLnYxLkNhbmNlbFNjaGVkdWxlZFByb2ZpbGVTY2hlbWFQdWJsaXNoUmVzcG9uc2USdAoXR2V0UHJvamVjdFB1Ymxpc2hTdGF0dXMSKy5zZXR0aW5ncy52MS5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1JlcXVlc3QaLC5zZXR0aW5ncy52MS5HZXRQcm9qZWN0UHVibGlzaFN0YXR1c1Jlc3BvbnNlEmsKFFB1Ymxpc2hQcm9qZWN0U2NoZW1hEiguc2V0dGluZ3MudjEuUHVibGlzaFByb2plY3RTY2hlbWFSZXF1ZXN0Gikuc2V0dGluZ3MudjEuUHVibGlzaFByb2plY3RTY2hlbWFSZXNwb25zZRJcCg9HZXREZXNpZ25Ub2tlbnMSIy5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNSZXF1ZXN0GiQuc2V0dGluZ3MudjEuR2V0RGVzaWduVG9rZW5zUmVzcG9uc2USZQoSVXBkYXRlRGVzaWduVG9rZW5zEiYuc2V0dGluZ3MudjEuVXBkYXRlRGVzaWduVG9rZW5zUmVxdWVzdBonLnNldHRpbmdzLnYxLlVwZGF0ZURlc2lnblRva2Vuc1Jlc3BvbnNlEmgKE1B1Ymxpc2hEZXNpZ25Ub2tlbnMSJy5zZXR0aW5ncy52MS5QdWJsaXNoRGVzaWduVG9rZW5zUmVxdWVzdBooLnNldHRpbmdzLnYxLlB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXNwb25zZRJuChVVbnB1Ymxpc2hEZXNpZ25Ub2tlbnMSKS5zZXR0aW5ncy52MS5VbnB1Ymxpc2hEZXNpZ25Ub2tlbnNSZXF1ZXN0Giouc2V0dGluZ3MudjEuVW5wdWJsaXNoRGVzaWduVG9rZW5zUmVzcG9uc2USgwEKHEdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXMSMC5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlbnNQdWJsaXNoU3RhdHVzUmVxdWVzdBoxLnNldHRpbmdzLnYxLkdldERlc2lnblRva2Vuc1B1Ymxpc2hTdGF0dXNSZXNwb25zZRKAAQobU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoEi8uc2V0dGluZ3MudjEuU2NoZWR1bGVEZXNpZ25Ub2tlbnNQdWJsaXNoUmVxdWVzdBowLnNldHRpbmdzLnYxLlNjaGVkdWxlRGVzaWduVG9rZW5zUHVibGlzaFJlc3BvbnNlEpUBCiJDYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoEjYuc2V0dGluZ3MudjEuQ2FuY2VsU2NoZWR1bGVkRGVzaWduVG9rZW5zUHVibGlzaFJlcXVlc3QaNy5zZXR0aW5ncy52MS5DYW5jZWxTY2hlZHVsZWREZXNpZ25Ub2tlbnNQdWJsaXNoUmVzcG9uc2USfQoaQ291bnREZXNpZ25Ub2tlblJlZmVyZW5jZXMSLi5zZXR0aW5ncy52MS5Db3VudERlc2lnblRva2VuUmVmZXJlbmNlc1JlcXVlc3QaLy5zZXR0aW5ncy52MS5Db3VudERlc2lnblRva2VuUmVmZXJlbmNlc1Jlc3BvbnNlEm4KFUdldERlc2lnblRva2VuVmVyc2lvbhIpLnNldHRpbmdzLnYxLkdldERlc2lnblRva2VuVmVyc2lvblJlcXVlc3QaKi5zZXR0aW5ncy52MS5HZXREZXNpZ25Ub2tlblZlcnNpb25SZXNwb25zZRJ0ChdMaXN0RGVzaWduVG9rZW5WZXJzaW9ucxIrLnNldHRpbmdzLnYxLkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVxdWVzdBosLnNldHRpbmdzLnYxLkxpc3REZXNpZ25Ub2tlblZlcnNpb25zUmVzcG9uc2USegoZUmVzdG9yZURlc2lnblRva2VuVmVyc2lvbhItLnNldHRpbmdzLnYxLlJlc3RvcmVEZXNpZ25Ub2tlblZlcnNpb25SZXF1ZXN0Gi4uc2V0dGluZ3MudjEuUmVzdG9yZURlc2lnblRva2VuVmVyc2lvblJlc3BvbnNlQj1aO2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9zZXR0aW5ncy92MTtzZXR0aW5nc3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions, file_publish_v1_publish, file_common_v1_pagination]);
16
16
 
17
17
  /**
18
18
  * Describes the message settings.v1.Setting.
@@ -1190,327 +1190,376 @@ export const CountDesignTokenReferencesRequestSchema = /*@__PURE__*/
1190
1190
  export const CountDesignTokenReferencesResponseSchema = /*@__PURE__*/
1191
1191
  messageDesc(file_settings_v1_settings, 167);
1192
1192
 
1193
+ /**
1194
+ * Describes the message settings.v1.DesignTokenVersion.
1195
+ * Use `create(DesignTokenVersionSchema)` to create a new message.
1196
+ */
1197
+ export const DesignTokenVersionSchema = /*@__PURE__*/
1198
+ messageDesc(file_settings_v1_settings, 168);
1199
+
1200
+ /**
1201
+ * Describes the message settings.v1.GetDesignTokenVersionRequest.
1202
+ * Use `create(GetDesignTokenVersionRequestSchema)` to create a new message.
1203
+ */
1204
+ export const GetDesignTokenVersionRequestSchema = /*@__PURE__*/
1205
+ messageDesc(file_settings_v1_settings, 169);
1206
+
1207
+ /**
1208
+ * Describes the message settings.v1.GetDesignTokenVersionResponse.
1209
+ * Use `create(GetDesignTokenVersionResponseSchema)` to create a new message.
1210
+ */
1211
+ export const GetDesignTokenVersionResponseSchema = /*@__PURE__*/
1212
+ messageDesc(file_settings_v1_settings, 170);
1213
+
1214
+ /**
1215
+ * Describes the message settings.v1.ListDesignTokenVersionsRequest.
1216
+ * Use `create(ListDesignTokenVersionsRequestSchema)` to create a new message.
1217
+ */
1218
+ export const ListDesignTokenVersionsRequestSchema = /*@__PURE__*/
1219
+ messageDesc(file_settings_v1_settings, 171);
1220
+
1221
+ /**
1222
+ * Describes the message settings.v1.ListDesignTokenVersionsResponse.
1223
+ * Use `create(ListDesignTokenVersionsResponseSchema)` to create a new message.
1224
+ */
1225
+ export const ListDesignTokenVersionsResponseSchema = /*@__PURE__*/
1226
+ messageDesc(file_settings_v1_settings, 172);
1227
+
1228
+ /**
1229
+ * Describes the message settings.v1.RestoreDesignTokenVersionRequest.
1230
+ * Use `create(RestoreDesignTokenVersionRequestSchema)` to create a new message.
1231
+ */
1232
+ export const RestoreDesignTokenVersionRequestSchema = /*@__PURE__*/
1233
+ messageDesc(file_settings_v1_settings, 173);
1234
+
1235
+ /**
1236
+ * Describes the message settings.v1.RestoreDesignTokenVersionResponse.
1237
+ * Use `create(RestoreDesignTokenVersionResponseSchema)` to create a new message.
1238
+ */
1239
+ export const RestoreDesignTokenVersionResponseSchema = /*@__PURE__*/
1240
+ messageDesc(file_settings_v1_settings, 174);
1241
+
1193
1242
  /**
1194
1243
  * Describes the message settings.v1.GetProjectSchemaRequest.
1195
1244
  * Use `create(GetProjectSchemaRequestSchema)` to create a new message.
1196
1245
  */
1197
1246
  export const GetProjectSchemaRequestSchema = /*@__PURE__*/
1198
- messageDesc(file_settings_v1_settings, 168);
1247
+ messageDesc(file_settings_v1_settings, 175);
1199
1248
 
1200
1249
  /**
1201
1250
  * Describes the message settings.v1.ProjectSchemaModel.
1202
1251
  * Use `create(ProjectSchemaModelSchema)` to create a new message.
1203
1252
  */
1204
1253
  export const ProjectSchemaModelSchema = /*@__PURE__*/
1205
- messageDesc(file_settings_v1_settings, 169);
1254
+ messageDesc(file_settings_v1_settings, 176);
1206
1255
 
1207
1256
  /**
1208
1257
  * Describes the message settings.v1.ProjectSchemaContextDimension.
1209
1258
  * Use `create(ProjectSchemaContextDimensionSchema)` to create a new message.
1210
1259
  */
1211
1260
  export const ProjectSchemaContextDimensionSchema = /*@__PURE__*/
1212
- messageDesc(file_settings_v1_settings, 170);
1261
+ messageDesc(file_settings_v1_settings, 177);
1213
1262
 
1214
1263
  /**
1215
1264
  * Describes the message settings.v1.ProjectSchemaAuthProvider.
1216
1265
  * Use `create(ProjectSchemaAuthProviderSchema)` to create a new message.
1217
1266
  */
1218
1267
  export const ProjectSchemaAuthProviderSchema = /*@__PURE__*/
1219
- messageDesc(file_settings_v1_settings, 171);
1268
+ messageDesc(file_settings_v1_settings, 178);
1220
1269
 
1221
1270
  /**
1222
1271
  * Describes the message settings.v1.ProjectSchemaOperation.
1223
1272
  * Use `create(ProjectSchemaOperationSchema)` to create a new message.
1224
1273
  */
1225
1274
  export const ProjectSchemaOperationSchema = /*@__PURE__*/
1226
- messageDesc(file_settings_v1_settings, 172);
1275
+ messageDesc(file_settings_v1_settings, 179);
1227
1276
 
1228
1277
  /**
1229
1278
  * Describes the message settings.v1.ProjectSchemaSegment.
1230
1279
  * Use `create(ProjectSchemaSegmentSchema)` to create a new message.
1231
1280
  */
1232
1281
  export const ProjectSchemaSegmentSchema = /*@__PURE__*/
1233
- messageDesc(file_settings_v1_settings, 173);
1282
+ messageDesc(file_settings_v1_settings, 180);
1234
1283
 
1235
1284
  /**
1236
1285
  * Describes the message settings.v1.ProjectSchemaProfileSchema.
1237
1286
  * Use `create(ProjectSchemaProfileSchemaSchema)` to create a new message.
1238
1287
  */
1239
1288
  export const ProjectSchemaProfileSchemaSchema = /*@__PURE__*/
1240
- messageDesc(file_settings_v1_settings, 174);
1289
+ messageDesc(file_settings_v1_settings, 181);
1241
1290
 
1242
1291
  /**
1243
1292
  * Describes the message settings.v1.GetProjectSchemaResponse.
1244
1293
  * Use `create(GetProjectSchemaResponseSchema)` to create a new message.
1245
1294
  */
1246
1295
  export const GetProjectSchemaResponseSchema = /*@__PURE__*/
1247
- messageDesc(file_settings_v1_settings, 175);
1296
+ messageDesc(file_settings_v1_settings, 182);
1248
1297
 
1249
1298
  /**
1250
1299
  * Describes the message settings.v1.PublishContextDimensionRequest.
1251
1300
  * Use `create(PublishContextDimensionRequestSchema)` to create a new message.
1252
1301
  */
1253
1302
  export const PublishContextDimensionRequestSchema = /*@__PURE__*/
1254
- messageDesc(file_settings_v1_settings, 176);
1303
+ messageDesc(file_settings_v1_settings, 183);
1255
1304
 
1256
1305
  /**
1257
1306
  * Describes the message settings.v1.PublishContextDimensionResponse.
1258
1307
  * Use `create(PublishContextDimensionResponseSchema)` to create a new message.
1259
1308
  */
1260
1309
  export const PublishContextDimensionResponseSchema = /*@__PURE__*/
1261
- messageDesc(file_settings_v1_settings, 177);
1310
+ messageDesc(file_settings_v1_settings, 184);
1262
1311
 
1263
1312
  /**
1264
1313
  * Describes the message settings.v1.UnpublishContextDimensionRequest.
1265
1314
  * Use `create(UnpublishContextDimensionRequestSchema)` to create a new message.
1266
1315
  */
1267
1316
  export const UnpublishContextDimensionRequestSchema = /*@__PURE__*/
1268
- messageDesc(file_settings_v1_settings, 178);
1317
+ messageDesc(file_settings_v1_settings, 185);
1269
1318
 
1270
1319
  /**
1271
1320
  * Describes the message settings.v1.UnpublishContextDimensionResponse.
1272
1321
  * Use `create(UnpublishContextDimensionResponseSchema)` to create a new message.
1273
1322
  */
1274
1323
  export const UnpublishContextDimensionResponseSchema = /*@__PURE__*/
1275
- messageDesc(file_settings_v1_settings, 179);
1324
+ messageDesc(file_settings_v1_settings, 186);
1276
1325
 
1277
1326
  /**
1278
1327
  * Describes the message settings.v1.GetContextDimensionPublishStatusRequest.
1279
1328
  * Use `create(GetContextDimensionPublishStatusRequestSchema)` to create a new message.
1280
1329
  */
1281
1330
  export const GetContextDimensionPublishStatusRequestSchema = /*@__PURE__*/
1282
- messageDesc(file_settings_v1_settings, 180);
1331
+ messageDesc(file_settings_v1_settings, 187);
1283
1332
 
1284
1333
  /**
1285
1334
  * Describes the message settings.v1.GetContextDimensionPublishStatusResponse.
1286
1335
  * Use `create(GetContextDimensionPublishStatusResponseSchema)` to create a new message.
1287
1336
  */
1288
1337
  export const GetContextDimensionPublishStatusResponseSchema = /*@__PURE__*/
1289
- messageDesc(file_settings_v1_settings, 181);
1338
+ messageDesc(file_settings_v1_settings, 188);
1290
1339
 
1291
1340
  /**
1292
1341
  * Describes the message settings.v1.ContextDimensionVersion.
1293
1342
  * Use `create(ContextDimensionVersionSchema)` to create a new message.
1294
1343
  */
1295
1344
  export const ContextDimensionVersionSchema = /*@__PURE__*/
1296
- messageDesc(file_settings_v1_settings, 182);
1345
+ messageDesc(file_settings_v1_settings, 189);
1297
1346
 
1298
1347
  /**
1299
1348
  * Describes the message settings.v1.GetContextDimensionVersionRequest.
1300
1349
  * Use `create(GetContextDimensionVersionRequestSchema)` to create a new message.
1301
1350
  */
1302
1351
  export const GetContextDimensionVersionRequestSchema = /*@__PURE__*/
1303
- messageDesc(file_settings_v1_settings, 183);
1352
+ messageDesc(file_settings_v1_settings, 190);
1304
1353
 
1305
1354
  /**
1306
1355
  * Describes the message settings.v1.GetContextDimensionVersionResponse.
1307
1356
  * Use `create(GetContextDimensionVersionResponseSchema)` to create a new message.
1308
1357
  */
1309
1358
  export const GetContextDimensionVersionResponseSchema = /*@__PURE__*/
1310
- messageDesc(file_settings_v1_settings, 184);
1359
+ messageDesc(file_settings_v1_settings, 191);
1311
1360
 
1312
1361
  /**
1313
1362
  * Describes the message settings.v1.ListContextDimensionVersionsRequest.
1314
1363
  * Use `create(ListContextDimensionVersionsRequestSchema)` to create a new message.
1315
1364
  */
1316
1365
  export const ListContextDimensionVersionsRequestSchema = /*@__PURE__*/
1317
- messageDesc(file_settings_v1_settings, 185);
1366
+ messageDesc(file_settings_v1_settings, 192);
1318
1367
 
1319
1368
  /**
1320
1369
  * Describes the message settings.v1.ListContextDimensionVersionsResponse.
1321
1370
  * Use `create(ListContextDimensionVersionsResponseSchema)` to create a new message.
1322
1371
  */
1323
1372
  export const ListContextDimensionVersionsResponseSchema = /*@__PURE__*/
1324
- messageDesc(file_settings_v1_settings, 186);
1373
+ messageDesc(file_settings_v1_settings, 193);
1325
1374
 
1326
1375
  /**
1327
1376
  * Describes the message settings.v1.RestoreContextDimensionVersionRequest.
1328
1377
  * Use `create(RestoreContextDimensionVersionRequestSchema)` to create a new message.
1329
1378
  */
1330
1379
  export const RestoreContextDimensionVersionRequestSchema = /*@__PURE__*/
1331
- messageDesc(file_settings_v1_settings, 187);
1380
+ messageDesc(file_settings_v1_settings, 194);
1332
1381
 
1333
1382
  /**
1334
1383
  * Describes the message settings.v1.RestoreContextDimensionVersionResponse.
1335
1384
  * Use `create(RestoreContextDimensionVersionResponseSchema)` to create a new message.
1336
1385
  */
1337
1386
  export const RestoreContextDimensionVersionResponseSchema = /*@__PURE__*/
1338
- messageDesc(file_settings_v1_settings, 188);
1387
+ messageDesc(file_settings_v1_settings, 195);
1339
1388
 
1340
1389
  /**
1341
1390
  * Describes the message settings.v1.PublishProfileSchemaRequest.
1342
1391
  * Use `create(PublishProfileSchemaRequestSchema)` to create a new message.
1343
1392
  */
1344
1393
  export const PublishProfileSchemaRequestSchema = /*@__PURE__*/
1345
- messageDesc(file_settings_v1_settings, 189);
1394
+ messageDesc(file_settings_v1_settings, 196);
1346
1395
 
1347
1396
  /**
1348
1397
  * Describes the message settings.v1.PublishProfileSchemaResponse.
1349
1398
  * Use `create(PublishProfileSchemaResponseSchema)` to create a new message.
1350
1399
  */
1351
1400
  export const PublishProfileSchemaResponseSchema = /*@__PURE__*/
1352
- messageDesc(file_settings_v1_settings, 190);
1401
+ messageDesc(file_settings_v1_settings, 197);
1353
1402
 
1354
1403
  /**
1355
1404
  * Describes the message settings.v1.UnpublishProfileSchemaRequest.
1356
1405
  * Use `create(UnpublishProfileSchemaRequestSchema)` to create a new message.
1357
1406
  */
1358
1407
  export const UnpublishProfileSchemaRequestSchema = /*@__PURE__*/
1359
- messageDesc(file_settings_v1_settings, 191);
1408
+ messageDesc(file_settings_v1_settings, 198);
1360
1409
 
1361
1410
  /**
1362
1411
  * Describes the message settings.v1.UnpublishProfileSchemaResponse.
1363
1412
  * Use `create(UnpublishProfileSchemaResponseSchema)` to create a new message.
1364
1413
  */
1365
1414
  export const UnpublishProfileSchemaResponseSchema = /*@__PURE__*/
1366
- messageDesc(file_settings_v1_settings, 192);
1415
+ messageDesc(file_settings_v1_settings, 199);
1367
1416
 
1368
1417
  /**
1369
1418
  * Describes the message settings.v1.GetProfileSchemaPublishStatusRequest.
1370
1419
  * Use `create(GetProfileSchemaPublishStatusRequestSchema)` to create a new message.
1371
1420
  */
1372
1421
  export const GetProfileSchemaPublishStatusRequestSchema = /*@__PURE__*/
1373
- messageDesc(file_settings_v1_settings, 193);
1422
+ messageDesc(file_settings_v1_settings, 200);
1374
1423
 
1375
1424
  /**
1376
1425
  * Describes the message settings.v1.GetProfileSchemaPublishStatusResponse.
1377
1426
  * Use `create(GetProfileSchemaPublishStatusResponseSchema)` to create a new message.
1378
1427
  */
1379
1428
  export const GetProfileSchemaPublishStatusResponseSchema = /*@__PURE__*/
1380
- messageDesc(file_settings_v1_settings, 194);
1429
+ messageDesc(file_settings_v1_settings, 201);
1381
1430
 
1382
1431
  /**
1383
1432
  * Describes the message settings.v1.ProfileSchemaVersion.
1384
1433
  * Use `create(ProfileSchemaVersionSchema)` to create a new message.
1385
1434
  */
1386
1435
  export const ProfileSchemaVersionSchema = /*@__PURE__*/
1387
- messageDesc(file_settings_v1_settings, 195);
1436
+ messageDesc(file_settings_v1_settings, 202);
1388
1437
 
1389
1438
  /**
1390
1439
  * Describes the message settings.v1.GetProfileSchemaVersionRequest.
1391
1440
  * Use `create(GetProfileSchemaVersionRequestSchema)` to create a new message.
1392
1441
  */
1393
1442
  export const GetProfileSchemaVersionRequestSchema = /*@__PURE__*/
1394
- messageDesc(file_settings_v1_settings, 196);
1443
+ messageDesc(file_settings_v1_settings, 203);
1395
1444
 
1396
1445
  /**
1397
1446
  * Describes the message settings.v1.GetProfileSchemaVersionResponse.
1398
1447
  * Use `create(GetProfileSchemaVersionResponseSchema)` to create a new message.
1399
1448
  */
1400
1449
  export const GetProfileSchemaVersionResponseSchema = /*@__PURE__*/
1401
- messageDesc(file_settings_v1_settings, 197);
1450
+ messageDesc(file_settings_v1_settings, 204);
1402
1451
 
1403
1452
  /**
1404
1453
  * Describes the message settings.v1.ListProfileSchemaVersionsRequest.
1405
1454
  * Use `create(ListProfileSchemaVersionsRequestSchema)` to create a new message.
1406
1455
  */
1407
1456
  export const ListProfileSchemaVersionsRequestSchema = /*@__PURE__*/
1408
- messageDesc(file_settings_v1_settings, 198);
1457
+ messageDesc(file_settings_v1_settings, 205);
1409
1458
 
1410
1459
  /**
1411
1460
  * Describes the message settings.v1.ListProfileSchemaVersionsResponse.
1412
1461
  * Use `create(ListProfileSchemaVersionsResponseSchema)` to create a new message.
1413
1462
  */
1414
1463
  export const ListProfileSchemaVersionsResponseSchema = /*@__PURE__*/
1415
- messageDesc(file_settings_v1_settings, 199);
1464
+ messageDesc(file_settings_v1_settings, 206);
1416
1465
 
1417
1466
  /**
1418
1467
  * Describes the message settings.v1.RestoreProfileSchemaVersionRequest.
1419
1468
  * Use `create(RestoreProfileSchemaVersionRequestSchema)` to create a new message.
1420
1469
  */
1421
1470
  export const RestoreProfileSchemaVersionRequestSchema = /*@__PURE__*/
1422
- messageDesc(file_settings_v1_settings, 200);
1471
+ messageDesc(file_settings_v1_settings, 207);
1423
1472
 
1424
1473
  /**
1425
1474
  * Describes the message settings.v1.RestoreProfileSchemaVersionResponse.
1426
1475
  * Use `create(RestoreProfileSchemaVersionResponseSchema)` to create a new message.
1427
1476
  */
1428
1477
  export const RestoreProfileSchemaVersionResponseSchema = /*@__PURE__*/
1429
- messageDesc(file_settings_v1_settings, 201);
1478
+ messageDesc(file_settings_v1_settings, 208);
1430
1479
 
1431
1480
  /**
1432
1481
  * Describes the message settings.v1.PublishProjectSchemaRequest.
1433
1482
  * Use `create(PublishProjectSchemaRequestSchema)` to create a new message.
1434
1483
  */
1435
1484
  export const PublishProjectSchemaRequestSchema = /*@__PURE__*/
1436
- messageDesc(file_settings_v1_settings, 202);
1485
+ messageDesc(file_settings_v1_settings, 209);
1437
1486
 
1438
1487
  /**
1439
1488
  * Describes the message settings.v1.PublishProjectSchemaResponse.
1440
1489
  * Use `create(PublishProjectSchemaResponseSchema)` to create a new message.
1441
1490
  */
1442
1491
  export const PublishProjectSchemaResponseSchema = /*@__PURE__*/
1443
- messageDesc(file_settings_v1_settings, 203);
1492
+ messageDesc(file_settings_v1_settings, 210);
1444
1493
 
1445
1494
  /**
1446
1495
  * Describes the message settings.v1.GetProjectPublishStatusRequest.
1447
1496
  * Use `create(GetProjectPublishStatusRequestSchema)` to create a new message.
1448
1497
  */
1449
1498
  export const GetProjectPublishStatusRequestSchema = /*@__PURE__*/
1450
- messageDesc(file_settings_v1_settings, 204);
1499
+ messageDesc(file_settings_v1_settings, 211);
1451
1500
 
1452
1501
  /**
1453
1502
  * Describes the message settings.v1.GetProjectPublishStatusResponse.
1454
1503
  * Use `create(GetProjectPublishStatusResponseSchema)` to create a new message.
1455
1504
  */
1456
1505
  export const GetProjectPublishStatusResponseSchema = /*@__PURE__*/
1457
- messageDesc(file_settings_v1_settings, 205);
1506
+ messageDesc(file_settings_v1_settings, 212);
1458
1507
 
1459
1508
  /**
1460
1509
  * Describes the message settings.v1.ScheduleContextDimensionPublishRequest.
1461
1510
  * Use `create(ScheduleContextDimensionPublishRequestSchema)` to create a new message.
1462
1511
  */
1463
1512
  export const ScheduleContextDimensionPublishRequestSchema = /*@__PURE__*/
1464
- messageDesc(file_settings_v1_settings, 206);
1513
+ messageDesc(file_settings_v1_settings, 213);
1465
1514
 
1466
1515
  /**
1467
1516
  * Describes the message settings.v1.ScheduleContextDimensionPublishResponse.
1468
1517
  * Use `create(ScheduleContextDimensionPublishResponseSchema)` to create a new message.
1469
1518
  */
1470
1519
  export const ScheduleContextDimensionPublishResponseSchema = /*@__PURE__*/
1471
- messageDesc(file_settings_v1_settings, 207);
1520
+ messageDesc(file_settings_v1_settings, 214);
1472
1521
 
1473
1522
  /**
1474
1523
  * Describes the message settings.v1.CancelScheduledContextDimensionPublishRequest.
1475
1524
  * Use `create(CancelScheduledContextDimensionPublishRequestSchema)` to create a new message.
1476
1525
  */
1477
1526
  export const CancelScheduledContextDimensionPublishRequestSchema = /*@__PURE__*/
1478
- messageDesc(file_settings_v1_settings, 208);
1527
+ messageDesc(file_settings_v1_settings, 215);
1479
1528
 
1480
1529
  /**
1481
1530
  * Describes the message settings.v1.CancelScheduledContextDimensionPublishResponse.
1482
1531
  * Use `create(CancelScheduledContextDimensionPublishResponseSchema)` to create a new message.
1483
1532
  */
1484
1533
  export const CancelScheduledContextDimensionPublishResponseSchema = /*@__PURE__*/
1485
- messageDesc(file_settings_v1_settings, 209);
1534
+ messageDesc(file_settings_v1_settings, 216);
1486
1535
 
1487
1536
  /**
1488
1537
  * Describes the message settings.v1.ScheduleProfileSchemaPublishRequest.
1489
1538
  * Use `create(ScheduleProfileSchemaPublishRequestSchema)` to create a new message.
1490
1539
  */
1491
1540
  export const ScheduleProfileSchemaPublishRequestSchema = /*@__PURE__*/
1492
- messageDesc(file_settings_v1_settings, 210);
1541
+ messageDesc(file_settings_v1_settings, 217);
1493
1542
 
1494
1543
  /**
1495
1544
  * Describes the message settings.v1.ScheduleProfileSchemaPublishResponse.
1496
1545
  * Use `create(ScheduleProfileSchemaPublishResponseSchema)` to create a new message.
1497
1546
  */
1498
1547
  export const ScheduleProfileSchemaPublishResponseSchema = /*@__PURE__*/
1499
- messageDesc(file_settings_v1_settings, 211);
1548
+ messageDesc(file_settings_v1_settings, 218);
1500
1549
 
1501
1550
  /**
1502
1551
  * Describes the message settings.v1.CancelScheduledProfileSchemaPublishRequest.
1503
1552
  * Use `create(CancelScheduledProfileSchemaPublishRequestSchema)` to create a new message.
1504
1553
  */
1505
1554
  export const CancelScheduledProfileSchemaPublishRequestSchema = /*@__PURE__*/
1506
- messageDesc(file_settings_v1_settings, 212);
1555
+ messageDesc(file_settings_v1_settings, 219);
1507
1556
 
1508
1557
  /**
1509
1558
  * Describes the message settings.v1.CancelScheduledProfileSchemaPublishResponse.
1510
1559
  * Use `create(CancelScheduledProfileSchemaPublishResponseSchema)` to create a new message.
1511
1560
  */
1512
1561
  export const CancelScheduledProfileSchemaPublishResponseSchema = /*@__PURE__*/
1513
- messageDesc(file_settings_v1_settings, 213);
1562
+ messageDesc(file_settings_v1_settings, 220);
1514
1563
 
1515
1564
  /**
1516
1565
  * Describes the enum settings.v1.ShareResourceType.