@alphauspkgs/blue-sdk-ts 1.0.49 → 1.0.51

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/gc/v1/gc_pb.js CHANGED
@@ -3,9 +3,10 @@
3
3
  // @generated from file gc/v1/gc.proto (package blueapi.gc.v1, syntax proto3)
4
4
  /* eslint-disable */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OrgSchema = exports.ListAzureIntegrationsRequestSchema = exports.CreateAzureIntegrationRequestSchema = exports.ListAzureOnboardingAccountsRequestSchema = exports.ValidateAzureAppInstallRequestSchema = exports.GetAzureOnboardingAuthUrlRequestSchema = exports.UpdateAzureOnboardingRequestSchema = exports.StartAzureOnboardingRequestSchema = exports.CreateGuaranteedCommitmentAccessRequestSchema = exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = exports.CreateCustomCommitmentPlanRequestSchema = exports.GetAvailableCommitmentTypesRequestSchema = exports.DeleteDraftPurchasePlanRequestSchema = exports.ListDraftPurchasePlansRequestSchema = exports.SaveCommitmentsPlanAsDraftRequestSchema = exports.AcceptBillingGroupTermsRequestSchema = exports.GetAwsPrivateOfferRequestSchema = exports.ValidateBillingGroupRequestSchema = exports.GetBillingGroupStatusRequestSchema = exports.SetBillingGroupStatusRequestSchema = exports.ListBillingGroupsRequestSchema = exports.GetPayerAccountStatusRequestSchema = exports.SetPayerAccountEnabledRequestSchema = exports.ListPayerAccountsRequestSchema = exports.GetOnboardingStatusRequestSchema = exports.VerifyAwsOnboardingRequestSchema = exports.GetAwsLaunchStackUrlRequestSchema = exports.GetAwsCloudFormationTemplateRequestSchema = exports.StartAwsOnboardingRequestSchema = exports.RegisterOrgRequestSchema = exports.TermsAcceptanceSchema = exports.AwsExistingCurSchema = exports.AddressSchema = exports.MembershipSchema = exports.OrgUserSchema = exports.GetUpdatedPurchasePlansBySegmentRequestSchema = exports.GetPurchasePlansDetailsRequestSchema = exports.ListPurchasePlansBySegmentRequestSchema = exports.ListReservableResourcesRequestSchema = exports.GetResourceDailyUsageRequestSchema = exports.ListResourcesRequestSchema = exports.GetMetricsRequestSchema = exports.ReadCommitmentReportAccountsRequestSchema = exports.ReadCommitmentReportsRequestSchema = exports.GetCommitmentsUtilizationRequestSchema = exports.GetCommitmentsChartRequestSchema = exports.ListCommitmentsRequestSchema = exports.CommitmentPlanApplyRequestSchema = exports.ListOrgsRequestSchema = exports.file_gc_v1_gc = void 0;
7
- exports.SetPayerAccountEnabledResponseSchema = exports.ListPayerAccountsResponse_PayerAccountStatusSchema = exports.ListPayerAccountsResponse_PayerAccountStatus = exports.ListPayerAccountsResponse_PayerAccountSchema = exports.ListPayerAccountsResponseSchema = exports.PayerAccountDetailsSchema = exports.GetOnboardingStatusResponse_OnboardingStatusSchema = exports.GetOnboardingStatusResponse_OnboardingStatus = exports.GetOnboardingStatusResponseSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = exports.VerifyAwsOnboardingResponseSchema = exports.GetAwsLaunchStackUrlResponseSchema = exports.GetAwsCloudFormationTemplateResponseSchema = exports.StartAwsOnboardingResponseSchema = exports.RegisterOrgResponseSchema = exports.PlanHistoryEntrySchema = exports.PlanHistoryUserSchema = exports.GetUpdatedPurchasePlansBySegmentResponseSchema = exports.ListPurchasePlansBySegmentResponseSchema = exports.DefaultPurchasePlanSchema = exports.AggregateMetricsSchema = exports.ServiceSummarySchema = exports.PlanSummarySchema = exports.ContractSpecSchema = exports.SegmentDetailsSchema = exports.PurchasePlanSchema = exports.SegmentCreatorSchema = exports.SegmentSchema = exports.ListReservableResourcesResponseSchema = exports.ReservableResourceSchema = exports.GetResourceDailyUsageResponseSchema = exports.ResourceDailyUsageSchema = exports.ListResourcesResponseSchema = exports.ResourceSchema = exports.MetricsResponseSchema = exports.CommitmentReportAccountSchema = exports.CommitmentReportSchema = exports.CommitmentsUtilizationResponseSchema = exports.CommitmentsUtilizationDataSchema = exports.CommitmentsChartResponseSchema = exports.CommitmentsChartDataSchema = exports.ListCommitmentsResponseSchema = exports.CommitmentSchema = exports.DailyUtilizationSchema = exports.LeaseSchema = exports.CommitmentPlanResourceMatchSchema = exports.CommitmentPlanLineItemSchema = exports.CommitmentPlanDetailsSchema = void 0;
8
- exports.GuaranteedCommitments = exports.UsageTypeSchema = exports.UsageType = exports.ScopeSchema = exports.Scope = exports.CommitmentInventoryStatusSchema = exports.CommitmentInventoryStatus = exports.CommitmentStatusSchema = exports.CommitmentStatus = exports.ProviderSchema = exports.Provider = exports.ListAzureIntegrationsResponseSchema = exports.CreateAzureIntegrationResponseSchema = exports.AzureIntegrationSchema = exports.AzureIntegrationOnboardingSchema = exports.AzureIntegrationFeatureStatusSchema = exports.ListAzureOnboardingAccountsResponseSchema = exports.AzureAccountSchema = exports.GetAzureOnboardingAuthUrlResponseSchema = exports.StartAzureOnboardingResponseSchema = exports.AzureOnboardingStateSchema = exports.AzureOnboardingCreatedBySchema = exports.AzureArcheraOrgSchema = exports.AzureArcheraOrgLeaseBudgetSchema = exports.AzureArcheraOrgFeatureStatusSchema = exports.CreateCustomCommitmentPlanResponseSchema = exports.GetPurchasePlansDetailsResponseSchema = exports.CreateGuaranteedCommitmentAccessResponseSchema = exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = exports.GetAvailableCommitmentTypesResponseSchema = exports.DeleteDraftPurchasePlanResponseSchema = exports.ListDraftPurchasePlansResponseSchema = exports.AcceptBillingGroupTermsResponseSchema = exports.GetAwsPrivateOfferResponseSchema = exports.ValidateBillingGroupResponseSchema = exports.GetBillingGroupStatusResponseSchema = exports.SetBillingGroupStatusResponseSchema = exports.ListBillingGroupsResponse_BillingGroupStatusSchema = exports.ListBillingGroupsResponse_BillingGroupStatus = exports.ListBillingGroupsResponse_BillingGroupSchema = exports.ListBillingGroupsResponseSchema = exports.GetPayerAccountStatusResponseSchema = void 0;
6
+ exports.ListAzureOnboardingAccountsRequestSchema = exports.ValidateAzureAppInstallRequestSchema = exports.GetAzureOnboardingAuthUrlRequestSchema = exports.UpdateAzureOnboardingRequestSchema = exports.StartAzureOnboardingRequestSchema = exports.CreateGuaranteedCommitmentAccessRequestSchema = exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = exports.CreateCustomCommitmentPlanRequestSchema = exports.GetAvailableCommitmentTypesRequestSchema = exports.DeleteDraftPurchasePlanRequestSchema = exports.ListDraftPurchasePlansRequestSchema = exports.SaveCommitmentsPlanAsDraftRequestSchema = exports.AcceptBillingGroupTermsRequestSchema = exports.GetAwsPrivateOfferRequestSchema = exports.ValidateBillingGroupRequestSchema = exports.GetBillingGroupStatusRequestSchema = exports.SetBillingGroupStatusRequestSchema = exports.ListBillingGroupsRequestSchema = exports.GetPayerAccountStatusRequestSchema = exports.SetPayerAccountEnabledRequestSchema = exports.ListPayerAccountsRequestSchema = exports.GetOnboardingStatusRequestSchema = exports.VerifyAwsOnboardingRequestSchema = exports.GetAwsLaunchStackUrlRequestSchema = exports.GetAwsCloudFormationTemplateRequestSchema = exports.StartAwsOnboardingRequestSchema = exports.RegisterOrgRequestSchema = exports.TermsAcceptanceSchema = exports.AwsExistingCurSchema = exports.AddressSchema = exports.MembershipSchema = exports.OrgUserSchema = exports.GetUpdatedPurchasePlansBySegmentRequestSchema = exports.GetPurchasePlansDetailsRequestSchema = exports.ListPurchasePlansBySegmentRequestSchema = exports.ListReservableResourcesRequestSchema = exports.GetResourceDailyUsageRequestSchema = exports.ListResourcesRequestSchema = exports.GetMetricsRequestSchema = exports.ReadCommitmentReportAccountsRequestSchema = exports.ReadCommitmentReportsRequestSchema = exports.GetCommitmentsUtilizationRequestSchema = exports.GetCommitmentsChartRequestSchema = exports.ListCommitmentsRequestSchema = exports.CommitmentPlanApplyRequestSchema = exports.ListOrgsRequestSchema = exports.AcceptTermsRequestSchema = exports.GetTermsDocumentRequestSchema = exports.GetTermsConsentStatusRequestSchema = exports.file_gc_v1_gc = void 0;
7
+ exports.GetOnboardingStatusResponseSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus = exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = exports.VerifyAwsOnboardingResponseSchema = exports.GetAwsLaunchStackUrlResponseSchema = exports.GetAwsCloudFormationTemplateResponseSchema = exports.StartAwsOnboardingResponseSchema = exports.RegisterOrgResponseSchema = exports.PlanHistoryEntrySchema = exports.PlanHistoryUserSchema = exports.GetUpdatedPurchasePlansBySegmentResponseSchema = exports.ListPurchasePlansBySegmentResponseSchema = exports.DefaultPurchasePlanSchema = exports.AggregateMetricsSchema = exports.ServiceSummarySchema = exports.PlanSummarySchema = exports.ContractSpecSchema = exports.SegmentDetailsSchema = exports.PurchasePlanSchema = exports.SegmentCreatorSchema = exports.SegmentSchema = exports.ListReservableResourcesResponseSchema = exports.ReservableResourceSchema = exports.GetResourceDailyUsageResponseSchema = exports.ResourceDailyUsageSchema = exports.ListResourcesResponseSchema = exports.ResourceSchema = exports.MetricsResponseSchema = exports.CommitmentReportAccountSchema = exports.CommitmentReportSchema = exports.CommitmentsUtilizationResponseSchema = exports.CommitmentsUtilizationDataSchema = exports.CommitmentsChartResponseSchema = exports.CommitmentsChartDataSchema = exports.ListCommitmentsResponseSchema = exports.CommitmentSchema = exports.DailyUtilizationSchema = exports.LeaseSchema = exports.CommitmentPlanResourceMatchSchema = exports.CommitmentPlanLineItemSchema = exports.CommitmentPlanDetailsSchema = exports.OrgSchema = exports.AcceptTermsResponseSchema = exports.TermsConsentRecordSchema = exports.GetTermsDocumentResponseSchema = exports.GetTermsConsentStatusResponseSchema = exports.TermsOfServiceVersionSchema = exports.ListAzureIntegrationsRequestSchema = exports.CreateAzureIntegrationRequestSchema = void 0;
8
+ exports.UsageType = exports.ScopeSchema = exports.Scope = exports.CommitmentInventoryStatusSchema = exports.CommitmentInventoryStatus = exports.CommitmentStatusSchema = exports.CommitmentStatus = exports.ProviderSchema = exports.Provider = exports.TermsConsentStateSchema = exports.TermsConsentState = exports.ListAzureIntegrationsResponseSchema = exports.CreateAzureIntegrationResponseSchema = exports.AzureIntegrationSchema = exports.AzureIntegrationOnboardingSchema = exports.AzureIntegrationFeatureStatusSchema = exports.ListAzureOnboardingAccountsResponseSchema = exports.AzureAccountSchema = exports.GetAzureOnboardingAuthUrlResponseSchema = exports.StartAzureOnboardingResponseSchema = exports.AzureOnboardingStateSchema = exports.AzureOnboardingCreatedBySchema = exports.AzureArcheraOrgSchema = exports.AzureArcheraOrgLeaseBudgetSchema = exports.AzureArcheraOrgFeatureStatusSchema = exports.CreateCustomCommitmentPlanResponseSchema = exports.GetPurchasePlansDetailsResponseSchema = exports.CreateGuaranteedCommitmentAccessResponseSchema = exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = exports.GetAvailableCommitmentTypesResponseSchema = exports.DeleteDraftPurchasePlanResponseSchema = exports.ListDraftPurchasePlansResponseSchema = exports.AcceptBillingGroupTermsResponseSchema = exports.GetAwsPrivateOfferResponseSchema = exports.ValidateBillingGroupResponseSchema = exports.GetBillingGroupStatusResponseSchema = exports.SetBillingGroupStatusResponseSchema = exports.ListBillingGroupsResponse_BillingGroupStatusSchema = exports.ListBillingGroupsResponse_BillingGroupStatus = exports.ListBillingGroupsResponse_BillingGroupSchema = exports.ListBillingGroupsResponseSchema = exports.GetPayerAccountStatusResponseSchema = exports.SetPayerAccountEnabledResponseSchema = exports.ListPayerAccountsResponse_PayerAccountStatusSchema = exports.ListPayerAccountsResponse_PayerAccountStatus = exports.ListPayerAccountsResponse_PayerAccountSchema = exports.ListPayerAccountsResponseSchema = exports.PayerAccountDetailsSchema = exports.GetOnboardingStatusResponse_OnboardingStatusSchema = exports.GetOnboardingStatusResponse_OnboardingStatus = void 0;
9
+ exports.GuaranteedCommitments = exports.UsageTypeSchema = void 0;
9
10
  const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
10
11
  const annotations_pb_1 = require("../../google/api/annotations_pb");
11
12
  const field_behavior_pb_1 = require("../../google/api/field_behavior_pb");
@@ -14,447 +15,487 @@ const annotations_pb_2 = require("../../protoc-gen-openapiv2/options/annotations
14
15
  /**
15
16
  * Describes the file gc/v1/gc.proto.
16
17
  */
17
- exports.file_gc_v1_gc = (0, codegenv2_1.fileDesc)("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIhgKFkxpc3RDb21taXRtZW50c1JlcXVlc3QiZwoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJEg8KB2dyb3VwQnkYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiOAogR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJIh4KHFJlYWRDb21taXRtZW50UmVwb3J0c1JlcXVlc3QiOgojUmVhZENvbW1pdG1lbnRSZXBvcnRBY2NvdW50c1JlcXVlc3QSEwoFbW9udGgYASABKAlCBOJBAQIiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIjMKHkxpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IjAKHkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiKQonR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkiSwoPVGVybXNBY2NlcHRhbmNlEhAKCGFjY2VwdGVkGAEgASgIEhIKCmFjY2VwdGVkQXQYAiABKAkSEgoKYWNjZXB0ZWRCeRgDIAEoCSKLAgoSUmVnaXN0ZXJPcmdSZXF1ZXN0EgwKBG5hbWUYASABKAkSGwoTbGFicmFTdWJzY3JpcHRpb25JZBgCIAEoCRIlCgV1c2VycxgDIAMoCzIWLmJsdWVhcGkuZ2MudjEuT3JnVXNlchIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSKJAQoZU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIWCg5wYXllckFjY291bnRJZBgEIAEoCRIYChBwYXllckFjY291bnROYW1lGAUgASgJIpMBCiNHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIWCg5wYXllckFjY291bnRJZBgEIAEoCRIYChBwYXllckFjY291bnROYW1lGAUgASgJIosBChtHZXRBd3NMYXVuY2hTdGFja1VybFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSK1AQoaVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFAoMb25ib2FyZGluZ0lkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRIyCgtleGlzdGluZ0N1chgGIAEoCzIdLmJsdWVhcGkuZ2MudjEuQXdzRXhpc3RpbmdDdXIiXwoaR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEhYKDnBheWVyQWNjb3VudElkGAMgASgJIhoKGExpc3RQYXllckFjY291bnRzUmVxdWVzdCJDCh1TZXRQYXllckFjY291bnRFbmFibGVkUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCCIeChxHZXRQYXllckFjY291bnRTdGF0dXNSZXF1ZXN0IhoKGExpc3RCaWxsaW5nR3JvdXBzUmVxdWVzdCJWChxTZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIEhIKCm5ld1ZlcnNpb24YAyABKAgiHgocR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdCJEChtWYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEhIKCm5ld1ZlcnNpb24YAiABKAgiRQoZR2V0QXdzUHJpdmF0ZU9mZmVyUmVxdWVzdBIWCg5wYXllckFjY291bnRJZBgBIAEoCRIQCghyZWNyZWF0ZRgCIAEoCCIgCh5BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1JlcXVlc3QiwgcKIVNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBIOCgZwbGFuSWQYASABKAkSFgoOcmVzZXJ2YXRpb25JZHMYAiADKAkSEwoLcmVzb3VyY2VJZHMYAyADKAkSFgoObWF4VXBmcm9udENvc3QYBCABKAESKQoIcHJvdmlkZXIYBSABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2VuZERhdGUYBiABKAkSEQoJc3RhcnREYXRlGAcgASgJEhEKCXNlZ21lbnRJZBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLZGVzY3JpcHRpb24YCiABKAkSDAoEbmFtZRgLIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGAwgASgJEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgNIAMoCRI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYDiADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIqCgpjb3ZlcmFnZUlkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgQIAEoCRIpCgljcmVhdGVkQnkYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEgoKZGF0YVNvdXJjZRgSIAEoCRIvCg9leGVjdXRpb25Qb2xpY3kYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoOZmxhZ2dlZEFjdGlvbnMYFCADKAkSCgoCaWQYFSABKAkSFQoNaXNDYWxjdWxhdGluZxgWIAEoCBIRCglpc0RlZmF1bHQYFyABKAgSEAoIaXNMb2NrZWQYGCABKAgSFQoNaXNSZWNvbW1lbmRlZBgZIAEoCBIRCglpc1JlbmV3YWwYGiABKAgSDwoHaXNTYXZlZBgbIAEoCBIUCgxsYXN0TW9kaWZpZWQYHCABKAkSEgoKbWV0YVBsYW5JZBgdIAEoCRI6ChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgeIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRINCgVvcmdJZBgfIAEoCRIQCghwbGFuVHlwZRggIAEoCRI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYISABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJwoHc2VnbWVudBgiIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCJDCh1MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBIPCgdpc0RyYWZ0GAEgASgIEhEKCWNvbXBhbnlJZBgCIAEoCSJICh5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QSEwoLZHJhZnRQbGFuSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJIjYKIkdldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1JlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkiowIKIUNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVxdWVzdBIQCghwcm92aWRlchgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIRCgljb21wYW55SWQYBCABKAkSDgoGc3RhdHVzGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEgwKBG5hbWUYByABKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGAggAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGAkgAygJEhMKC3Jlc291cmNlSWRzGAogAygJEhIKCmNvbXBhbnlJZHMYCyADKAkiPwopR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QSEgoKZXh0ZXJuYWxJZBgBIAEoCSJNCidDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhIKCmV4dGVybmFsSWQYAiABKAkigwEKG1N0YXJ0QXp1cmVPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIQCgh0ZW5hbnRJZBgEIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgFIAEoCSLSBQocVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCgljb21wYW55SWQYBCABKAkSEAoIdGVuYW50SWQYBSABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBiABKAkSEwoLYWNjb3VudEtpbmQYByABKAkSEgoKYWNjb3VudElkcxgIIAMoCRIVCg1ibG9iQ29udGFpbmVyGAkgASgJEhUKDXJlc291cmNlR3JvdXAYCiABKAkSFgoOc3RvcmFnZUFjY291bnQYCyABKAkSEAoIcm9sZU5hbWUYDCABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBEgASgIEhEKCWNyZWF0ZWRBdBgSIAEoCRI6CgljcmVhdGVkQnkYEyABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgUIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBUgASgJEhAKCHByb3ZpZGVyGBYgASgJEisKA29yZxgXIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnInMKIEdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEhAKCHRlbmFudElkGAMgASgJEhYKDnN1YnNjcmlwdGlvbklkGAQgASgJIrcFCh5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRIQCgh0ZW5hbnRJZBgEIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgFIAEoCRITCgthY2NvdW50S2luZBgGIAEoCRISCgphY2NvdW50SWRzGAcgAygJEhUKDWJsb2JDb250YWluZXIYCCABKAkSFQoNcmVzb3VyY2VHcm91cBgJIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgKIAEoCRIQCghyb2xlTmFtZRgLIAEoCRIzChNyZXNvdXJjZUdyb3VwUmVnaW9uGAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjQKFHN0b3JhZ2VBY2NvdW50UmVnaW9uGA0gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjEKEXJlc291cmNlR3JvdXBUYWdzGA4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjIKEnN0b3JhZ2VBY2NvdW50VGFncxgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljb21wbGV0ZWQYECABKAgSEQoJY3JlYXRlZEF0GBEgASgJEjoKCWNyZWF0ZWRCeRgSIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EisKC2ludGVncmF0aW9uGBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWludGVncmF0aW9uSWQYFCABKAkSEAoIcHJvdmlkZXIYFSABKAkSKwoDb3JnGBYgASgLMh4uYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmciSwoiTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCSKUBAodQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSDAoEdHlwZRgFIAEoCRIQCgh0ZW5hbnRJZBgGIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgHIAEoCRIUCgxvbmJvYXJkaW5nSWQYCCABKAkSEwoLYWNjb3VudEtpbmQYCSABKAkSEgoKYWNjb3VudElkcxgKIAMoCRIVCg1ibG9iQ29udGFpbmVyGAsgASgJEhUKDXJlc291cmNlR3JvdXAYDCABKAkSFgoOc3RvcmFnZUFjY291bnQYDSABKAkSEAoIcm9sZU5hbWUYDiABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgQIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgRIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYEiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUiLwocTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVxdWVzdBIPCgdnY09yZ0lkGAEgASgJIjEKA09yZxINCgVvcmdJZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJIvMEChVDb21taXRtZW50UGxhbkRldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCgljcmVhdGVkQXQYBSABKAkSFQoNaXNDYWxjdWxhdGluZxgGIAEoCBIOCgZzdGF0dXMYByABKAkSDwoHbWF4VGVybRgIIAEoCRIhChljb3ZlcmVkT25kZW1hbmRDb3N0SG91cmx5GAkgASgBEiAKGGJlZm9yZU9uZGVtYW5kQ29zdEhvdXJseRgKIAEoARIgChhiZWZvcmVSZXNlcnZlZENvc3RIb3VybHkYCyABKAESGwoTYW1vcnRpemVkQ29zdEhvdXJseRgMIAEoARIbChNyZWN1cnJpbmdDb3N0SG91cmx5GA0gASgBEhkKEXVwZnJvbnRDb3N0SG91cmx5GA4gASgBEhgKEGJlZm9yZUNvc3RIb3VybHkYDyABKAESFwoPYWZ0ZXJDb3N0SG91cmx5GBAgASgBEhcKD3RvdGFsQ29zdEhvdXJseRgRIAEoARIVCg1zYXZpbmdzSG91cmx5GBIgASgBEhEKCWZlZUhvdXJseRgTIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYFCABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GBUgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARIWCg5tb250aGx5U2F2aW5ncxgYIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GBkgASgBIrQGChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIcChRyZW5ld2FsUmVzZXJ2YXRpb25JZBgfIAEoCRIUCgxjb3ZlcmVkVW5pdHMYICABKAESFQoNYW1vcnRpemVkQ29zdBghIAEoASLXBQobQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEgoKAmlkGAEgASgJEhIKCnRvdGFsVW5pdHMYAiABKAESHAoUYmVmb3JlVW5jb3ZlcmVkVW5pdHMYAyABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYBCABKAESGwoTYWZ0ZXJVbmNvdmVyZWRVbml0cxgFIAEoARIVCg1vbmRlbWFuZFByaWNlGAYgASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAcgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgIIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgJIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GAogASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBgLIAEoARIZChFhZnRlclJlc2VydmVkQ29zdBgMIAEoARISCgpiZWZvcmVDb3N0GA0gASgBEhEKCWFmdGVyQ29zdBgOIAEoARIZChFtb250aGx5QmVmb3JlQ29zdBgPIAEoARIYChBtb250aGx5QWZ0ZXJDb3N0GBAgASgBEiAKGG1vbnRobHlBZnRlclJlc2VydmVkQ29zdBgRIAEoARIgChhtb250aGx5QWZ0ZXJPbmRlbWFuZENvc3QYEiABKAESFgoOYXZlcmFnZVNhdmluZ3MYEyABKAESHQoVYXZlcmFnZU1vbnRobHlTYXZpbmdzGBQgASgBEhEKCXVzYWdlVHlwZRgVIAEoCRIQCghjb3ZlcmFnZRgWIAEoARIpCghyZXNvdXJjZRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMY292ZXJlZFVuaXRzGBggASgBEhwKFGV4cGxhbmF0aW9uVW5tYXRjaGVkGBkgASgBEhQKDG9uZGVtYW5kQ29zdBgaIAEoARIUCgxyZXNlcnZlZENvc3QYGyABKAEi7gEKBUxlYXNlEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEh0KFXByb3ZpZGVyUmVzZXJ2YXRpb25JZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSDgoGc3RhdHVzGAUgASgJEhEKCXN0YXJ0RGF0ZRgGIAEoCRIPCgdlbmREYXRlGAcgASgJEhIKCmxvY2tpbkRhdGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAESFQoNcmVjdXJyaW5nQ29zdBgKIAEoARIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJIkkKEERhaWx5VXRpbGl6YXRpb24SDAoEZGF0ZRgBIAEoCRITCgt1dGlsaXphdGlvbhgCIAEoARISCgpuZXRTYXZpbmdzGAMgASgBItAHCgpDb21taXRtZW50EgoKAmlkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIVCg1hbW9ydGl6ZWRDb3N0GAMgASgBEhgKEGJpbGxpbmdBY2NvdW50SWQYBCABKAkSEQoJY2FuUmViYXRlGAUgASgIEhQKDGNvbnRyYWN0VGVybRgGIAEoCRITCgtkaXNwbGF5TmFtZRgHIAEoCRIXCg9kdXJhdGlvblNlY29uZHMYCCABKAESHgoWZWZmZWN0aXZlSW5zdGFuY2VDb3VudBgJIAEoAxIPCgdlbmREYXRlGAogASgJEhUKDWluc3RhbmNlQ291bnQYCyABKAMSFgoOaW5zdGFuY2VGYW1pbHkYDCABKAkSFAoMaW5zdGFuY2VUeXBlGA0gASgJEhAKCGlzQWN0aXZlGA4gASgIEhIKCmlzRmxleGlibGUYDyABKAgSEAoIaXNMZWFzZWQYECABKAgSEQoJaXNNdWx0aUF6GBEgASgIEhcKD2xlYXNlTG9ja2luRGF0ZRgSIAEoCRISCgpsZWFzZVN0YXJ0GBMgASgJEhkKEWxlYXNlZERpc3BsYXlOYW1lGBQgASgJEhMKC21vbnRobHlDb3N0GBUgASgBEhYKDm1vbnRobHlTYXZpbmdzGBYgASgBEgwKBG5hbWUYFyABKAkSEgoKbmV0U2F2aW5ncxgYIAEoARISCgpvZmZlcmluZ0lkGBkgASgJEhUKDXBheW1lbnRPcHRpb24YGiABKAkSGAoQcG90ZW50aWFsU2F2aW5ncxgbIAEoARIaChJwcm9kdWN0RGVzY3JpcHRpb24YHCABKAkSEAoIcHJvdmlkZXIYHSABKAkSHgoWcHJvdmlkZXJSZXNlcnZhdGlvbl9pZBgeIAEoCRIVCg1yZWN1cnJpbmdDb3N0GB8gASgBEg4KBnJlZ2lvbhggIAEoCRITCgtyZW5ld2FsUGxhbhghIAEoCRIWCg5yZXNlcnZhdGlvbkVuZBgiIAEoCRIYChByZXNlcnZhdGlvblN0YXJ0GCMgASgJEhQKDHJ1bm5pbmdIb3VycxgkIAEoARIPCgdzYXZpbmdzGCUgASgBEhEKCXN0YXJ0RGF0ZRgmIAEoCRIOCgZzdGF0dXMYJyABKAkSHgoWdHJhbnNmZXJSZXNlcnZhdGlvbkVuZBgoIAEoCRIgChh0cmFuc2ZlclJlc2VydmF0aW9uU3RhcnQYKSABKAkSDAoEdHlwZRgqIAEoCRITCgt1cGZyb250Q29zdBgrIAEoARITCgt1dGlsaXphdGlvbhgsIAEoASJJChdMaXN0Q29tbWl0bWVudHNSZXNwb25zZRIuCgtjb21taXRtZW50cxgBIAMoCzIZLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudCJKChRDb21taXRtZW50c0NoYXJ0RGF0YRIMCgRkYXRlGAEgASgJEhAKCGNoYXJ0S2V5GAIgASgJEhIKCmNoYXJ0VmFsdWUYAyABKAEiTQoYQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlEjEKBGRhdGEYASADKAsyIy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnREYXRhIvwBChpDb21taXRtZW50c1V0aWxpemF0aW9uRGF0YRIXCg91dGlsaXphdGlvbkRhdGUYASABKAkSDAoEY29zdBgCIAEoARITCgtjb3ZlcmVkQ29zdBgDIAEoARIPCgdncmlGZWVzGAQgASgBEhIKCm5ldFNhdmluZ3MYBSABKAESGAoQcG90ZW50aWFsU2F2aW5ncxgGIAEoARIeChZyZXNlcnZhdGlvblV0aWxpemF0aW9uGAcgASgBEhQKDHJ1bm5pbmdIb3VycxgIIAEoARIPCgdzYXZpbmdzGAkgASgBEhwKFHVudXRpbGl6ZWRDb21taXRtZW50GAogASgBIlkKHkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZRI3CgRkYXRhGAEgAygLMikuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uRGF0YSLQAQoQQ29tbWl0bWVudFJlcG9ydBINCgVtb250aBgBIAEoCRIWCg5iaWxsVW5hZGp1c3RlZBgCIAEoARIVCg1iaWxsT3B0aW1pemVkGAMgASgBEhQKDGdyb3NzU2F2aW5ncxgEIAEoARITCgtyaXNrUHJlbWl1bRgFIAEoARIPCgdyZWJhdGVzGAYgASgBEhIKCm5ldFNhdmluZ3MYByABKAESFAoMcmV2ZW51ZVNoYXJlGAggASgBEhgKEHJldmVudWVTaGFyZVJhdGUYCSABKAEi6AEKF0NvbW1pdG1lbnRSZXBvcnRBY2NvdW50EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhMKC2FjY291bnROYW1lGAQgASgJEg0KBWNsb3VkGAUgASgJEhQKDGdyb3NzU2F2aW5ncxgGIAEoARITCgtyaXNrUHJlbWl1bRgHIAEoARIPCgdyZWJhdGVzGAggASgBEhIKCm5ldFNhdmluZ3MYCSABKAESFAoMcmV2ZW51ZVNoYXJlGAogASgBIs0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui7wIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBEhkKEXByb3ZpZGVyVXNhZ2VUeXBlGBAgASgJIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSKDEAoSUmVzZXJ2YWJsZVJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgDIAEoCRIUCgxzdWJBY2NvdW50SWQYBCABKAkSEAoIcHJvdmlkZXIYBSABKAkSGgoScHJvdmlkZXJSZXNvdXJjZUlkGAYgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgHIAEoCRIVCg1wcm92aWRlclNrdUlkGAggASgJEg4KBmlzU3BvdBgJIAEoCBIUCgxpc1Jlc2VydmFibGUYCiABKAgSJAoEbmFtZRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1yZXNvdXJjZUdyb3VwGAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhAKCHVzYWdlRW5kGA0gASgJEhIKCnVzYWdlU3RhcnQYDiABKAkSJQoEdGFncxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLQoMcHJvdmlkZXJUYWdzGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCgh1c2VyVGFncxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GBIgASgJEhEKCXVwZGF0ZWRBdBgTIAEoCRISCgppbnN0YW5jZUlkGBQgASgJEjAKEGF2YWlsYWJpbGl0eVpvbmUYFSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoLY2FjaGVFbmdpbmUYFiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFAoMY2F0YWxvZ1NrdUlkGBcgASgJEhcKD2NhdGFsb2dTa3VPcmdJZBgYIAEoCRIgChhjbGFzc2ljTmV0d29ya2luZ1N1cHBvcnQYGSABKAgSEgoKY2xvY2tTcGVlZBgaIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYGyABKAkSFAoMY292ZXJlZFVzYWdlGBwgASgBEi4KDmRhdGFiYXNlRW5naW5lGB0gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEh4KFmRlZGljYXRlZEVic1Rocm91Z2hwdXQYHiABKAkSKwoLZGVzY3JpcHRpb24YHyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSCwoDZWN1GCAgASgJEiMKG2VuaGFuY2VkTmV0d29ya2luZ1N1cHBvcnRlZBghIAEoCBIOCgZmYW1pbHkYIiABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYIyABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgkIAEoCBIPCgdpY29uVXJsGCUgASgJEhUKDWludGVncmF0aW9uSWQYJiABKAkSGgoSaW50ZWxBdngyQXZhaWxhYmxlGCcgASgIEhkKEWludGVsQXZ4QXZhaWxhYmxlGCggASgIEhsKE2ludGVsVHVyYm9BdmFpbGFibGUYKSABKAgSIgoCaW8YKiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSGwoTaXNDdXJyZW50R2VuZXJhdGlvbhgrIAEoCBIpCglpc011bHRpQXoYLCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFAoMbGljZW5zZU1vZGVsGC0gASgJEhQKDGxvY2F0aW9uVHlwZRguIAEoCRIOCgZtZW1vcnkYLyABKAkSJwoHc2t1TmFtZRgwIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIQCghza3VUaXRsZRgxIAEoCRIPCgduZXRDb3N0GDIgASgBEhIKCm5ldFNhdmluZ3MYMyABKAESGgoSbmV0d29ya1BlcmZvcm1hbmNlGDQgASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGDUgASgJEhQKDG9uZGVtYW5kQ29zdBg2IAEoARIZChFvbmRlbWFuZFVzYWdlVW5pdBg3IAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YOCABKAkSEQoJb3BlcmF0aW9uGDkgASgJEhkKEXBoeXNpY2FsUHJvY2Vzc29yGDogASgJEhYKDnByZUluc3RhbGxlZFN3GDsgASgJEhUKDXByaWNlQ3VycmVuY3kYPCABKAkSHQoVcHJvY2Vzc29yQXJjaGl0ZWN0dXJlGD0gASgJEhkKEXByb2Nlc3NvckZlYXR1cmVzGD4gASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRg/IAEoCRIOCgZyZWdpb24YQCABKAkSDwoHc2VydmljZRhBIAEoCRIOCgZzb3VyY2UYQiABKAkSDwoHc3RvcmFnZRhDIAEoCRInCgd0YXhUeXBlGEQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB3RlbmFuY3kYRSABKAkSDgoGdXB0aW1lGEYgASgBEhEKCXVzYWdlVHlwZRhHIAEoCRIMCgR2Y3B1GEggASgJEg8KB3ZlcnNpb24YSSABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYSiABKAgSFAoMaW5zdGFuY2VUeXBlGEsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRhMIAEoCRI2CgtkYWlseVVzYWdlcxhNIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlIlcKH0xpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVzcG9uc2USNAoJcmVzb3VyY2VzGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNlcnZhYmxlUmVzb3VyY2UidAoHU2VnbWVudBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIRCglpc0RlZmF1bHQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJIkAKDlNlZ21lbnRDcmVhdG9yEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIksKDFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIRCglpc1JlbmV3YWwYBCABKAgipQUKDlNlZ21lbnREZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSKQoIcHJvdmlkZXIYBCABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhYKDmNsb3VkUHJvdmlkZXJzGAUgAygJEhEKCWlzRGVmYXVsdBgGIAEoCBIRCgljcmVhdGVkQXQYByABKAkSMAoJY3JlYXRlZEJ5GAggASgLMh0uYmx1ZWFwaS5nYy52MS5TZWdtZW50Q3JlYXRvchIQCghwYXJlbnRJZBgJIAEoCRIOCgZzdGF0dXMYCiABKAkSFAoMc2VnbWVudENsYXNzGAsgASgJEicKBnBhcmFtcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEwoLbW9udGhseUNvc3QYDSABKAESFgoObW9udGhseU5ldENvc3QYDiABKAESIAoYbW9udGhseUlmQWxsT25kZW1hbmRDb3N0GA8gASgBEhsKE21vbnRobHlPbmRlbWFuZENvc3QYECABKAESGwoTbW9udGhseVJlc2VydmVkQ29zdBgRIAEoARIXCg9tb250aGx5U3BvdENvc3QYEiABKAESFgoObW9udGhseVNhdmluZ3MYEyABKAESFQoNbW9udGhseUJ1ZGdldBgUIAEoARIQCghjb3ZlcmFnZRgVIAEoARIbChNyZWNvbW1lbmRlZENvdmVyYWdlGBYgASgBEhYKDnRhcmdldENvdmVyYWdlGBcgASgBEhwKFG1vbnRobHlSZXNvdXJjZUNvdW50GBggASgFEjIKDXB1cmNoYXNlUGxhbnMYGSADKAsyGy5ibHVlYXBpLmdjLnYxLlB1cmNoYXNlUGxhbiJ4CgxDb250cmFjdFNwZWMSFgoOY29tbWl0bWVudFR5cGUYASABKAkSFQoNcGF5bWVudE9wdGlvbhgCIAEoCRIMCgR0ZXJtGAMgASgJEisKCnByb3BlcnRpZXMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0It4CCgtQbGFuU3VtbWFyeRILCgNrZXkYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoObnVtQ29tbWl0bWVudHMYAyABKAUSFQoNbWluQ29tbWl0bWVudBgEIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgFIAEoARITCgt1cGZyb250Q29zdBgGIAEoARISCgptaW5TYXZpbmdzGAcgASgBEhIKCm1heFNhdmluZ3MYCCABKAESFgoObW9udGhseVNhdmluZ3MYCSABKAESFAoMbWluVGVybUhvdXJzGAogASgFEhQKDG1heFRlcm1Ib3VycxgLIAEoBRITCgtncmlQcmVtaXVtcxgMIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDSABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYDiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYDyABKAEi5QIKDlNlcnZpY2VTdW1tYXJ5EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC3NlcnZpY2VOYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEhYKDm51bUNvbW1pdG1lbnRzGAUgASgFEhcKD2N1cnJlbnRDb3ZlcmFnZRgGIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgHIAEoARIVCg1taW5Db21taXRtZW50GAggASgBEhkKEW1vbnRobHlDb21taXRtZW50GAkgASgBEhMKC3VwZnJvbnRDb3N0GAogASgBEhIKCm1pblNhdmluZ3MYCyABKAESEgoKbWF4U2F2aW5ncxgMIAEoARIWCg5tb250aGx5U2F2aW5ncxgNIAEoARIUCgxtaW5UZXJtSG91cnMYDiABKAUSFAoMbWF4VGVybUhvdXJzGA8gASgFEhIKCmdyaVByZW1pdW0YECABKAEi2gEKEEFnZ3JlZ2F0ZU1ldHJpY3MSFwoPY3VycmVudENvdmVyYWdlGAEgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAIgASgBEkEKCXN1bW1hcmllcxgDIAMoCzIuLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcy5TdW1tYXJpZXNFbnRyeRpPCg5TdW1tYXJpZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5ibHVlYXBpLmdjLnYxLlNlcnZpY2VTdW1tYXJ5OgI4ASLOCwoTRGVmYXVsdFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCXNlZ21lbnRJZBgFIAEoCRInCgdzZWdtZW50GAYgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Eg4KBnN0YXR1cxgHIAEoCRIQCghwbGFuVHlwZRgIIAEoCRIRCgljcmVhdGVkQXQYCSABKAkSFAoMbGFzdE1vZGlmaWVkGAogASgJEikKCWNyZWF0ZWRCeRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIvCg9leGVjdXRpb25Qb2xpY3kYDCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJaXNEZWZhdWx0GA0gASgIEhUKDWlzUmVjb21tZW5kZWQYDiABKAgSEQoJaXNSZW5ld2FsGA8gASgIEhUKDWlzQ2FsY3VsYXRpbmcYECABKAgSEAoIaXNMb2NrZWQYESABKAgSDwoHaXNTYXZlZBgSIAEoCBI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYEyADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYFCADKAkSDwoHbWF4VGVybRgVIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGBYgASgJEhYKDm1heFVwZnJvbnRDb3N0GBcgASgBEiIKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGBggASgBEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxgZIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglzdGFydERhdGUYGiABKAkSDwoHZW5kRGF0ZRgbIAEoCRISCgpkYXRhU291cmNlGBwgASgJEhIKCmJlZm9yZUNvc3QYHSABKAESEQoJYWZ0ZXJDb3N0GB4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgfIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYICABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBghIAEoARIVCg1hbW9ydGl6ZWRDb3N0GCIgASgBEhUKDXJlY3VycmluZ0Nvc3QYIyABKAESEwoLdXBmcm9udENvc3QYJCABKAESEQoJdG90YWxDb3N0GCUgASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYJiABKAESDwoHc2F2aW5ncxgnIAEoARIWCg5tb250aGx5U2F2aW5ncxgoIAEoARIUCgx0b3RhbFNhdmluZ3MYKSABKAESCwoDZmVlGCogASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgrIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYLCABKAESFgoOYnJlYWtldmVuSG91cnMYLSABKAESOQoQYWdncmVnYXRlTWV0cmljcxguIAEoCzIfLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcxItCglzdW1tYXJpZXMYLyADKAsyGi5ibHVlYXBpLmdjLnYxLlBsYW5TdW1tYXJ5EhYKDnJlc2VydmF0aW9uSWRzGDAgAygJEhMKC3Jlc291cmNlSWRzGDEgAygJEhYKDmZsYWdnZWRBY3Rpb25zGDIgAygJEhIKCm1ldGFQbGFuSWQYMyABKAkSEgoKY292ZXJhZ2VJZBg0IAEoCRIYChBtb250aGx5QWZ0ZXJDb3N0GDUgASgBEhwKFG1vbnRobHlBbW9ydGl6ZWRDb3N0GDYgASgBEhkKEW1vbnRobHlCZWZvcmVDb3N0GDcgASgBEhIKCm1vbnRobHlGZWUYOCABKAESEAoIYWxsVGVybXMYOSADKAkiVwoiTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJdCihHZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIkEKD1BsYW5IaXN0b3J5VXNlchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSL3AQoQUGxhbkhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEg0KBW9yZ0lkGAMgASgJEhcKD3JlbGF0ZWRPYmplY3RJZBgEIAEoCRIZChFyZWxhdGVkT2JqZWN0VHlwZRgFIAEoCRIRCgl0aW1lc3RhbXAYBiABKAkSDAoEdHlwZRgHIAEoCRIOCgZ1c2VySWQYCCABKAkSJAoEZGF0YRgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIsCgR1c2VyGAogASgLMh4uYmx1ZWFwaS5nYy52MS5QbGFuSGlzdG9yeVVzZXIihAIKE1JlZ2lzdGVyT3JnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIuCgttZW1iZXJzaGlwcxgDIAMoCzIZLmJsdWVhcGkuZ2MudjEuTWVtYmVyc2hpcBIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSIyChpTdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkiUQokR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlEikKCHRlbXBsYXRlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIrChxHZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlEgsKA3VybBgBIAEoCSKPBAobVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlElQKBmNoZWNrcxgBIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2samQMKGUF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSDwoHZmVhdHVyZRgBIAEoCRJvCgZzdGF0dXMYAiABKA4yXy5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrLkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzIvkBChpBd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cxItCilBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0FXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX0FWQUlMQUJMRRABEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1dBUk5JTkcQAhIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19NSVNTSU5HEAMSKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5LTk9XThAEItUFChtHZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2USDQoFZm91bmQYASABKAgSDQoFaXNNc3AYAiABKAgSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2djT3JnSWQYBCABKAkSFAoMb25ib2FyZGluZ0lkGAUgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYBiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEhEKCWFjY291bnRJZBgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIRCgljb21wYW55SWQYCSABKAkSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAogAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxI3Cg90ZXJtc0FjY2VwdGFuY2UYCyABKAsyHi5ibHVlYXBpLmdjLnYxLlRlcm1zQWNjZXB0YW5jZSKVAgoQT25ib2FyZGluZ1N0YXR1cxIhCh1PTkJPQVJESU5HX1NUQVRVU19VTlNQRUNJRklFRBAAEiQKIE9OQk9BUkRJTkdfU1RBVFVTX05PVF9SRUdJU1RFUkVEEAESIAocT05CT0FSRElOR19TVEFUVVNfUkVHSVNURVJFRBACEigKJE9OQk9BUkRJTkdfU1RBVFVTX09OQk9BUkRJTkdfU1RBUlRFRBADEh4KGk9OQk9BUkRJTkdfU1RBVFVTX1ZFUklGSUVEEAQSJwojT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0lOQ09NUExFVEUQBRIjCh9PTkJPQVJESU5HX1NUQVRVU19WRVJJRllfRkFJTEVEEAYijgMKE1BheWVyQWNjb3VudERldGFpbHMSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEiAKGHJpcHBsZVJlZ2lzdHJhdGlvblN0YXR1cxgDIAEoCRJSCg1nY1NldHVwU3RhdHVzGAQgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYBSADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrEiUKHW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVyU3RhdHVzGAYgASgJEiEKGW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVySWQYByABKAkSLQolbWFya2V0cGxhY2VQcml2YXRlT2ZmZXJFeHBpcmF0aW9uRGF0ZRgIIAEoCSKoBQoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBI/ChNwYXllckFjY291bnREZXRhaWxzGAIgAygLMiIuYmx1ZWFwaS5nYy52MS5QYXllckFjY291bnREZXRhaWxzGvoCCgxQYXllckFjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhYKDmJpbGxpbmdHcm91cElkGAMgASgJEhEKCXNlZ21lbnRJZBgEIAEoCRJLCgZzdGF0dXMYBSABKA4yOy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50U3RhdHVzEhEKCWNvbXBhbnlJZBgGIAEoCRJVChBvbmJvYXJkaW5nU3RhdHVzGAcgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYCCADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIn8KElBheWVyQWNjb3VudFN0YXR1cxIkCiBQQVlFUl9BQ0NPVU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEiAKHFBBWUVSX0FDQ09VTlRfU1RBVFVTX0VOQUJMRUQQARIhCh1QQVlFUl9BQ0NPVU5UX1NUQVRVU19ESVNBQkxFRBACIm0KHlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50ImwKHUdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlEksKDHBheWVyQWNjb3VudBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQitgUKGUxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2USTAoNYmlsbGluZ0dyb3VwcxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXAayQMKDEJpbGxpbmdHcm91cBIRCgljb21wYW55SWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIWCg5wYXllckFjY291bnRJZBgFIAEoCRIYChBwYXllckFjY291bnROYW1lGAYgASgJEhEKCXNlZ21lbnRJZBgHIAEoCRIUCgxyZXNvdXJjZVR5cGUYCCABKAkSSwoGc3RhdHVzGAkgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlLkJpbGxpbmdHcm91cFN0YXR1cxJVChBvbmJvYXJkaW5nU3RhdHVzGAogASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYCyADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIn8KEkJpbGxpbmdHcm91cFN0YXR1cxIkCiBCSUxMSU5HX0dST1VQX1NUQVRVU19VTlNQRUNJRklFRBAAEiAKHEJJTExJTkdfR1JPVVBfU1RBVFVTX0VOQUJMRUQQARIhCh1CSUxMSU5HX0dST1VQX1NUQVRVU19ESVNBQkxFRBACImwKHVNldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlEksKDGJpbGxpbmdHcm91cBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXAipQEKHUdldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlEksKDGJpbGxpbmdHcm91cBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXASNwoPdGVybXNBY2NlcHRhbmNlGAIgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UiWgocVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZRIKCgJvaxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSDwoHZGV0YWlscxgEIAMoCSLOAQoaR2V0QXdzUHJpdmF0ZU9mZmVyUmVzcG9uc2USFgoOcGF5ZXJBY2NvdW50SWQYASABKAkSDwoHb2ZmZXJJZBgCIAEoCRIRCglvZmZlck5hbWUYAyABKAkSDgoGc3RhdHVzGAQgASgJEhAKCG9mZmVyVXJsGAUgASgJEhEKCXByb2R1Y3RJZBgGIAEoCRIUCgxwcmljZVBlclVuaXQYByABKAESEQoJY3JlYXRlZEF0GAggASgJEhYKDmV4cGlyYXRpb25EYXRlGAkgASgJIloKH0FjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVzcG9uc2USNwoPdGVybXNBY2NlcHRhbmNlGAEgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UiUwoeTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIkIKH0RlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVzcG9uc2USDgoGcGxhbklkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgiNAojR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVzcG9uc2USDQoFdHlwZXMYASADKAki3QEKKkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJEiUKHWd1YXJhbnRlZWRDb21taXRtZW50UHJpbmNpcGFsGAYgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgHIAEoCSK+AgooQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXNwb25zZRIOCgZ0YXJnZXQYASABKAkSFQoNcmlwcGxlUm9sZUFybhgCIAEoCRIYChByaXBwbGVFeHRlcm5hbElkGAMgASgJEiMKG2d1YXJhbnRlZWRDb21taXRtZW50Um9sZUFybhgEIAEoCRImCh5ndWFyYW50ZWVkQ29tbWl0bWVudEV4dGVybmFsSWQYBSABKAkSDwoHc3RhY2tJZBgGIAEoCRITCgtzdGFja1JlZ2lvbhgHIAEoCRITCgt0ZW1wbGF0ZVVybBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLbGFzdFVwZGF0ZWQYCiABKAkSJAocZ3VhcmFudGVlZENvbW1pdG1lbnRWZXJpZmllZBgLIAEoCCKEAgofR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXNwb25zZRIwCgRwbGFuGAEgASgLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuEjgKCWxpbmVJdGVtcxgCIAMoCzIlLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5MaW5lSXRlbRJDCg9yZXNvdXJjZU1hdGNoZXMYAyADKAsyKi5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIwCgdoaXN0b3J5GAQgAygLMh8uYmx1ZWFwaS5nYy52MS5QbGFuSGlzdG9yeUVudHJ5IlcKIkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iegocQXp1cmVBcmNoZXJhT3JnRmVhdHVyZVN0YXR1cxImCgZkZXRhaWwYASABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHZmVhdHVyZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJdXBkYXRlZEF0GAQgASgJIlYKGkF6dXJlQXJjaGVyYU9yZ0xlYXNlQnVkZ2V0Eg4KBmJ1ZGdldBgBIAEoARIRCgljcmVhdGVkQXQYAiABKAkSFQoNbWluVGVybU1vbnRocxgDIAEoBSKeCwoPQXp1cmVBcmNoZXJhT3JnEh4KFmFwcGx5QmFsYW5jZVRvUHJlbWl1bXMYASABKAgSEwoLYXV0aFNzb09ubHkYAiABKAgSNwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYAyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSOQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgdiYWxhbmNlGAUgASgBEhUKDWJpbGxpbmdBY3RpdmUYBiABKAgSGgoSY2hhbm5lbFBhcnRuZXJUeXBlGAcgASgJEjIKEmNoYW5uZWxQYXJ0bmVyc2hpcBgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIrCgtjb250cmFjdEVuZBgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYCiABKAkSKAoIY3VycmVuY3kYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFwoPZGVmYXVsdFVzZXJSb2xlGAwgASgJEiwKDGRpc2NvdW50SW5mbxgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIOCgZkb21haW4YDiABKAkSLQoNZWZmZWN0aXZlRGF0ZRgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRJECg9mZWF0dXJlU3RhdHVzZXMYECADKAsyKy5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZ0ZlYXR1cmVTdGF0dXMSEAoIZmVhdHVyZXMYESADKAkSKgoKZnJ1Z2FsTW9kZRgSIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI3ChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRITCgtoYXNEaXNjb3VudBgUIAEoCBIPCgdoYXNHcmlzGBUgASgIEiEKGWhhc1Rkc1BhY1Byb3h5Q3JlZGVudGlhbHMYFiABKAgSCgoCaWQYFyABKAkSHwoXaXNMZWFzZUJ1eWJhY2tBdXRvbWF0ZWQYGCABKAgSHAoUaXNMZWFzZVN3YXBBdXRvbWF0ZWQYGSABKAgSFQoNaXNUZHNQYWNQcm94eRgaIAEoCBI+CgtsZWFzZUJ1ZGdldBgbIAEoCzIpLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnTGVhc2VCdWRnZXQSIAoYbGVhc2VCdXliYWNrTG9va2JhY2tEYXlzGBwgASgFEh0KFWxlYXNlU3dhcExvb2tiYWNrRGF5cxgdIAEoBRIMCgRuYW1lGB4gASgJEikKCXBhcnRuZXJJZBgfIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglwbGFuVHJpYWwYICABKAgSGAoQcGxhblRyaWFsRXhwaXJlcxghIAEoCRIWCg5wbGFuVHlwZUNob3NlbhgiIAEoCRIZChFwbGFuVHlwZUVmZmVjdGl2ZRgjIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgkIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1wcm9tb3Rpb25Db2RlGCUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEloKFnByb3ZpZGVyUm9vdFNlZ21lbnRJZHMYJiADKAsyOi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZy5Qcm92aWRlclJvb3RTZWdtZW50SWRzRW50cnkaPQobUHJvdmlkZXJSb290U2VnbWVudElkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiVAoYQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSKyBwoUQXp1cmVPbmJvYXJkaW5nU3RhdGUSFAoMb25ib2FyZGluZ0lkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhEKCWNvbXBsZXRlZBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkSOgoJY3JlYXRlZEJ5GAYgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YByABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgIIAEoCRIaChJhcmNoZXJhT3V0Ym91bmRJcHMYCSADKAkSEAoIdGVuYW50SWQYCiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYCyABKAkSEgoKYWNjb3VudElkcxgMIAMoCRITCgthY2NvdW50S2luZBgNIAEoCRIwChBhcHBBdXRoVmFsaWRhdGVkGA4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi0KDWFwcEF1dGhvcml6ZWQYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNYmxvYkNvbnRhaW5lchgQIAEoCRIVCg1yZXNvdXJjZUdyb3VwGBEgASgJEhYKDnN0b3JhZ2VBY2NvdW50GBIgASgJEhAKCHJvbGVOYW1lGBMgASgJEi8KD2NyZWF0ZVJlc291cmNlcxgUIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRtYXJrZXRwbGFjZUNvbXBsZXRlZBgVIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIvCg9wZXJtaXNzaW9uTGV2ZWwYFiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgXIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgYIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgZIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYGiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoDb3JnGBsgASgLMh4uYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmcikwEKHFN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2USFAoMb25ib2FyZGluZ0lkGAEgASgJEjIKBXN0YXRlGAIgASgLMiMuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdTdGF0ZRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCgljb21wYW55SWQYBCABKAkiMAohR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSJ2CgxBenVyZUFjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhUKDWFjY291bnRTdGF0dXMYAyABKAkSEwoLYWNjb3VudFR5cGUYBCABKAkSEgoKaXNFbGlnaWJsZRgFIAEoCCJUCiNMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHNSZXNwb25zZRItCghhY2NvdW50cxgBIAMoCzIbLmJsdWVhcGkuZ2MudjEuQXp1cmVBY2NvdW50IlAKHUF6dXJlSW50ZWdyYXRpb25GZWF0dXJlU3RhdHVzEg8KB2ZlYXR1cmUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBmRldGFpbBgDIAMoCSLCAQoaQXp1cmVJbnRlZ3JhdGlvbk9uYm9hcmRpbmcSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSEAoIcHJvdmlkZXIYAyABKAkSFQoNaW50ZWdyYXRpb25JZBgEIAEoCRIRCgljb21wbGV0ZWQYBSABKAgSEQoJY3JlYXRlZEF0GAYgASgJEjoKCWNyZWF0ZWRCeRgHIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5Iu4EChBBenVyZUludGVncmF0aW9uEgoKAmlkGAEgASgJEg4KBmFjdGl2ZRgCIAEoCBIMCgRuYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEgwKBHR5cGUYBSABKAkSDQoFb3JnSWQYBiABKAkSDgoGdXNlcklkGAcgASgJEhEKCWNyZWF0ZWRBdBgIIAEoCRIRCgl1cGRhdGVkQXQYCSABKAkSIAoYbWFuYWdlbWVudFN1YnNjcmlwdGlvbklkGAogASgJEh4KFnByb3ZpZGVyT3JnYW5pemF0aW9uSWQYCyABKAkSFQoNYmxvYkNvbnRhaW5lchgMIAEoCRIVCg1yZXNvdXJjZUdyb3VwGA0gASgJEhYKDnN0b3JhZ2VBY2NvdW50GA4gASgJEhgKEGNvc3RFeHBvcnRGb3JtYXQYDyABKAkSFwoPY3VyRWFybGllc3REYXRhGBAgASgJEhUKDWN1clJlcG9ydE5hbWUYESABKAkSEQoJY3VyVXNhYmxlGBIgASgIEhQKDGhhc0N1ckFjY2VzcxgTIAEoCBIgChhoYXNGdWxsUmVzZXJ2YXRpb25BY2Nlc3MYFCABKAgSRQoPZmVhdHVyZVN0YXR1c2VzGBUgAygLMiwuYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uRmVhdHVyZVN0YXR1cxI+CgtvbmJvYXJkaW5ncxgWIAMoCzIpLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbk9uYm9hcmRpbmcSJwoGY29uZmlnGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK0AQoeQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEQoJZXJyb3JDb2RlGAIgASgJEhQKDGVycm9yTWVzc2FnZRgDIAEoCRIVCg1pbnRlZ3JhdGlvbklkGAQgASgJEhYKDmJpbGxpbmdHcm91cElkGAUgASgJEhEKCWNvbXBhbnlJZBgGIAEoCRIWCg5wYXllckFjY291bnRJZBgHIAEoCSJWCh1MaXN0QXp1cmVJbnRlZ3JhdGlvbnNSZXNwb25zZRI1CgxpbnRlZ3JhdGlvbnMYASADKAsyHy5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb24qXgoIUHJvdmlkZXISGAoUUFJPVklERVJfVU5TUEVDSUZJRUQQABIHCgNBV1MQARIJCgVBWlVSRRACEgcKA0dDUBADEg4KCktVQkVSTkVURVMQBBILCgdVTktOT1dOEAUqmAEKEENvbW1pdG1lbnRTdGF0dXMSIQodQ09NTUlUTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIHCgNORVcQARIMCghSRVZJRVdFRBACEg0KCVNDSEVEVUxFRBADEg0KCUNPTVBMRVRFRBAEEgkKBURSQUZUEAUSEAoMTkVFRFNfUkVWSUVXEAYSDwoLSU5fUFJPR1JFU1MQByqKAQoZQ29tbWl0bWVudEludmVudG9yeVN0YXR1cxIrCidDT01NSVRNRU5UX0lOVkVOVE9SWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdSRVRJUkVEEAISEwoPUEFZTUVOVF9QRU5ESU5HEAMSEgoOUEFZTUVOVF9GQUlMRUQQBCpDCgVTY29wZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEgoKBlNIQVJFRBABEgwKCFJFR0lPTkFMEAISCQoFWk9OQUwQAypBCglVc2FnZVR5cGUSGgoWVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAIy9DcKFUd1YXJhbnRlZWRDb21taXRtZW50cxJjCghMaXN0T3JncxIeLmJsdWVhcGkuZ2MudjEuTGlzdE9yZ3NSZXF1ZXN0GhIuYmx1ZWFwaS5nYy52MS5PcmciIYLT5JMCGzoBKiIWL3YxL29yZ2FuaXphdGlvbnM6cmVhZDABEpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRJ5Cg9MaXN0Q29tbWl0bWVudHMSJS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1JlcXVlc3QaJi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1Jlc3BvbnNlIheC0+STAhESDy92MS9jb21taXRtZW50cxKXAQoTR2V0Q29tbWl0bWVudHNDaGFydBIpLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QaJy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZSIsgtPkkwImEiQvdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vY2hhcnQSrwEKGUdldENvbW1pdG1lbnRzVXRpbGl6YXRpb24SLy5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L3V0aWxpemF0aW9uEowBChVSZWFkQ29tbWl0bWVudFJlcG9ydHMSKy5ibHVlYXBpLmdjLnYxLlJlYWRDb21taXRtZW50UmVwb3J0c1JlcXVlc3QaHy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRSZXBvcnQiI4LT5JMCHToBKiIYL3YxL3JlcG9ydHMvaW52b2ljZTpyZWFkMAESsgEKHFJlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHMSMi5ibHVlYXBpLmdjLnYxLlJlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UmVwb3J0QWNjb3VudCI0gtPkkwIuOgEqIikvdjEvcmVwb3J0cy9pbnZvaWNlL3ttb250aH0vYWNjb3VudHM6cmVhZDABEmMKCkdldE1ldHJpY3MSIC5ibHVlYXBpLmdjLnYxLkdldE1ldHJpY3NSZXF1ZXN0Gh4uYmx1ZWFwaS5nYy52MS5NZXRyaWNzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21ldHJpY3MScQoNTGlzdFJlc291cmNlcxIjLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXNwb25zZSIVgtPkkwIPEg0vdjEvcmVzb3VyY2VzEqEBChVHZXRSZXNvdXJjZURhaWx5VXNhZ2USKy5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlIi2C0+STAicSJS92MS9yZXNvdXJjZXMve3Jlc291cmNlSWR9L2RhaWx5dXNhZ2USmwEKF0xpc3RSZXNlcnZhYmxlUmVzb3VyY2VzEi0uYmx1ZWFwaS5nYy52MS5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkxpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVzcG9uc2UiIYLT5JMCGxIZL3YxL2NvbW1pdG1lbnRzL3Jlc291cmNlcxKoAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIlgtPkkwIfEh0vdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucxLEAQogR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSNi5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBo3LmJsdWVhcGkuZ2MudjEuR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuczp1cGRhdGUSqAEKF0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzEi0uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2UiLoLT5JMCKBImL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMve3BsYW5JZH0SqwEKGlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0EjAuYmx1ZWFwaS5nYy52MS5TYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iN4LT5JMCMToBKiIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve3BsYW5JZH0SogEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQSswEKF0RlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuEi0uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVzcG9uc2UiOYLT5JMCMyoxL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve2RyYWZ0UGxhbklkfRK6AQobR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzEjEuYmx1ZWFwaS5nYy52MS5HZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0GjIuYmx1ZWFwaS5nYy52MS5HZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXNwb25zZSI0gtPkkwIuEiwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9hdmFpbGFibGV0eXBlcxKyAQoaQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW4SMC5ibHVlYXBpLmdjLnYxLkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW5SZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9jdXN0b20SbwoLUmVnaXN0ZXJPcmcSIS5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvb25ib2FyZGluZxKOAQoSU3RhcnRBd3NPbmJvYXJkaW5nEiguYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvb25ib2FyZGluZy9hd3Mvc3RhcnQSuwEKHEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGUSMi5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0GjMuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2UiMoLT5JMCLBIqL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL3RlbXBsYXRlEqkBChRHZXRBd3NMYXVuY2hTdGFja1VybBIqLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi9sYXVuY2hzdGFja3VybBKSAQoTVmVyaWZ5QXdzT25ib2FyZGluZxIpLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvb25ib2FyZGluZy9hd3MvdmVyaWZ5EpMBChNHZXRPbmJvYXJkaW5nU3RhdHVzEikuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vbmJvYXJkaW5nL3N0YXR1czpyZWFkEogBChFMaXN0UGF5ZXJBY2NvdW50cxInLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlIiCC0+STAhoSGC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cxKmAQoWU2V0UGF5ZXJBY2NvdW50RW5hYmxlZBIsLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMve2NvbXBhbnlJZH0SmwEKFUdldFBheWVyQWNjb3VudFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3N0YXR1cxKNAQoRTGlzdEJpbGxpbmdHcm91cHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZSIlgtPkkwIfEh0vdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3VwcxKoAQoVU2V0QmlsbGluZ0dyb3VwU3RhdHVzEisuYmx1ZWFwaS5nYy52MS5TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy97Y29tcGFueUlkfRKgAQoVR2V0QmlsbGluZ0dyb3VwU3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZSIsgtPkkwImEiQvdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy9zdGF0dXMSoAEKFFZhbGlkYXRlQmlsbGluZ0dyb3VwEiouYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL29uYm9hcmRpbmcvYmlsbGluZ2dyb3VwOnZhbGlkYXRlEqMBChJHZXRBd3NQcml2YXRlT2ZmZXISKC5ibHVlYXBpLmdjLnYxLkdldEF3c1ByaXZhdGVPZmZlclJlcXVlc3QaKS5ibHVlYXBpLmdjLnYxLkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9wcml2YXRlb2ZmZXIve3BheWVyQWNjb3VudElkfRKvAQoXQWNjZXB0QmlsbGluZ0dyb3VwVGVybXMSLS5ibHVlYXBpLmdjLnYxLkFjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuQWNjZXB0QmlsbGluZ0dyb3VwVGVybXNSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy90ZXJtczphY2NlcHQSzwEKIkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmwSOC5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0GjkuYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZDp1cmwSyAEKIENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzEjYuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZBKWAQoUU3RhcnRBenVyZU9uYm9hcmRpbmcSKi5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuU3RhcnRBenVyZU9uYm9hcmRpbmdSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9henVyZS9zdGFydBKgAQoVVXBkYXRlQXp1cmVPbmJvYXJkaW5nEisuYmx1ZWFwaS5nYy52MS5VcGRhdGVBenVyZU9uYm9hcmRpbmdSZXF1ZXN0GiMuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdTdGF0ZSI1gtPkkwIvOgEqIiovdjEvb25ib2FyZGluZy9henVyZS97b25ib2FyZGluZ0lkfTp1cGRhdGUSswEKGUdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmwSLy5ibHVlYXBpLmdjLnYxLkdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXF1ZXN0GjAuYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVzcG9uc2UiM4LT5JMCLRIrL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vYXV0aHVybBKmAQoXVmFsaWRhdGVBenVyZUFwcEluc3RhbGwSLS5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiN4LT5JMCMToBKiIsL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vdmFsaWRhdGUSugEKG0xpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50cxIxLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vYWNjb3VudHMSogEKFkNyZWF0ZUF6dXJlSW50ZWdyYXRpb24SLC5ibHVlYXBpLmdjLnYxLkNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL29uYm9hcmRpbmcvYXp1cmUvaW50ZWdyYXRpb24SnQEKFUxpc3RBenVyZUludGVncmF0aW9ucxIrLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVzcG9uc2UiKYLT5JMCIxIhL3YxL29uYm9hcmRpbmcvYXp1cmUvaW50ZWdyYXRpb25zGqIBkkGeARJQKEFscGhhKSBHdWFyYW50ZWVkQ29tbWl0bWVudHMgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvZ2MaSgoSU2VydmljZSBkZWZpbml0aW9uEjRodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vZ2MvQlUKFGNsb3VkLmFscGhhdXMuYXBpLmdjQhpHdWFyYW50ZWVkQ29tbWl0bWVudHNQcm90b1ohZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2djYgZwcm90bzM", [annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
18
+ exports.file_gc_v1_gc = (0, codegenv2_1.fileDesc)("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIeChxHZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0IjEKF0dldFRlcm1zRG9jdW1lbnRSZXF1ZXN0EhYKCGxhbmd1YWdlGAEgASgJQgTiQQECIi0KEkFjY2VwdFRlcm1zUmVxdWVzdBIXCgl2ZXJzaW9uSWQYASABKAlCBOJBAQIiEQoPTGlzdE9yZ3NSZXF1ZXN0IiwKGkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCSIYChZMaXN0Q29tbWl0bWVudHNSZXF1ZXN0ImcKGkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCRIPCgdncm91cEJ5GAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJIjgKIEdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCSIeChxSZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0IjoKI1JlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHNSZXF1ZXN0EhMKBW1vbnRoGAEgASgJQgTiQQECIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIzCh5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJIiMKIUxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCIwCh5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QSDgoGcGxhbklkGAEgASgJIikKJ0dldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIksKD1Rlcm1zQWNjZXB0YW5jZRIQCghhY2NlcHRlZBgBIAEoCBISCgphY2NlcHRlZEF0GAIgASgJEhIKCmFjY2VwdGVkQnkYAyABKAkiiwIKElJlZ2lzdGVyT3JnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhsKE2xhYnJhU3Vic2NyaXB0aW9uSWQYAiABKAkSJQoFdXNlcnMYAyADKAsyFi5ibHVlYXBpLmdjLnYxLk9yZ1VzZXISDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiiQEKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKTAQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKLAQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBSABKAkitQEKGlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhQKDG9uYm9hcmRpbmdJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSMgoLZXhpc3RpbmdDdXIYBiABKAsyHS5ibHVlYXBpLmdjLnYxLkF3c0V4aXN0aW5nQ3VyIl8KGkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIWCg5wYXllckFjY291bnRJZBgDIAEoCSIaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QiQwodU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEg8KB2VuYWJsZWQYAiABKAgiHgocR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdCIaChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QiVgocU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCBISCgpuZXdWZXJzaW9uGAMgASgIIh4KHEdldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QiRAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRISCgpuZXdWZXJzaW9uGAIgASgIIkUKGUdldEF3c1ByaXZhdGVPZmZlclJlcXVlc3QSFgoOcGF5ZXJBY2NvdW50SWQYASABKAkSEAoIcmVjcmVhdGUYAiABKAgiIAoeQWNjZXB0QmlsbGluZ0dyb3VwVGVybXNSZXF1ZXN0IsIHCiFTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QSDgoGcGxhbklkGAEgASgJEhYKDnJlc2VydmF0aW9uSWRzGAIgAygJEhMKC3Jlc291cmNlSWRzGAMgAygJEhYKDm1heFVwZnJvbnRDb3N0GAQgASgBEikKCHByb3ZpZGVyGAUgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdlbmREYXRlGAYgASgJEhEKCXN0YXJ0RGF0ZRgHIAEoCRIRCglzZWdtZW50SWQYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEgwKBG5hbWUYCyABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgMIAEoCRIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYDSADKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGA4gAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSKgoKY292ZXJhZ2VJZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYECABKAkSKQoJY3JlYXRlZEJ5GBEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhIKCmRhdGFTb3VyY2UYEiABKAkSLwoPZXhlY3V0aW9uUG9saWN5GBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDmZsYWdnZWRBY3Rpb25zGBQgAygJEgoKAmlkGBUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYFiABKAgSEQoJaXNEZWZhdWx0GBcgASgIEhAKCGlzTG9ja2VkGBggASgIEhUKDWlzUmVjb21tZW5kZWQYGSABKAgSEQoJaXNSZW5ld2FsGBogASgIEg8KB2lzU2F2ZWQYGyABKAgSFAoMbGFzdE1vZGlmaWVkGBwgASgJEhIKCm1ldGFQbGFuSWQYHSABKAkSOgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYHiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDQoFb3JnSWQYHyABKAkSEAoIcGxhblR5cGUYICABKAkSPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGCEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEicKB3NlZ21lbnQYIiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQwodTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QSDwoHaXNEcmFmdBgBIAEoCBIRCgljb21wYW55SWQYAiABKAkiSAoeRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0EhMKC2RyYWZ0UGxhbklkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCSI2CiJHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJIqMCCiFDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIMCgRuYW1lGAcgASgJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgIIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgJIAMoCRITCgtyZXNvdXJjZUlkcxgKIAMoCRISCgpjb21wYW55SWRzGAsgAygJIj8KKUdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0EhIKCmV4dGVybmFsSWQYASABKAkiTQonQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRISCgpleHRlcm5hbElkGAIgASgJIoMBChtTdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAki0gUKHFVwZGF0ZUF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEhAKCHRlbmFudElkGAUgASgJEhYKDnN1YnNjcmlwdGlvbklkGAYgASgJEhMKC2FjY291bnRLaW5kGAcgASgJEhIKCmFjY291bnRJZHMYCCADKAkSFQoNYmxvYkNvbnRhaW5lchgJIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAogASgJEhYKDnN0b3JhZ2VBY2NvdW50GAsgASgJEhAKCHJvbGVOYW1lGAwgASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YDiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBAgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNvbXBsZXRlZBgRIAEoCBIRCgljcmVhdGVkQXQYEiABKAkSOgoJY3JlYXRlZEJ5GBMgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgVIAEoCRIQCghwcm92aWRlchgWIAEoCRIrCgNvcmcYFyABKAsyHi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZyJzCiBHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIQCgh0ZW5hbnRJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCSK3BQoeVmFsaWRhdGVBenVyZUFwcEluc3RhbGxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAkSEwoLYWNjb3VudEtpbmQYBiABKAkSEgoKYWNjb3VudElkcxgHIAMoCRIVCg1ibG9iQ29udGFpbmVyGAggASgJEhUKDXJlc291cmNlR3JvdXAYCSABKAkSFgoOc3RvcmFnZUFjY291bnQYCiABKAkSEAoIcm9sZU5hbWUYCyABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBAgASgIEhEKCWNyZWF0ZWRBdBgRIAEoCRI6CgljcmVhdGVkQnkYEiABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBQgASgJEhAKCHByb3ZpZGVyGBUgASgJEisKA29yZxgWIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIksKIkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkilAQKHUNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Eg8KB2djT3JnSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEgwKBHR5cGUYBSABKAkSEAoIdGVuYW50SWQYBiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYByABKAkSFAoMb25ib2FyZGluZ0lkGAggASgJEhMKC2FjY291bnRLaW5kGAkgASgJEhIKCmFjY291bnRJZHMYCiADKAkSFQoNYmxvYkNvbnRhaW5lchgLIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAwgASgJEhYKDnN0b3JhZ2VBY2NvdW50GA0gASgJEhAKCHJvbGVOYW1lGA4gASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlIi8KHExpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCSJ3ChVUZXJtc09mU2VydmljZVZlcnNpb24SCgoCaWQYASABKAkSDwoHcHJvZHVjdBgCIAEoCRIUCgx2ZXJzaW9uTGFiZWwYAyABKAkSFgoOY2xhc3NpZmljYXRpb24YBCABKAkSEwoLcHVibGlzaGVkQXQYBSABKAki6QEKHUdldFRlcm1zQ29uc2VudFN0YXR1c1Jlc3BvbnNlEi8KBXN0YXRlGAEgASgOMiAuYmx1ZWFwaS5nYy52MS5UZXJtc0NvbnNlbnRTdGF0ZRIVCg1hY2Nlc3NBbGxvd2VkGAIgASgIEhAKCGJsb2NraW5nGAMgASgIEhgKEHNob3dVcGRhdGVCYW5uZXIYBCABKAgSFwoPYmFubmVyRXhwaXJlc0F0GAUgASgJEjsKDWFjdGl2ZVZlcnNpb24YBiABKAsyJC5ibHVlYXBpLmdjLnYxLlRlcm1zT2ZTZXJ2aWNlVmVyc2lvbiKFAQoYR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlEhEKCXZlcnNpb25JZBgBIAEoCRIPCgdwcm9kdWN0GAIgASgJEhAKCGxhbmd1YWdlGAMgASgJEhMKC2NvbnRlbnRUeXBlGAQgASgJEgsKA3VybBgFIAEoCRIRCglleHBpcmVzQXQYBiABKAkiaAoSVGVybXNDb25zZW50UmVjb3JkEg8KB3Byb2R1Y3QYASABKAkSGQoRYWNjZXB0ZWRWZXJzaW9uSWQYAiABKAkSEgoKYWNjZXB0ZWRCeRgDIAEoCRISCgphY2NlcHRlZEF0GAQgASgJIo4BChNBY2NlcHRUZXJtc1Jlc3BvbnNlEjIKB2NvbnNlbnQYASABKAsyIS5ibHVlYXBpLmdjLnYxLlRlcm1zQ29uc2VudFJlY29yZBJDCg1jb25zZW50U3RhdHVzGAIgASgLMiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIxCgNPcmcSDQoFb3JnSWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCSLzBAoVQ29tbWl0bWVudFBsYW5EZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJY3JlYXRlZEF0GAUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYBiABKAgSDgoGc3RhdHVzGAcgASgJEg8KB21heFRlcm0YCCABKAkSIQoZY292ZXJlZE9uZGVtYW5kQ29zdEhvdXJseRgJIAEoARIgChhiZWZvcmVPbmRlbWFuZENvc3RIb3VybHkYCiABKAESIAoYYmVmb3JlUmVzZXJ2ZWRDb3N0SG91cmx5GAsgASgBEhsKE2Ftb3J0aXplZENvc3RIb3VybHkYDCABKAESGwoTcmVjdXJyaW5nQ29zdEhvdXJseRgNIAEoARIZChF1cGZyb250Q29zdEhvdXJseRgOIAEoARIYChBiZWZvcmVDb3N0SG91cmx5GA8gASgBEhcKD2FmdGVyQ29zdEhvdXJseRgQIAEoARIXCg90b3RhbENvc3RIb3VybHkYESABKAESFQoNc2F2aW5nc0hvdXJseRgSIAEoARIRCglmZWVIb3VybHkYEyABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGBQgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgVIAEoARIWCg5icmVha2V2ZW5Ib3VycxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESFgoObW9udGhseVNhdmluZ3MYGCABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgZIAEoASK0BgoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHAoUcmVuZXdhbFJlc2VydmF0aW9uSWQYHyABKAkSFAoMY292ZXJlZFVuaXRzGCAgASgBEhUKDWFtb3J0aXplZENvc3QYISABKAEi1wUKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvdmVyZWRVbml0cxgYIAEoARIcChRleHBsYW5hdGlvblVubWF0Y2hlZBgZIAEoARIUCgxvbmRlbWFuZENvc3QYGiABKAESFAoMcmVzZXJ2ZWRDb3N0GBsgASgBIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEi0AEKEENvbW1pdG1lbnRSZXBvcnQSDQoFbW9udGgYASABKAkSFgoOYmlsbFVuYWRqdXN0ZWQYAiABKAESFQoNYmlsbE9wdGltaXplZBgDIAEoARIUCgxncm9zc1NhdmluZ3MYBCABKAESEwoLcmlza1ByZW1pdW0YBSABKAESDwoHcmViYXRlcxgGIAEoARISCgpuZXRTYXZpbmdzGAcgASgBEhQKDHJldmVudWVTaGFyZRgIIAEoARIYChByZXZlbnVlU2hhcmVSYXRlGAkgASgBIugBChdDb21taXRtZW50UmVwb3J0QWNjb3VudBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRITCgthY2NvdW50TmFtZRgEIAEoCRINCgVjbG91ZBgFIAEoCRIUCgxncm9zc1NhdmluZ3MYBiABKAESEwoLcmlza1ByZW1pdW0YByABKAESDwoHcmViYXRlcxgIIAEoARISCgpuZXRTYXZpbmdzGAkgASgBEhQKDHJldmVudWVTaGFyZRgKIAEoASLNAwoPTWV0cmljc1Jlc3BvbnNlEhcKD2xpZmV0aW1lU2F2aW5ncxgBIAEoARISCgptdGRTYXZpbmdzGAIgASgBEiEKGXB1cmNoYXNlQXV0b21hdGlvbkVuYWJsZWQYAyABKAgSIAoYYnV5YmFja0F1dG9tYXRpb25FbmFibGVkGAQgASgIEhcKD2hhc0FjdGlvbmVkUGxhbhgFIAEoCBIZChFoYXNQZW5kaW5nQWN0aW9ucxgGIAEoCBIbChNsYXRlc3RFeGVjdXRpb25EYXRlGAcgASgJEh0KFXB1cmNoYXNlTWlzc2VkU2F2aW5ncxgIIAEoARIcChRidXliYWNrTWlzc2VkU2F2aW5ncxgJIAEoARIfChd0b3RhbERhaWx5TWlzc2VkU2F2aW5ncxgKIAEoARIbChNob3VybHlNaXNzZWRTYXZpbmdzGAsgASgBEh4KFm1pc3NlZFNhdmluZ3NTdGFydERhdGUYDCABKAkSHAoUbWlzc2VkU2F2aW5nc0VuZERhdGUYDSABKAkSFwoPZXhwaXJpbmdTYXZpbmdzGA4gASgBEhAKCGNvdmVyYWdlGA8gASgBEhMKC3V0aWxpemF0aW9uGBAgASgBIogICghSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIaChJwcm92aWRlclJlc291cmNlSWQYBCABKAkSDgoGaXNTcG90GAUgASgIEgwKBG5hbWUYBiABKAkSFQoNcmVzb3VyY2VHcm91cBgHIAEoCRIQCgh1c2FnZUVuZBgIIAEoCRISCgp1c2FnZVN0YXJ0GAkgASgJEiUKBHRhZ3MYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkSEgoKaW5zdGFuY2VJZBgNIAEoCRIYChBiaWxsaW5nQWNjb3VudElkGA4gASgJEhQKDHN1YkFjY291bnRJZBgPIAEoCRIbChNtYW5hZ2VtZW50QWNjb3VudElkGBAgASgJEhYKDm93bmVyQWNjb3VudElkGBEgASgJEhAKCHNrdVRpdGxlGBIgASgJEg8KB3NrdU5hbWUYEyABKAkSGAoQYXZhaWxhYmlsaXR5Wm9uZRgUIAEoCRITCgtjYWNoZUVuZ2luZRgVIAEoCRIWCg5kYXRhYmFzZUVuZ2luZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCRIOCgZmYW1pbHkYGCABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYGSABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgaIAEoCBIUCgxpbnN0YW5jZVR5cGUYGyABKAkSGgoSaW5zdGFuY2VUeXBlRmFtaWx5GBwgASgJEhQKDGlzUmVzZXJ2YWJsZRgdIAEoCBIUCgxsaWNlbnNlTW9kZWwYHiABKAkSFAoMbG9jYXRpb25UeXBlGB8gASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGCAgASgJEhcKD29wZXJhdGluZ1N5c3RlbRghIAEoCRIWCg5wcmVJbnN0YWxsZWRTdxgiIAEoCRIVCg1wcmljZUN1cnJlbmN5GCMgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgkIAEoCRIVCg1wcm92aWRlclNrdUlkGCUgASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRgmIAEoCRIOCgZyZWdpb24YJyABKAkSDwoHc2VydmljZRgoIAEoCRIPCgd0ZW5hbmN5GCkgASgJEhEKCXVzYWdlVHlwZRgqIAEoCRIPCgd2ZXJzaW9uGCsgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GCwgASgIEhkKEW9uZGVtYW5kVXNhZ2VVbml0GC0gASgJIkMKFUxpc3RSZXNvdXJjZXNSZXNwb25zZRIqCglyZXNvdXJjZXMYASADKAsyFy5ibHVlYXBpLmdjLnYxLlJlc291cmNlIu8CChJSZXNvdXJjZURhaWx5VXNhZ2USDAoEZGF0ZRgBIAEoCRIWCg51c2FnZUFjY291bnRJZBgCIAEoCRIUCgxzdWJBY2NvdW50SWQYAyABKAkSDQoFdXNhZ2UYBCABKAESGAoQcmVzZXJ2YXRpb25Vc2FnZRgFIAEoARIVCg1mcmVlVGllclVzYWdlGAYgASgBEhQKDG9uZGVtYW5kQ29zdBgHIAEoARIUCgxyZXNlcnZlZENvc3QYCCABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYCSABKAESEAoIc3BvdENvc3QYCiABKAESFwoPZnJlZVRpZXJTYXZpbmdzGAsgASgBEhEKCXVzYWdlVHlwZRgMIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYDSABKAkSFAoMY292ZXJlZFVzYWdlGA4gASgBEg4KBnVwdGltZRgPIAEoARIZChFwcm92aWRlclVzYWdlVHlwZRgQIAEoCSJWCh1HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZRI1CgpkYWlseVVzYWdlGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZURhaWx5VXNhZ2UigxAKElJlc2VydmFibGVSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYAyABKAkSFAoMc3ViQWNjb3VudElkGAQgASgJEhAKCHByb3ZpZGVyGAUgASgJEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgGIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYByABKAkSFQoNcHJvdmlkZXJTa3VJZBgIIAEoCRIOCgZpc1Nwb3QYCSABKAgSFAoMaXNSZXNlcnZhYmxlGAogASgIEiQKBG5hbWUYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcmVzb3VyY2VHcm91cBgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIQCgh1c2FnZUVuZBgNIAEoCRISCgp1c2FnZVN0YXJ0GA4gASgJEiUKBHRhZ3MYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei0KDHByb3ZpZGVyVGFncxgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIdXNlclRhZ3MYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgSIAEoCRIRCgl1cGRhdGVkQXQYEyABKAkSEgoKaW5zdGFuY2VJZBgUIAEoCRIwChBhdmFpbGFiaWxpdHlab25lGBUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKC2NhY2hlRW5naW5lGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGNhdGFsb2dTa3VJZBgXIAEoCRIXCg9jYXRhbG9nU2t1T3JnSWQYGCABKAkSIAoYY2xhc3NpY05ldHdvcmtpbmdTdXBwb3J0GBkgASgIEhIKCmNsb2NrU3BlZWQYGiABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGBsgASgJEhQKDGNvdmVyZWRVc2FnZRgcIAEoARIuCg5kYXRhYmFzZUVuZ2luZRgdIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIeChZkZWRpY2F0ZWRFYnNUaHJvdWdocHV0GB4gASgJEisKC2Rlc2NyaXB0aW9uGB8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEgsKA2VjdRggIAEoCRIjChtlbmhhbmNlZE5ldHdvcmtpbmdTdXBwb3J0ZWQYISABKAgSDgoGZmFtaWx5GCIgASgJEhYKDmZ1bGxSZWdpb25OYW1lGCMgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYJCABKAgSDwoHaWNvblVybBglIAEoCRIVCg1pbnRlZ3JhdGlvbklkGCYgASgJEhoKEmludGVsQXZ4MkF2YWlsYWJsZRgnIAEoCBIZChFpbnRlbEF2eEF2YWlsYWJsZRgoIAEoCBIbChNpbnRlbFR1cmJvQXZhaWxhYmxlGCkgASgIEiIKAmlvGCogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhsKE2lzQ3VycmVudEdlbmVyYXRpb24YKyABKAgSKQoJaXNNdWx0aUF6GCwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGxpY2Vuc2VNb2RlbBgtIAEoCRIUCgxsb2NhdGlvblR5cGUYLiABKAkSDgoGbWVtb3J5GC8gASgJEicKB3NrdU5hbWUYMCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEAoIc2t1VGl0bGUYMSABKAkSDwoHbmV0Q29zdBgyIAEoARISCgpuZXRTYXZpbmdzGDMgASgBEhoKEm5ldHdvcmtQZXJmb3JtYW5jZRg0IAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3Rvchg1IAEoCRIUCgxvbmRlbWFuZENvc3QYNiABKAESGQoRb25kZW1hbmRVc2FnZVVuaXQYNyABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGDggASgJEhEKCW9wZXJhdGlvbhg5IAEoCRIZChFwaHlzaWNhbFByb2Nlc3Nvchg6IAEoCRIWCg5wcmVJbnN0YWxsZWRTdxg7IAEoCRIVCg1wcmljZUN1cnJlbmN5GDwgASgJEh0KFXByb2Nlc3NvckFyY2hpdGVjdHVyZRg9IAEoCRIZChFwcm9jZXNzb3JGZWF0dXJlcxg+IAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYPyABKAkSDgoGcmVnaW9uGEAgASgJEg8KB3NlcnZpY2UYQSABKAkSDgoGc291cmNlGEIgASgJEg8KB3N0b3JhZ2UYQyABKAkSJwoHdGF4VHlwZRhEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgd0ZW5hbmN5GEUgASgJEg4KBnVwdGltZRhGIAEoARIRCgl1c2FnZVR5cGUYRyABKAkSDAoEdmNwdRhIIAEoCRIPCgd2ZXJzaW9uGEkgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GEogASgIEhQKDGluc3RhbmNlVHlwZRhLIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYTCABKAkSNgoLZGFpbHlVc2FnZXMYTSADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJXCh9MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlEjQKCXJlc291cmNlcxgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzZXJ2YWJsZVJlc291cmNlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEizgsKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkSGAoQbW9udGhseUFmdGVyQ29zdBg1IAEoARIcChRtb250aGx5QW1vcnRpemVkQ29zdBg2IAEoARIZChFtb250aGx5QmVmb3JlQ29zdBg3IAEoARISCgptb250aGx5RmVlGDggASgBEhAKCGFsbFRlcm1zGDkgAygJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iXQooR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJBCg9QbGFuSGlzdG9yeVVzZXISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAki9wEKEFBsYW5IaXN0b3J5RW50cnkSCgoCaWQYASABKAkSDwoHbWVzc2FnZRgCIAEoCRINCgVvcmdJZBgDIAEoCRIXCg9yZWxhdGVkT2JqZWN0SWQYBCABKAkSGQoRcmVsYXRlZE9iamVjdFR5cGUYBSABKAkSEQoJdGltZXN0YW1wGAYgASgJEgwKBHR5cGUYByABKAkSDgoGdXNlcklkGAggASgJEiQKBGRhdGEYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLAoEdXNlchgKIAEoCzIeLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlVc2VyIoQCChNSZWdpc3Rlck9yZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSLgoLbWVtYmVyc2hpcHMYAyADKAsyGS5ibHVlYXBpLmdjLnYxLk1lbWJlcnNoaXASDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiMgoaU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2USFAoMb25ib2FyZGluZ0lkGAEgASgJIlEKJEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXNwb25zZRIpCgh0ZW1wbGF0ZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiKwocR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZRILCgN1cmwYASABKAkijwQKG1ZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZRJUCgZjaGVja3MYASADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrGpkDChlBd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrEg8KB2ZlYXR1cmUYASABKAkSbwoGc3RhdHVzGAIgASgOMl8uYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjay5Bd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cyL5AQoaQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMSLQopQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIrCidBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19BVkFJTEFCTEUQARIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19XQVJOSU5HEAISKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfTUlTU0lORxADEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOS05PV04QBCLVBQobR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlEg0KBWZvdW5kGAEgASgIEg0KBWlzTXNwGAIgASgIEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdnY09yZ0lkGAQgASgJEhQKDG9uYm9hcmRpbmdJZBgFIAEoCRJVChBvbmJvYXJkaW5nU3RhdHVzGAYgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxIRCglhY2NvdW50SWQYByABKAkSFgoOYmlsbGluZ0dyb3VwSWQYCCABKAkSEQoJY29tcGFueUlkGAkgASgJEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgKIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSNwoPdGVybXNBY2NlcHRhbmNlGAsgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UilQIKEE9uYm9hcmRpbmdTdGF0dXMSIQodT05CT0FSRElOR19TVEFUVVNfVU5TUEVDSUZJRUQQABIkCiBPTkJPQVJESU5HX1NUQVRVU19OT1RfUkVHSVNURVJFRBABEiAKHE9OQk9BUkRJTkdfU1RBVFVTX1JFR0lTVEVSRUQQAhIoCiRPTkJPQVJESU5HX1NUQVRVU19PTkJPQVJESU5HX1NUQVJURUQQAxIeChpPTkJPQVJESU5HX1NUQVRVU19WRVJJRklFRBAEEicKI09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9JTkNPTVBMRVRFEAUSIwofT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0ZBSUxFRBAGIo4DChNQYXllckFjY291bnREZXRhaWxzEhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIgChhyaXBwbGVSZWdpc3RyYXRpb25TdGF0dXMYAyABKAkSUgoNZ2NTZXR1cFN0YXR1cxgEIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAUgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIlCh1tYXJrZXRwbGFjZVByaXZhdGVPZmZlclN0YXR1cxgGIAEoCRIhChltYXJrZXRwbGFjZVByaXZhdGVPZmZlcklkGAcgASgJEi0KJW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVyRXhwaXJhdGlvbkRhdGUYCCABKAkiqAUKGUxpc3RQYXllckFjY291bnRzUmVzcG9uc2USTAoNcGF5ZXJBY2NvdW50cxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQSPwoTcGF5ZXJBY2NvdW50RGV0YWlscxgCIAMoCzIiLmJsdWVhcGkuZ2MudjEuUGF5ZXJBY2NvdW50RGV0YWlscxr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IrYFChlMaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlEkwKDWJpbGxpbmdHcm91cHMYASADKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwGskDCgxCaWxsaW5nR3JvdXASEQoJY29tcGFueUlkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBSABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgGIAEoCRIRCglzZWdtZW50SWQYByABKAkSFAoMcmVzb3VyY2VUeXBlGAggASgJEksKBnN0YXR1cxgJIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXBTdGF0dXMSVQoQb25ib2FyZGluZ1N0YXR1cxgKIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAsgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJCaWxsaW5nR3JvdXBTdGF0dXMSJAogQklMTElOR19HUk9VUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxCSUxMSU5HX0dST1VQX1NUQVRVU19FTkFCTEVEEAESIQodQklMTElOR19HUk9VUF9TVEFUVVNfRElTQUJMRUQQAiJsCh1TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwIqUBCh1HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwEjcKD3Rlcm1zQWNjZXB0YW5jZRgCIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIloKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIMCgRjb2RlGAMgASgJEg8KB2RldGFpbHMYBCADKAkizgEKGkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlEhYKDnBheWVyQWNjb3VudElkGAEgASgJEg8KB29mZmVySWQYAiABKAkSEQoJb2ZmZXJOYW1lGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIQCghvZmZlclVybBgFIAEoCRIRCglwcm9kdWN0SWQYBiABKAkSFAoMcHJpY2VQZXJVbml0GAcgASgBEhEKCWNyZWF0ZWRBdBgIIAEoCRIWCg5leHBpcmF0aW9uRGF0ZRgJIAEoCSJaCh9BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1Jlc3BvbnNlEjcKD3Rlcm1zQWNjZXB0YW5jZRgBIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIlMKHkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJCCh9EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlEg4KBnBsYW5JZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIIjQKI0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1Jlc3BvbnNlEg0KBXR5cGVzGAEgAygJIt0BCipHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2USEQoJbGF1bmNoVXJsGAEgASgJEhMKC3RlbXBsYXRlVXJsGAIgASgJEhEKCXN0YWNrTmFtZRgDIAEoCRIRCglwcmluY2lwYWwYBCABKAkSEgoKZXh0ZXJuYWxJZBgFIAEoCRIlCh1ndWFyYW50ZWVkQ29tbWl0bWVudFByaW5jaXBhbBgGIAEoCRImCh5ndWFyYW50ZWVkQ29tbWl0bWVudEV4dGVybmFsSWQYByABKAkivgIKKENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJEhUKDXJpcHBsZVJvbGVBcm4YAiABKAkSGAoQcmlwcGxlRXh0ZXJuYWxJZBgDIAEoCRIjChtndWFyYW50ZWVkQ29tbWl0bWVudFJvbGVBcm4YBCABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAUgASgJEg8KB3N0YWNrSWQYBiABKAkSEwoLc3RhY2tSZWdpb24YByABKAkSEwoLdGVtcGxhdGVVcmwYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2xhc3RVcGRhdGVkGAogASgJEiQKHGd1YXJhbnRlZWRDb21taXRtZW50VmVyaWZpZWQYCyABKAgihAIKH0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2USMAoEcGxhbhgBIAEoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbhI4CglsaW5lSXRlbXMYAiADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0SQwoPcmVzb3VyY2VNYXRjaGVzGAMgAygLMiouYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSMAoHaGlzdG9yeRgEIAMoCzIfLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlFbnRyeSJXCiJDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuInoKHEF6dXJlQXJjaGVyYU9yZ0ZlYXR1cmVTdGF0dXMSJgoGZGV0YWlsGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB2ZlYXR1cmUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCXVwZGF0ZWRBdBgEIAEoCSJWChpBenVyZUFyY2hlcmFPcmdMZWFzZUJ1ZGdldBIOCgZidWRnZXQYASABKAESEQoJY3JlYXRlZEF0GAIgASgJEhUKDW1pblRlcm1Nb250aHMYAyABKAUingsKD0F6dXJlQXJjaGVyYU9yZxIeChZhcHBseUJhbGFuY2VUb1ByZW1pdW1zGAEgASgIEhMKC2F1dGhTc29Pbmx5GAIgASgIEjcKF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjkKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYBCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHYmFsYW5jZRgFIAEoARIVCg1iaWxsaW5nQWN0aXZlGAYgASgIEhoKEmNoYW5uZWxQYXJ0bmVyVHlwZRgHIAEoCRIyChJjaGFubmVsUGFydG5lcnNoaXAYCCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoLY29udHJhY3RFbmQYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GAogASgJEigKCGN1cnJlbmN5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhcKD2RlZmF1bHRVc2VyUm9sZRgMIAEoCRIsCgxkaXNjb3VudEluZm8YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDgoGZG9tYWluGA4gASgJEi0KDWVmZmVjdGl2ZURhdGUYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSRAoPZmVhdHVyZVN0YXR1c2VzGBAgAygLMisuYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmdGZWF0dXJlU3RhdHVzEhAKCGZlYXR1cmVzGBEgAygJEioKCmZydWdhbE1vZGUYEiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEwoLaGFzRGlzY291bnQYFCABKAgSDwoHaGFzR3JpcxgVIAEoCBIhChloYXNUZHNQYWNQcm94eUNyZWRlbnRpYWxzGBYgASgIEgoKAmlkGBcgASgJEh8KF2lzTGVhc2VCdXliYWNrQXV0b21hdGVkGBggASgIEhwKFGlzTGVhc2VTd2FwQXV0b21hdGVkGBkgASgIEhUKDWlzVGRzUGFjUHJveHkYGiABKAgSPgoLbGVhc2VCdWRnZXQYGyABKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZ0xlYXNlQnVkZ2V0EiAKGGxlYXNlQnV5YmFja0xvb2tiYWNrRGF5cxgcIAEoBRIdChVsZWFzZVN3YXBMb29rYmFja0RheXMYHSABKAUSDAoEbmFtZRgeIAEoCRIpCglwYXJ0bmVySWQYHyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJcGxhblRyaWFsGCAgASgIEhgKEHBsYW5UcmlhbEV4cGlyZXMYISABKAkSFgoOcGxhblR5cGVDaG9zZW4YIiABKAkSGQoRcGxhblR5cGVFZmZlY3RpdmUYIyABKAkSLgoOcHJpbWFyeUFkZHJlc3MYJCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcHJvbW90aW9uQ29kZRglIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRJaChZwcm92aWRlclJvb3RTZWdtZW50SWRzGCYgAygLMjouYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmcuUHJvdmlkZXJSb290U2VnbWVudElkc0VudHJ5Gj0KG1Byb3ZpZGVyUm9vdFNlZ21lbnRJZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIlQKGEF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIUCgxvbmJvYXJkaW5nSWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkisgcKFEF6dXJlT25ib2FyZGluZ1N0YXRlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgljb21wbGV0ZWQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJEjoKCWNyZWF0ZWRCeRgGIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EisKC2ludGVncmF0aW9uGAcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWludGVncmF0aW9uSWQYCCABKAkSGgoSYXJjaGVyYU91dGJvdW5kSXBzGAkgAygJEhAKCHRlbmFudElkGAogASgJEhYKDnN1YnNjcmlwdGlvbklkGAsgASgJEhIKCmFjY291bnRJZHMYDCADKAkSEwoLYWNjb3VudEtpbmQYDSABKAkSMAoQYXBwQXV0aFZhbGlkYXRlZBgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1hcHBBdXRob3JpemVkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWJsb2JDb250YWluZXIYECABKAkSFQoNcmVzb3VyY2VHcm91cBgRIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgSIAEoCRIQCghyb2xlTmFtZRgTIAEoCRIvCg9jcmVhdGVSZXNvdXJjZXMYFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUbWFya2V0cGxhY2VDb21wbGV0ZWQYFSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPcGVybWlzc2lvbkxldmVsGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YFyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YGCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKA29yZxgbIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIpMBChxTdGFydEF6dXJlT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIyCgVzdGF0ZRgCIAEoCzIjLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJIjAKIUdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkidgoMQXp1cmVBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIVCg1hY2NvdW50U3RhdHVzGAMgASgJEhMKC2FjY291bnRUeXBlGAQgASgJEhIKCmlzRWxpZ2libGUYBSABKAgiVAojTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVzcG9uc2USLQoIYWNjb3VudHMYASADKAsyGy5ibHVlYXBpLmdjLnYxLkF6dXJlQWNjb3VudCJQCh1BenVyZUludGVncmF0aW9uRmVhdHVyZVN0YXR1cxIPCgdmZWF0dXJlGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIOCgZkZXRhaWwYAyADKAkiwgEKGkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhUKDWludGVncmF0aW9uSWQYBCABKAkSEQoJY29tcGxldGVkGAUgASgIEhEKCWNyZWF0ZWRBdBgGIAEoCRI6CgljcmVhdGVkQnkYByABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeSLuBAoQQXp1cmVJbnRlZ3JhdGlvbhIKCgJpZBgBIAEoCRIOCgZhY3RpdmUYAiABKAgSDAoEbmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIMCgR0eXBlGAUgASgJEg0KBW9yZ0lkGAYgASgJEg4KBnVzZXJJZBgHIAEoCRIRCgljcmVhdGVkQXQYCCABKAkSEQoJdXBkYXRlZEF0GAkgASgJEiAKGG1hbmFnZW1lbnRTdWJzY3JpcHRpb25JZBgKIAEoCRIeChZwcm92aWRlck9yZ2FuaXphdGlvbklkGAsgASgJEhUKDWJsb2JDb250YWluZXIYDCABKAkSFQoNcmVzb3VyY2VHcm91cBgNIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgOIAEoCRIYChBjb3N0RXhwb3J0Rm9ybWF0GA8gASgJEhcKD2N1ckVhcmxpZXN0RGF0YRgQIAEoCRIVCg1jdXJSZXBvcnROYW1lGBEgASgJEhEKCWN1clVzYWJsZRgSIAEoCBIUCgxoYXNDdXJBY2Nlc3MYEyABKAgSIAoYaGFzRnVsbFJlc2VydmF0aW9uQWNjZXNzGBQgASgIEkUKD2ZlYXR1cmVTdGF0dXNlcxgVIAMoCzIsLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbkZlYXR1cmVTdGF0dXMSPgoLb25ib2FyZGluZ3MYFiADKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEicKBmNvbmZpZxgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QitAEKHkNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhEKCWVycm9yQ29kZRgCIAEoCRIUCgxlcnJvck1lc3NhZ2UYAyABKAkSFQoNaW50ZWdyYXRpb25JZBgEIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgFIAEoCRIRCgljb21wYW55SWQYBiABKAkSFgoOcGF5ZXJBY2NvdW50SWQYByABKAkiVgodTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVzcG9uc2USNQoMaW50ZWdyYXRpb25zGAEgAygLMh8uYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uKoICChFUZXJtc0NvbnNlbnRTdGF0ZRIjCh9URVJNU19DT05TRU5UX1NUQVRFX1VOU1BFQ0lGSUVEEAASJQohVEVSTVNfQ09OU0VOVF9TVEFURV9OT19BQ1RJVkVfVE9TEAESKAokVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5UX1JFUVVJUkVEEAISIQodVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5URUQQAxIoCiRURVJNU19DT05TRU5UX1NUQVRFX1VQREFURV9BVkFJTEFCTEUQBBIqCiZURVJNU19DT05TRU5UX1NUQVRFX1JFQ09OU0VOVF9SRVFVSVJFRBAFKl4KCFByb3ZpZGVyEhgKFFBST1ZJREVSX1VOU1BFQ0lGSUVEEAASBwoDQVdTEAESCQoFQVpVUkUQAhIHCgNHQ1AQAxIOCgpLVUJFUk5FVEVTEAQSCwoHVU5LTk9XThAFKpgBChBDb21taXRtZW50U3RhdHVzEiEKHUNPTU1JVE1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBwoDTkVXEAESDAoIUkVWSUVXRUQQAhINCglTQ0hFRFVMRUQQAxINCglDT01QTEVURUQQBBIJCgVEUkFGVBAFEhAKDE5FRURTX1JFVklFVxAGEg8KC0lOX1BST0dSRVNTEAcqigEKGUNvbW1pdG1lbnRJbnZlbnRvcnlTdGF0dXMSKwonQ09NTUlUTUVOVF9JTlZFTlRPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVUSVJFRBACEhMKD1BBWU1FTlRfUEVORElORxADEhIKDlBBWU1FTlRfRkFJTEVEEAQqQwoFU2NvcGUSFQoRU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZTSEFSRUQQARIMCghSRUdJT05BTBACEgkKBVpPTkFMEAMqQQoJVXNhZ2VUeXBlEhoKFlVTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdSVU5OSU5HEAESCwoHU1RPUFBFRBACMoM7ChVHdWFyYW50ZWVkQ29tbWl0bWVudHMSYwoITGlzdE9yZ3MSHi5ibHVlYXBpLmdjLnYxLkxpc3RPcmdzUmVxdWVzdBoSLmJsdWVhcGkuZ2MudjEuT3JnIiGC0+STAhs6ASoiFi92MS9vcmdhbml6YXRpb25zOnJlYWQwARKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSeQoPTGlzdENvbW1pdG1lbnRzEiUuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXNwb25zZSIXgtPkkwIREg8vdjEvY29tbWl0bWVudHMSlwEKE0dldENvbW1pdG1lbnRzQ2hhcnQSKS5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0GicuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0UmVzcG9uc2UiLILT5JMCJhIkL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L2NoYXJ0Eq8BChlHZXRDb21taXRtZW50c1V0aWxpemF0aW9uEi8uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlIjKC0+STAiwSKi92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS91dGlsaXphdGlvbhKMAQoVUmVhZENvbW1pdG1lbnRSZXBvcnRzEisuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0Gh8uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UmVwb3J0IiOC0+STAh06ASoiGC92MS9yZXBvcnRzL2ludm9pY2U6cmVhZDABErIBChxSZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzEjIuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFJlcG9ydEFjY291bnQiNILT5JMCLjoBKiIpL3YxL3JlcG9ydHMvaW52b2ljZS97bW9udGh9L2FjY291bnRzOnJlYWQwARJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKhAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSItgtPkkwInEiUvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseXVzYWdlEpsBChdMaXN0UmVzZXJ2YWJsZVJlc291cmNlcxItLmJsdWVhcGkuZ2MudjEuTGlzdFJlc2VydmFibGVSZXNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlIiGC0+STAhsSGS92MS9jb21taXRtZW50cy9yZXNvdXJjZXMSqAEKGkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjAuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMSxAEKIEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjYuYmx1ZWFwaS5nYy52MS5HZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnM6dXBkYXRlEqgBChdHZXRQdXJjaGFzZVBsYW5zRGV0YWlscxItLmJsdWVhcGkuZ2MudjEuR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlIi6C0+STAigSJi92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL3twbGFuSWR9EqsBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjeC0+STAjE6ASoiLC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3twbGFuSWR9EqIBChZMaXN0RHJhZnRQdXJjaGFzZVBsYW5zEiwuYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlIiuC0+STAiUSIy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0ErMBChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjmC0+STAjMqMS92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3tkcmFmdFBsYW5JZH0SugEKG0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlcxIxLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVzcG9uc2UiNILT5JMCLhIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvYXZhaWxhYmxldHlwZXMSsgEKGkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuEjAuYmx1ZWFwaS5nYy52MS5DcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvY3VzdG9tEm8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMSjQEKEUxpc3RCaWxsaW5nR3JvdXBzEicuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QaKC5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UiJYLT5JMCHxIdL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMSqAEKFVNldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMve2NvbXBhbnlJZH0SoAEKFUdldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiLILT5JMCJhIkL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvc3RhdHVzEqABChRWYWxpZGF0ZUJpbGxpbmdHcm91cBIqLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9vbmJvYXJkaW5nL2JpbGxpbmdncm91cDp2YWxpZGF0ZRKjAQoSR2V0QXdzUHJpdmF0ZU9mZmVyEiguYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvcHJpdmF0ZW9mZmVyL3twYXllckFjY291bnRJZH0SrwEKF0FjY2VwdEJpbGxpbmdHcm91cFRlcm1zEi0uYmx1ZWFwaS5nYy52MS5BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkFjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvdGVybXM6YWNjZXB0Es8BCiJHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsEjguYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVxdWVzdBo5LmJsdWVhcGkuZ2MudjEuR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQ6dXJsEsgBCiBDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2VzcxI2LmJsdWVhcGkuZ2MudjEuQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0GjcuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQSlgEKFFN0YXJ0QXp1cmVPbmJvYXJkaW5nEiouYmx1ZWFwaS5nYy52MS5TdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvYXp1cmUvc3RhcnQSoAEKFVVwZGF0ZUF6dXJlT25ib2FyZGluZxIrLmJsdWVhcGkuZ2MudjEuVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiNYLT5JMCLzoBKiIqL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH06dXBkYXRlErMBChlHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsEi8uYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBowLmJsdWVhcGkuZ2MudjEuR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlIjOC0+STAi0SKy92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2F1dGh1cmwSpgEKF1ZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsEi0uYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QaIy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ1N0YXRlIjeC0+STAjE6ASoiLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L3ZhbGlkYXRlEroBChtMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHMSMS5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1Jlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2FjY291bnRzEqIBChZDcmVhdGVBenVyZUludGVncmF0aW9uEiwuYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9uEp0BChVMaXN0QXp1cmVJbnRlZ3JhdGlvbnMSKy5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1Jlc3BvbnNlIimC0+STAiMSIS92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9ucxKMAQoVR2V0VGVybXNDb25zZW50U3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIYgtPkkwISEhAvdjEvdGVybXMvc3RhdHVzEooBChBHZXRUZXJtc0RvY3VtZW50EiYuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0RvY3VtZW50UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlIiWC0+STAh8SHS92MS90ZXJtcy9kb2N1bWVudC97bGFuZ3VhZ2V9EnEKC0FjY2VwdFRlcm1zEiEuYmx1ZWFwaS5nYy52MS5BY2NlcHRUZXJtc1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkFjY2VwdFRlcm1zUmVzcG9uc2UiG4LT5JMCFToBKiIQL3YxL3Rlcm1zOmFjY2VwdBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, wkt_1.file_google_protobuf_struct, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations]);
19
+ /**
20
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusRequest.
21
+ * Use `create(GetTermsConsentStatusRequestSchema)` to create a new message.
22
+ */
23
+ exports.GetTermsConsentStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 0);
24
+ /**
25
+ * Describes the message blueapi.gc.v1.GetTermsDocumentRequest.
26
+ * Use `create(GetTermsDocumentRequestSchema)` to create a new message.
27
+ */
28
+ exports.GetTermsDocumentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 1);
29
+ /**
30
+ * Describes the message blueapi.gc.v1.AcceptTermsRequest.
31
+ * Use `create(AcceptTermsRequestSchema)` to create a new message.
32
+ */
33
+ exports.AcceptTermsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 2);
18
34
  /**
19
35
  * Describes the message blueapi.gc.v1.ListOrgsRequest.
20
36
  * Use `create(ListOrgsRequestSchema)` to create a new message.
21
37
  */
22
- exports.ListOrgsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 0);
38
+ exports.ListOrgsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 3);
23
39
  /**
24
40
  * Describes the message blueapi.gc.v1.CommitmentPlanApplyRequest.
25
41
  * Use `create(CommitmentPlanApplyRequestSchema)` to create a new message.
26
42
  */
27
- exports.CommitmentPlanApplyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 1);
43
+ exports.CommitmentPlanApplyRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 4);
28
44
  /**
29
45
  * Describes the message blueapi.gc.v1.ListCommitmentsRequest.
30
46
  * Use `create(ListCommitmentsRequestSchema)` to create a new message.
31
47
  */
32
- exports.ListCommitmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 2);
48
+ exports.ListCommitmentsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 5);
33
49
  /**
34
50
  * Describes the message blueapi.gc.v1.GetCommitmentsChartRequest.
35
51
  * Use `create(GetCommitmentsChartRequestSchema)` to create a new message.
36
52
  */
37
- exports.GetCommitmentsChartRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 3);
53
+ exports.GetCommitmentsChartRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 6);
38
54
  /**
39
55
  * Describes the message blueapi.gc.v1.GetCommitmentsUtilizationRequest.
40
56
  * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
41
57
  */
42
- exports.GetCommitmentsUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 4);
58
+ exports.GetCommitmentsUtilizationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 7);
43
59
  /**
44
60
  * Describes the message blueapi.gc.v1.ReadCommitmentReportsRequest.
45
61
  * Use `create(ReadCommitmentReportsRequestSchema)` to create a new message.
46
62
  */
47
- exports.ReadCommitmentReportsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 5);
63
+ exports.ReadCommitmentReportsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 8);
48
64
  /**
49
65
  * Describes the message blueapi.gc.v1.ReadCommitmentReportAccountsRequest.
50
66
  * Use `create(ReadCommitmentReportAccountsRequestSchema)` to create a new message.
51
67
  */
52
- exports.ReadCommitmentReportAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 6);
68
+ exports.ReadCommitmentReportAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 9);
53
69
  /**
54
70
  * Describes the message blueapi.gc.v1.GetMetricsRequest.
55
71
  * Use `create(GetMetricsRequestSchema)` to create a new message.
56
72
  */
57
- exports.GetMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 7);
73
+ exports.GetMetricsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 10);
58
74
  /**
59
75
  * Describes the message blueapi.gc.v1.ListResourcesRequest.
60
76
  * Use `create(ListResourcesRequestSchema)` to create a new message.
61
77
  */
62
- exports.ListResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 8);
78
+ exports.ListResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 11);
63
79
  /**
64
80
  * Describes the message blueapi.gc.v1.GetResourceDailyUsageRequest.
65
81
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
66
82
  */
67
- exports.GetResourceDailyUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 9);
83
+ exports.GetResourceDailyUsageRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 12);
68
84
  /**
69
85
  * Describes the message blueapi.gc.v1.ListReservableResourcesRequest.
70
86
  * Use `create(ListReservableResourcesRequestSchema)` to create a new message.
71
87
  */
72
- exports.ListReservableResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 10);
88
+ exports.ListReservableResourcesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 13);
73
89
  /**
74
90
  * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentRequest.
75
91
  * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
76
92
  */
77
- exports.ListPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 11);
93
+ exports.ListPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 14);
78
94
  /**
79
95
  * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsRequest.
80
96
  * Use `create(GetPurchasePlansDetailsRequestSchema)` to create a new message.
81
97
  */
82
- exports.GetPurchasePlansDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 12);
98
+ exports.GetPurchasePlansDetailsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 15);
83
99
  /**
84
100
  * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest.
85
101
  * Use `create(GetUpdatedPurchasePlansBySegmentRequestSchema)` to create a new message.
86
102
  */
87
- exports.GetUpdatedPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 13);
103
+ exports.GetUpdatedPurchasePlansBySegmentRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 16);
88
104
  /**
89
105
  * Describes the message blueapi.gc.v1.OrgUser.
90
106
  * Use `create(OrgUserSchema)` to create a new message.
91
107
  */
92
- exports.OrgUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 14);
108
+ exports.OrgUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 17);
93
109
  /**
94
110
  * Describes the message blueapi.gc.v1.Membership.
95
111
  * Use `create(MembershipSchema)` to create a new message.
96
112
  */
97
- exports.MembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 15);
113
+ exports.MembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 18);
98
114
  /**
99
115
  * Describes the message blueapi.gc.v1.Address.
100
116
  * Use `create(AddressSchema)` to create a new message.
101
117
  */
102
- exports.AddressSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 16);
118
+ exports.AddressSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 19);
103
119
  /**
104
120
  * Describes the message blueapi.gc.v1.AwsExistingCur.
105
121
  * Use `create(AwsExistingCurSchema)` to create a new message.
106
122
  */
107
- exports.AwsExistingCurSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 17);
123
+ exports.AwsExistingCurSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 20);
108
124
  /**
109
125
  * Describes the message blueapi.gc.v1.TermsAcceptance.
110
126
  * Use `create(TermsAcceptanceSchema)` to create a new message.
111
127
  */
112
- exports.TermsAcceptanceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 18);
128
+ exports.TermsAcceptanceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 21);
113
129
  /**
114
130
  * Describes the message blueapi.gc.v1.RegisterOrgRequest.
115
131
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
116
132
  */
117
- exports.RegisterOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 19);
133
+ exports.RegisterOrgRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 22);
118
134
  /**
119
135
  * Describes the message blueapi.gc.v1.StartAwsOnboardingRequest.
120
136
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
121
137
  */
122
- exports.StartAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 20);
138
+ exports.StartAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 23);
123
139
  /**
124
140
  * Describes the message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest.
125
141
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
126
142
  */
127
- exports.GetAwsCloudFormationTemplateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 21);
143
+ exports.GetAwsCloudFormationTemplateRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 24);
128
144
  /**
129
145
  * Describes the message blueapi.gc.v1.GetAwsLaunchStackUrlRequest.
130
146
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
131
147
  */
132
- exports.GetAwsLaunchStackUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 22);
148
+ exports.GetAwsLaunchStackUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 25);
133
149
  /**
134
150
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingRequest.
135
151
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
136
152
  */
137
- exports.VerifyAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 23);
153
+ exports.VerifyAwsOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 26);
138
154
  /**
139
155
  * Describes the message blueapi.gc.v1.GetOnboardingStatusRequest.
140
156
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
141
157
  */
142
- exports.GetOnboardingStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 24);
158
+ exports.GetOnboardingStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 27);
143
159
  /**
144
160
  * Describes the message blueapi.gc.v1.ListPayerAccountsRequest.
145
161
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
146
162
  */
147
- exports.ListPayerAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 25);
163
+ exports.ListPayerAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 28);
148
164
  /**
149
165
  * Describes the message blueapi.gc.v1.SetPayerAccountEnabledRequest.
150
166
  * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
151
167
  */
152
- exports.SetPayerAccountEnabledRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 26);
168
+ exports.SetPayerAccountEnabledRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 29);
153
169
  /**
154
170
  * Describes the message blueapi.gc.v1.GetPayerAccountStatusRequest.
155
171
  * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
156
172
  */
157
- exports.GetPayerAccountStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 27);
173
+ exports.GetPayerAccountStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 30);
158
174
  /**
159
175
  * Describes the message blueapi.gc.v1.ListBillingGroupsRequest.
160
176
  * Use `create(ListBillingGroupsRequestSchema)` to create a new message.
161
177
  */
162
- exports.ListBillingGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 28);
178
+ exports.ListBillingGroupsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 31);
163
179
  /**
164
180
  * Describes the message blueapi.gc.v1.SetBillingGroupStatusRequest.
165
181
  * Use `create(SetBillingGroupStatusRequestSchema)` to create a new message.
166
182
  */
167
- exports.SetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 29);
183
+ exports.SetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 32);
168
184
  /**
169
185
  * Describes the message blueapi.gc.v1.GetBillingGroupStatusRequest.
170
186
  * Use `create(GetBillingGroupStatusRequestSchema)` to create a new message.
171
187
  */
172
- exports.GetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 30);
188
+ exports.GetBillingGroupStatusRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 33);
173
189
  /**
174
190
  * Describes the message blueapi.gc.v1.ValidateBillingGroupRequest.
175
191
  * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
176
192
  */
177
- exports.ValidateBillingGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 31);
193
+ exports.ValidateBillingGroupRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 34);
178
194
  /**
179
195
  * Describes the message blueapi.gc.v1.GetAwsPrivateOfferRequest.
180
196
  * Use `create(GetAwsPrivateOfferRequestSchema)` to create a new message.
181
197
  */
182
- exports.GetAwsPrivateOfferRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 32);
198
+ exports.GetAwsPrivateOfferRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 35);
183
199
  /**
184
200
  * Describes the message blueapi.gc.v1.AcceptBillingGroupTermsRequest.
185
201
  * Use `create(AcceptBillingGroupTermsRequestSchema)` to create a new message.
186
202
  */
187
- exports.AcceptBillingGroupTermsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 33);
203
+ exports.AcceptBillingGroupTermsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 36);
188
204
  /**
189
205
  * Describes the message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest.
190
206
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
191
207
  */
192
- exports.SaveCommitmentsPlanAsDraftRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 34);
208
+ exports.SaveCommitmentsPlanAsDraftRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 37);
193
209
  /**
194
210
  * Describes the message blueapi.gc.v1.ListDraftPurchasePlansRequest.
195
211
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
196
212
  */
197
- exports.ListDraftPurchasePlansRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 35);
213
+ exports.ListDraftPurchasePlansRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 38);
198
214
  /**
199
215
  * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanRequest.
200
216
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
201
217
  */
202
- exports.DeleteDraftPurchasePlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 36);
218
+ exports.DeleteDraftPurchasePlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 39);
203
219
  /**
204
220
  * Describes the message blueapi.gc.v1.GetAvailableCommitmentTypesRequest.
205
221
  * Use `create(GetAvailableCommitmentTypesRequestSchema)` to create a new message.
206
222
  */
207
- exports.GetAvailableCommitmentTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 37);
223
+ exports.GetAvailableCommitmentTypesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 40);
208
224
  /**
209
225
  * Describes the message blueapi.gc.v1.CreateCustomCommitmentPlanRequest.
210
226
  * Use `create(CreateCustomCommitmentPlanRequestSchema)` to create a new message.
211
227
  */
212
- exports.CreateCustomCommitmentPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 38);
228
+ exports.CreateCustomCommitmentPlanRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 41);
213
229
  /**
214
230
  * Describes the message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlRequest.
215
231
  * Use `create(GetGuaranteedCommitmentTemplateUrlRequestSchema)` to create a new message.
216
232
  */
217
- exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 39);
233
+ exports.GetGuaranteedCommitmentTemplateUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 42);
218
234
  /**
219
235
  * Describes the message blueapi.gc.v1.CreateGuaranteedCommitmentAccessRequest.
220
236
  * Use `create(CreateGuaranteedCommitmentAccessRequestSchema)` to create a new message.
221
237
  */
222
- exports.CreateGuaranteedCommitmentAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 40);
238
+ exports.CreateGuaranteedCommitmentAccessRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 43);
223
239
  /**
224
240
  * Describes the message blueapi.gc.v1.StartAzureOnboardingRequest.
225
241
  * Use `create(StartAzureOnboardingRequestSchema)` to create a new message.
226
242
  */
227
- exports.StartAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 41);
243
+ exports.StartAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 44);
228
244
  /**
229
245
  * Describes the message blueapi.gc.v1.UpdateAzureOnboardingRequest.
230
246
  * Use `create(UpdateAzureOnboardingRequestSchema)` to create a new message.
231
247
  */
232
- exports.UpdateAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 42);
248
+ exports.UpdateAzureOnboardingRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 45);
233
249
  /**
234
250
  * Describes the message blueapi.gc.v1.GetAzureOnboardingAuthUrlRequest.
235
251
  * Use `create(GetAzureOnboardingAuthUrlRequestSchema)` to create a new message.
236
252
  */
237
- exports.GetAzureOnboardingAuthUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 43);
253
+ exports.GetAzureOnboardingAuthUrlRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 46);
238
254
  /**
239
255
  * Describes the message blueapi.gc.v1.ValidateAzureAppInstallRequest.
240
256
  * Use `create(ValidateAzureAppInstallRequestSchema)` to create a new message.
241
257
  */
242
- exports.ValidateAzureAppInstallRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 44);
258
+ exports.ValidateAzureAppInstallRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 47);
243
259
  /**
244
260
  * Describes the message blueapi.gc.v1.ListAzureOnboardingAccountsRequest.
245
261
  * Use `create(ListAzureOnboardingAccountsRequestSchema)` to create a new message.
246
262
  */
247
- exports.ListAzureOnboardingAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 45);
263
+ exports.ListAzureOnboardingAccountsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 48);
248
264
  /**
249
265
  * Describes the message blueapi.gc.v1.CreateAzureIntegrationRequest.
250
266
  * Use `create(CreateAzureIntegrationRequestSchema)` to create a new message.
251
267
  */
252
- exports.CreateAzureIntegrationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 46);
268
+ exports.CreateAzureIntegrationRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 49);
253
269
  /**
254
270
  * Describes the message blueapi.gc.v1.ListAzureIntegrationsRequest.
255
271
  * Use `create(ListAzureIntegrationsRequestSchema)` to create a new message.
256
272
  */
257
- exports.ListAzureIntegrationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 47);
273
+ exports.ListAzureIntegrationsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 50);
274
+ /**
275
+ * Describes the message blueapi.gc.v1.TermsOfServiceVersion.
276
+ * Use `create(TermsOfServiceVersionSchema)` to create a new message.
277
+ */
278
+ exports.TermsOfServiceVersionSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 51);
279
+ /**
280
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusResponse.
281
+ * Use `create(GetTermsConsentStatusResponseSchema)` to create a new message.
282
+ */
283
+ exports.GetTermsConsentStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 52);
284
+ /**
285
+ * Describes the message blueapi.gc.v1.GetTermsDocumentResponse.
286
+ * Use `create(GetTermsDocumentResponseSchema)` to create a new message.
287
+ */
288
+ exports.GetTermsDocumentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 53);
289
+ /**
290
+ * Describes the message blueapi.gc.v1.TermsConsentRecord.
291
+ * Use `create(TermsConsentRecordSchema)` to create a new message.
292
+ */
293
+ exports.TermsConsentRecordSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 54);
294
+ /**
295
+ * Describes the message blueapi.gc.v1.AcceptTermsResponse.
296
+ * Use `create(AcceptTermsResponseSchema)` to create a new message.
297
+ */
298
+ exports.AcceptTermsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 55);
258
299
  /**
259
300
  * Describes the message blueapi.gc.v1.Org.
260
301
  * Use `create(OrgSchema)` to create a new message.
261
302
  */
262
- exports.OrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 48);
303
+ exports.OrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 56);
263
304
  /**
264
305
  * Describes the message blueapi.gc.v1.CommitmentPlanDetails.
265
306
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
266
307
  */
267
- exports.CommitmentPlanDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 49);
308
+ exports.CommitmentPlanDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 57);
268
309
  /**
269
310
  * Describes the message blueapi.gc.v1.CommitmentPlanLineItem.
270
311
  * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
271
312
  */
272
- exports.CommitmentPlanLineItemSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 50);
313
+ exports.CommitmentPlanLineItemSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 58);
273
314
  /**
274
315
  * Describes the message blueapi.gc.v1.CommitmentPlanResourceMatch.
275
316
  * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
276
317
  */
277
- exports.CommitmentPlanResourceMatchSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 51);
318
+ exports.CommitmentPlanResourceMatchSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 59);
278
319
  /**
279
320
  * Describes the message blueapi.gc.v1.Lease.
280
321
  * Use `create(LeaseSchema)` to create a new message.
281
322
  */
282
- exports.LeaseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 52);
323
+ exports.LeaseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 60);
283
324
  /**
284
325
  * Describes the message blueapi.gc.v1.DailyUtilization.
285
326
  * Use `create(DailyUtilizationSchema)` to create a new message.
286
327
  */
287
- exports.DailyUtilizationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 53);
328
+ exports.DailyUtilizationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 61);
288
329
  /**
289
330
  * Describes the message blueapi.gc.v1.Commitment.
290
331
  * Use `create(CommitmentSchema)` to create a new message.
291
332
  */
292
- exports.CommitmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 54);
333
+ exports.CommitmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 62);
293
334
  /**
294
335
  * Describes the message blueapi.gc.v1.ListCommitmentsResponse.
295
336
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
296
337
  */
297
- exports.ListCommitmentsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 55);
338
+ exports.ListCommitmentsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 63);
298
339
  /**
299
340
  * Describes the message blueapi.gc.v1.CommitmentsChartData.
300
341
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
301
342
  */
302
- exports.CommitmentsChartDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 56);
343
+ exports.CommitmentsChartDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 64);
303
344
  /**
304
345
  * Describes the message blueapi.gc.v1.CommitmentsChartResponse.
305
346
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
306
347
  */
307
- exports.CommitmentsChartResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 57);
348
+ exports.CommitmentsChartResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 65);
308
349
  /**
309
350
  * Describes the message blueapi.gc.v1.CommitmentsUtilizationData.
310
351
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
311
352
  */
312
- exports.CommitmentsUtilizationDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 58);
353
+ exports.CommitmentsUtilizationDataSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 66);
313
354
  /**
314
355
  * Describes the message blueapi.gc.v1.CommitmentsUtilizationResponse.
315
356
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
316
357
  */
317
- exports.CommitmentsUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 59);
358
+ exports.CommitmentsUtilizationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 67);
318
359
  /**
319
360
  * Describes the message blueapi.gc.v1.CommitmentReport.
320
361
  * Use `create(CommitmentReportSchema)` to create a new message.
321
362
  */
322
- exports.CommitmentReportSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 60);
363
+ exports.CommitmentReportSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 68);
323
364
  /**
324
365
  * Describes the message blueapi.gc.v1.CommitmentReportAccount.
325
366
  * Use `create(CommitmentReportAccountSchema)` to create a new message.
326
367
  */
327
- exports.CommitmentReportAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 61);
368
+ exports.CommitmentReportAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 69);
328
369
  /**
329
370
  * Describes the message blueapi.gc.v1.MetricsResponse.
330
371
  * Use `create(MetricsResponseSchema)` to create a new message.
331
372
  */
332
- exports.MetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 62);
373
+ exports.MetricsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 70);
333
374
  /**
334
375
  * Describes the message blueapi.gc.v1.Resource.
335
376
  * Use `create(ResourceSchema)` to create a new message.
336
377
  */
337
- exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 63);
378
+ exports.ResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 71);
338
379
  /**
339
380
  * Describes the message blueapi.gc.v1.ListResourcesResponse.
340
381
  * Use `create(ListResourcesResponseSchema)` to create a new message.
341
382
  */
342
- exports.ListResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 64);
383
+ exports.ListResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 72);
343
384
  /**
344
385
  * Describes the message blueapi.gc.v1.ResourceDailyUsage.
345
386
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
346
387
  */
347
- exports.ResourceDailyUsageSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 65);
388
+ exports.ResourceDailyUsageSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 73);
348
389
  /**
349
390
  * Describes the message blueapi.gc.v1.GetResourceDailyUsageResponse.
350
391
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
351
392
  */
352
- exports.GetResourceDailyUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 66);
393
+ exports.GetResourceDailyUsageResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 74);
353
394
  /**
354
395
  * Describes the message blueapi.gc.v1.ReservableResource.
355
396
  * Use `create(ReservableResourceSchema)` to create a new message.
356
397
  */
357
- exports.ReservableResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 67);
398
+ exports.ReservableResourceSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 75);
358
399
  /**
359
400
  * Describes the message blueapi.gc.v1.ListReservableResourcesResponse.
360
401
  * Use `create(ListReservableResourcesResponseSchema)` to create a new message.
361
402
  */
362
- exports.ListReservableResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 68);
403
+ exports.ListReservableResourcesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 76);
363
404
  /**
364
405
  * Describes the message blueapi.gc.v1.Segment.
365
406
  * Use `create(SegmentSchema)` to create a new message.
366
407
  */
367
- exports.SegmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 69);
408
+ exports.SegmentSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 77);
368
409
  /**
369
410
  * Describes the message blueapi.gc.v1.SegmentCreator.
370
411
  * Use `create(SegmentCreatorSchema)` to create a new message.
371
412
  */
372
- exports.SegmentCreatorSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 70);
413
+ exports.SegmentCreatorSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 78);
373
414
  /**
374
415
  * Describes the message blueapi.gc.v1.PurchasePlan.
375
416
  * Use `create(PurchasePlanSchema)` to create a new message.
376
417
  */
377
- exports.PurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 71);
418
+ exports.PurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 79);
378
419
  /**
379
420
  * Describes the message blueapi.gc.v1.SegmentDetails.
380
421
  * Use `create(SegmentDetailsSchema)` to create a new message.
381
422
  */
382
- exports.SegmentDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 72);
423
+ exports.SegmentDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 80);
383
424
  /**
384
425
  * Describes the message blueapi.gc.v1.ContractSpec.
385
426
  * Use `create(ContractSpecSchema)` to create a new message.
386
427
  */
387
- exports.ContractSpecSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 73);
428
+ exports.ContractSpecSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 81);
388
429
  /**
389
430
  * Describes the message blueapi.gc.v1.PlanSummary.
390
431
  * Use `create(PlanSummarySchema)` to create a new message.
391
432
  */
392
- exports.PlanSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 74);
433
+ exports.PlanSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 82);
393
434
  /**
394
435
  * Describes the message blueapi.gc.v1.ServiceSummary.
395
436
  * Use `create(ServiceSummarySchema)` to create a new message.
396
437
  */
397
- exports.ServiceSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 75);
438
+ exports.ServiceSummarySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 83);
398
439
  /**
399
440
  * Describes the message blueapi.gc.v1.AggregateMetrics.
400
441
  * Use `create(AggregateMetricsSchema)` to create a new message.
401
442
  */
402
- exports.AggregateMetricsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 76);
443
+ exports.AggregateMetricsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 84);
403
444
  /**
404
445
  * Describes the message blueapi.gc.v1.DefaultPurchasePlan.
405
446
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
406
447
  */
407
- exports.DefaultPurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 77);
448
+ exports.DefaultPurchasePlanSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 85);
408
449
  /**
409
450
  * Describes the message blueapi.gc.v1.ListPurchasePlansBySegmentResponse.
410
451
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
411
452
  */
412
- exports.ListPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 78);
453
+ exports.ListPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86);
413
454
  /**
414
455
  * Describes the message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse.
415
456
  * Use `create(GetUpdatedPurchasePlansBySegmentResponseSchema)` to create a new message.
416
457
  */
417
- exports.GetUpdatedPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 79);
458
+ exports.GetUpdatedPurchasePlansBySegmentResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 87);
418
459
  /**
419
460
  * Describes the message blueapi.gc.v1.PlanHistoryUser.
420
461
  * Use `create(PlanHistoryUserSchema)` to create a new message.
421
462
  */
422
- exports.PlanHistoryUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 80);
463
+ exports.PlanHistoryUserSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 88);
423
464
  /**
424
465
  * Describes the message blueapi.gc.v1.PlanHistoryEntry.
425
466
  * Use `create(PlanHistoryEntrySchema)` to create a new message.
426
467
  */
427
- exports.PlanHistoryEntrySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 81);
468
+ exports.PlanHistoryEntrySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 89);
428
469
  /**
429
470
  * Describes the message blueapi.gc.v1.RegisterOrgResponse.
430
471
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
431
472
  */
432
- exports.RegisterOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 82);
473
+ exports.RegisterOrgResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 90);
433
474
  /**
434
475
  * Describes the message blueapi.gc.v1.StartAwsOnboardingResponse.
435
476
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
436
477
  */
437
- exports.StartAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 83);
478
+ exports.StartAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 91);
438
479
  /**
439
480
  * Describes the message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse.
440
481
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
441
482
  */
442
- exports.GetAwsCloudFormationTemplateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 84);
483
+ exports.GetAwsCloudFormationTemplateResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 92);
443
484
  /**
444
485
  * Describes the message blueapi.gc.v1.GetAwsLaunchStackUrlResponse.
445
486
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
446
487
  */
447
- exports.GetAwsLaunchStackUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 85);
488
+ exports.GetAwsLaunchStackUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 93);
448
489
  /**
449
490
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingResponse.
450
491
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
451
492
  */
452
- exports.VerifyAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86);
493
+ exports.VerifyAwsOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94);
453
494
  /**
454
495
  * Describes the message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.
455
496
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
456
497
  */
457
- exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 86, 0);
498
+ exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94, 0);
458
499
  /**
459
500
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
460
501
  */
@@ -484,12 +525,12 @@ var VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureSt
484
525
  /**
485
526
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
486
527
  */
487
- exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 86, 0, 0);
528
+ exports.VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 94, 0, 0);
488
529
  /**
489
530
  * Describes the message blueapi.gc.v1.GetOnboardingStatusResponse.
490
531
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
491
532
  */
492
- exports.GetOnboardingStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 87);
533
+ exports.GetOnboardingStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 95);
493
534
  /**
494
535
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
495
536
  */
@@ -531,22 +572,22 @@ var GetOnboardingStatusResponse_OnboardingStatus;
531
572
  /**
532
573
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
533
574
  */
534
- exports.GetOnboardingStatusResponse_OnboardingStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 87, 0);
575
+ exports.GetOnboardingStatusResponse_OnboardingStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 95, 0);
535
576
  /**
536
577
  * Describes the message blueapi.gc.v1.PayerAccountDetails.
537
578
  * Use `create(PayerAccountDetailsSchema)` to create a new message.
538
579
  */
539
- exports.PayerAccountDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 88);
580
+ exports.PayerAccountDetailsSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 96);
540
581
  /**
541
582
  * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.
542
583
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
543
584
  */
544
- exports.ListPayerAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 89);
585
+ exports.ListPayerAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97);
545
586
  /**
546
587
  * Describes the message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount.
547
588
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
548
589
  */
549
- exports.ListPayerAccountsResponse_PayerAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 89, 0);
590
+ exports.ListPayerAccountsResponse_PayerAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97, 0);
550
591
  /**
551
592
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
552
593
  */
@@ -568,27 +609,27 @@ var ListPayerAccountsResponse_PayerAccountStatus;
568
609
  /**
569
610
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
570
611
  */
571
- exports.ListPayerAccountsResponse_PayerAccountStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 89, 0);
612
+ exports.ListPayerAccountsResponse_PayerAccountStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 97, 0);
572
613
  /**
573
614
  * Describes the message blueapi.gc.v1.SetPayerAccountEnabledResponse.
574
615
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
575
616
  */
576
- exports.SetPayerAccountEnabledResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 90);
617
+ exports.SetPayerAccountEnabledResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 98);
577
618
  /**
578
619
  * Describes the message blueapi.gc.v1.GetPayerAccountStatusResponse.
579
620
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
580
621
  */
581
- exports.GetPayerAccountStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 91);
622
+ exports.GetPayerAccountStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 99);
582
623
  /**
583
624
  * Describes the message blueapi.gc.v1.ListBillingGroupsResponse.
584
625
  * Use `create(ListBillingGroupsResponseSchema)` to create a new message.
585
626
  */
586
- exports.ListBillingGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 92);
627
+ exports.ListBillingGroupsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100);
587
628
  /**
588
629
  * Describes the message blueapi.gc.v1.ListBillingGroupsResponse.BillingGroup.
589
630
  * Use `create(ListBillingGroupsResponse_BillingGroupSchema)` to create a new message.
590
631
  */
591
- exports.ListBillingGroupsResponse_BillingGroupSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 92, 0);
632
+ exports.ListBillingGroupsResponse_BillingGroupSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100, 0);
592
633
  /**
593
634
  * @generated from enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus
594
635
  */
@@ -610,137 +651,185 @@ var ListBillingGroupsResponse_BillingGroupStatus;
610
651
  /**
611
652
  * Describes the enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus.
612
653
  */
613
- exports.ListBillingGroupsResponse_BillingGroupStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 92, 0);
654
+ exports.ListBillingGroupsResponse_BillingGroupStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 100, 0);
614
655
  /**
615
656
  * Describes the message blueapi.gc.v1.SetBillingGroupStatusResponse.
616
657
  * Use `create(SetBillingGroupStatusResponseSchema)` to create a new message.
617
658
  */
618
- exports.SetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 93);
659
+ exports.SetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 101);
619
660
  /**
620
661
  * Describes the message blueapi.gc.v1.GetBillingGroupStatusResponse.
621
662
  * Use `create(GetBillingGroupStatusResponseSchema)` to create a new message.
622
663
  */
623
- exports.GetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 94);
664
+ exports.GetBillingGroupStatusResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 102);
624
665
  /**
625
666
  * Describes the message blueapi.gc.v1.ValidateBillingGroupResponse.
626
667
  * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
627
668
  */
628
- exports.ValidateBillingGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 95);
669
+ exports.ValidateBillingGroupResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 103);
629
670
  /**
630
671
  * Describes the message blueapi.gc.v1.GetAwsPrivateOfferResponse.
631
672
  * Use `create(GetAwsPrivateOfferResponseSchema)` to create a new message.
632
673
  */
633
- exports.GetAwsPrivateOfferResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 96);
674
+ exports.GetAwsPrivateOfferResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 104);
634
675
  /**
635
676
  * Describes the message blueapi.gc.v1.AcceptBillingGroupTermsResponse.
636
677
  * Use `create(AcceptBillingGroupTermsResponseSchema)` to create a new message.
637
678
  */
638
- exports.AcceptBillingGroupTermsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 97);
679
+ exports.AcceptBillingGroupTermsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 105);
639
680
  /**
640
681
  * Describes the message blueapi.gc.v1.ListDraftPurchasePlansResponse.
641
682
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
642
683
  */
643
- exports.ListDraftPurchasePlansResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 98);
684
+ exports.ListDraftPurchasePlansResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 106);
644
685
  /**
645
686
  * Describes the message blueapi.gc.v1.DeleteDraftPurchasePlanResponse.
646
687
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
647
688
  */
648
- exports.DeleteDraftPurchasePlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 99);
689
+ exports.DeleteDraftPurchasePlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 107);
649
690
  /**
650
691
  * Describes the message blueapi.gc.v1.GetAvailableCommitmentTypesResponse.
651
692
  * Use `create(GetAvailableCommitmentTypesResponseSchema)` to create a new message.
652
693
  */
653
- exports.GetAvailableCommitmentTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 100);
694
+ exports.GetAvailableCommitmentTypesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 108);
654
695
  /**
655
696
  * Describes the message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlResponse.
656
697
  * Use `create(GetGuaranteedCommitmentTemplateUrlResponseSchema)` to create a new message.
657
698
  */
658
- exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 101);
699
+ exports.GetGuaranteedCommitmentTemplateUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 109);
659
700
  /**
660
701
  * Describes the message blueapi.gc.v1.CreateGuaranteedCommitmentAccessResponse.
661
702
  * Use `create(CreateGuaranteedCommitmentAccessResponseSchema)` to create a new message.
662
703
  */
663
- exports.CreateGuaranteedCommitmentAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 102);
704
+ exports.CreateGuaranteedCommitmentAccessResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 110);
664
705
  /**
665
706
  * Describes the message blueapi.gc.v1.GetPurchasePlansDetailsResponse.
666
707
  * Use `create(GetPurchasePlansDetailsResponseSchema)` to create a new message.
667
708
  */
668
- exports.GetPurchasePlansDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 103);
709
+ exports.GetPurchasePlansDetailsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 111);
669
710
  /**
670
711
  * Describes the message blueapi.gc.v1.CreateCustomCommitmentPlanResponse.
671
712
  * Use `create(CreateCustomCommitmentPlanResponseSchema)` to create a new message.
672
713
  */
673
- exports.CreateCustomCommitmentPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 104);
714
+ exports.CreateCustomCommitmentPlanResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 112);
674
715
  /**
675
716
  * Describes the message blueapi.gc.v1.AzureArcheraOrgFeatureStatus.
676
717
  * Use `create(AzureArcheraOrgFeatureStatusSchema)` to create a new message.
677
718
  */
678
- exports.AzureArcheraOrgFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 105);
719
+ exports.AzureArcheraOrgFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 113);
679
720
  /**
680
721
  * Describes the message blueapi.gc.v1.AzureArcheraOrgLeaseBudget.
681
722
  * Use `create(AzureArcheraOrgLeaseBudgetSchema)` to create a new message.
682
723
  */
683
- exports.AzureArcheraOrgLeaseBudgetSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 106);
724
+ exports.AzureArcheraOrgLeaseBudgetSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 114);
684
725
  /**
685
726
  * Describes the message blueapi.gc.v1.AzureArcheraOrg.
686
727
  * Use `create(AzureArcheraOrgSchema)` to create a new message.
687
728
  */
688
- exports.AzureArcheraOrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 107);
729
+ exports.AzureArcheraOrgSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 115);
689
730
  /**
690
731
  * Describes the message blueapi.gc.v1.AzureOnboardingCreatedBy.
691
732
  * Use `create(AzureOnboardingCreatedBySchema)` to create a new message.
692
733
  */
693
- exports.AzureOnboardingCreatedBySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 108);
734
+ exports.AzureOnboardingCreatedBySchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 116);
694
735
  /**
695
736
  * Describes the message blueapi.gc.v1.AzureOnboardingState.
696
737
  * Use `create(AzureOnboardingStateSchema)` to create a new message.
697
738
  */
698
- exports.AzureOnboardingStateSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 109);
739
+ exports.AzureOnboardingStateSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 117);
699
740
  /**
700
741
  * Describes the message blueapi.gc.v1.StartAzureOnboardingResponse.
701
742
  * Use `create(StartAzureOnboardingResponseSchema)` to create a new message.
702
743
  */
703
- exports.StartAzureOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 110);
744
+ exports.StartAzureOnboardingResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 118);
704
745
  /**
705
746
  * Describes the message blueapi.gc.v1.GetAzureOnboardingAuthUrlResponse.
706
747
  * Use `create(GetAzureOnboardingAuthUrlResponseSchema)` to create a new message.
707
748
  */
708
- exports.GetAzureOnboardingAuthUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 111);
749
+ exports.GetAzureOnboardingAuthUrlResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 119);
709
750
  /**
710
751
  * Describes the message blueapi.gc.v1.AzureAccount.
711
752
  * Use `create(AzureAccountSchema)` to create a new message.
712
753
  */
713
- exports.AzureAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 112);
754
+ exports.AzureAccountSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 120);
714
755
  /**
715
756
  * Describes the message blueapi.gc.v1.ListAzureOnboardingAccountsResponse.
716
757
  * Use `create(ListAzureOnboardingAccountsResponseSchema)` to create a new message.
717
758
  */
718
- exports.ListAzureOnboardingAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 113);
759
+ exports.ListAzureOnboardingAccountsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 121);
719
760
  /**
720
761
  * Describes the message blueapi.gc.v1.AzureIntegrationFeatureStatus.
721
762
  * Use `create(AzureIntegrationFeatureStatusSchema)` to create a new message.
722
763
  */
723
- exports.AzureIntegrationFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 114);
764
+ exports.AzureIntegrationFeatureStatusSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 122);
724
765
  /**
725
766
  * Describes the message blueapi.gc.v1.AzureIntegrationOnboarding.
726
767
  * Use `create(AzureIntegrationOnboardingSchema)` to create a new message.
727
768
  */
728
- exports.AzureIntegrationOnboardingSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 115);
769
+ exports.AzureIntegrationOnboardingSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 123);
729
770
  /**
730
771
  * Describes the message blueapi.gc.v1.AzureIntegration.
731
772
  * Use `create(AzureIntegrationSchema)` to create a new message.
732
773
  */
733
- exports.AzureIntegrationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 116);
774
+ exports.AzureIntegrationSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 124);
734
775
  /**
735
776
  * Describes the message blueapi.gc.v1.CreateAzureIntegrationResponse.
736
777
  * Use `create(CreateAzureIntegrationResponseSchema)` to create a new message.
737
778
  */
738
- exports.CreateAzureIntegrationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 117);
779
+ exports.CreateAzureIntegrationResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 125);
739
780
  /**
740
781
  * Describes the message blueapi.gc.v1.ListAzureIntegrationsResponse.
741
782
  * Use `create(ListAzureIntegrationsResponseSchema)` to create a new message.
742
783
  */
743
- exports.ListAzureIntegrationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 118);
784
+ exports.ListAzureIntegrationsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_gc_v1_gc, 126);
785
+ /**
786
+ * TermsConsentState describes the evaluated user-facing consent state for the
787
+ * current product and organizational consent scope.
788
+ *
789
+ * @generated from enum blueapi.gc.v1.TermsConsentState
790
+ */
791
+ var TermsConsentState;
792
+ (function (TermsConsentState) {
793
+ /**
794
+ * @generated from enum value: TERMS_CONSENT_STATE_UNSPECIFIED = 0;
795
+ */
796
+ TermsConsentState[TermsConsentState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
797
+ /**
798
+ * No active published Terms of Service version exists.
799
+ *
800
+ * @generated from enum value: TERMS_CONSENT_STATE_NO_ACTIVE_TOS = 1;
801
+ */
802
+ TermsConsentState[TermsConsentState["NO_ACTIVE_TOS"] = 1] = "NO_ACTIVE_TOS";
803
+ /**
804
+ * An active version exists, but no version has been accepted for the
805
+ * applicable product and consent scope.
806
+ *
807
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENT_REQUIRED = 2;
808
+ */
809
+ TermsConsentState[TermsConsentState["CONSENT_REQUIRED"] = 2] = "CONSENT_REQUIRED";
810
+ /**
811
+ * The applicable scope has sufficient consent.
812
+ *
813
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENTED = 3;
814
+ */
815
+ TermsConsentState[TermsConsentState["CONSENTED"] = 3] = "CONSENTED";
816
+ /**
817
+ * A normal update is available and its 14-day banner period is active.
818
+ *
819
+ * @generated from enum value: TERMS_CONSENT_STATE_UPDATE_AVAILABLE = 4;
820
+ */
821
+ TermsConsentState[TermsConsentState["UPDATE_AVAILABLE"] = 4] = "UPDATE_AVAILABLE";
822
+ /**
823
+ * The active version requires explicit re-consent.
824
+ *
825
+ * @generated from enum value: TERMS_CONSENT_STATE_RECONSENT_REQUIRED = 5;
826
+ */
827
+ TermsConsentState[TermsConsentState["RECONSENT_REQUIRED"] = 5] = "RECONSENT_REQUIRED";
828
+ })(TermsConsentState || (exports.TermsConsentState = TermsConsentState = {}));
829
+ /**
830
+ * Describes the enum blueapi.gc.v1.TermsConsentState.
831
+ */
832
+ exports.TermsConsentStateSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 0);
744
833
  /**
745
834
  * @generated from enum blueapi.gc.v1.Provider
746
835
  */
@@ -774,7 +863,7 @@ var Provider;
774
863
  /**
775
864
  * Describes the enum blueapi.gc.v1.Provider.
776
865
  */
777
- exports.ProviderSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 0);
866
+ exports.ProviderSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 1);
778
867
  /**
779
868
  * @generated from enum blueapi.gc.v1.CommitmentStatus
780
869
  */
@@ -816,7 +905,7 @@ var CommitmentStatus;
816
905
  /**
817
906
  * Describes the enum blueapi.gc.v1.CommitmentStatus.
818
907
  */
819
- exports.CommitmentStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 1);
908
+ exports.CommitmentStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 2);
820
909
  /**
821
910
  * @generated from enum blueapi.gc.v1.CommitmentInventoryStatus
822
911
  */
@@ -846,7 +935,7 @@ var CommitmentInventoryStatus;
846
935
  /**
847
936
  * Describes the enum blueapi.gc.v1.CommitmentInventoryStatus.
848
937
  */
849
- exports.CommitmentInventoryStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 2);
938
+ exports.CommitmentInventoryStatusSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 3);
850
939
  /**
851
940
  * @generated from enum blueapi.gc.v1.Scope
852
941
  */
@@ -872,7 +961,7 @@ var Scope;
872
961
  /**
873
962
  * Describes the enum blueapi.gc.v1.Scope.
874
963
  */
875
- exports.ScopeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 3);
964
+ exports.ScopeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 4);
876
965
  /**
877
966
  * @generated from enum blueapi.gc.v1.UsageType
878
967
  */
@@ -894,7 +983,7 @@ var UsageType;
894
983
  /**
895
984
  * Describes the enum blueapi.gc.v1.UsageType.
896
985
  */
897
- exports.UsageTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 4);
986
+ exports.UsageTypeSchema = (0, codegenv2_1.enumDesc)(exports.file_gc_v1_gc, 5);
898
987
  /**
899
988
  * GuaranteedCommitments service definition.
900
989
  *